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