.uiOrganizerEnabled{--ui-bg:#f3f6fb;--ui-surface:#fff;--ui-surface-soft:#f8fafc;--ui-border:#dbe3ef;--ui-text:#172238;--ui-muted:#64748b;--ui-primary:#2867df;--ui-primary-dark:#1d4fae;--ui-danger:#d9342b;--ui-radius:14px;--ui-shadow:0 8px 24px #20304a0d;scroll-behavior:smooth;color:var(--ui-text);background:var(--ui-bg)}
*{box-sizing:border-box}.uiOrganizerEnabled :where(button,a,input,select,textarea,summary){-webkit-tap-highlight-color:transparent}.uiOrganizerEnabled :where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #7aa7f7;outline-offset:2px}.uiOrganizerEnabled :where(button,input,select,textarea):disabled{cursor:not-allowed;opacity:.58}
.uiOrganizerGroup{margin:16px 0;border:1px solid #dbe3ef;border-radius:14px;background:#fff;box-shadow:0 8px 24px #20304a0d;overflow:hidden}
.uiOrganizerGroup>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:68px;padding:14px 17px;cursor:pointer;list-style:none;background:#f8fafc;user-select:none}
.uiOrganizerGroup>summary::-webkit-details-marker{display:none}.uiOrganizerGroup>summary>span{display:grid;gap:3px;min-width:0}.uiOrganizerGroup>summary b{color:#172238;font-size:14px}.uiOrganizerGroup>summary small{color:#64748b;font-size:10px;line-height:1.4}.uiOrganizerGroup>summary i{position:relative;display:block;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#e8f0ff}.uiOrganizerGroup>summary i::before,.uiOrganizerGroup>summary i::after{content:'';position:absolute;left:9px;top:14px;width:12px;height:2px;border-radius:2px;background:#2458a6}.uiOrganizerGroup>summary i::after{transform:rotate(90deg);transition:transform .18s ease}.uiOrganizerGroup[open]>summary{border-bottom:1px solid #dbe3ef;background:#eef4ff}.uiOrganizerGroup[open]>summary i::after{transform:rotate(0)}
.uiOrganizerContent{display:grid;gap:16px;padding:16px}.uiOrganizerContent>:first-child{margin-top:0!important}.uiOrganizerContent>:last-child{margin-bottom:0!important}.uiOrganizerContent>.card{box-shadow:none}
.uiOrganizerManagement main>section,.uiOrganizerSupervisor main>section{animation:uiOrganizerFade .16s ease}.uiOrganizerManagement .sectionHead,.uiOrganizerSupervisor .sectionHead{gap:14px}.uiOrganizerManagement .card,.uiOrganizerSupervisor .card{border-color:#dbe3ef}
.uiOrganizerWorker .modal-card,.uiOrganizerWorker .workerInboxPanel,.uiOrganizerWorker .globalSearchPanel{border:1px solid #dbe3ef;box-shadow:0 20px 55px #0f172a29}.uiOrganizerWorker button{touch-action:manipulation}

/* One visual language for PM, Admin and Supervisor. */
.uiOrganizerManagement,.uiOrganizerSupervisor{background:var(--ui-bg)}
.uiOrganizerManagement header,.uiOrganizerSupervisor header{border-bottom:1px solid var(--ui-border);box-shadow:0 6px 22px #1722380d}
.uiOrganizerManagement main,.uiOrganizerSupervisor main{width:100%;max-width:1580px;margin-inline:auto}
.uiOrganizerManagement .card,.uiOrganizerSupervisor .card{border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);box-shadow:var(--ui-shadow)}
.uiOrganizerManagement :where(.sectionHead,.cardHead),.uiOrganizerSupervisor :where(.sectionHead,.cardHead){align-items:flex-start}
.uiOrganizerManagement :where(h1,h2,h3),.uiOrganizerSupervisor :where(h1,h2,h3){color:var(--ui-text);letter-spacing:-.018em}
.uiOrganizerManagement :where(.muted,small),.uiOrganizerSupervisor :where(.muted,small){color:var(--ui-muted)}
.uiOrganizerManagement :where(input,select,textarea),.uiOrganizerSupervisor :where(input,select,textarea){min-height:42px;border:1px solid #cbd6e5;border-radius:10px;background:#fff;color:var(--ui-text);transition:border-color .16s ease,box-shadow .16s ease}
.uiOrganizerManagement :where(input,select,textarea):focus,.uiOrganizerSupervisor :where(input,select,textarea):focus{border-color:#6092ec;box-shadow:0 0 0 3px #2867df1f;outline:0}
.uiOrganizerManagement textarea,.uiOrganizerSupervisor textarea{min-height:92px;padding-block:10px}
.uiOrganizerManagement button,.uiOrganizerSupervisor button{min-height:40px;border-radius:10px;font-weight:700;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}
.uiOrganizerManagement button:not(:disabled):active,.uiOrganizerSupervisor button:not(:disabled):active{transform:translateY(1px)}
.uiOrganizerManagement :where(table),.uiOrganizerSupervisor :where(table){border-collapse:separate;border-spacing:0}
.uiOrganizerManagement :where(th),.uiOrganizerSupervisor :where(th){background:#f7f9fc;color:#62728c;font-size:11px;letter-spacing:.035em;text-transform:uppercase}
.uiOrganizerManagement :where(th,td),.uiOrganizerSupervisor :where(th,td){border-bottom-color:#e6ebf3}
.uiOrganizerManagement tbody tr,.uiOrganizerSupervisor tbody tr{transition:background-color .12s ease}
.uiOrganizerManagement tbody tr:hover,.uiOrganizerSupervisor tbody tr:hover{background:#f7faff}
.uiOrganizerManagement .tab,.uiOrganizerSupervisor .tab{border-radius:9px;transition:background-color .14s ease,color .14s ease,transform .14s ease}
.uiOrganizerManagement .tab:active,.uiOrganizerSupervisor .tab:active{transform:scale(.99)}
.uiOrganizerManagement :where(.staffDrawer,.mobileDrawer),.uiOrganizerSupervisor :where(.staffDrawer,.mobileDrawer){border-right:1px solid var(--ui-border);box-shadow:14px 0 36px #17223817}

/* Worker keeps the drawing first, but uses the same controls and surfaces. */
.uiOrganizerWorker{background:var(--ui-bg)}
.uiOrganizerWorker .workerAppHeader{border-bottom:1px solid var(--ui-border);background:linear-gradient(135deg,#fff 0%,#f4f8ff 100%);box-shadow:0 6px 22px #17223812}
.uiOrganizerWorker .appDrawer{border-right:1px solid var(--ui-border);box-shadow:14px 0 36px #17223824}
.uiOrganizerWorker .appDrawerNav :where(button,a){min-height:46px;border-radius:10px}
.uiOrganizerWorker .floors{gap:7px;padding:9px 12px;border-bottom:1px solid var(--ui-border);background:#fff}
.uiOrganizerWorker .floors :where(button,a){min-height:40px;border-radius:9px}
.uiOrganizerWorker .toolbar{margin:10px 12px;padding:10px;border:1px solid var(--ui-border);border-radius:12px;background:#fff;box-shadow:var(--ui-shadow)}
.uiOrganizerWorker .toolbar :where(button,select,input){min-height:42px;border-radius:9px}
.uiOrganizerWorker .statuses{gap:7px}.uiOrganizerWorker .status{min-height:42px;border-radius:9px;font-weight:700}
.uiOrganizerWorker #viewport{width:calc(100% - 24px);margin:0 12px 12px;border:1px solid var(--ui-border);border-radius:12px;background:#e9eef6;box-shadow:var(--ui-shadow);overflow:auto;overscroll-behavior:contain}
.uiOrganizerWorker :where(.modal-card,.workerInboxPanel,.globalSearchPanel){border-radius:var(--ui-radius);background:#fff}
.uiOrganizerWorker :where(.modal-card,.workerInboxPanel,.globalSearchPanel) :where(input,select,textarea){min-height:43px;border-radius:10px;border-color:#cbd6e5}
.uiOrganizerWorker :where(.modal-card,.workerInboxPanel,.globalSearchPanel) button{min-height:42px;border-radius:10px}
@keyframes uiOrganizerFade{from{opacity:.7;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(max-width:700px){.uiOrganizerGroup{margin:12px 0;border-radius:11px}.uiOrganizerGroup>summary{min-height:62px;padding:12px 13px}.uiOrganizerGroup>summary small{white-space:normal}.uiOrganizerContent{gap:12px;padding:11px}.uiOrganizerContent .settingsGrid,.uiOrganizerContent .drawingVersionManager,.uiOrganizerContent .pointImportManager,.uiOrganizerContent .pointAlignmentManager,.uiOrganizerContent .autoCalibrationManager{grid-template-columns:1fr!important}.uiOrganizerManagement main,.uiOrganizerSupervisor main{padding-inline:12px!important}.uiOrganizerManagement .card,.uiOrganizerSupervisor .card{border-radius:12px}.uiOrganizerManagement :where(button,input,select),.uiOrganizerSupervisor :where(button,input,select){min-height:44px}.uiOrganizerWorker .toolbar{margin:8px;padding:8px}.uiOrganizerWorker #viewport{width:calc(100% - 16px);margin:0 8px 8px;border-radius:10px}.uiOrganizerWorker .floors{padding-inline:8px;overflow-x:auto}.uiOrganizerWorker .status{min-height:44px}.uiOrganizerWorker :where(.modal-card,.workerInboxPanel,.globalSearchPanel){border-radius:12px}}
@media(prefers-reduced-motion:reduce){.uiOrganizerEnabled{scroll-behavior:auto}.uiOrganizerEnabled *{animation-duration:.01ms!important;transition-duration:.01ms!important}.uiOrganizerManagement main>section,.uiOrganizerSupervisor main>section{animation:none}}
