:root{--background: #fff8f7;--background-alt: #fceeec;--card: #ffffff;--card-hover: #fceeec;--muted: #fbeeec;--border: #f0d9d5;--border-strong: #e6c4bf;--accent: #8b1a10;--accent-hover: #a52a1a;--accent-soft: #f7e3e0;--text: #2a1512;--text-muted: #6e564f;--on-accent: #ffffff}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,var(--background) 0%,var(--background-alt) 100%);min-height:100vh;color:var(--text)}.container{max-width:1200px;margin:0 auto;padding:60px 20px}header{text-align:center;margin-bottom:60px;position:relative}.user-info{position:absolute;top:0;right:0;display:flex;align-items:center;gap:16px}.user-name{color:var(--text-muted);font-size:.9rem}.logo{width:80px;height:80px;margin-bottom:24px}h1{font-size:2.5rem;font-weight:300;margin-bottom:12px;letter-spacing:3px}h1 span{color:var(--accent)}.subtitle{color:var(--text-muted);font-size:1.1rem;letter-spacing:1px}.apps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.app-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:28px;transition:all .3s ease;text-decoration:none;color:inherit;display:block;box-shadow:0 1px 2px #8b1a100a}.app-card:hover{background:var(--card-hover);border-color:var(--accent);transform:translateY(-4px);box-shadow:0 8px 24px #8b1a101f}.app-icon{width:48px;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;margin-bottom:16px;background:var(--accent);color:var(--on-accent)}.app-card h2{font-size:1.2rem;font-weight:500;margin-bottom:8px;letter-spacing:.5px}.app-card p{color:var(--text-muted);font-size:.9rem;line-height:1.6}.app-card .domain{margin-top:16px;font-size:.8rem;color:var(--accent);font-family:monospace}footer{text-align:center;margin-top:80px;padding-top:30px;border-top:1px solid var(--border);color:var(--text-muted);font-size:.85rem}.loading,.error,.no-apps{text-align:center;padding:60px 20px;grid-column:1 / -1;color:var(--text-muted)}.error{color:var(--accent)}.error button,.no-apps button{margin-top:20px;background:var(--accent);border:none;color:var(--on-accent);padding:12px 24px;border-radius:4px;font-size:.9rem;cursor:pointer;transition:background .2s ease}.error button:hover,.no-apps button:hover{background:var(--accent-hover)}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 600px){.user-info{position:static;justify-content:center;margin-bottom:24px}}.avatar{background:var(--accent);color:var(--on-accent);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:600;letter-spacing:.5px;flex-shrink:0}.avatar-small{width:36px;height:36px;font-size:.85rem}.avatar-large{width:72px;height:72px;font-size:1.5rem}.user-menu{position:relative}.user-menu-trigger{display:inline-flex;align-items:center;gap:8px;padding:4px 8px 4px 4px;border:1px solid var(--border);border-radius:24px;background:var(--card);color:var(--text);cursor:pointer;transition:all .2s ease;font-size:.9rem}.user-menu-trigger:hover,.user-menu-trigger[aria-expanded=true]{background:var(--card-hover);border-color:var(--border-strong)}.user-menu-trigger .user-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #8b1a101f;padding:6px;z-index:50;text-align:left}.user-menu-identity{padding:10px 12px;border-bottom:1px solid var(--border);margin-bottom:6px}.user-menu-identity .name{font-size:.95rem;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-identity .email{font-size:.8rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;border-radius:6px;background:transparent;color:var(--text);font-size:.9rem;text-align:left;text-decoration:none;cursor:pointer;transition:background .15s ease}.user-menu-item:hover{background:var(--card-hover)}.user-menu-item:focus-visible{background:var(--card-hover);outline:2px solid var(--accent);outline-offset:-2px}.user-menu-item .icon{width:16px;height:16px;flex-shrink:0;color:var(--text-muted)}.user-menu-separator{height:1px;background:var(--border);margin:6px 4px}.user-menu-item.signout,.user-menu-item.signout .icon{color:var(--accent)}.account-card{max-width:760px;margin:0 auto;background:var(--card);border:1px solid var(--border);border-radius:8px;padding:40px;box-shadow:0 1px 2px #8b1a100a}.identity-block{display:flex;align-items:center;gap:20px;padding-bottom:32px;border-bottom:1px solid var(--border)}.identity-text h2{font-size:1.5rem;font-weight:500;margin-bottom:4px;letter-spacing:.5px}.identity-text .email{color:var(--text-muted);font-size:.95rem}.identity-text .microsoft-row{color:var(--accent);font-size:.85rem;margin-top:8px}.account-section{margin-top:32px}.account-section h3{font-size:.85rem;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);margin-bottom:16px}.account-section .empty{color:var(--text-muted);font-style:italic;font-size:.9rem}.app-list,.group-list,.company-list{list-style:none;margin:0;padding:0}.app-list-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.app-list-item:last-child{border-bottom:none}.app-icon-small{width:32px;height:32px;border-radius:6px;background:var(--accent);color:var(--on-accent);display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem}.app-list-name{font-size:.95rem}.group-list li{padding:8px 0;font-family:monospace;font-size:.9rem;color:var(--text-muted)}.company-list{display:flex;flex-wrap:wrap;gap:8px}.company-chip{display:inline-flex;align-items:center;padding:6px 14px;border-radius:16px;background:var(--accent-soft);border:1px solid var(--border-strong);color:var(--text);font-size:.9rem}.perm-app-list{display:flex;flex-direction:column}.perm-app{border:1px solid var(--border);border-radius:8px;margin-bottom:16px;overflow:hidden}.perm-app:last-child{margin-bottom:0}.perm-app-head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--muted);border-bottom:1px solid var(--border)}.perm-app-head .app-list-name{font-weight:500}.perm-app-roles{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.role-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;background:var(--accent-soft);border:1px solid var(--border-strong);color:var(--accent);font-size:.75rem;font-family:monospace}.perm-app-body{padding:16px}.perm-admin-note{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:6px;background:var(--accent-soft);color:var(--text);font-size:.9rem}.perm-group{margin-bottom:16px}.perm-group:last-child{margin-bottom:0}.perm-group-title{font-size:.75rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.perm-keys{display:flex;flex-wrap:wrap;gap:8px}.perm-key{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:14px;background:var(--background);border:1px solid var(--border);color:var(--text);font-size:.85rem}.perm-key:before{content:"✓";color:var(--accent);font-size:.8rem}.perm-fallback{color:var(--text-muted);font-size:.85rem;font-style:italic}.perm-caption{margin-top:8px;color:var(--text-muted);font-size:.8rem;line-height:1.5}
