:root{color-scheme:dark;color:#f8f9fb;background:#070b17;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at top left,rgba(92,120,255,.18),transparent 28%),radial-gradient(circle at top right,rgba(94,255,231,.12),transparent 22%),radial-gradient(circle at bottom left,rgba(255,125,178,.08),transparent 26%),#070b17}button,textarea{font:inherit}.app{max-width:1420px;padding:32px;margin:auto}.shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-panel{width:min(420px,100%);background:#0d1221f5;border:1px solid rgba(255,255,255,.08);border-radius:28px;box-shadow:0 32px 80px #00000040;padding:36px;text-align:center}.auth-panel h1{margin:0 0 12px;font-size:2rem}.auth-panel p{color:#b7bfd0;margin:0 0 24px}.google-signin-btn{display:block;text-decoration:none;text-align:center}.fallback-login-toggle{display:block;width:100%;margin-top:18px;background:none;border:none;color:#8b96b8;font-size:.8rem;text-decoration:underline;cursor:pointer}.fallback-login-form{margin-top:18px}.public-tools-link{display:block;margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);color:#8b96b8;text-decoration:none;font-size:.85rem}.public-tools-link:hover{color:#86a2ff;text-decoration:underline}.brand{display:flex;align-items:center;gap:20px}.brand-logo{width:64px;height:64px;flex-shrink:0;border-radius:50%;object-fit:cover;background:#ffffff0a}.brand-logo-lg{width:88px;height:88px;display:block;margin:0 auto 20px}.password-input{width:100%;box-sizing:border-box;font:inherit;padding:14px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#f8f9fb;margin-bottom:18px}.primary-btn,.secondary-btn,.ghost-btn,.icon-btn{border:none;border-radius:999px;cursor:pointer}.primary-btn{background:linear-gradient(135deg,#6a7dff,#51e2d5);color:#07101f;font-weight:700;padding:14px 26px;box-shadow:0 18px 35px #4e74ff38}.secondary-btn{background:#ffffff0f;color:#e6eaf7;padding:12px 22px}.ghost-btn{background:transparent;color:#cfd8ff;border:1px solid rgba(255,255,255,.12);padding:12px 18px}.icon-btn{background:#ffffff0d;width:40px;height:40px;display:grid;place-items:center;color:#e8f1ff}.topbar{display:flex;flex-direction:column;gap:22px;margin-bottom:26px;padding:28px 32px;border-radius:32px;background:linear-gradient(180deg,#16234eeb,#0b101df5);border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 70px #01061359}.topbar-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.eyebrow{text-transform:uppercase;letter-spacing:.25em;color:#86a2ff;margin:0 0 12px;font-size:.8rem}.topbar h1{margin:0;font-size:clamp(2rem,2.8vw,3.5rem);line-height:1.02}.subline{margin:10px 0 0;color:#b7c4e8;max-width:540px}.user-block{display:flex;align-items:center;gap:14px;padding:18px 22px;border-radius:28px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.user-name{color:#cfd8ff;font-weight:600}.avatar{width:56px;height:56px;border-radius:50%}.user-email{color:#9fb4d7;font-size:.95rem}.current-events-banner{border-top:1px solid rgba(255,255,255,.08);padding-top:18px}.current-events-label{margin:0 0 10px;text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;color:#86a2ff}.current-events-empty{color:#9fb4d7;font-size:.95rem}.current-events-list{display:flex;flex-wrap:wrap;gap:10px}.current-event-wrapper{position:relative}.current-event-pill{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#ffffff0d;border:1px solid;font:inherit;cursor:pointer;transition:background .15s ease}.current-event-pill:hover{background:#ffffff1a}.current-event-tooltip{left:0;transform:none}.current-event-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.current-event-title{color:#f3f7ff;font-weight:600;font-size:.9rem}.current-event-time{color:#9fb4d7;font-size:.8rem}.grid-layout{position:relative}.card{position:absolute;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:28px;padding:24px;box-shadow:0 20px 50px #050a1929;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-sizing:border-box;transition:top .26s ease,left .26s ease,opacity .2s ease}.card.dragging{opacity:.3;transition:opacity .15s ease}.card-header{display:flex;gap:12px;align-items:flex-start}.card-drag-handle{margin-top:4px;cursor:grab}.card-drag-handle:active{cursor:grabbing}.card-header h2{margin:0 0 8px;font-size:1.35rem}.card-header p{margin:0;color:#c3d2f2;line-height:1.5}.link-grid{display:grid;gap:14px;margin-top:22px}.link-card{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:20px;text-decoration:none;color:#f3f7ff;background:#ffffff08;border:1px solid rgba(255,255,255,.06);transition:transform .18s ease,border-color .18s ease,background .18s ease}.link-card:hover{transform:translateY(-2px);background:#ffffff14;border-color:#51e2d542}.link-card.dragging{opacity:.3}.link-drag-handle{margin-right:-4px}.link-icon{width:46px;height:46px;flex-shrink:0;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,#51e2d52e,#6a7dff29);font-size:1.3rem;overflow:hidden}.links-search-row{display:flex;align-items:center;gap:10px;margin-bottom:22px}.links-search-input{max-width:480px}.links-search-results .link-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-top:0}.link-card-text{display:flex;flex-direction:column;gap:2px;min-width:0}.links-search-result-section{font-size:.72rem;color:#9fb4d7;font-weight:400}.link-icon img{width:100%;height:100%;object-fit:contain}.footer-bar{margin-top:28px;padding:18px 24px;border-radius:24px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#050a17bf;display:grid;place-items:center;padding:24px;z-index:20}.modal-card{width:min(920px,100%);max-height:85vh;display:flex;flex-direction:column;background:#09101e;border:1px solid rgba(255,255,255,.08);border-radius:24px;box-shadow:0 40px 80px #00000059;padding:24px}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.admin-editor{overflow-y:auto;display:flex;flex-direction:column;gap:18px;padding-right:4px}.admin-section{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:10px}.admin-section.drag-over{border-color:#51e2d580;background:#51e2d50d}.admin-section-header{display:flex;gap:10px;align-items:center}.admin-section-header .text-input{font-weight:700;font-size:1.05rem}.text-input{font:inherit;width:100%;box-sizing:border-box;padding:10px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#f8f9fb;color-scheme:dark}.text-input option{background:#0d1221;color:#f3f7ff}.admin-links{display:flex;flex-direction:column;gap:8px;margin-top:4px}.admin-link-row{display:flex;gap:8px;align-items:center;border-radius:12px;border:1px solid transparent;padding:4px}.admin-link-row.drag-over{border-color:#51e2d580;background:#51e2d50f}.drag-handle{flex-shrink:0;cursor:grab;padding:0 2px;color:#8993b5;font-size:1.1rem;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing}.admin-link-row .text-input{flex:1}.icon-cell{display:flex;align-items:center;gap:6px;flex:0 0 auto}.icon-field{flex:0 0 72px;text-align:center;padding:10px 6px}.icon-preview{flex-shrink:0;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);overflow:hidden;font-size:1.1rem}.icon-preview img{width:100%;height:100%;object-fit:contain}.upload-btn{flex-shrink:0;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);color:#cfd8ff;cursor:pointer;font-size:1rem}.upload-btn:hover{background:#ffffff1a}.add-link-btn{align-self:flex-start;padding:8px 16px;font-size:.9rem}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}.message{margin-top:14px;color:#bdd18f}.floating-message{position:fixed;right:24px;bottom:24px;margin:0;padding:12px 20px;border-radius:14px;background:#0d1221f5;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 50px #0000004d;z-index:30}.tab-nav{display:flex;gap:8px;margin-bottom:26px}@keyframes tabFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tab-panel{animation:tabFadeIn .22s ease}@media (prefers-reduced-motion: reduce){.tab-panel{animation:none}}.tab-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:#b7c4e8;padding:12px 22px;border-radius:16px;cursor:pointer;font-weight:600;transition:background .18s ease,color .18s ease,border-color .18s ease}.tab-icon{font-size:1.05rem;line-height:1}.tab-btn:hover{background:#ffffff0f}.tab-btn.active{background:linear-gradient(135deg,#6a7dff40,#51e2d533);border-color:#51e2d54d;color:#f8f9fb}.calendar-tab-status{padding:40px;text-align:center;color:#b7c4e8}.calendar-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px}.calendar-header-row h2{margin:0 0 6px;font-size:1.6rem}.calendar-key{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.calendar-key-pill{padding:5px 14px;border-radius:999px;font-size:.8rem;font-weight:600;border:none;cursor:pointer;transition:opacity .15s ease}.calendar-key-pill.hidden{opacity:.35}.calendar-key-pill:hover{opacity:.8}.calendar-key-pill.hidden:hover{opacity:.5}.calendar-empty{color:#9fb4d7;margin:0}.event-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;display:inline-block}.calendar-panels{display:grid;grid-template-columns:1fr 1.6fr;gap:24px}.calendar-panel{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:28px;padding:24px;box-shadow:0 20px 50px #050a1929}.calendar-panel h3{margin:0 0 16px;font-size:1.1rem}.today-panel{grid-row:span 2}.today-panel-header{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:16px}.today-panel-header h3{margin:0}.today-panel-reset{background:none;border:none;color:#86a2ff;cursor:pointer;font:inherit;font-size:.82rem;padding:0;white-space:nowrap}.today-panel-reset:hover{color:#a8b8ff}.today-event-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.today-event-item{display:flex;gap:12px;align-items:flex-start}.today-event-item .event-dot{margin-top:6px}.event-title{font-weight:600;color:#f3f7ff}.event-meta{color:#9fb4d7;font-size:.88rem;margin-top:2px;overflow-wrap:break-word}.event-description{color:#b7c4e8;font-size:.85rem;margin-top:6px;white-space:pre-wrap;overflow-wrap:anywhere}.event-description a{color:#7fd8ff;text-decoration:underline}.event-description a:hover{color:#a9e9ff}.event-description-block{margin-top:2px}.event-description-toggle{display:block;margin-top:4px;color:#86a2ff;background:none;border:none;font:inherit;font-size:.78rem;padding:0;cursor:pointer}.event-description-toggle:hover{color:#a8b8ff;text-decoration:underline}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.week-day{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:10px;min-height:110px;min-width:0}.week-day.today{border-color:#51e2d566;background:#51e2d50f}.week-day.selected{border-color:#6a7dff8c;background:#6a7dff14}.week-day.weekend{background:#ffffff04}.week-day-label{display:flex;flex-direction:column;align-items:center;width:100%;color:#9fb4d7;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;background:none;border:none;padding:4px 0;font-family:inherit;cursor:pointer;border-radius:8px;transition:background .15s ease}.week-day-label:hover{background:#ffffff0d}.week-day-number{font-size:1.1rem;color:#f3f7ff;font-weight:700;letter-spacing:0;text-transform:none}.week-day-events{display:flex;flex-direction:column;gap:4px}.week-event-wrapper{position:relative}.week-event{display:flex;align-items:baseline;gap:5px;font-size:.76rem;padding:4px 6px;border-left:3px solid;background:#ffffff0a;border-radius:4px;cursor:default;min-width:0}.week-event-time{flex-shrink:0;color:#9fb4d7;font-size:.68rem;white-space:nowrap}.week-event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.week-event-allday{font-size:.74rem;font-weight:600;padding:4px 8px;border-radius:999px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-event-tooltip{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:6px;min-width:180px;max-width:260px;padding:10px 12px;border-radius:12px;background:#090e1cfa;border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 45px #0006;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease;z-index:25;white-space:normal}.week-event-tooltip:before{content:"";position:absolute;top:-6px;left:0;right:0;height:6px}.week-event-wrapper:hover .week-event-tooltip,.week-event-wrapper:focus-within .week-event-tooltip,.current-event-wrapper:hover .week-event-tooltip,.current-event-wrapper:focus-within .week-event-tooltip{opacity:1;visibility:visible;pointer-events:auto}.week-event-tooltip .event-title{font-size:.85rem;margin-bottom:4px}.week-event-tooltip .event-meta{font-size:.78rem}.week-event-tooltip .event-description{font-size:.76rem;max-height:90px;overflow-y:auto}.week-event-more{font-size:.72rem;color:#86a2ff;padding:2px 6px;background:none;border:none;font:inherit;text-align:left;cursor:pointer}.week-event-more:hover{color:#a8b8ff;text-decoration:underline}.month-panel-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.month-nav-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#f3f7ff;width:32px;height:32px;border-radius:10px;cursor:pointer;font-size:1.1rem;line-height:1;display:grid;place-items:center;flex-shrink:0;transition:background .15s ease}.month-nav-btn:hover{background:#ffffff1a}.month-nav-select{display:flex;gap:8px}.month-nav-select select{background:#ffffff0a;border:1px solid rgba(255,255,255,.12);color:#f3f7ff;border-radius:10px;padding:6px 10px;font:inherit;font-size:.9rem;cursor:pointer;color-scheme:dark}.month-nav-select select option{background:#0d1221;color:#f3f7ff}.month-today-btn{margin-left:auto}.month-weekday-row{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;color:#9fb4d7;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.month-day{aspect-ratio:1;border-radius:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);padding:6px;display:flex;flex-direction:column;align-items:center;gap:4px;font-family:inherit;cursor:pointer;width:100%;transition:background .15s ease,border-color .15s ease}.month-day:hover{background:#ffffff0f}.month-day.outside{opacity:.3}.month-day.today{border-color:#51e2d580;background:#51e2d514}.month-day.selected{border-color:#6a7dff8c;background:#6a7dff1a}.month-day-number{font-size:.85rem;color:#f3f7ff}.month-day-dots{display:flex;gap:3px;flex-wrap:wrap;justify-content:center}.month-day-dots .event-dot{width:6px;height:6px}.calendar-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.calendar-list-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.calendar-name{flex:1;color:#f3f7ff}.calendar-visibility-toggle{display:flex;align-items:center;gap:6px;color:#9fb4d7;font-size:.8rem;cursor:pointer;-webkit-user-select:none;user-select:none}.calendar-visibility-toggle input{accent-color:#6a7dff;cursor:pointer}.add-calendar-form{display:flex;gap:10px;align-items:center}.add-calendar-form .text-input{flex:1}.calendar-list-item-editing{align-items:flex-start;flex-direction:column}.edit-calendar-form{display:flex;gap:10px;align-items:center;width:100%;flex-wrap:wrap}.edit-calendar-form .text-input{flex:1;min-width:140px}.color-input{width:44px;height:44px;padding:2px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;cursor:pointer}.help-toggle{display:block;margin-top:16px;background:none;border:none;color:#86a2ff;cursor:pointer;font:inherit;font-size:.88rem;padding:0}.help-toggle:hover{color:#a8b8ff}.help-steps{margin:12px 0 0;padding-left:20px;color:#c3d2f2;font-size:.88rem;line-height:1.6;display:flex;flex-direction:column;gap:6px}@media (max-width: 1000px){.calendar-panels{grid-template-columns:1fr}.today-panel{grid-row:auto}}@media (max-width: 720px){.week-grid,.month-grid,.month-weekday-row{grid-template-columns:repeat(7,minmax(36px,1fr))}.week-day-events{display:none}}.danger-btn{border:none;border-radius:999px;cursor:pointer;background:linear-gradient(135deg,#ff5d6c,#c0273a);color:#fff;font-weight:700;padding:14px 26px;box-shadow:0 18px 35px #c0273a47}.danger-btn:disabled{opacity:.6;cursor:not-allowed}.gam-tab{display:flex;flex-direction:column;gap:20px}.gam-status-banner{padding:12px 18px;border-radius:14px;background:#f447471f;border:1px solid rgba(244,71,71,.3);color:#ffb4b4;font-size:.9rem}.gam-field-grid{display:flex;flex-direction:column;gap:12px}.gam-field{display:flex;flex-direction:column;gap:6px;max-width:460px}.gam-field span{color:#b7c4e8;font-size:.85rem}.gam-target-radio-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;color:#e6eaf7}.gam-field-label{color:#b7c4e8;font-size:.85rem}.gam-textarea{width:100%;min-height:100px;box-sizing:border-box;font-family:Courier New,monospace;font-size:.88rem;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#f8f9fb;resize:vertical}.gam-action-row{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.gam-hint{color:#9fb4d7;font-size:.8rem;margin:0}.admin-user-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:1px}.admin-user-row{display:flex;justify-content:space-between;align-items:center;padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.06)}.admin-user-name{font-weight:600}.admin-user-email{color:#9fb4d7;font-size:.85rem}.gam-log-section{display:flex;flex-direction:column;gap:10px}.gam-log-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.gam-log-header h3{margin:0}.gam-log-title-row{display:flex;align-items:center;gap:14px}.gam-running-indicator{display:inline-flex;align-items:center;gap:8px;color:#9cdcfe;font-size:.85rem}.gam-spinner{width:14px;height:14px;border:2px solid rgba(156,220,254,.25);border-top-color:#9cdcfe;border-radius:50%;animation:gam-spin .7s linear infinite;flex-shrink:0}@keyframes gam-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.gam-spinner{animation:none}}.gam-log-actions{display:flex;gap:8px}.gam-log-panel{height:260px;overflow-y:auto;background:#12141c;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px 14px;font-family:Courier New,monospace;font-size:.82rem;line-height:1.5}.gam-log-empty{color:#6f7a92;margin:0}.gam-log-line{color:#d4d4d4;white-space:pre-wrap;word-break:break-word}.gam-log-line.tag-success{color:#4ec9b0}.gam-log-line.tag-error{color:#f44747}.gam-log-line.tag-warning{color:#dcdcaa}.gam-log-line.tag-info{color:#9cdcfe}.gam-log-line.tag-cmd{color:#c586c0}.gam-log-line.tag-preview{color:#ce9178}.gam-confirm-message{color:#e6eaf7;white-space:pre-wrap;line-height:1.5}.chromebook-devices-layout{display:grid;grid-template-columns:260px 280px 1fr;gap:24px;align-items:stretch}.chromebook-pane{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:28px;padding:20px;height:860px;overflow-y:auto;box-sizing:border-box}.chromebook-device-pane{min-width:0}.device-pane-divider{width:100%;border:none;border-top:1px solid rgba(255,255,255,.1);margin:4px 0}.device-info-grid{display:flex;flex-direction:column;gap:8px}.device-info-row{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.device-info-label{color:#9fb4d7;font-size:.82rem;min-width:150px;flex-shrink:0}.device-info-value{color:#e6eaf7;font-size:.92rem;word-break:break-word}.device-info-with-photo{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap}.device-info-with-photo .device-info-grid{flex:1;min-width:240px}.device-photo-box{flex-shrink:0;width:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:12px;border-radius:16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);box-sizing:border-box;text-align:center}.device-photo-box img{width:100%;height:140px;object-fit:contain;border-radius:8px}.device-photo-placeholder{color:#6f7a92;font-size:.78rem;height:140px;display:flex;align-items:center;justify-content:center}.device-photo-error{color:#ffb4b4;font-size:.75rem;margin:0}.device-photo-upload-btn{display:inline-flex;align-items:center;justify-content:center;font-size:.82rem;padding:8px 16px;width:100%;box-sizing:border-box}.model-pick-list-wrap{margin-bottom:16px}.model-pick-list{max-height:200px;overflow-y:auto;margin-top:8px;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:6px}.model-pick-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;background:none;border:none;color:#e6eaf7;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:.88rem}.model-pick-item:hover{background:#ffffff0f}.model-pick-item.selected{background:#7c9cff2e;font-weight:600}.model-pick-has-photo{color:#4ec9b0;font-size:.72rem;flex-shrink:0}.model-photo-add-row{display:flex;align-items:center;gap:12px;margin-bottom:20px}.model-photo-add-row .device-photo-upload-btn{width:auto;white-space:nowrap}.device-photo-upload-btn.disabled-btn{opacity:.5;cursor:default}.model-photo-list{max-height:50vh;overflow-y:auto}.model-photo-thumb{width:40px;height:40px;object-fit:contain;border-radius:8px;background:#ffffff0f;flex-shrink:0}.model-photo-change-btn{width:auto;white-space:nowrap}.ou-device-list-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid rgba(255,255,255,.06);padding:8px;cursor:pointer;border-radius:8px}.ou-device-list-item:hover{background:#ffffff0f}.ou-device-list-item.selected{background:#7c9cff2e}.ou-device-asset{color:#e6eaf7;font-weight:600;font-size:.88rem}.ou-device-list-item.selected .ou-device-asset{color:#fff}.ou-device-serial{color:#9fb4d7;font-size:.78rem;font-family:Courier New,monospace}.chromebook-search-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 20px}.chromebook-search-fields .gam-field{max-width:none}.ou-tree-heading{margin:0 0 12px;font-size:1rem;color:#e6eaf7}.ou-device-list-heading-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.ou-device-list-heading-row .ou-tree-heading{margin:0 0 12px}.ou-device-list-refresh-btn{background:none;border:none;color:#9fb4d7;font-size:.78rem;cursor:pointer;padding:4px 8px;margin-bottom:12px;border-radius:8px}.ou-device-list-refresh-btn:hover:not(:disabled){background:#ffffff0f;color:#e6eaf7}.ou-device-list-refresh-btn:disabled{opacity:.4;cursor:default}.ou-device-list-search{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.ou-device-list-search .text-input{padding:8px 12px;font-size:.85rem}.ou-tree-row{display:flex;align-items:center;gap:2px;border-radius:8px}.ou-tree-row.selected{background:#7c9cff2e}.ou-tree-toggle{background:none;border:none;color:#9fb4d7;width:18px;flex-shrink:0;cursor:pointer;font-size:.75rem;padding:4px 0}.ou-tree-toggle:disabled{visibility:hidden;cursor:default}.ou-tree-label{background:none;border:none;color:#d4dcf5;text-align:left;padding:6px;border-radius:8px;cursor:pointer;font-size:.88rem;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ou-tree-label:hover{background:#ffffff0f}.ou-tree-row.selected .ou-tree-label{color:#fff;font-weight:600}@media (max-width: 1100px){.chromebook-devices-layout{grid-template-columns:1fr}.chromebook-pane{height:auto;max-height:320px}.chromebook-device-pane{max-height:none}}.gam-results-table-wrap{display:flex;flex-direction:column;gap:10px}.gam-results-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gam-results-count{color:#9fb4d7;font-size:.85rem;margin-left:auto}.gam-results-table-scroll{overflow:auto;max-height:360px;border:1px solid rgba(255,255,255,.08);border-radius:14px}.gam-results-table{width:100%;border-collapse:collapse;font-size:.85rem}.gam-results-table th,.gam-results-table td{padding:8px 12px;text-align:left;border-bottom:1px solid rgba(255,255,255,.06);white-space:nowrap}.gam-results-table th{position:sticky;top:0;background:#0d1221fa;color:#b7c4e8;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.gam-results-table tr.selected{background:#6a7dff1a}.penalty-box-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start;margin-top:16px}.penalty-box-column{display:flex;flex-direction:column;gap:14px}.penalty-box-search-result{width:100%;text-align:left;border:none;cursor:pointer;font:inherit}.penalty-box-search-result:hover{background:#ffffff14}.penalty-box-member-row{display:flex;flex-direction:column;align-items:stretch;gap:8px}.penalty-box-member-row-main{display:flex;align-items:center;gap:12px}.penalty-box-member-lines{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.penalty-box-member-line-top{display:flex;align-items:baseline;gap:12px}.penalty-box-member-name{color:#f3f7ff;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 0 160px}.penalty-box-member-email{color:#9fb4d7;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.penalty-box-member-line-bottom{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.penalty-box-member-actions{display:flex;gap:4px;flex:none}.expiry-fields{display:flex;flex-direction:column;gap:8px}.expiry-fields-row{display:flex;gap:8px}.expiry-fields-time{width:110px;flex:none}.expiry-fields-ampm{width:80px;flex:none}.gam-custom-command-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:600px;gap:20px;align-items:stretch}.gam-custom-command-left{display:flex;flex-direction:column;gap:20px;min-height:0}.gam-custom-command-left .gam-log-section{flex:1;min-height:0}.gam-custom-command-left .gam-log-panel{flex:1;height:auto;min-height:0}.gam-assistant-panel{display:flex;flex-direction:column;gap:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:20px;height:100%;min-height:0;box-sizing:border-box}.gam-assistant-header h3{margin:0 0 6px}.gam-assistant-messages{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding-right:4px}.gam-assistant-message{display:flex;flex-direction:column;gap:6px;max-width:90%}.gam-assistant-user{align-self:flex-end;align-items:flex-end}.gam-assistant-assistant{align-self:flex-start;align-items:flex-start}.gam-assistant-bubble{padding:10px 14px;border-radius:14px;white-space:pre-wrap;font-size:.88rem;line-height:1.5}.gam-assistant-user .gam-assistant-bubble{background:linear-gradient(135deg,#6a7dff59,#51e2d540);color:#f3f7ff;border-bottom-right-radius:4px}.gam-assistant-assistant .gam-assistant-bubble{background:#ffffff0d;color:#e6eaf7;border-bottom-left-radius:4px}.gam-assistant-insert-btn{font-family:Courier New,monospace;font-size:.78rem;text-align:left;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gam-assistant-input-row{display:flex;gap:10px}.gam-assistant-input-row .text-input{flex:1}.gam-recommended-commands{border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:16px}.gam-recommended-commands .help-toggle{margin-top:0}.gam-recommended-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;max-height:260px;overflow-y:auto}.gam-recommended-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:#ffffff08}.gam-recommended-label{color:#f3f7ff;font-weight:600;font-size:.88rem}@media (max-width: 900px){.gam-custom-command-layout,.penalty-box-layout{grid-template-columns:1fr}}.rolodex-top-actions{display:flex;gap:10px}.rolodex-layout{display:grid;grid-template-columns:300px 1fr;gap:24px;align-items:start}.rolodex-sidebar{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:28px;padding:20px;height:720px;display:flex;flex-direction:column;gap:14px;box-sizing:border-box}.rolodex-sidebar-list{overflow-y:auto;display:flex;flex-direction:column;gap:16px;min-height:0;flex:1}.rolodex-company-group{display:flex;flex-direction:column;gap:4px}.rolodex-company-header{display:flex;align-items:center;gap:8px;padding:4px 0}.rolodex-company-logo{width:24px;height:24px;border-radius:8px;object-fit:contain;flex-shrink:0;background:#ffffff0f}.rolodex-company-logo-placeholder{display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;color:#9fb4d7}.rolodex-company-name-col{display:flex;flex-direction:column;gap:1px;min-width:0}.rolodex-manage-name-col{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.rolodex-company-name{font-weight:700;color:#e6eaf7;font-size:.95rem}.rolodex-website-link{color:#9cdcfe;font-size:.76rem;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.rolodex-website-link:hover{text-decoration:underline}.rolodex-input-with-btn{display:flex;align-items:center;gap:8px}.rolodex-contact-item{display:block;width:100%;text-align:left;background:none;border:none;color:#b7c4e8;font-size:.85rem;padding:6px 10px 6px 32px;border-radius:8px;cursor:pointer}.rolodex-contact-item:hover{background:#ffffff0f}.rolodex-contact-item.selected{background:#7c9cff2e;color:#fff;font-weight:600}.rolodex-detail{height:720px;overflow-y:auto;box-sizing:border-box;display:flex;flex-direction:column}.rolodex-detail-view{align-items:flex-start;gap:16px;margin-left:48px}.rolodex-detail-photo-row{display:flex;align-items:center;gap:16px}.rolodex-detail-photo{width:72px;height:72px;border-radius:50%;background:#ffffff0f;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.rolodex-detail-photo img{width:100%;height:100%;object-fit:cover}.rolodex-detail-photo-placeholder{font-size:1.6rem;font-weight:700;color:#9fb4d7}.rolodex-card-row{display:flex;align-items:center;gap:14px;perspective:900px}.rolodex-card-stack{position:relative;width:460px;max-width:100%;flex-shrink:0}.rolodex-business-card{position:relative;z-index:1;width:100%;height:380px;overflow-y:auto;background:#ffffff0d;border:2px solid rgba(255,255,255,.2);border-radius:18px;padding:28px;box-shadow:0 24px 48px #00000073;box-sizing:border-box;transform-origin:top center;animation:rolodexFlipIn .32s ease}@keyframes rolodexFlipIn{0%{transform:rotateX(-90deg);opacity:0}to{transform:rotateX(0);opacity:1}}.rolodex-card-nav{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:10px 6px}.rolodex-nav-btn{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#cfe0ff;font-size:.9rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.rolodex-nav-btn:hover{background:#ffffff2e}.rolodex-nav-count{font-size:.7rem;color:#9fb4d7;white-space:nowrap}.rolodex-card-actions{width:100%;max-width:460px;justify-content:flex-start}.rolodex-card-header{display:flex;align-items:center;gap:20px}.rolodex-card-heading{display:flex;flex-direction:column;gap:2px;min-width:0}.rolodex-card-name{margin:0;font-size:1.3rem;color:#f3f7ff}.rolodex-card-title{margin:0;color:#b7c4e8;font-size:.92rem}.rolodex-card-company{margin:0;font-size:.88rem}.rolodex-card-company a{color:#9cdcfe;text-decoration:none}.rolodex-card-company a:hover{text-decoration:underline}.rolodex-card-divider{border:none;border-top:1px solid rgba(255,255,255,.1);margin:18px 0}.rolodex-card-fields{display:flex;flex-direction:column;gap:10px}.rolodex-card-field{display:flex;align-items:center;gap:10px;font-size:.92rem}.rolodex-card-field a{color:#e6eaf7;text-decoration:none}.rolodex-card-field a:hover{text-decoration:underline}.rolodex-card-field-icon{color:#9fb4d7;width:18px;text-align:center;flex-shrink:0}.rolodex-card-phone-label{color:#9fb4d7}.rolodex-card-note{color:#d4dcf5;white-space:pre-wrap;line-height:1.5;margin:0}.rolodex-upload-btn{display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;padding:10px 18px}.rolodex-phone-row{display:flex;align-items:center;gap:8px}.rolodex-manage-add-row{display:flex;align-items:center;gap:12px;margin-bottom:20px}.rolodex-manage-list{max-height:50vh;overflow-y:auto}.rolodex-logo-picker{display:flex;align-items:center;gap:8px;flex-shrink:0}.rolodex-upload-btn-small{display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;padding:6px 12px;white-space:nowrap}.projects-layout{display:grid;grid-template-columns:300px 1fr;gap:24px;align-items:stretch}.project-detail{height:auto;overflow-y:visible}.project-sidebar{height:auto}.project-list-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;color:#b7c4e8;font-size:.85rem;padding:8px 10px;border-radius:8px;cursor:pointer}.project-list-item:hover{background:#ffffff0f}.project-list-item.selected{background:#7c9cff2e;color:#fff;font-weight:600}.project-priority-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.project-list-item-text{display:flex;flex-direction:column;gap:2px;min-width:0}.project-list-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-list-item-name.completed{color:#7f8fb8;text-decoration:line-through}.project-list-item-type{font-size:.72rem;color:#7f8fb8}.project-chip-row{display:flex;flex-wrap:wrap;gap:8px}.project-chip{display:inline-flex;align-items:center;gap:6px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:4px 6px 4px 12px;font-size:.82rem;color:#e6eaf7}.project-chip .icon-btn{width:20px;height:20px;font-size:.85rem}.project-chip-readonly{padding:4px 14px}.project-detail-view{gap:22px}.project-detail-heading{display:flex;flex-direction:column;gap:10px;min-width:0}.project-detail-heading h3{margin:0}.project-badge-row{display:flex;flex-wrap:wrap;gap:8px}.project-priority-badge,.project-status-badge,.project-type-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;font-size:.78rem;font-weight:600}.project-status-badge{background:#6a7dff33;color:#cfd8ff;border:none;font:inherit;cursor:pointer}.project-status-badge:hover{background:#6a7dff52}.project-status-badge.completed{background:#ffffff1a;color:#9fb4d7}.project-status-badge.completed:hover{background:#ffffff2e}.project-type-badge{background:#ffffff14;color:#b7c4e8;font-weight:500}.project-description{margin:0;color:#d4dcf5;white-space:pre-wrap;overflow-wrap:break-word;line-height:1.5}.project-people-row{display:flex;flex-wrap:wrap;gap:28px}.project-people-group{display:flex;flex-direction:column;gap:8px}.project-ticket-links{display:flex;flex-wrap:wrap;gap:10px}.project-ticket-link{display:inline-flex;align-items:center;gap:6px;max-width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:6px 14px;font-size:.85rem;color:#9cdcfe;text-decoration:none;overflow-wrap:break-word}.project-ticket-link:hover{background:#ffffff1a}.project-detail-columns{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start}.project-detail-main{display:flex;flex-direction:column;gap:22px;min-width:0}.project-detail-timeline-col{min-width:0}.project-detail-timeline-col h4{margin:0 0 14px;font-size:.95rem;color:#e6eaf7}.project-detail-actions,.project-detail-section{border-top:1px solid rgba(255,255,255,.08);padding-top:18px}.project-detail-section h4{margin:0 0 12px;font-size:.95rem;color:#e6eaf7}.project-task-list{list-style:none;margin:6px 0 14px;padding:0;display:flex;flex-direction:column;gap:14px}.project-task-item{display:flex;flex-direction:column;gap:4px}.project-task-row{display:flex;align-items:center;gap:10px}.project-task-label{display:flex;align-items:center;gap:10px;flex:1;min-width:0;cursor:pointer}.project-task-label input[type=checkbox]{width:16px;height:16px;flex-shrink:0;accent-color:#6a7dff}.project-task-text{font-size:.9rem;color:#e6eaf7;word-break:break-word}.project-task-text.done{color:#7f8fb8;text-decoration:line-through}.project-task-completed-meta{margin:0 0 0 26px;font-size:.75rem;color:#7f8fb8}.project-subtask-block{margin-left:26px;padding-left:14px;border-left:2px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:6px}.project-subtask-progress{margin:0}.project-subtask-collapse-toggle{display:block;background:none;border:none;font:inherit;text-align:left;cursor:pointer;padding:0}.project-subtask-collapse-toggle:hover{color:#cfd8ff}.project-subtask-toggle{align-self:flex-start;background:none;border:none;color:#86a2ff;cursor:pointer;font:inherit;font-size:.8rem;padding:0}.project-subtask-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.project-subtask-item{display:flex;flex-direction:column;gap:2px}.project-subtask-item .project-task-text{font-size:.85rem}.project-attachment-name{display:inline-flex;align-items:center;gap:8px;background:none;border:none;color:#e6eaf7;font-size:inherit;cursor:pointer;padding:0;text-align:left}.project-attachment-name:hover{text-decoration:underline}.project-timeline{list-style:none;margin:0;padding:0 0 0 4px}.project-timeline-item{position:relative;padding:0 0 22px 26px}.project-timeline-item:before{content:"";position:absolute;left:5px;top:16px;bottom:0;width:2px;background:#ffffff1f}.project-timeline-item:last-child:before{display:none}.project-timeline-item:last-child{padding-bottom:0}.project-timeline-dot{position:absolute;left:0;top:4px;width:12px;height:12px;border-radius:50%;background:#6a7dff;box-shadow:0 0 0 3px #6a7dff40}.project-timeline-meta{display:flex;align-items:center;gap:10px;font-size:.78rem;color:#9fb4d7;margin-bottom:4px}.project-timeline-author{font-weight:600;color:#cfd8ff}.project-timeline-meta .icon-btn{margin-left:auto;width:22px;height:22px;font-size:.85rem}.project-timeline-text{margin:0;white-space:pre-wrap;overflow-wrap:break-word;color:#d4dcf5;font-size:.9rem}.project-edit-scroll{overflow-y:auto;max-height:60vh;padding-right:4px}.project-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px}.project-fields-grid .gam-field{max-width:none;grid-column:1 / -1}.project-fields-grid .gam-field-half{grid-column:span 1}.project-vendor-picker{position:relative}.project-vendor-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:5;list-style:none;margin:0;padding:6px;background:#0d1424;border:1px solid rgba(255,255,255,.12);border-radius:12px;max-height:220px;overflow-y:auto;box-shadow:0 20px 40px #00000059}.project-vendor-dropdown button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;color:#e6eaf7;font:inherit;font-size:.85rem;padding:8px 10px;border-radius:8px;cursor:pointer}.project-vendor-dropdown button:hover{background:#ffffff14}.project-vendor-list{display:flex;flex-direction:column;gap:8px}.project-vendor-item{padding:0}.project-preview-card{width:min(820px,100%)}.project-preview-body{display:flex;justify-content:center}.project-preview-image{max-width:100%;max-height:70vh;border-radius:8px}.project-preview-frame{width:100%;height:70vh;border:none;border-radius:8px;background:#fff}.onboarding-hire-item{box-sizing:border-box;border:2px solid transparent}.onboarding-hire-name{font-weight:600}.onboarding-hire-item-complete .onboarding-hire-name{font-style:italic}.onboarding-progress-bar{height:8px;border-radius:999px;background:#ffffff14;overflow:hidden}.onboarding-progress-bar-fill{height:100%;background:linear-gradient(135deg,#6a7dff,#51e2d5);transition:width .2s ease}.onboarding-checklist{display:flex;flex-direction:column;gap:14px}.onboarding-checklist-row{display:flex;flex-direction:column;gap:4px}.onboarding-nested-item{margin-left:26px;display:flex;flex-direction:column;gap:10px}.onboarding-checklist-divider{border:none;border-top:1px solid rgba(255,255,255,.12);margin:4px 0}.onboarding-static-link{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:#9cdcfe;text-decoration:none;white-space:nowrap}.onboarding-static-link:hover{text-decoration:underline}.onboarding-yesno-toggle{display:flex;gap:8px}.onboarding-yesno-toggle .secondary-btn,.onboarding-toggle-active{padding:6px 16px;font-size:.85rem}.onboarding-toggle-active{background:linear-gradient(135deg,#6a7dff,#51e2d5);color:#07101f;font-weight:700}.location-picker-grid{display:flex;flex-wrap:wrap;gap:8px}.onboarding-claim-row{display:flex;align-items:center;gap:12px;flex-shrink:0}.onboarding-hire-info{display:flex;flex-wrap:wrap;gap:4px 20px}.onboarding-status-row{display:flex;align-items:center;gap:10px;margin-bottom:16px}.onboarding-status-select{width:auto;font-weight:600;border-width:2px}.onboarding-status-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}@media (max-width: 900px){.rolodex-layout,.projects-layout{grid-template-columns:1fr}.rolodex-sidebar,.rolodex-detail{height:auto;max-height:480px}.project-detail-columns,.project-fields-grid{grid-template-columns:1fr}.project-fields-grid .gam-field-half{grid-column:1 / -1}}@media (max-width: 720px){.topbar{padding:22px}.topbar-row{flex-direction:column}.user-block{width:100%;justify-content:space-between;flex-wrap:wrap}}
