:root{--ink:#17232d;--ink-soft:#44515c;--muted:#64717c;--line:#c7d0d7;--line-strong:#8b99a4;--surface:#fff;--surface-alt:#eef2f4;--ground:#dfe5e9;--nav:#202c35;--blue:#075da8;--blue-dark:#064a83;--blue-soft:#e6f2fc;--amber:#a95c00;--amber-soft:#fff0cf;--red:#a12d27;--red-soft:#fbe9e7;--green:#177245;--green-soft:#e2f4ea;--focus:#ffbd20;--z-sticky:20;color:var(--ink);background:var(--ground);font-synthesis:none;text-rendering:optimizelegibility;font-family:Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box}html{background:var(--ground);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}::selection{color:#fff;background:var(--blue)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h1,h2,h3,p{text-wrap:pretty}.button{cursor:pointer;border:0;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;min-height:3.25rem;padding:.65rem 1rem;font-weight:700;line-height:1.2;text-decoration:none;transition:background-color .18s cubic-bezier(.22,1,.36,1),color .18s cubic-bezier(.22,1,.36,1),transform .12s cubic-bezier(.22,1,.36,1);display:inline-flex}.button:active{transform:translateY(1px)}.button:disabled{opacity:.58;cursor:wait}.button--primary{color:#fff;background:var(--blue)}.button--primary:hover:not(:disabled){background:var(--blue-dark)}.button--secondary{border:2px solid var(--blue);color:var(--blue);background:#fff}.button--secondary:hover:not(:disabled){color:#fff;background:var(--blue)}.button--warning{color:#4b2a00;background:#ffc43d}.button--warning:hover:not(:disabled){background:#f2ad0a}.button--complete{color:#fff;background:var(--green)}.button--complete:hover:not(:disabled){background:#105c36}.button--quiet{border:1px solid var(--line-strong);min-width:4rem;color:var(--ink);background:#fff}.button--quiet:hover{background:var(--surface-alt)}.button--wide{width:100%}.icon-button{border:1px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:50%;flex:none;width:3.25rem;height:3.25rem;font-size:1.6rem}.icon-button:hover{background:var(--surface-alt)}.brand-mark{color:#fff;background:var(--blue);border-radius:.375rem;flex:none;place-items:center;width:2.75rem;height:2.75rem;font-size:1.5rem;font-weight:900;display:grid}.connection{color:var(--ink-soft);white-space:nowrap;align-items:center;gap:.55rem;font-size:.875rem;font-weight:600;display:inline-flex}.connection>span{background:var(--green);border-radius:50%;width:.65rem;height:.65rem}.connection--checking>span{background:var(--amber)}.connection--unreachable>span,.connection--offline>span{background:var(--red)}.connection-guard,.pwa-notice{z-index:calc(var(--z-sticky) - 1);padding:.75rem max(1rem, env(safe-area-inset-right,0px)) .75rem max(1rem, env(safe-area-inset-left,0px));border-bottom:1px solid var(--line);color:#4f3000;background:var(--amber-soft);line-height:1.4;position:relative}.connection-guard--offline,.connection-guard--unreachable{color:#6e201c;background:var(--red-soft)}.pwa-notice{color:#104b75;background:var(--blue-soft);justify-content:center;align-items:center;gap:1rem;display:flex}.pwa-notice p{margin:0}.pwa-notice .button{flex:none;min-height:2.75rem}.session-check{background:var(--surface);text-align:center;border-radius:.75rem;place-content:center;justify-items:center;width:min(30rem,100% - 2rem);min-height:18rem;margin:15vh auto 0;display:grid}.session-check strong{margin-top:1rem;font-size:1.25rem}.session-check p{color:var(--ink-soft);margin:.4rem 0 0}.spinner{border:3px solid var(--line);border-top-color:var(--blue);border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite rotate}.login-shell{background:var(--surface-alt);min-height:100dvh}.login-header{min-height:5rem;padding:calc(.75rem + env(safe-area-inset-top,0px)) max(1rem, env(safe-area-inset-right,0px), env(safe-area-inset-left,0px), calc((100vw - 78rem) / 2)) .75rem;border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:.75rem;display:flex}.login-header>div:not(.connection){line-height:1.1;display:grid}.login-header>div span{color:var(--ink-soft);margin-top:.2rem;font-size:.8rem}.login-header .connection{margin-left:auto}.login-traveler{grid-template-columns:minmax(0,1.1fr) minmax(24rem,.9fr);min-height:calc(100vh - 5rem);display:grid}.login-intro{color:#fff;background:var(--nav);flex-direction:column;justify-content:center;min-height:38rem;padding:clamp(2rem,6vw,6rem) max(2rem,50vw - 39rem);display:flex}.login-intro>p:first-child{color:#a9cfef;margin:0 0 1rem;font-weight:700}.login-intro h1{letter-spacing:-.035em;max-width:12ch;margin:0;font-size:3.5rem;line-height:1.03}.login-intro h1+p{color:#d7e0e6;max-width:35rem;margin:1.5rem 0 2.75rem;font-size:1.125rem;line-height:1.55}.login-intro dl{width:min(100%,34rem);margin:0}.login-intro dl div{border-top:1px solid #59656e;grid-template-columns:3rem 1fr;gap:.75rem;padding:.9rem 0;display:grid}.login-intro dt{color:#a9cfef;font-weight:800}.login-intro dd{color:#edf2f5;margin:0}.login-panel{background:#fff;flex-direction:column;justify-content:center;width:min(100%,32rem);padding:clamp(2rem,6vw,5rem);display:flex}.login-panel h2{letter-spacing:-.025em;margin:0;font-size:2rem}.login-panel h2+p{color:var(--ink-soft);margin:.5rem 0 0}.login-form{margin-top:2rem}.server-authority{color:var(--ink-soft);margin:1.5rem 0 0;font-size:.875rem;line-height:1.45}.field{gap:.5rem;display:grid}.field>span:first-child{font-weight:700}.field small{color:var(--muted);font-weight:400}.field input,.field textarea,.field select{border:2px solid var(--line-strong);width:100%;min-height:3.25rem;color:var(--ink);background:#fff;border-radius:.5rem;padding:.7rem .85rem}.field textarea{resize:vertical;min-height:5.5rem;line-height:1.4}.field input::placeholder,.field textarea::placeholder{color:#5f6b75;opacity:1}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #075da829}.field input:disabled,.field textarea:disabled,.field select:disabled{color:var(--muted);background:var(--surface-alt)}.field--compact{padding:1rem 0}.stack-form{gap:1.1rem;display:grid}.password-control{border:2px solid var(--line-strong);background:#fff;border-radius:.5rem;display:flex}.password-control:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #075da829}.password-control input{border:0;box-shadow:none!important}.password-control button{min-width:4.5rem;color:var(--blue);cursor:pointer;background:0 0;border:0;font-weight:700}.notice{border-radius:.5rem;margin-top:1.25rem;padding:.85rem 1rem}.notice p{margin:0}.notice--error,.notice--revoked{color:var(--red);background:var(--red-soft)}.notice--offline{color:#4f3000;background:var(--amber-soft)}.text-button{min-height:2.75rem;color:inherit;cursor:pointer;background:0 0;border:0;margin-top:.5rem;padding:0;font-weight:700;text-decoration:underline}.workspace{background:var(--surface-alt);min-height:100dvh}.workspace-header{z-index:var(--z-sticky);min-height:4.75rem;padding:calc(.65rem + env(safe-area-inset-top,0px)) calc(1.25rem + env(safe-area-inset-right,0px)) .65rem calc(1.25rem + env(safe-area-inset-left,0px));border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:1.25rem;display:flex;position:sticky;top:0}.workspace-brand{align-items:center;gap:.75rem;min-width:15rem;display:flex}.workspace-brand>div,.user-menu>div{line-height:1.15;display:grid}.workspace-brand span,.user-menu span{color:var(--ink-soft);margin-top:.2rem;font-size:.8rem}.workspace-header>.connection{margin-left:auto}.user-menu{border-left:1px solid var(--line);align-items:center;gap:1rem;padding-left:1.25rem;display:flex}.user-menu>div{min-width:8rem}.workspace-body{grid-template-columns:12rem minmax(0,1fr);min-height:calc(100vh - 4.75rem);display:grid}.side-nav{background:var(--nav);padding:1.25rem .75rem}.side-nav button,.bottom-nav button{cursor:pointer;border:0}.side-nav button{color:#dce4e9;text-align:left;background:0 0;border-radius:.5rem;align-items:center;gap:.75rem;width:100%;min-height:3.25rem;padding:.75rem;font-weight:650;display:flex}.side-nav button:hover{background:#2c3a45}.side-nav button.active{color:#fff;background:var(--blue)}.side-nav button span{text-align:center;width:1.25rem}.bottom-nav{display:none}.workspace-main{min-width:0;padding:2rem}.section-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.section-heading h1{letter-spacing:-.025em;margin:0;font-size:2rem;line-height:1.1}.section-heading p{color:var(--ink-soft);margin:.4rem 0 0}.subsection-heading{justify-content:space-between;align-items:baseline;gap:1rem;margin:2rem 0 1rem;display:flex}.subsection-heading h2{margin:0;font-size:1.25rem}.subsection-heading span{color:var(--ink-soft);font-size:.9rem}.work-layout{grid-template-columns:minmax(21rem,1fr) minmax(22rem,.85fr);align-items:start;gap:1.5rem;display:grid}.queue,.operation-panel,.editor-panel,.dashboard-layout>section{min-width:0}.queue-list{border:1px solid var(--line);background:#fff;border-radius:.625rem;overflow:hidden}.queue-item{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;width:100%;min-height:5.5rem;padding:.85rem 1rem;display:grid}.queue-item:last-child{border-bottom:0}.queue-item:hover{background:#f7f9fa}.queue-item--selected{background:var(--blue-soft);box-shadow:inset 4px 0 0 var(--blue)}.drawing-number{border:1px solid var(--line-strong);min-width:4rem;color:var(--ink);text-align:center;background:#fff;border-radius:.3rem;padding:.4rem .5rem;font-family:Consolas,monospace;font-size:1rem;font-weight:800}.queue-item__body{min-width:0;display:grid}.queue-item__body strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.queue-item__body small{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;margin-top:.25rem;overflow:hidden}.status{color:var(--ink-soft);white-space:nowrap;align-items:center;gap:.45rem;font-size:.8rem;font-weight:700;display:inline-flex}.status>span{background:var(--line-strong);border-radius:50%;width:.55rem;height:.55rem}.status--setup>span{background:var(--amber)}.status--in_progress>span{background:var(--blue)}.status--paused>span{background:var(--red)}.status--completed>span{background:var(--green)}.operation-panel{border-top:.4rem solid var(--blue);background:#fff;border-radius:.625rem;position:sticky;top:6.25rem;box-shadow:0 4px 8px #17232d1f}.operation-panel__top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem;display:flex}.operation-panel__project{color:var(--ink-soft);font-size:.875rem}.operation-panel h2{margin:.3rem 0 .2rem;font-size:1.5rem}.operation-panel h2+p{color:var(--ink-soft);margin:0}.time-strip{border-bottom:1px solid var(--line);background:var(--surface-alt);grid-template-columns:repeat(3,1fr);margin:0;display:grid}.time-strip div{border-right:1px solid var(--line);padding:.85rem 1rem}.time-strip div:last-child{border-right:0}.time-strip dt{color:var(--ink-soft);font-size:.75rem}.time-strip dd{margin:.2rem 0 0;font-weight:800}.operation-actions{padding:0 1.25rem 1.25rem}.action-group{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.1rem 0;display:grid}.action-group>div{display:grid}.action-group span{color:var(--ink-soft);margin-top:.2rem;font-size:.8rem}.action-group--primary{border-bottom:0}.completion-note{color:#0f5835;background:var(--green-soft);border-radius:.5rem;margin:1.25rem;padding:1rem;line-height:1.45}.server-feedback{color:#104b75;background:var(--blue-soft);border-radius:.5rem;margin:1rem 1.25rem;padding:.75rem;line-height:1.4}.server-feedback--error{color:#8a1c12;background:#fff0ed}.connection-help{color:var(--ink-soft);margin:1rem 1.25rem;font-size:.875rem;line-height:1.45}.operation-panel>.server-authority{border-top:1px solid var(--line);margin:0;padding:1rem 1.25rem}.projects-layout{grid-template-columns:minmax(0,1fr) minmax(20rem,26rem);align-items:start;gap:1.5rem;display:grid}.project-list{border:1px solid var(--line);background:#fff;border-radius:.625rem;overflow:hidden}.project-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(10rem,1fr) minmax(11rem,.7fr);gap:.75rem 1.5rem;padding:1rem;display:grid}.project-row:last-child{border-bottom:0}.project-row>div:first-child{display:grid}.project-row>div:first-child span{color:var(--ink-soft);margin-top:.2rem;font-size:.85rem}.progress-copy{color:var(--ink-soft);justify-content:space-between;gap:.75rem;font-size:.875rem;display:flex}progress{background:var(--ground);border:0;border-radius:1rem;grid-column:1/-1;width:100%;height:.65rem;overflow:hidden}progress::-webkit-progress-bar{background:var(--ground)}progress::-webkit-progress-value{background:var(--blue)}progress::-moz-progress-bar{background:var(--blue)}.editor-panel{border:1px solid var(--line);background:#fff;border-radius:.625rem;position:sticky;top:6.25rem;overflow:hidden}.editor-panel details+details{border-top:1px solid var(--line)}.editor-panel summary{cursor:pointer;min-height:3.75rem;padding:1.1rem;font-weight:800}.editor-panel .stack-form{padding:0 1.1rem 1.25rem}.editor-panel .server-feedback{margin:0 1.1rem 1.1rem}.editor-panel__message,.form-help{color:var(--ink-soft);margin:0;line-height:1.45}.editor-panel__message{padding:0 1.1rem 1.25rem}.responsible-support{border:1px solid var(--line);min-width:0;color:var(--ink-soft);background:var(--surface-alt);overflow-wrap:anywhere;border-radius:.5rem;gap:.25rem;padding:.8rem;font-size:.875rem;line-height:1.45;display:grid}.responsible-support strong{color:var(--ink)}.dashboard-layout{gap:1.5rem;display:grid}.dashboard-layout>section{background:#fff;border-radius:.625rem;padding:1.25rem}.dashboard-summary{border-block:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));align-items:stretch;display:grid}.dashboard-summary>div{gap:.2rem;min-width:9rem;padding:1rem 1.5rem 1rem 0;display:grid}.dashboard-summary>div+div{border-left:1px solid var(--line);padding-left:1.5rem}.dashboard-summary span{color:var(--ink-soft);font-size:.8rem}.dashboard-summary strong{font-size:1.8rem}.dashboard-summary p{border-top:1px solid var(--line);color:var(--ink-soft);grid-column:1/-1;margin:0;padding:.7rem 0;font-size:.85rem}.activity-table-wrap{overflow-x:auto}.activity-table{border-collapse:collapse;width:100%}.activity-table th{border-bottom:2px solid var(--line-strong);color:var(--ink-soft);text-align:left;padding:.7rem;font-size:.75rem}.activity-table td{border-bottom:1px solid var(--line);padding:.9rem .7rem}.activity-table td small{color:var(--ink-soft);margin-top:.2rem;display:block}.activity-state{color:#08456f;background:var(--blue-soft);white-space:nowrap;border-radius:1rem;padding:.3rem .55rem;font-size:.8rem;font-weight:700;display:inline-flex}.activity-state--paused{color:var(--red);background:var(--red-soft)}.activity-state--setup{color:#653a00;background:var(--amber-soft)}.dashboard-projects{gap:.8rem;display:grid}.dashboard-project{border:1px solid var(--line);border-radius:.5rem;padding:1rem}.dashboard-project__heading{justify-content:space-between;gap:1rem;display:flex}.dashboard-project__heading>div{display:grid}.dashboard-project__heading span{color:var(--ink-soft);margin-top:.2rem;font-size:.85rem}.dashboard-project progress{margin-top:.85rem}.dashboard-project__actions{justify-content:space-between;align-items:center;gap:1rem;margin-top:.75rem;display:flex}.dashboard-project__actions>span{color:var(--ink-soft);font-size:.85rem}.dashboard-project__actions .button{min-height:2.75rem}.loading-rows{gap:.75rem;display:grid}.loading-rows span{background:linear-gradient(100deg,#e2e7ea 30%,#f3f5f6 50%,#e2e7ea 70%) 0 0/300% 100%;border-radius:.5rem;height:5rem;animation:1.5s infinite shimmer}.empty-state{border:1px dashed var(--line-strong);text-align:center;background:#fff;border-radius:.625rem;place-content:center;justify-items:center;min-height:16rem;padding:2rem;display:grid}.empty-state__mark{width:3.25rem;height:3.25rem;color:var(--green);background:var(--green-soft);border-radius:50%;place-items:center;font-size:1.5rem;font-weight:900;display:grid}.empty-state h2{margin:1rem 0 .4rem;font-size:1.25rem}.empty-state p{max-width:34rem;color:var(--ink-soft);margin:0;line-height:1.45}.inline-error{color:var(--red);background:var(--red-soft);border-radius:.625rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.inline-error p{margin:.25rem 0 0}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position-x:-300%}}@media (width<=64rem){.user-menu{margin-left:auto}.work-layout,.projects-layout{grid-template-columns:1fr}.operation-panel,.editor-panel{position:static}.operation-panel{order:-1}}@media (width<=48rem){.login-traveler{grid-template-columns:1fr}.login-intro{min-height:auto;padding:2.5rem 1.25rem}.login-intro h1{font-size:2.5rem}.login-intro dl{display:none}.login-intro h1+p{margin-bottom:0}.login-panel{width:100%;padding:2rem 1.25rem 3rem}.workspace-header{min-height:4.25rem;padding:calc(.5rem + env(safe-area-inset-top,0px)) calc(.75rem + env(safe-area-inset-right,0px)) .5rem calc(.75rem + env(safe-area-inset-left,0px));flex-wrap:wrap;gap:.5rem .75rem}.workspace-brand{min-width:0}.workspace-brand>div span{display:none}.workspace-header .brand-mark{width:2.5rem;height:2.5rem}.user-menu{border-left:0;margin-left:auto;padding-left:0}.user-menu>div{display:none}.workspace-header>.connection{border-top:1px solid var(--line);width:100%;margin-left:0;padding-top:.45rem}.workspace-body{min-height:calc(100vh - 8.5rem);display:block}.side-nav{display:none}.workspace-main{padding:1.25rem .875rem calc(6rem + env(safe-area-inset-bottom,0px))}.bottom-nav{z-index:var(--z-sticky);min-height:4.25rem;padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);border-top:1px solid var(--line);background:#fff;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{min-width:0;min-height:4.25rem;color:var(--ink-soft);background:#fff;flex:1;place-content:center;justify-items:center;gap:.2rem;font-size:.75rem;font-weight:700;display:grid}.bottom-nav button span{font-size:1.25rem}.bottom-nav button.active{color:var(--blue);box-shadow:inset 0 3px 0 var(--blue)}.section-heading h1{font-size:1.65rem}.operation-panel{order:0}.queue-item{grid-template-columns:auto minmax(0,1fr);gap:.75rem}.queue-item .status{grid-column:2}.dashboard-layout>section{padding:1rem}.dashboard-summary{grid-template-columns:1fr 1fr;display:grid}.dashboard-summary>div{min-width:0;padding:.8rem}.dashboard-summary>div+div{padding-left:.8rem}.dashboard-summary p{border-top:1px solid var(--line);grid-column:1/-1;margin:0;padding:.7rem .8rem}.activity-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.activity-table,.activity-table tbody,.activity-table tr,.activity-table td{display:block}.activity-table tr{border-bottom:1px solid var(--line);padding:.8rem 0}.activity-table td{border:0;padding:.2rem 0}}@media (width<=25rem){.login-header{flex-wrap:wrap}.login-header .connection{border-top:1px solid var(--line);width:100%;margin-left:0;padding-top:.55rem}.login-header .connection>span{width:.8rem;height:.8rem}.login-intro h1{font-size:2.15rem}.workspace-brand>div strong{font-size:.9rem}.time-strip{grid-template-columns:1fr}.time-strip div{border-right:0;border-bottom:1px solid var(--line);justify-content:space-between;display:flex}.time-strip div:last-child{border-bottom:0}.action-group{grid-template-columns:1fr}.action-group .button{width:100%}.project-row{grid-template-columns:1fr}.project-row progress{grid-column:1}.dashboard-project__actions{flex-direction:column;align-items:stretch}}@media (display-mode:standalone){.login-shell,.workspace{min-height:100dvh}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
