:root{--header-h:68px;--gap:16px;--bg:#030c12;--panel:rgba(7,20,26,0.82);--ink:#f4fffb;--muted:#9bb1c2;--accent:#14b8a6;--accent-secondary:#22c55e;--glass-border:rgba(255,255,255,0.14);--glass-bg:rgba(9,23,29,0.75);--glow:0 12px 35px rgba(20,184,166,0.25)}*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:radial-gradient(circle at 15% 20%,rgba(11,171,146,.25),transparent 50%),radial-gradient(circle at 80% 0,rgba(34,197,94,.25),transparent 45%),var(--bg);color:var(--ink);font-family:quicksand,montserrat,Segoe UI,sans-serif;font-size:14px;line-height:1.45;letter-spacing:.01em;overflow:hidden;position:relative}body:after,body:before{content:"";position:fixed;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(20,184,166,.35),transparent 70%);filter:blur(40px);z-index:-2}body:before{top:-160px;left:-80px}body:after{bottom:-140px;right:-60px;background:radial-gradient(circle,rgba(34,197,94,.35),transparent 65%)}h1,h2,h3,h4,h5,h6{font-family:questrial,quicksand,sans-serif;letter-spacing:.04em}.app{display:grid;grid-template-rows:var(--header-h) 1fr;height:100vh;position:relative;z-index:1}.app__header{display:flex;align-items:center;justify-content:space-between;padding:0 18px;height:var(--header-h);background:linear-gradient(135deg,rgba(2,15,23,.9),rgba(7,32,36,.85));border-bottom:1px solid var(--glass-border);position:relative;box-shadow:0 8px 30px rgba(2,10,15,.6);z-index:1100}.app__header:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(20,184,166,.18),transparent 60%);pointer-events:none}.brand{position:relative;z-index:1;display:flex;align-items:center;gap:16px}.brand__logo{height:24px;width:auto;margin-right:12px}.brand__selector{min-width:220px;flex:1 1}.brand__selector .model-dropdown{min-width:0}.badge,.brand .badge{display:inline-block;padding:4px 12px;border-radius:999px;background:linear-gradient(130deg,rgba(20,184,166,.15),rgba(34,197,94,.18));color:var(--ink);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.app__header h1{margin:4px 0 0;font-size:22px;font-weight:700;background:linear-gradient(90deg,#f8fafc,rgba(20,184,166,.8));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.actions{position:relative;z-index:1}.actions,.actions__desktop{display:flex;gap:10px;align-items:center}.mode-toggle{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(3,17,22,.6)}.mode-toggle__button{border:none;background:transparent;color:rgba(255,255,255,.7);padding:6px 12px;border-radius:999px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.mode-toggle__button.active{background:rgba(255,255,255,.16);color:var(--ink)}.mode-toggle__button:disabled{opacity:.45;cursor:not-allowed}.actions__mobile{display:none;position:relative}.mobile-menu-toggle{width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(3,17,22,.75);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,background .2s ease}.mobile-menu-toggle span,.mobile-menu-toggle span:after,.mobile-menu-toggle span:before{content:"";display:block;width:18px;height:2px;background:var(--ink);border-radius:999px;position:relative;transition:transform .2s ease,opacity .2s ease}.mobile-menu-toggle span:before{position:absolute;top:-6px}.mobile-menu-toggle span:after{position:absolute;top:6px}.mobile-menu-toggle--open span{background:transparent}.mobile-menu-toggle--open span:before{transform:translateY(6px) rotate(45deg)}.mobile-menu-toggle--open span:after{transform:translateY(-6px) rotate(-45deg)}.mobile-menu{position:absolute;top:calc(100% + 10px);right:0;width:min(280px,80vw);background:rgba(3,17,22,.95);border:1px solid var(--glass-border);border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:8px;box-shadow:0 25px 60px rgba(0,0,0,.65);z-index:1002}.mobile-menu button{border:0;border-radius:12px;padding:12px;background:rgba(255,255,255,.06);color:var(--ink);font-size:14px;font-weight:600;text-align:left;cursor:pointer;transition:background .2s ease}.mobile-menu .mode-toggle{align-self:center;justify-content:center;padding:4px;border-radius:999px;width:calc(100% - 20px)}.mobile-menu .mode-toggle__button{padding:6px 14px;border-radius:999px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;background:transparent;text-align:center}.mobile-menu .mode-toggle__button.active{background:rgba(255,255,255,.16)}.mobile-menu__mode{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.mobile-menu__mode button{text-align:center}.mobile-menu__mode .is-active{background:rgba(255,255,255,.18)}.mobile-menu button:hover{background:rgba(255,255,255,.12)}.mobile-menu button:disabled{opacity:.45;cursor:not-allowed}.mobile-menu__backdrop{position:fixed;inset:0;background:rgba(2,10,15,.6);z-index:1000}.btn{border:0;padding:10px 16px;border-radius:999px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;font-weight:600;font-family:questrial,quicksand,sans-serif;letter-spacing:.05em;display:inline-flex;align-items:center;gap:6px}.btn--primary{background:linear-gradient(110deg,var(--accent),var(--accent-secondary));color:#04110f;box-shadow:var(--glow)}.btn--primary:hover{transform:translateY(-1px) scale(1.01);box-shadow:0 18px 40px rgba(20,184,166,.45)}.btn:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}.btn--primary:disabled{background:rgba(255,255,255,.12);color:rgba(255,255,255,.6)}.btn--primary:disabled:hover{transform:none;box-shadow:none}.btn--ghost{background:rgba(255,255,255,.06);color:var(--ink);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn--ghost:hover{background:rgba(255,255,255,.12)}.btn--icon{padding:9px;border-radius:50%;width:36px;height:36px;margin-right:6px}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,10px);background:rgba(4,14,18,.95);color:var(--ink);padding:6px 10px;border-radius:8px;font-size:12px;white-space:nowrap;box-shadow:0 12px 30px rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;border:1px solid rgba(255,255,255,.12);z-index:10;text-transform:none;letter-spacing:normal}.tooltip:focus-visible:after,.tooltip:hover:after{opacity:1;transform:translate(-50%)}.btn--mini{padding:6px 12px;font-size:11px;text-transform:uppercase}.btn--icon{display:inline-flex;width:32px;height:32px;padding:0;border-radius:8px;flex-shrink:0}.btn--icon svg{pointer-events:none}.layout{height:calc(100vh - var(--header-h));display:grid;grid-template-columns:1fr;grid-gap:var(--gap);gap:var(--gap);padding:var(--gap);overflow:hidden;transition:grid-template-columns .3s ease;position:relative}.layout:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 0);background-size:120px 120px;opacity:.35;pointer-events:none}.layout--split{grid-template-columns:1fr min(560px,40vw)!important;display:grid!important;grid-gap:12px;overflow:hidden}.pane{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:20px;min-height:0;overflow:hidden;display:flex;flex-direction:column;max-width:100%;box-shadow:0 25px 60px rgba(0,0,0,.45);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.pane--viewer{display:grid;grid-template-rows:1fr;min-width:0;overflow:hidden;position:relative}.viewer{width:100%;height:100%;min-width:0;max-width:100%;overflow:visible;border-radius:18px;background:radial-gradient(circle at 50% 0,rgba(20,184,166,.1),transparent 55%)}.viewer-wrapper{position:relative;width:100%;height:100%}.viewer-wrapper .adsk-viewing-viewer,.viewer-wrapper .adsk-viewing-viewer .adsk-viewing-canvas{border-radius:18px;background:transparent!important}.viewer-wrapper .adsk-viewing-viewer{overflow:visible!important;padding-bottom:40px}.viewer-wrapper .docking-panel{z-index:60!important}.viewer-wrapper .adsk-toolbar{display:inline-flex!important;position:absolute!important;left:50%!important;bottom:16px!important;transform:translateX(-50%)!important;right:auto!important;top:auto!important;background:transparent!important;padding:0!important;margin:0!important;border-radius:0!important;gap:0!important;flex-wrap:nowrap!important;z-index:60!important;width:auto!important;max-width:calc(100% - 40px)!important;pointer-events:auto!important;box-shadow:none!important}.viewer-wrapper .adsk-toolbar .adsk-control-group,.viewer-wrapper .adsk-toolbar .toolbar-vertical{display:inline-flex!important;width:auto!important;flex:0 0 auto!important}.viewer-wrapper .adsk-toolbar [aria-label*=measure i],.viewer-wrapper .adsk-toolbar [id*=measure i]{display:none!important}.custom-viewer-toolbar{display:none!important}.viewer-wrapper .adsk-toolbar .adsk-button{display:inline-flex!important}@media (max-width:900px){.viewer-wrapper .adsk-toolbar{display:flex!important;flex-wrap:wrap!important;row-gap:8px!important;column-gap:6px!important;max-width:94vw!important;justify-content:center!important}.viewer-wrapper .adsk-toolbar .adsk-control-group:first-of-type{display:none!important}}.custom-viewer-toolbar--mobile{gap:10px;padding:12px 14px}.custom-viewer-toolbar__group{display:flex;flex-wrap:nowrap;justify-content:center;gap:8px;pointer-events:auto;flex:0 1 auto;min-width:0}.custom-viewer-toolbar__button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(12,32,43,.75);color:var(--ink);font-size:0;cursor:pointer;transition:background .2s ease,border-color .2s ease}.custom-viewer-toolbar__button.is-active,.custom-viewer-toolbar__button:hover{background:rgba(20,184,166,.2);border-color:rgba(20,184,166,.6)}.custom-viewer-toolbar__button:disabled{opacity:.45;cursor:not-allowed;background:rgba(12,32,43,.45);border-color:rgba(255,255,255,.08)}.section-control{display:flex;align-items:stretch;gap:6px;position:relative}.section-control__toggle{min-width:38px;padding:0}.section-menu{position:absolute;left:0;bottom:calc(100% + 8px);top:auto;display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:12px;background:rgba(7,20,26,.95);border:1px solid var(--glass-border);box-shadow:0 18px 45px rgba(0,0,0,.6);pointer-events:auto;min-width:180px;z-index:40}.section-menu button{background:transparent;border:0;color:var(--ink);text-align:left;padding:6px 8px;border-radius:8px;font-size:13px;cursor:pointer}.section-menu button:hover{background:rgba(20,184,166,.15)}@media (max-width:768px){.custom-viewer-toolbar{flex-wrap:nowrap;padding:12px;max-width:calc(100% - 16px)}.custom-viewer-toolbar__group{justify-content:center;flex-wrap:nowrap}}@media (max-width:560px){.custom-viewer-toolbar{gap:8px;padding:10px}.custom-viewer-toolbar__group{gap:6px}.custom-viewer-toolbar__button{width:42px;height:42px}}.viewer-overlay{position:absolute;inset:0;background:rgba(3,15,20,.7);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff;font-size:14px;z-index:2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.viewer-overlay__spinner{width:28px;height:28px;border-radius:50%;border:3px solid rgba(255,255,255,.15);border-top:3px solid var(--accent);animation:viewer-spin .9s linear infinite}.viewer-toast{position:fixed;top:88px;right:24px;z-index:60;max-width:min(360px,calc(100vw - 32px));padding:12px 14px;border-radius:14px;border:1px solid rgba(239,68,68,.35);background:rgba(48,12,12,.94);color:#fee2e2;box-shadow:0 18px 40px rgba(0,0,0,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes viewer-spin{to{transform:rotate(1turn)}}@media (max-width:768px){.viewer-toast{top:auto;right:16px;bottom:16px;left:16px;max-width:none}}.pane--pbi[aria-hidden=true]{display:none!important}.pane--pbi{display:flex;flex-direction:column;min-height:400px;min-width:300px;position:relative;z-index:1}.pane--pbi[aria-hidden=false]{display:flex!important;position:relative;z-index:1}.pane__head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,rgba(20,184,166,.06),transparent)}.pane__body{height:calc(100% - 38px)}.pane__body--pbi iframe{width:100%;height:100%;border:0}.panel{position:fixed;top:88px;left:12px;width:400px;max-height:calc(100vh - 110px);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:18px;box-shadow:0 25px 65px rgba(0,0,0,.55);display:flex;flex-direction:column;overflow:hidden;z-index:1000;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.panel.hidden{display:none!important}.panel__head{justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.12);background:linear-gradient(120deg,rgba(20,184,166,.08),transparent)}.panel__head,.schedule-title{display:flex;align-items:center}.schedule-title{gap:12px}.schedule-title strong{font-size:22px;line-height:1;letter-spacing:.01em}.panel__actions{gap:8px}.panel__actions,.panel__close{display:flex;align-items:center}.panel__close{border:0;background:transparent;color:var(--ink);font-size:16px;cursor:pointer;border-radius:50%;width:28px;height:28px;justify-content:center}.panel__body{padding:12px 16px;overflow:auto;flex:1 1;min-height:0}.panel--drawings{left:12px;right:auto;width:400px}.panel__actions--gap{gap:10px}.panel__body--drawings{display:flex;flex-direction:column;gap:12px}#clash-panel,#drawings-panel{color-scheme:dark}#clash-panel{height:calc(100vh - 110px)}#clash-panel option,#drawings-panel option{background:#2f3a3f;color:#e5eefc}.drawings-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.drawings-filter{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted);flex:1 1 150px}.drawings-filter--full{flex:1 1 100%}.drawings-filter__control{background:rgba(255,255,255,.08);border:1px solid var(--glass-border);border-radius:8px;color:var(--ink);padding:6px 10px;font-size:14px;font-weight:500;width:100%}.drawings-filter__control::placeholder{color:rgba(229,238,252,.7)}select.drawings-filter__control{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23e5eefc' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:14px;padding-right:34px;color-scheme:dark}.drawings-filter__control:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(20,184,166,.25)}.drawings-list{gap:6px}.drawings-list,.drawings-row{display:flex;flex-direction:column}.drawings-row{gap:4px;padding:8px 12px;border-radius:10px;margin:2px 0;background:rgba(255,255,255,.03);cursor:pointer;transition:all .2s ease;color:var(--ink);text-align:left;border:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.drawings-row:hover{background:rgba(20,184,166,.12);border-left-color:var(--accent)}.drawings-row:disabled{opacity:.6;cursor:not-allowed;transform:none}.drawings-row__title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:500;font-size:13px;width:100%}.drawings-row__badges{display:flex;align-items:center;gap:6px}.drawings-row__meta{color:var(--muted);font-size:11px;width:100%}.badge--discipline{padding:4px 10px;border-radius:999px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.badge--arc{background:rgba(59,130,246,.18);color:#bfdbfe}.badge--str{background:rgba(94,234,212,.18);color:#a7f3d0}.badge--mepf{background:rgba(251,191,36,.18);color:#fef3c7}.badge--other{background:rgba(148,163,184,.18);color:#e2e8f0}.badge--viewtype{padding:4px 10px;border-radius:8px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;border:1px solid rgba(255,255,255,.1)}.badge--viewtype-sheets{background:rgba(16,185,129,.16);color:#a7f3d0}.badge--viewtype-3d{background:rgba(79,70,229,.16);color:#c7d2fe}.alert{border-radius:12px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);font-size:13px}.alert--error{background:rgba(239,68,68,.12);color:#fecdd3;border-color:rgba(239,68,68,.4)}.alert--muted{background:rgba(255,255,255,.04);color:var(--muted)}.group-row{display:flex;align-items:center;padding:8px 12px;margin:4px 0;background:linear-gradient(120deg,rgba(20,184,166,.12),rgba(2,10,15,.25));border-radius:12px;cursor:pointer;transition:all .2s ease;border-left:3px solid var(--accent)}.group-row:hover{background:rgba(20,184,166,.18)}.group-caret{width:0;height:0;border-left:6px solid var(--accent);border-top:4px solid transparent;border-bottom:4px solid transparent;margin-right:8px;transition:transform .2s ease}.group-caret.expanded{transform:rotate(90deg)}.group-name{flex:1 1;font-weight:600;color:var(--ink);font-size:14px}.group-meta{font-size:12px;color:var(--muted);background:rgba(255,255,255,.08);padding:2px 8px;border-radius:12px}.child-list{display:flex;flex-direction:column;gap:4px}.clash-panel__controls{position:-webkit-sticky;position:sticky;top:-12px;z-index:4;margin:-12px -16px 12px;padding:12px 16px;background:rgba(63,77,80,.98)}.clash-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.clash-filter{display:flex;flex-direction:column;gap:4px;flex:1 1 150px;font-size:12px;color:var(--muted)}.clash-filter--search{flex:2 1 220px}.clash-filter__control{background:rgba(255,255,255,.08);border:1px solid var(--glass-border);border-radius:8px;color:var(--ink);padding:6px 10px;font-size:14px;font-weight:500;width:100%}select.clash-filter__control{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23e5eefc' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 10px center;background-repeat:no-repeat;background-size:14px;padding-right:30px;color-scheme:dark}select.clash-filter__control option,select.drawings-filter__control option{background:#2f3a3f;color:#e5eefc}.clash-filter__control:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(20,184,166,.25)}.clash-filter__search{padding-right:10px}.clash-filter__actions{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.clash-filter__buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.btn--block{width:100%;justify-content:center}.clash-filter__hint{font-size:11px;color:var(--muted)}.clash-select-all{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:12px;color:var(--muted);cursor:pointer;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:2px}.clash-select-all input[type=checkbox]{accent-color:var(--accent)}.clash-row{display:flex;align-items:center;padding:8px 12px;border-radius:10px;margin:2px 0;background:rgba(255,255,255,.03);cursor:pointer;transition:all .2s ease;border-left:3px solid transparent;gap:8px}.clash-row:hover{background:rgba(20,184,166,.12);border-left-color:var(--accent)}.clash-row.checked{background:rgba(20,184,166,.18);border-left-color:var(--accent)}.clash-assignment{margin-left:auto;display:flex;align-items:center;gap:6px}.clash-assignment__select{min-width:140px;padding:6px 28px 6px 10px;border-radius:8px;border:1px solid var(--glass-border);background:rgba(255,255,255,.08);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23e5eefc' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 10px center;background-repeat:no-repeat;background-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:var(--ink)}.clash-assignment__label{font-size:12px;color:var(--ink);padding:4px 8px;background:rgba(255,255,255,.06);border-radius:8px}.clash-error{margin:8px 0;padding:10px 12px;border-radius:10px;border:1px solid rgba(239,68,68,.35);background:rgba(239,68,68,.08);color:#fca5a5;font-size:13px}.clash-checkbox{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.clash-name{flex:1 1;font-weight:500;color:var(--ink);font-size:13px}.clash-meta{font-size:11px;color:var(--muted);background:rgba(20,184,166,.12);padding:2px 6px;border-radius:10px}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:32px;background:#010a0f;color:var(--ink);position:relative;overflow:hidden}.login-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;pointer-events:none;will-change:transform}.login-orb--1{width:500px;height:500px;background:rgba(20,184,166,.3);top:-15%;left:-8%;animation:login-float 18s ease-in-out infinite}.login-orb--2{width:400px;height:400px;background:rgba(34,197,94,.2);bottom:-12%;right:-6%;animation:login-float 22s ease-in-out infinite reverse}.login-orb--3{width:250px;height:250px;background:rgba(20,184,166,.15);top:50%;left:55%;animation:login-float 15s ease-in-out 3s infinite}@keyframes login-float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-20px) scale(1.05)}66%{transform:translate(-20px,15px) scale(.95)}}.login-container:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");z-index:0;pointer-events:none}.login-card{position:relative;z-index:1;width:min(440px,92vw);padding:40px 36px 32px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:rgba(4,14,18,.75);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 40px 80px rgba(0,0,0,.6),0 0 120px rgba(20,184,166,.06);-webkit-backdrop-filter:blur(24px) saturate(1.2);backdrop-filter:blur(24px) saturate(1.2);animation:login-card-in .5s cubic-bezier(.16,1,.3,1) both}@keyframes login-card-in{0%{opacity:0;transform:translateY(16px) scale(.98)}}.login-card__header{text-align:center;margin-bottom:32px;display:flex;flex-direction:column;gap:6px;align-items:center}.login-logo{height:24px;width:auto;opacity:.9}.login-card__header h1{margin:8px 0 0;font-size:26px;font-weight:700;letter-spacing:.04em;background:linear-gradient(135deg,var(--ink) 0,rgba(255,255,255,.7) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-card__header p{margin:4px 0 0;color:var(--muted);font-size:13.5px;line-height:1.5}.login-form{animation:login-fade-in .3s ease both}@keyframes login-fade-in{0%{opacity:0;transform:translateY(6px)}}.login-form__field{margin-bottom:20px}.login-form__field label{display:block;font-size:12.5px;font-weight:500;color:var(--muted);margin-bottom:8px;letter-spacing:.03em;text-transform:uppercase}.login-input-wrap{position:relative}.login-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted);pointer-events:none;transition:color .2s ease;z-index:1}.login-input-wrap:focus-within .login-input-icon{color:var(--accent)}.login-input-wrap input{width:100%;padding:13px 14px 13px 42px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.3);color:var(--ink);font-size:14px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.login-input-wrap input::placeholder{color:rgba(155,177,194,.45)}.login-input-wrap input:focus{outline:none;border-color:rgba(20,184,166,.5);background:rgba(0,0,0,.4);box-shadow:0 0 0 3px rgba(20,184,166,.12),0 0 20px rgba(20,184,166,.06)}.password-toggle{position:absolute;top:50%;right:10px;transform:translateY(-50%);width:34px;height:34px;border:none;background:none;color:var(--muted);display:grid;place-items:center;cursor:pointer;padding:0;border-radius:8px;transition:color .2s ease,background .2s ease}.password-toggle:hover{color:var(--accent);background:rgba(20,184,166,.08)}.password-toggle:focus-visible{outline:none;color:var(--accent)}.password-toggle svg{width:18px;height:18px}.login-input-wrap:has(.password-toggle) input{padding-right:48px}.otp-digits{display:flex;gap:8px;justify-content:center;align-items:center}.otp-digit{width:48px;height:56px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.3);color:var(--ink);font-size:22px;font-weight:600;text-align:center;letter-spacing:0;caret-color:var(--accent);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .15s ease}.otp-digit:focus{outline:none;border-color:rgba(20,184,166,.5);background:rgba(0,0,0,.45);box-shadow:0 0 0 3px rgba(20,184,166,.12),0 0 20px rgba(20,184,166,.06);transform:translateY(-1px)}.otp-digit:not(:placeholder-shown){border-color:rgba(20,184,166,.3)}.otp-dash{color:var(--muted);font-size:18px;margin:0 2px;opacity:.5}.login-btn{width:100%;padding:14px 20px;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;justify-content:center;gap:8px}.login-btn--primary{background:linear-gradient(135deg,var(--accent),var(--accent-secondary));color:#04110f;letter-spacing:.02em;box-shadow:0 8px 24px rgba(20,184,166,.2)}.login-btn--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 32px rgba(20,184,166,.35)}.login-btn--primary:active:not(:disabled){transform:translateY(0)}.login-btn--primary:disabled{opacity:.6;cursor:not-allowed}.login-btn-arrow{width:16px;height:16px;transition:transform .2s ease}.login-btn--primary:hover .login-btn-arrow{transform:translateX(2px)}.login-btn--secondary{background:rgba(255,255,255,.04);color:var(--ink);border:1px solid rgba(255,255,255,.1);letter-spacing:.01em}.login-btn--secondary:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16)}.login-btn-icon{width:18px;height:18px;opacity:.7}.login-spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(4,17,15,.3);border-top-color:#04110f;border-radius:50%;animation:login-spin .6s linear infinite}@keyframes login-spin{to{transform:rotate(1turn)}}.login-divider{display:flex;align-items:center;gap:16px;margin:24px 0}.login-divider:after,.login-divider:before{content:"";flex:1 1;height:1px;background:rgba(255,255,255,.08)}.login-divider span{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:500}.login-link{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:16px;padding:10px;background:none;border:none;color:var(--muted);font-size:13px;cursor:pointer;transition:color .2s ease;width:100%}.login-link:hover{color:var(--accent)}.login-msg{font-size:13px;border-radius:10px;padding:10px 14px;margin-bottom:16px;line-height:1.45}.login-msg--error{color:#ff9f9f;background:rgba(255,127,127,.08);border:1px solid rgba(255,127,127,.12)}.login-msg--info{color:#7dd8c8;background:rgba(20,184,166,.08);border:1px solid rgba(20,184,166,.12)}.login-msg--denied{display:flex;gap:12px;align-items:flex-start;color:#f0b060;background:rgba(240,176,96,.08);border:1px solid rgba(240,176,96,.15);padding:14px 16px;margin-bottom:16px}.login-msg--denied .login-msg__icon{width:20px;height:20px;flex-shrink:0;margin-top:1px}.login-msg--denied strong{display:block;font-size:13.5px;font-weight:600;margin-bottom:4px}.login-msg--denied p{margin:0;font-size:12.5px;line-height:1.5;color:rgba(240,176,96,.8)}.login-msg--denied a{color:#f0b060;font-weight:600;text-decoration:underline;text-underline-offset:2px}.login-msg--denied a:hover{color:#f5c882}.login-card__footer{margin-top:28px;text-align:center;color:var(--muted);font-size:12px;padding-top:20px;border-top:1px solid rgba(255,255,255,.06)}.login-card__footer p{margin:0}.login-card__footer a{color:var(--ink);font-weight:600;text-decoration:none;transition:color .2s ease}.login-card__footer a:hover{color:var(--accent)}@media (max-width:480px){.login-card{padding:28px 24px 24px}.otp-digit{width:42px;height:50px;font-size:20px}.otp-digits{gap:6px}}.model-dropdown{position:relative;min-width:220px}.model-dropdown__control{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;border-radius:8px;border:1px solid var(--glass-border);background:rgba(255,255,255,.08);color:var(--ink);cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.35);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.model-dropdown__control svg{transition:transform .2s ease}.model-dropdown__control:disabled{opacity:.55;cursor:not-allowed}.model-dropdown.open .model-dropdown__control svg{transform:rotate(180deg)}.model-dropdown__text{display:flex;flex-direction:column;text-align:left;flex:1 1;min-width:0;max-width:320px}.model-dropdown__label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.model-dropdown__value{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-dropdown__list{position:absolute;top:calc(100% + 8px);left:0;right:0;background:rgba(3,17,22,.9);border:1px solid var(--glass-border);border-radius:12px;box-shadow:0 25px 60px rgba(0,0,0,.65);padding:8px;max-height:240px;overflow-y:auto;z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.model-dropdown__option{width:100%;padding:10px 12px;border:none;border-radius:12px;background:transparent;color:var(--ink);font-size:14px;text-align:left;cursor:pointer;transition:background .2s ease}.model-dropdown__option:hover{background:rgba(20,184,166,.14)}.model-dropdown__option.active{background:rgba(20,184,166,.22);color:var(--accent)}.ui-select{position:relative;width:100%}.ui-select__control{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 10px;border-radius:8px;border:1px solid var(--glass-border);background:rgba(255,255,255,.08);color:var(--ink);cursor:pointer}.ui-select__control svg{flex:0 0 auto;transition:transform .2s ease}.ui-select.open .ui-select__control svg{transform:rotate(180deg)}.ui-select__value{font-size:14px;font-weight:500;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-select__list{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#2f3a3f;border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:6px;max-height:240px;overflow-y:auto;z-index:6;box-shadow:0 20px 40px rgba(0,0,0,.55)}.ui-select--open-upward .ui-select__list{top:auto;bottom:calc(100% + 6px)}.ui-select__option{width:100%;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:#e5eefc;font-size:13px;text-align:left;cursor:pointer;transition:background .2s ease}.ui-select__option:hover{background:rgba(255,255,255,.08)}.ui-select__option.active{background:rgba(20,184,166,.22);color:#e7fffb}.ui-select--compact .ui-select__control{min-width:140px}.ui-select__control.clash-assignment__select,.ui-select__control.clash-filter__control,.ui-select__control.drawings-filter__control{padding-right:10px;background-image:none}.viewer-error,.viewer-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);font-size:16px}.viewer-error{color:#ff6b6b}.pbi-placeholder{height:100%;color:var(--muted);font-size:16px}.btn--icon,.pbi-placeholder{display:flex;align-items:center;justify-content:center}.btn--icon{padding:8px;min-width:auto}.btn--icon svg{width:16px;height:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-layout{min-height:100vh;background:var(--bg);color:var(--ink);display:flex;flex-direction:column}.admin-header{background:linear-gradient(180deg,#0f1b33,#0b1220);border-bottom:1px solid rgba(255,255,255,.06);padding:0 20px}.admin-header__content{display:flex;align-items:center;justify-content:space-between;height:64px;max-width:1600px;margin:0 auto}.admin-header h1{margin:0;font-size:24px;font-weight:650}.admin-header__actions{display:flex;gap:12px}.admin-content{flex:1 1;display:flex;max-width:1600px;margin:0 auto;width:100%;padding:0 24px;min-height:0;overflow:hidden}.admin-nav{width:200px;padding:20px 0;border-right:1px solid rgba(255,255,255,.06);margin-right:20px}.admin-nav__item{display:block;width:100%;padding:12px 16px;margin-bottom:4px;background:transparent;border:none;color:var(--muted);text-align:left;cursor:pointer;border-radius:8px;transition:all .2s ease;font-size:14px}.admin-nav__item:hover{background:rgba(255,255,255,.08);color:var(--ink)}.admin-nav__item.active{background:rgba(103,179,255,.15);color:var(--accent);font-weight:600}.admin-main{flex:1 1;overflow:auto;max-height:calc(100vh - 120px);padding:20px 12px 20px 0}.admin-error,.admin-loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--muted);font-size:16px}.admin-error{color:#ff6b6b}.admin-overview{display:grid;grid-gap:24px;gap:24px}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px}.admin-stat{background:radial-gradient(120% 120% at 50% -10%,#18233d 0,#0f172a 60%,#0b1220 100%);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:20px;text-align:center}.admin-stat h3{margin:0 0 8px;font-size:14px;color:var(--muted);font-weight:500}.admin-stat__number{margin:0;font-size:32px;font-weight:700;color:var(--accent)}.admin-recent{background:radial-gradient(120% 120% at 50% -10%,#18233d 0,#0f172a 60%,#0b1220 100%);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:20px}.admin-recent h3{margin:0 0 16px;font-size:18px;font-weight:600}.admin-list{display:flex;flex-direction:column;gap:8px}.admin-list__item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:rgba(255,255,255,.04);border-radius:8px;transition:background .2s ease}.admin-list__item:hover{background:rgba(255,255,255,.08)}.admin-list__content{display:flex;align-items:center;gap:8px}.admin-list__title{font-weight:500;color:var(--ink)}.admin-list__meta,.admin-list__subtitle{font-size:12px;color:var(--muted)}.admin-section{background:radial-gradient(120% 120% at 50% -10%,#18233d 0,#0f172a 60%,#0b1220 100%);border:1px solid rgba(255,255,255,.06);border-radius:12px;overflow:hidden}.admin-section__header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid rgba(255,255,255,.06)}.admin-section__header h2{margin:0;font-size:20px;font-weight:600}.admin-search{padding:7px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.25);color:var(--ink);font-size:13px;min-width:200px;transition:border-color .2s ease}.admin-search:focus{outline:none;border-color:var(--accent)}.admin-search::placeholder{color:var(--muted)}.admin-table{overflow-x:auto}.panel--schedule{left:12px;right:12px;width:auto;max-height:42vh;font-family:quicksand,montserrat,Segoe UI,sans-serif}.panel--schedule button,.panel--schedule input,.panel--schedule select,.panel--schedule textarea{font-family:inherit}.panel--schedule.panel--layout-split{left:0;right:auto;width:50vw;top:var(--header-h);height:calc(100vh - var(--header-h) - 16px);max-height:none;border-radius:12px;box-shadow:0 18px 48px rgba(0,0,0,.38)}.panel--schedule.panel--layout-fullscreen{left:0;right:0;width:auto;top:var(--header-h);height:calc(100vh - var(--header-h));max-height:none;border-radius:12px}.panel--schedule.panel--layout-minimized{left:12px;right:auto;width:520px;height:56px;top:calc(var(--header-h) + 12px);bottom:auto;max-height:none;display:flex;align-items:stretch;padding:0 8px;overflow:hidden}.panel--layout-minimized .panel__body--schedule{display:none}.panel--layout-minimized .panel__head{border-bottom:none;height:56px;width:100%;padding:8px 10px;display:grid;grid-template-columns:auto 1fr;align-items:center;grid-column-gap:12px;column-gap:12px}.panel--layout-minimized .panel__actions{width:100%;min-width:0;display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:8px;gap:8px}.panel--layout-minimized .schedule-title{justify-self:start}.panel--layout-minimized .schedule-title strong{font-size:18px;letter-spacing:0}.panel--layout-minimized .schedule-minimized-playback{grid-column:1;justify-self:center;margin-right:0}.panel--layout-minimized .schedule-window-controls{grid-column:2;justify-self:end}.panel__body--schedule{display:flex;flex-direction:column;gap:12px;max-height:calc(40vh - 48px);overflow:visible}.panel--layout-fullscreen .panel__body--schedule,.panel--layout-split .panel__body--schedule{max-height:none;height:calc(100% - 64px);overflow-y:auto;overflow-x:visible;padding-bottom:12px}.schedule-toolbar{justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:2;padding:8px 12px;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.08);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:visible}.schedule-toolbar,.schedule-toolbar__left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.schedule-toolbar__group{display:inline-flex;align-items:center;gap:8px;flex-wrap:nowrap}.schedule-toolbar__group--icons .btn--icon{min-width:32px;min-height:32px}.schedule-toolbar__group--icons .btn{gap:6px}.schedule-button-bundle{display:inline-flex;align-items:center;gap:4px;padding:3px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(13,27,36,.58);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.schedule-bundle__button{margin-right:0;width:32px;height:32px;min-width:32px;border-radius:999px;border-color:transparent;background:transparent}.schedule-button-bundle .schedule-bundle__button:hover{background:rgba(255,255,255,.14)}.schedule-button-bundle .schedule-bundle__button.is-active{background:rgba(20,184,166,.22);border-color:rgba(20,184,166,.45)}.schedule-toolbar__group--playback{min-width:200px}.schedule-toolbar__group--timeline{display:inline-flex;align-items:center;gap:8px;flex-wrap:nowrap}.schedule-toolbar__group--select{gap:6px}.schedule-bulk-select{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03)}.schedule-bulk-select .schedule-checkbox{margin:0}.schedule-toolbar__group--actions{display:inline-flex;align-items:center;gap:6px}.schedule-toolbar__status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.schedule-layout-switch{display:inline-flex;gap:6px;margin-right:8px;flex-wrap:wrap}.schedule-window-controls{display:inline-flex;align-items:center;gap:4px}.schedule-window-btn{width:32px;height:32px;border-radius:999px;border-color:transparent;background:transparent}.schedule-window-btn svg{opacity:.95}.schedule-minimized-playback{display:inline-flex;align-items:center;gap:4px;margin-right:0}.schedule-head-window{display:inline-flex;align-items:center;gap:8px}.schedule-head-edit-actions{display:inline-flex;align-items:center;gap:6px}.schedule-select{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:10px;color:var(--ink);padding:6px 10px;min-height:32px}.schedule-select--compact{min-width:140px}.schedule-select--bundle{min-width:150px;border-radius:999px;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);padding:6px 30px 6px 10px}.schedule-button-bundle .schedule-select--bundle{margin:0 2px 0 4px}.schedule-scale-group{display:inline-flex;padding-left:10px;margin-left:4px;border-left:1px solid rgba(255,255,255,.08)}.schedule-legend{display:inline-flex;align-items:center;gap:6px;margin-left:8px;flex-wrap:wrap}.schedule-legend__chip{display:inline-flex;align-items:center;gap:4px;padding:4px 6px;border-radius:10px;background:rgba(255,255,255,.04);color:var(--muted);font-size:11px;white-space:nowrap}.schedule-legend__dot{width:8px;height:8px;border-radius:50%;display:inline-block}.schedule-gantt-view__legend-inline{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;padding:6px 2px;flex-wrap:wrap}.legend-inline__item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.legend-inline__item--stacked{gap:4px}.legend-inline__swatch{width:14px;height:6px;border-radius:6px;display:inline-block;background:rgba(34,197,94,.9)}.legend-inline__swatch--planned{background:linear-gradient(90deg,rgba(20,184,166,.9),rgba(34,197,94,.8))}.legend-inline__swatch--actual{background:linear-gradient(90deg,rgba(59,130,246,.9),rgba(125,211,252,.9))}.legend-inline__swatch--delayed{background:rgba(248,113,113,.95)}.legend-inline__swatch--inprogress{background:rgba(59,130,246,.9)}.legend-inline__swatch--ontrack{background:rgba(34,197,94,.9)}.legend-inline__swatch--notstarted{background:linear-gradient(90deg,rgba(245,158,11,.92),rgba(249,115,22,.82))}.schedule-toolbar__right{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}.schedule-toolbar__group--edit{display:inline-flex;align-items:center;gap:6px}.panel--layout-split .schedule-toolbar__group--timeline{order:40;flex:1 1 100%;width:100%}.panel--layout-split .schedule-toolbar__group--playback{flex:1 1 auto;min-width:280px}.schedule-edit-indicator{width:32px;height:32px}.schedule-edit-indicator.is-editing{background:linear-gradient(110deg,var(--accent),var(--accent-secondary));color:#ffffff;border-color:transparent;box-shadow:var(--glow)}.schedule-playback{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 10px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}.schedule-playback__controls{display:inline-flex;gap:6px}.schedule-playback__slider{width:200px}.schedule-playback__meta{display:inline-flex;align-items:center;gap:8px}.schedule-hint,.schedule-playback__meta{color:var(--muted);font-size:12px}.schedule-table{display:flex;flex-direction:column;gap:6px;padding-bottom:6px;min-width:max-content}.schedule-row{display:grid;grid-template-columns:52px 280px 140px 140px 140px 140px 110px 150px 180px 200px;grid-gap:8px;gap:8px;align-items:center;width:max-content;min-width:100%}.schedule-table--import .schedule-row{grid-template-columns:240px 140px 140px 140px 140px 110px 150px 180px 200px}.schedule-header{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);position:-webkit-sticky;position:sticky;top:0;z-index:5;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.02));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08)}.schedule-header,.schedule-row--body{padding:8px 10px;border-radius:12px;width:max-content;min-width:100%}.schedule-row--body{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);transition:border .2s ease,background .2s ease}.schedule-row--body:hover{border-color:rgba(20,184,166,.25)}.schedule-row--warn{border-color:rgba(248,180,45,.5)}.schedule-row--dragging{opacity:.6}.schedule-cell{display:flex;flex-direction:column;gap:4px}.schedule-cell--checkbox{width:42px;align-items:center;justify-content:center}.schedule-cell--checkbox-header,.schedule-cell--drag{justify-content:center}.schedule-cell--drag{align-items:center}.schedule-checkbox{width:16px;height:16px}.schedule-input{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:8px 10px;color:var(--ink)}.schedule-input--warning{border-color:rgba(248,180,45,.65);box-shadow:0 0 0 2px rgba(248,180,45,.2)}.schedule-input--error{border-color:rgba(239,68,68,.65);box-shadow:0 0 0 2px rgba(239,68,68,.2)}.schedule-input--compact{width:auto;min-width:120px;padding:6px 8px}.schedule-input:focus{outline:none;border-color:rgba(20,184,166,.4);box-shadow:0 0 0 2px rgba(20,184,166,.2)}.schedule-table--readonly .schedule-input,.schedule-table--readonly .schedule-input:focus{background:transparent;border-color:transparent;box-shadow:none;padding:0}.schedule-table--readonly .schedule-input::placeholder{color:rgba(255,255,255,.4)}.schedule-table--readonly select.schedule-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:none}.schedule-actions .btn--icon{width:28px;height:28px;padding:4px}.schedule-actions--inline .btn--icon{min-width:32px}.drag-handle{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px dashed rgba(255,255,255,.14);background:rgba(255,255,255,.03);color:var(--muted);cursor:-webkit-grab;cursor:grab}.drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.badge--warn{background:rgba(248,180,45,.14);color:#f8b42d;border:1px solid rgba(248,180,45,.45)}.schedule-error{color:#ffb4b4;font-size:11px;margin-top:4px}.schedule-content{flex:1 1;overflow:auto;padding-right:0}.schedule-empty-state{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;border:1px dashed rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.03);text-align:center}.schedule-empty-state strong{font-size:16px;color:var(--ink)}.schedule-empty-state span{max-width:420px;color:var(--muted);font-size:13px}.schedule-banner{width:100%;padding:8px 12px;border-radius:12px;font-size:12px;letter-spacing:.02em;margin:8px 0 12px;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.schedule-banner--warning{background:rgba(248,180,45,.18);border:1px solid rgba(248,180,45,.5);color:#f8b42d}.schedule-banner--error{background:rgba(239,68,68,.2);border:1px solid rgba(239,68,68,.5);color:#fecdd3}.schedule-import{display:flex;flex-direction:column;gap:12px;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04)}.schedule-import__header{display:flex;align-items:center;justify-content:space-between}.schedule-import__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:10px;gap:10px}.schedule-import__field{display:flex;flex-direction:column;gap:6px;font-size:13px}.schedule-import__field--inline{flex-direction:column;gap:4px}.schedule-import__hint{font-size:11px;color:var(--muted)}.schedule-import__preview{border:1px dashed rgba(255,255,255,.1);border-radius:10px;padding:10px}.schedule-import__preview-title{font-size:12px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.schedule-import__preview-table{display:flex;flex-direction:column;gap:4px}.schedule-import__preview-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:6px;gap:6px;font-size:12px}.schedule-import__preview-row--head{color:var(--muted)}.schedule-import__actions{display:flex;gap:8px;justify-content:center;align-items:center;padding-right:24px}.schedule-import__actions .btn{padding:10px 18px;font-size:13px}.schedule-add-row{display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:10px 12px;border-radius:10px;border:1px dashed rgba(255,255,255,.14);background:rgba(255,255,255,.02);color:var(--ink);cursor:pointer;transition:border .2s ease,background .2s ease}.schedule-add-row:hover{border-color:rgba(20,184,166,.35);background:rgba(20,184,166,.06)}.schedule-add-row__icon{width:20px;height:20px;border-radius:50%;background:rgba(20,184,166,.16);color:var(--accent);font-weight:700}.pill,.schedule-add-row__icon{display:inline-flex;align-items:center;justify-content:center}.pill{padding:6px 12px;border-radius:999px;font-weight:600;letter-spacing:.02em}.pill--muted{background:rgba(255,255,255,.06);color:var(--muted);border:1px solid rgba(255,255,255,.1)}.schedule-status-text{font-weight:600;color:var(--muted);letter-spacing:.02em}.schedule-view-mode{--schedule-view-pill-bg:rgba(3,17,22,0.72)}.schedule-view-mode .mode-toggle__button{text-transform:none;letter-spacing:.01em;font-size:13px;padding:6px 14px}.schedule-view-toggle--scale{display:inline-flex;align-items:center;gap:8px;flex-wrap:nowrap}.schedule-view-toggle--scale .is-active{background:linear-gradient(110deg,var(--accent),var(--accent-secondary));color:#04110f}.date-picker{position:relative;width:100%}.date-picker__popover{position:absolute;top:calc(100% + 6px);left:0;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:10px;z-index:10;box-shadow:0 12px 30px rgba(0,0,0,.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:240px}.date-picker__header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.date-picker__label{font-weight:700;letter-spacing:.04em}.date-picker__grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.date-picker__day{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:var(--ink);padding:8px 0;border-radius:8px;cursor:pointer}.date-picker__day--label,.date-picker__day:disabled{background:transparent;border-color:transparent;color:var(--muted);cursor:default}.date-picker__day--selected{background:linear-gradient(110deg,var(--accent),var(--accent-secondary));color:#04110f;border-color:rgba(255,255,255,.2)}.date-picker__day--muted{color:rgba(255,255,255,.35)}.date-picker__input--open{border-color:rgba(20,184,166,.4);box-shadow:0 0 0 2px rgba(20,184,166,.2)}.schedule-gantt-view{display:flex;flex-direction:column;gap:10px}.schedule-gantt-view__legend-row{display:flex;justify-content:flex-end;padding:4px 0 8px}.schedule-gantt-view__weeks{display:grid;grid-template-columns:288px 1fr;grid-gap:10px;gap:10px;align-items:center;padding:0}.schedule-gantt-view__weeks-spacer{grid-column:1/2}.schedule-gantt-view__weeks-track{grid-column:2;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.schedule-gantt-view__weeks-track::-webkit-scrollbar{display:none}.schedule-gantt-view__weeks-track-inner{display:flex;gap:0}.schedule-week--gantt{flex:0 0 auto;border-right:1px solid rgba(255,255,255,.08)}.schedule-gantt-view__body{overflow:auto;border:0;border-radius:0;padding:0;background:#3f4b52;border-top:1px solid rgba(255,255,255,.08)}.schedule-gantt-view__tracks{position:relative}.schedule-gantt-view__arrows{position:absolute;top:0;left:0;pointer-events:none}.schedule-gantt-view__tasks{display:flex;flex-direction:column;gap:6px;min-width:640px}.schedule-gantt-view__task{display:grid;grid-template-columns:288px 1fr;grid-gap:10px;gap:10px;padding:6px 0;border-radius:0;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.08)}.schedule-gantt-view__task-info{display:grid;grid-template-columns:48px 1fr;grid-gap:10px;gap:10px;position:-webkit-sticky;position:sticky;left:0;z-index:3;align-items:center;align-self:stretch;background:#3f4b52;border-radius:0;padding:4px 8px;box-shadow:none;border-right:1px solid rgba(255,255,255,.08)}.schedule-gantt-view__select{display:flex;align-items:center;justify-content:center}.schedule-gantt-view__task-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.schedule-gantt-view__task-name{font-weight:700;letter-spacing:.02em;font-size:14px}.schedule-gantt-view__task-name-text{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-tooltip{position:relative;display:block}.schedule-tooltip[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 6px);left:0;max-width:320px;padding:6px 8px;background:rgba(12,18,22,.95);color:#f4fffb;border:1px solid rgba(255,255,255,.12);border-radius:6px;font-size:12px;font-weight:600;white-space:normal;box-shadow:0 8px 18px rgba(0,0,0,.35);z-index:6}.schedule-tooltip[data-tooltip]:hover:before{content:"";position:absolute;top:calc(100% + 2px);left:12px;border:4px solid transparent;border-bottom-color:rgba(12,18,22,.95)}.schedule-name-tooltip{width:100%;min-width:0}.schedule-input--name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-gantt-view__task-activity{display:none}.schedule-gantt-view__meta-line{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.schedule-gantt-view__task-title{font-weight:700;letter-spacing:.03em}.schedule-gantt-view__track{position:relative}.schedule-gantt-view__bar-track{position:relative;height:36px;border-radius:0;background:transparent;border:0}.schedule-gantt-view__bar{position:absolute;top:6px;height:12px;background:linear-gradient(90deg,rgba(20,184,166,.9),rgba(34,197,94,.8));border-radius:10px;color:#04110f;display:inline-flex;align-items:center;padding:0 6px;gap:6px;cursor:default}.schedule-gantt-view__bar.is-editable{cursor:-webkit-grab;cursor:grab}.schedule-gantt-view__bar.is-editable:active{cursor:-webkit-grabbing;cursor:grabbing}.schedule-gantt-view__bar-duration{font-weight:700;font-size:11px}.schedule-gantt-view__bar--actual{background:linear-gradient(90deg,rgba(59,130,246,.9),rgba(125,211,252,.9));top:22px;height:8px;opacity:.9}.schedule-gantt-view__handle{position:absolute;top:2px;width:6px;height:12px;background:rgba(255,255,255,.7);border-radius:999px;cursor:ew-resize;border:1px solid rgba(255,255,255,.35);box-shadow:none}.schedule-gantt-view__handle:before{content:"";position:absolute;top:-6px;left:-6px;right:-6px;bottom:-6px;background:transparent}.schedule-gantt-view__handle--start{left:-5px}.schedule-gantt-view__handle--end{right:-5px}.schedule-gantt-view__connector{position:absolute;right:-10px;top:50%;width:10px;height:10px;border-radius:999px;background:rgba(125,211,252,.9);box-shadow:none;opacity:0;transform:translateY(-50%);cursor:pointer}.schedule-gantt-view__connector:before{content:"";position:absolute;inset:-6px}.schedule-gantt-view__bar.is-editable:hover .schedule-gantt-view__connector{opacity:1}.schedule-inline-toast{background:rgba(239,68,68,.14);color:rgba(255,255,255,.9);padding:6px 10px;border-radius:8px;font-size:12px;border:1px solid rgba(239,68,68,.35)}.schedule-gantt-view__bar-label{font-size:11px;pointer-events:none}.admin-table table{width:100%;border-collapse:collapse}.admin-table td,.admin-table th{padding:12px 16px;text-align:left;border-bottom:1px solid rgba(255,255,255,.06)}.admin-table th{background:rgba(255,255,255,.04);font-weight:600;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.admin-table td{font-size:14px}.admin-urn{font-family:monospace;font-size:12px;color:var(--muted);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-badge{display:inline-block;padding:4px 8px;border-radius:12px;background:rgba(103,179,255,.15);color:var(--accent);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.admin-badge--user{background:rgba(255,255,255,.08);color:var(--muted)}.admin-badge--muted{background:rgba(255,255,255,.05);color:var(--muted)}.admin-badge--success{background:rgba(34,197,94,.15);color:#22c55e}.wl-filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap;align-items:center;padding:14px 16px;background:rgba(0,0,0,.15);border-radius:12px;border:1px solid rgba(255,255,255,.05)}.wl-search{position:relative;flex:1 1;min-width:180px;max-width:300px}.wl-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.wl-search input{width:100%;padding:9px 14px 9px 36px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.25);color:var(--ink);font-size:13px;transition:border-color .2s ease}.wl-search input:focus{outline:none;border-color:rgba(20,184,166,.4)}.wl-select{padding:9px 36px 9px 14px;min-width:160px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.25);color:var(--ink);font-size:13px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239bb1c2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.wl-select option{background:#0a1a22;color:var(--ink)}.wl-count{font-size:12px;color:var(--muted);margin-left:auto}.wl-value{display:flex;align-items:center;gap:8px}.wl-type-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;flex-shrink:0}.wl-type-icon--username{background:rgba(168,85,247,.12);color:#a855f7}.wl-type-icon--email{background:rgba(20,184,166,.12);color:var(--accent)}.wl-type-icon--domain{background:rgba(59,130,246,.12);color:var(--accent)}.wl-value__text{font-family:SF Mono,Fira Code,monospace;font-size:13px}.wl-method{font-size:12.5px;color:var(--muted)}.wl-status{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500}.wl-status__dot{width:7px;height:7px;border-radius:50%}.wl-status--active{color:#22c55e}.wl-status--active .wl-status__dot{background:#22c55e;box-shadow:0 0 6px rgba(34,197,94,.4)}.wl-status--inactive{color:var(--muted)}.wl-status--inactive .wl-status__dot{background:rgba(255,255,255,.2)}.wl-notes{color:var(--muted);font-size:13px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wl-date{color:var(--muted);font-size:12.5px}.wl-row--inactive{opacity:.5}.wl-row--inactive:hover{opacity:.75}.wl-empty{text-align:center;color:var(--muted);padding:32px 16px!important}.wl-actions{display:flex;gap:4px;justify-content:center}.wl-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:rgba(255,255,255,.04);color:var(--muted);cursor:pointer;transition:background .15s ease,color .15s ease}.wl-action-btn:hover{background:rgba(255,255,255,.1);color:var(--ink)}.wl-action-btn--success:hover{background:rgba(34,197,94,.15);color:#22c55e}.wl-action-btn--warn:hover{background:rgba(240,176,96,.15);color:#f0b060}.wl-action-btn--danger:hover{background:rgba(239,68,68,.15);color:#ef4444}.wl-table-wrap table{table-layout:fixed}.wl-modal{background:var(--panel);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:100%;max-width:480px;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.04);animation:wl-modal-in .25s cubic-bezier(.16,1,.3,1) both}.wl-modal--sm{max-width:400px}@keyframes wl-modal-in{0%{opacity:0;transform:translateY(12px) scale(.97)}}.wl-modal__header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 24px 0}.wl-modal__header h3{margin:0;font-size:18px;font-weight:600;color:var(--ink)}.wl-modal__subtitle{margin:4px 0 0;font-size:13px;color:var(--muted)}.wl-modal__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:rgba(255,255,255,.05);color:var(--muted);cursor:pointer;flex-shrink:0;transition:background .15s ease,color .15s ease}.wl-modal__close:hover{background:rgba(255,255,255,.1);color:var(--ink)}.wl-modal__body{padding:20px 24px;display:flex;flex-direction:column;gap:18px}.wl-field__label{display:block;font-size:12.5px;font-weight:500;color:var(--muted);margin-bottom:6px;letter-spacing:.02em}.wl-field__optional{font-weight:400;opacity:.5;margin-left:4px}.wl-field__input,.wl-field__select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.25);color:var(--ink);font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.wl-field__input::placeholder{color:rgba(155,177,194,.4)}.wl-field__input:focus,.wl-field__select:focus{outline:none;border-color:rgba(20,184,166,.4);box-shadow:0 0 0 3px rgba(20,184,166,.1)}.wl-field__select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239bb1c2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.wl-field__select option{background:#0a1a22;color:var(--ink)}.wl-method-checks{display:flex;gap:8px;flex-wrap:wrap}.wl-method-chip{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.15);color:var(--muted);font-size:13px;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.wl-method-chip:hover:not(.wl-method-chip--disabled){border-color:rgba(255,255,255,.18);background:rgba(0,0,0,.25)}.wl-method-chip--active{border-color:rgba(20,184,166,.35);background:rgba(20,184,166,.08);color:var(--accent)}.wl-method-chip--disabled{opacity:.35;cursor:not-allowed}.wl-method-chip__input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.wl-method-chip__check{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:5px;border:1.5px solid rgba(255,255,255,.2);transition:all .15s ease;flex-shrink:0}.wl-method-chip--active .wl-method-chip__check{background:var(--accent);border-color:var(--accent);color:#04110f}.wl-modal__error{display:flex;align-items:center;gap:8px;font-size:13px;color:#ff9f9f;background:rgba(255,127,127,.08);border:1px solid rgba(255,127,127,.12);border-radius:8px;padding:10px 12px}.wl-modal__footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px 20px;border-top:1px solid rgba(255,255,255,.06)}.wl-modal__btn{padding:9px 20px;border-radius:10px;border:none;font-size:13.5px;font-weight:600;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:6px}.wl-modal__btn--ghost{background:rgba(255,255,255,.05);color:var(--muted)}.wl-modal__btn--ghost:hover{background:rgba(255,255,255,.1);color:var(--ink)}.wl-modal__btn--primary{background:linear-gradient(135deg,var(--accent),var(--accent-secondary));color:#04110f}.wl-modal__btn--primary:hover:not(:disabled){box-shadow:0 6px 20px rgba(20,184,166,.25);transform:translateY(-1px)}.wl-modal__btn--primary:disabled{opacity:.6;cursor:not-allowed}.wl-modal__btn--danger{background:rgba(239,68,68,.15);color:#ef4444}.wl-modal__btn--danger:hover:not(:disabled){background:rgba(239,68,68,.25)}.wl-modal__btn--danger:disabled{opacity:.6;cursor:not-allowed}.wl-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(4,17,15,.3);border-top-color:#04110f;border-radius:50%;animation:login-spin .6s linear infinite}.wl-spinner--light{border-color:#ef4444 rgba(239,68,68,.3) rgba(239,68,68,.3)}.wl-delete-modal{padding:28px 24px 24px;text-align:left}.wl-delete-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:rgba(239,68,68,.1);color:#ef4444;margin-bottom:16px}.wl-delete-icon svg{width:22px;height:22px}.wl-delete-modal h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--ink)}.wl-delete-modal p{margin:0 0 24px;font-size:13.5px;color:var(--muted);line-height:1.55}.wl-delete-modal strong{color:var(--ink);font-weight:600}.wl-delete-actions{display:flex;gap:8px;justify-content:flex-end}.admin-assignments{padding:20px;display:grid;grid-gap:16px;gap:16px}.admin-assignment-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:16px;transition:all .2s ease}.admin-assignment-card:hover{background:rgba(255,255,255,.08);border-color:rgba(103,179,255,.2)}.admin-assignment-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.admin-assignment-card__actions{display:flex;align-items:center;gap:12px}.admin-assignment-card__header h4{margin:0;font-size:16px;font-weight:600}.admin-assignment-card__content p{margin:8px 0;font-size:14px;color:var(--muted)}.admin-assignment-card__users{margin-top:12px}.admin-assignment-card__users ul{margin:8px 0 0;padding-left:16px}.admin-assignment-card__users li{font-size:13px;color:var(--ink);margin:4px 0}.selection-grid{display:grid;grid-gap:8px;gap:8px}.selection-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.selection-header label{margin:0}.selection-header__actions{display:flex;align-items:center;gap:10px}.selection-row{display:grid;grid-template-columns:140px 1fr auto;align-items:center;grid-gap:8px;gap:8px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.08)}.selection-row--recent{background:rgba(41,217,194,.08);border-radius:10px;padding:8px 10px;margin:0 -6px}.selection-row:last-child{border-bottom:none}.selection-value{color:rgba(255,255,255,.7);font-size:.9rem;word-break:break-word}.acc-tree__controls{display:flex;align-items:center;gap:12px;margin-top:6px}.acc-tree__panel{margin-top:12px;max-height:360px;overflow:auto;padding:10px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(10,20,24,.65);box-shadow:inset 0 0 0 1px rgba(41,217,194,.05)}.acc-tree__panel-header{font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.6);padding:2px 4px 10px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:8px}.acc-tree__panel--loading{opacity:.9}.acc-tree{list-style:none;padding-left:0;margin:0}.acc-tree__item--depth-1 .acc-tree__row{margin-left:12px}.acc-tree__item--depth-2 .acc-tree__row{margin-left:24px}.acc-tree__item--depth-3 .acc-tree__row{margin-left:36px}.acc-tree__item--depth-4 .acc-tree__row{margin-left:48px}.acc-tree__item--depth-5 .acc-tree__row{margin-left:60px}.acc-tree__item{margin:4px 0}.acc-tree__row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:10px}.acc-tree__row:hover{background:rgba(255,255,255,.06)}.acc-tree__row--selected{background:rgba(41,217,194,.12);border:1px solid rgba(41,217,194,.35)}.acc-tree__row--folder .acc-tree__name{font-weight:600}.acc-tree__toggle{background:transparent;border:none;color:inherit;cursor:pointer;font-size:.9rem;padding:0 4px}.acc-tree__spacer{display:inline-block;width:14px}.acc-tree__name{flex:1 1;font-size:.9rem;display:inline-flex;align-items:center;gap:8px}.acc-tree__actions{display:flex;gap:6px}.acc-tree__loading{margin-left:32px;font-size:.85rem;color:rgba(255,255,255,.6)}.acc-tree__notice{font-size:.85rem;color:rgba(255,255,255,.78);background:rgba(41,217,194,.12);padding:4px 10px;border-radius:999px}.btn--selected{border-color:rgba(41,217,194,.6);color:rgba(41,217,194,.9);background:rgba(41,217,194,.12)}.assignment-role-select{padding:6px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:var(--ink);min-width:150px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--panel);border:1px solid rgba(255,255,255,.08);border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.4)}.modal--large{max-width:700px}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid rgba(255,255,255,.06)}.modal__header h2{margin:0;font-size:20px;font-weight:600}.modal__close{background:none;border:none;color:var(--muted);font-size:24px;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.modal__close:hover{background:rgba(255,255,255,.08);color:var(--ink)}.modal__content,.modal__form{padding:20px;max-height:60vh;overflow-y:auto}.modal__form{gap:16px}.form-group,.modal__form{display:flex;flex-direction:column}.form-group{gap:6px}.form-group--checkbox{flex-direction:row;align-items:center;gap:8px}.form-group label{font-size:14px;font-weight:500;color:var(--ink)}.form-group .ui-select__control,.form-group input,.form-group select{padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:var(--bg);color:var(--ink);font-size:14px;transition:all .2s ease}.form-group .ui-select__control:focus,.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(103,179,255,.2)}.form-group .ui-select__control:disabled,.form-group input:disabled,.form-group select:disabled{opacity:.6;cursor:not-allowed}.form-help{font-size:12px;color:var(--muted);margin-top:4px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.checkbox-text{color:var(--ink)}.form-error{background:rgba(255,107,107,.1);border:1px solid rgba(255,107,107,.3);border-radius:8px;padding:12px;color:#ff6b6b;font-size:14px}.modal__actions{display:flex;gap:12px;justify-content:flex-end;padding:20px;border-top:1px solid rgba(255,255,255,.06)}.assignment-section{margin-bottom:24px}.assignment-section h3{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--ink)}.assignment-list{display:flex;flex-direction:column;gap:8px}.assignment-item{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:8px;transition:all .2s ease}.assignment-item:hover{background:rgba(255,255,255,.08)}.assignment-item__content{display:flex;flex-direction:column;gap:4px}.assignment-item__name{font-weight:500;color:var(--ink);font-size:14px}.assignment-item__meta{font-size:12px;color:var(--muted)}.assignment-item .ui-select{width:180px;flex:0 0 180px}.assignment-item .btn--ghost{margin-left:auto}.assignment-empty{color:var(--muted);font-style:italic;text-align:center;padding:20px;margin:0}.assignment-empty,.assignment-form{background:rgba(255,255,255,.04);border-radius:8px}.assignment-form{display:flex;flex-direction:column;gap:12px;padding:16px}@media (max-width:900px){body,html{overflow-y:auto;height:auto;min-height:100%}.app{grid-template-rows:auto 1fr;height:auto;min-height:100vh}.app__header{flex-direction:column;align-items:flex-start;gap:12px;height:auto;padding:12px;flex-direction:row;align-items:center;justify-content:space-between}.brand{width:auto;justify-content:flex-start;gap:12px}.brand,.brand__selector{flex:1 1}.brand__logo{margin-right:12px}.actions{width:auto;flex-wrap:nowrap;justify-content:flex-end;gap:12px}.actions__desktop{display:none}.actions__mobile{display:flex;margin-left:auto}.brand__selector .model-dropdown{width:100%;max-width:200px}.brand__selector .model-dropdown__control{width:100%}.brand__selector .model-dropdown__value{font-size:12px}.layout,.layout--split{display:flex!important;flex-direction:column;height:auto;min-height:calc(100vh - 120px);overflow:visible;padding-bottom:calc(var(--gap) * 2)}.pane{width:100%}.pane--viewer{height:calc(100vh - var(--header-h) - (2 * var(--gap)));height:calc(100dvh - var(--header-h) - (2 * var(--gap)));min-height:calc(100vh - var(--header-h) - (2 * var(--gap)));min-height:calc(100dvh - var(--header-h) - (2 * var(--gap)));background:transparent;border:none;box-shadow:none;padding:0}.viewer-wrapper{padding:0;margin:0 auto;width:min(600px,100%);height:100%}.viewer{border-radius:18px;height:100%;min-height:100%}.pane--pbi{min-width:0;margin-top:var(--gap)}.pane__body--pbi{min-height:55vh}.pane__body--pbi iframe{height:55vh}#pbi-pane{scroll-margin-top:20px}#clash-panel,#drawings-panel{left:0;right:0;width:100%;top:auto;bottom:0;height:75vh;max-height:75vh;border-radius:18px 18px 0 0}.panel__body--drawings{max-height:calc(75vh - 56px)}}@media (max-width:640px){.drawings-filter{flex:1 1 100%}}.viewpoints-panel{width:420px;max-width:95vw}.viewpoints-panel__toolbar{display:flex;gap:8px;align-items:center;padding:8px 16px;border-bottom:1px solid rgba(255,255,255,.08);flex-wrap:wrap}.viewpoints-panel__tabs{display:flex;background:rgba(255,255,255,.06);border-radius:6px;overflow:hidden}.viewpoints-panel__tab{padding:4px 12px;font-size:12px;background:transparent;border:none;color:rgba(255,255,255,.5);cursor:pointer;transition:all .15s}.viewpoints-panel__tab.active{background:var(--accent);color:#fff}.viewpoints-panel__search{flex:1 1;min-width:100px;background:rgba(255,255,255,.08);border:1px solid var(--glass-border);border-radius:8px;color:var(--ink);padding:6px 10px;font-size:14px;font-weight:500;outline:none}.viewpoints-panel__search::placeholder{color:rgba(229,238,252,.7)}.viewpoints-panel__search:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(20,184,166,.25)}.viewpoints-panel__save-btn{display:flex;align-items:center;gap:4px;padding:6px 14px;font-size:12px;font-weight:600;border:none;border-radius:8px;background:linear-gradient(110deg,var(--accent),var(--accent-secondary));color:#fff;cursor:pointer;white-space:nowrap;transition:opacity .15s}.viewpoints-panel__save-btn:hover{opacity:.85}.viewpoints-panel__empty{padding:40px 16px;text-align:center;color:rgba(255,255,255,.4);font-size:13px}.viewpoints-panel__grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;padding:12px}.viewpoint-card{border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);overflow:hidden;transition:all .15s;display:flex;flex-direction:column;height:100%}.viewpoint-card:hover{border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.07)}.viewpoint-card__row{display:flex;flex-direction:column;height:100%}.viewpoint-card__thumb{position:relative;aspect-ratio:16/9;background:rgba(0,0,0,.2);overflow:hidden;cursor:pointer}.viewpoint-card__thumb img{width:100%;height:100%;object-fit:cover}.viewpoint-card__placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:rgba(255,255,255,.15)}.viewpoint-card__badge{position:absolute;top:4px;right:4px;background:var(--accent);color:#fff;font-size:9px;font-weight:600;padding:1px 4px;border-radius:6px;min-width:14px;text-align:center}.viewpoint-card__info{padding:8px 10px 4px;flex:1 1}.viewpoint-card__name{font-size:12px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewpoint-card__meta{font-size:10px;color:rgba(255,255,255,.35);line-height:1.3;margin-top:2px}.viewpoint-card__shared-icon{position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:rgba(20,184,166,.25);color:var(--accent);display:flex;align-items:center;justify-content:center}.viewpoint-card__actions{display:flex;flex-direction:row;gap:2px;padding:6px;justify-content:center;border-top:1px solid rgba(255,255,255,.04);margin-top:auto}.viewpoint-card__icon-btn{position:relative;width:26px;height:26px;border:1px solid rgba(255,255,255,.1);border-radius:7px;background:rgba(255,255,255,.04);color:rgba(255,255,255,.5);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s}.viewpoint-card__icon-btn:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2);color:#fff}.viewpoint-card__icon-btn.tooltip:after{top:auto;bottom:calc(100% + 8px);left:50%;right:auto;transform:translateX(-50%)}.viewpoint-card__icon-btn.tooltip:focus-visible:after,.viewpoint-card__icon-btn.tooltip:hover:after{transform:translateX(-50%)}.viewpoint-card__icon-btn.danger{color:rgba(239,68,68,.6);border-color:rgba(239,68,68,.12)}.viewpoint-card__icon-btn.danger:hover{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.3);color:#ef4444}.viewpoint-modal__backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.viewpoint-modal{background:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:24px;width:360px;max-width:90vw;box-shadow:0 16px 48px rgba(0,0,0,.5)}.viewpoint-modal h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#fff}.viewpoint-modal label{display:block;font-size:12px;color:rgba(255,255,255,.5);margin-bottom:12px}.viewpoint-modal input[type=text]{display:block;width:100%;padding:8px 12px;margin-top:4px;font-size:14px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.04);color:#fff;outline:none}.viewpoint-modal input[type=text]:focus{border-color:var(--accent)}.viewpoint-modal__scope-toggle{display:flex;margin-top:4px;background:rgba(255,255,255,.06);border-radius:8px;overflow:hidden}.viewpoint-modal__scope-toggle button{flex:1 1;padding:6px 12px;font-size:12px;border:none;background:transparent;color:rgba(255,255,255,.5);cursor:pointer;transition:all .15s}.viewpoint-modal__scope-toggle button.active{background:var(--accent);color:#fff}.viewpoint-modal__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.viewpoint-modal__actions button{padding:8px 16px;font-size:13px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:transparent;color:rgba(255,255,255,.7);cursor:pointer}.viewpoint-modal__actions button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.viewpoint-modal__actions button.primary:disabled{opacity:.5;cursor:not-allowed}.viewpoint-modal__scope-hint{display:block;margin-top:4px;font-size:11px;color:rgba(255,255,255,.3);font-style:italic}.viewpoint-modal__update-section{margin-bottom:12px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(255,255,255,.02)}.viewpoint-modal__update-btn{display:flex;align-items:center;gap:6px;width:100%;padding:8px 12px;font-size:13px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.04);color:rgba(255,255,255,.8);cursor:pointer;transition:all .15s}.viewpoint-modal__update-btn:hover:not(:disabled){background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}.viewpoint-modal__update-btn:disabled{opacity:.4;cursor:not-allowed}.viewpoint-modal__update-hint{display:block;margin-top:6px;font-size:10px;color:rgba(255,255,255,.3);line-height:1.4}.viewpoint-preview__backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000}.viewpoint-preview{position:relative;background:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:14px;width:calc(100vw - 40px);height:calc(100vh - 40px);max-width:100%;max-height:100%;overflow:hidden;box-shadow:0 16px 48px rgba(0,0,0,.5)}.viewpoint-preview__close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;background:rgba(255,255,255,.1);color:#fff;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2}.viewpoint-preview__layout{display:flex;height:100%}.viewpoint-preview__image{flex:1 1;background:#0f172a;display:flex;flex-direction:column;min-height:0;overflow:hidden}.viewpoint-preview__image img{max-width:100%;max-height:100%;object-fit:contain}.viewpoint-preview__canvas-viewport{flex:1 1;overflow:auto;position:relative;display:flex;align-items:center;justify-content:center;min-height:0}.viewpoint-preview__canvas-scaler{position:relative;display:inline-block;transform-origin:center center}.viewpoint-preview__placeholder{color:rgba(255,255,255,.3);font-size:14px;flex:1 1;display:flex;align-items:center;justify-content:center}.viewpoint-preview__sidebar{width:280px;flex-shrink:0;border-left:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;overflow-y:auto}.viewpoint-preview__info{padding:16px;border-bottom:1px solid rgba(255,255,255,.08)}.viewpoint-preview__info h3{margin:0;font-size:15px;font-weight:600;color:#fff}.viewpoint-preview__meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;font-size:11px;color:rgba(255,255,255,.4)}.viewpoint-preview__mode-badge{padding:1px 6px;border-radius:4px;background:rgba(255,255,255,.08);font-size:10px}.viewpoint-preview__shared-badge{padding:1px 6px;border-radius:4px;background:rgba(59,130,246,.2);color:var(--accent);font-size:10px}.viewpoint-preview__actions{display:flex;gap:6px;padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.08);flex-wrap:wrap}.viewpoint-preview__actions button{padding:6px 12px;font-size:11px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:transparent;color:rgba(255,255,255,.7);cursor:pointer;white-space:nowrap}.viewpoint-preview__actions button:hover{background:rgba(255,255,255,.06)}.viewpoint-preview__actions button.danger{color:#ef4444;border-color:rgba(239,68,68,.2)}.viewpoint-preview__comments{flex:1 1;display:flex;flex-direction:column;min-height:0}.viewpoint-preview__comments h4{margin:0;padding:10px 16px 8px;font-size:12px;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(255,255,255,.04);flex-shrink:0}.viewpoint-preview__comment-list{flex:1 1;overflow-y:auto;padding:0 16px}.viewpoint-preview__comment-list:empty:after{content:"No comments yet";display:block;padding:20px 0;text-align:center;font-size:12px;color:rgba(255,255,255,.2)}.viewpoint-preview__comment{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.04)}.viewpoint-preview__comment-header{display:flex;align-items:center;gap:6px;font-size:11px}.viewpoint-preview__comment-header strong{color:#fff;font-size:12px}.viewpoint-preview__comment-header span{color:rgba(255,255,255,.3)}.viewpoint-preview__comment-delete{margin-left:auto;border:none;background:transparent;color:rgba(255,255,255,.2);cursor:pointer;padding:2px}.viewpoint-preview__comment-delete:hover{color:#ef4444}.viewpoint-preview__comment p{margin:4px 0 0;font-size:13px;color:rgba(255,255,255,.7);line-height:1.4}.viewpoint-preview__comment-input{display:flex;gap:6px;padding:10px 16px;border-top:1px solid rgba(255,255,255,.08);flex-shrink:0;align-items:stretch}.viewpoint-preview__comment-input textarea{flex:1 1;padding:8px 10px;font-size:12px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.04);color:#fff;resize:none;height:40px;outline:none;font-family:inherit}.viewpoint-preview__comment-input textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(20,184,166,.15)}.viewpoint-preview__comment-input button{padding:0 14px;font-size:12px;border:none;border-radius:8px;background:var(--accent);color:#fff;cursor:pointer}.viewpoint-preview__comment-input button:disabled{opacity:.4;cursor:not-allowed}.viewpoint-preview__zoom-bar{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:6px 14px;background:rgba(15,23,42,.85);border:1px solid rgba(255,255,255,.1);border-radius:10px;font-size:12px;color:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5}.viewpoint-preview__zoom-bar button{padding:4px 10px;border:1px solid rgba(255,255,255,.1);border-radius:4px;background:transparent;color:rgba(255,255,255,.6);cursor:pointer;font-size:12px}.viewpoint-preview__zoom-bar button:hover{background:rgba(255,255,255,.08)}.viewpoint-preview__markup-sidebar{display:flex;flex-direction:column;height:100%}.viewpoint-preview__markup-section{padding:8px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.viewpoint-preview__markup-label{display:block;font-size:10px;color:rgba(255,255,255,.4);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.viewpoint-preview__markup-tools{display:flex;gap:3px;flex-wrap:wrap}.viewpoint-preview__markup-tool{width:30px;height:30px;border:none;background:transparent;color:rgba(255,255,255,.5);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center}.viewpoint-preview__markup-tool:hover{background:rgba(255,255,255,.1);color:#fff}.viewpoint-preview__markup-tool.active{background:linear-gradient(110deg,var(--accent),var(--accent-secondary));color:#fff}.viewpoint-preview__markup-colors{display:flex;gap:4px}.viewpoint-preview__markup-color{width:20px;height:20px;border:2px solid transparent;border-radius:50%;cursor:pointer}.viewpoint-preview__markup-color.active{border-color:#fff}.viewpoint-preview__color-picker-wrap{position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer}.viewpoint-preview__color-picker-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.viewpoint-preview__color-picker-swatch{width:20px;height:20px;border:2px dashed rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);transition:border-color .15s}.viewpoint-preview__color-picker-wrap:hover .viewpoint-preview__color-picker-swatch{border-color:rgba(255,255,255,.6)}.viewpoint-preview__markup-slider{width:100%;accent-color:var(--accent)}.viewpoint-preview__markup-edit-btns{display:flex;gap:4px}.viewpoint-preview__markup-edit-btns button{padding:4px 10px;font-size:11px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:transparent;color:rgba(255,255,255,.6);cursor:pointer}.viewpoint-preview__markup-edit-btns button:hover:not(:disabled){background:rgba(255,255,255,.08)}.viewpoint-preview__markup-edit-btns button:disabled{opacity:.3;cursor:not-allowed}.viewpoint-preview__markup-edit-btns button.danger{color:#ef4444}.viewpoint-preview__markup-actions{padding:12px 16px;margin-top:auto;display:flex;flex-direction:column;gap:6px}.viewpoint-preview__markup-actions button{width:100%;padding:8px 16px;font-size:13px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:transparent;color:rgba(255,255,255,.7);cursor:pointer}.viewpoint-preview__markup-actions button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.viewpoint-preview__inline-text{background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:4px 6px;min-width:120px;min-height:28px;max-width:400px;resize:none;outline:none;z-index:20;line-height:1.3;caret-color:#fff}.viewpoint-preview__inline-text::placeholder{color:rgba(255,255,255,.3)}.viewpoint-preview__text-settings{display:flex;gap:6px}.viewpoint-preview__text-select{flex:1 1;padding:4px 6px;font-size:11px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:rgba(255,255,255,.06);color:#fff;outline:none;cursor:pointer}.viewpoint-preview__text-select option{background:#1e293b;color:#fff}.viewpoint-confirm__backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1100}.viewpoint-confirm{background:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:24px;width:380px;max-width:90vw;box-shadow:0 16px 48px rgba(0,0,0,.5)}.viewpoint-confirm h3{margin:0 0 8px;font-size:16px;font-weight:600;color:#fff}.viewpoint-confirm p{margin:0 0 20px;font-size:13px;color:rgba(255,255,255,.6);line-height:1.5}.viewpoint-confirm__actions{display:flex;justify-content:flex-end;gap:8px}.viewpoint-confirm__actions button{padding:8px 18px;font-size:13px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:transparent;color:rgba(255,255,255,.7);cursor:pointer}.viewpoint-confirm__actions button:hover{background:rgba(255,255,255,.06)}.viewpoint-confirm__actions button.danger{background:#ef4444;border-color:#ef4444;color:#fff}.viewpoint-confirm__actions button.danger:hover{background:#dc2626}.annotation-toolbar{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:8px 12px;background:rgba(15,23,42,.95);border:1px solid rgba(255,255,255,.12);border-radius:12px;z-index:20;box-shadow:0 8px 32px rgba(0,0,0,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.annotation-toolbar__section{display:flex;align-items:center;gap:4px}.annotation-toolbar__label{font-size:10px;color:rgba(255,255,255,.4);margin-right:4px;white-space:nowrap}.annotation-toolbar__tools{display:flex;gap:2px}.annotation-toolbar__tool{width:30px;height:30px;border:none;background:transparent;color:rgba(255,255,255,.5);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.annotation-toolbar__tool:hover{background:rgba(255,255,255,.1);color:#fff}.annotation-toolbar__tool.active{background:var(--accent);color:#fff}.annotation-toolbar__colors{display:flex;gap:3px}.annotation-toolbar__color{width:18px;height:18px;border:2px solid transparent;border-radius:50%;cursor:pointer;transition:border-color .15s}.annotation-toolbar__color.active{border-color:#fff}.annotation-toolbar__slider{width:60px;accent-color:var(--accent)}.annotation-toolbar__divider{width:1px;height:24px;background:rgba(255,255,255,.1)}.annotation-toolbar__btn{padding:5px 10px;font-size:12px;border:none;background:rgba(255,255,255,.08);color:rgba(255,255,255,.7);border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:4px;transition:all .15s}.annotation-toolbar__btn:hover:not(:disabled){background:rgba(255,255,255,.15);color:#fff}.annotation-toolbar__btn:disabled{opacity:.3;cursor:not-allowed}.annotation-toolbar__btn.save{background:var(--accent);color:#fff}.annotation-toolbar__btn.save:hover{background:var(--accent-secondary)}.annotation-toolbar__btn.cancel{color:rgba(255,255,255,.5)}.annotation-overlay{pointer-events:auto}.annotation-overlay canvas{display:block}@media (max-width:900px){.viewpoints-panel{width:100%;max-width:100vw}.viewpoints-panel__grid{grid-template-columns:1fr}.viewpoint-preview__layout{flex-direction:column}.viewpoint-preview__sidebar{width:100%;border-left:none;border-top:1px solid rgba(255,255,255,.08)}.annotation-toolbar{flex-wrap:wrap;max-width:90vw}}