@font-face{font-family:Jost Fallback;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/jost-variable.woff2) format("woff2")}:root{--background:oklch(1 0 0);--foreground:oklch(0.145 0 0);--card:oklch(1 0 0);--card-foreground:oklch(0.145 0 0);--popover:oklch(1 0 0);--popover-foreground:oklch(0.145 0 0);--primary:oklch(0.205 0 0);--primary-foreground:oklch(0.985 0 0);--secondary:oklch(0.97 0 0);--secondary-foreground:oklch(0.205 0 0);--muted:oklch(0.97 0 0);--muted-foreground:oklch(0.556 0 0);--accent:oklch(0.97 0 0);--accent-foreground:oklch(0.205 0 0);--destructive:oklch(0.577 0.245 27.325);--border:oklch(0.922 0 0);--input:oklch(0.922 0 0);--ring:oklch(0.708 0 0);--sidebar:oklch(0.985 0 0);--sidebar-foreground:oklch(0.145 0 0);--sidebar-accent:oklch(0.97 0 0);--sidebar-accent-foreground:oklch(0.205 0 0);--sidebar-border:oklch(0.922 0 0);--brand:#FBE233;--brand-ink:oklch(0.145 0 0);--warn:oklch(0.68 0.15 62);--ok:oklch(0.62 0.13 150);--radius:0.625rem;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--nav-bg:var(--sidebar);--nav-bg-2:var(--sidebar-accent);--nav-text:var(--muted-foreground);--nav-active:var(--brand);--bg:var(--background);--surface:var(--card);--surface-2:var(--muted);--ink:var(--foreground);--ink-2:var(--muted-foreground);--ink-3:var(--ring);--line:var(--border);--line-2:color-mix(in oklch,var(--border) 78%,var(--foreground) 22%);--primary-hover:color-mix(in oklch,var(--primary) 85%,black 15%);--primary-soft:var(--muted);--chip-ai-bg:var(--accent);--chip-ai-text:var(--accent-foreground);--save:var(--primary);--save-hover:var(--primary-hover);--danger:var(--destructive);--danger-soft:color-mix(in oklch,var(--destructive) 12%,var(--background) 88%);--ok-soft:color-mix(in oklch,var(--ok) 14%,var(--background) 86%);--warn-soft:color-mix(in oklch,var(--warn) 14%,var(--background) 86%);--shadow:0 1px 3px rgba(0,0,0,0.06),0 4px 16px rgba(0,0,0,0.06);--shadow-bar:0 4px 20px rgba(0,0,0,0.25);--text-2xs:0.6875rem;--text-xs:0.75rem;--text-sm:0.8125rem;--text-base:0.9375rem;--text-lg:1.0625rem;--text-xl:1.35rem;--sidebar-w-icon:3.5rem;--sidebar-w:232px;--font-body:"Futura","Futura PT","Jost Fallback","Noto Sans JP","Hiragino Sans","Yu Gothic Medium",system-ui,sans-serif;--font-num:"SF Mono","JetBrains Mono","Menlo",monospace}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);font-feature-settings:"tnum",tabular-nums lining-nums;font-variant-numeric:tabular-nums lining-nums;line-height:1.65}a{color:inherit}::selection{background:var(--primary);color:#fff}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100svh;overflow:hidden}@media (max-width:900px){.app{height:auto;overflow:visible}}.sidebar{background:linear-gradient(180deg,var(--nav-bg) 0,var(--nav-bg-2) 100%);color:var(--nav-text);padding:1.1rem .75rem;position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:.25rem}.side-brand{display:flex;align-items:center;gap:.65rem;color:var(--sidebar-foreground);text-decoration:none;padding:.4rem .75rem 1.1rem}.side-brand .mark{width:34px;height:34px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;flex:none;overflow:hidden}.side-brand .name{font-size:var(--text-sm);font-weight:700;line-height:1.3;letter-spacing:-.01em;white-space:nowrap}.side-brand .sub{font-size:var(--text-2xs);color:var(--nav-text)}.side-label{font-size:var(--text-2xs);letter-spacing:.14em;padding:.5rem .75rem .3rem;color:var(--muted-foreground)}.side-item{display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;color:var(--nav-text);text-decoration:none;transition:background .12s ease,color .12s ease}.side-item:hover{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}.side-item.active{background:var(--nav-active);color:var(--brand-ink);font-weight:700}.side-item .icon{width:1.3em;text-align:center;flex:none}.side-foot{margin-top:auto;border-top:1px solid var(--sidebar-border);padding:.9rem .75rem .2rem;display:flex;align-items:center;gap:.6rem;font-size:var(--text-xs)}.side-foot .avatar{width:30px;height:30px;border-radius:8px;background:var(--sidebar-accent);color:var(--sidebar-foreground);display:inline-flex;align-items:center;justify-content:center;font-weight:700;flex:none}.content{padding:0 2rem 1.4rem;min-width:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}@media (max-width:900px){.content{overflow-y:visible;overflow-x:visible;padding-bottom:5rem}}.content .table-wrap.scroller{max-height:none;flex:1 1;min-height:8rem}.topbar{display:flex;align-items:center;gap:.6rem;font-size:var(--text-sm);color:var(--ink-3);margin-bottom:1rem}.topbar a.crumb{text-decoration:none}.topbar a.crumb:hover{color:var(--ink);text-decoration:underline}.topbar .here{color:var(--ink);font-weight:600}.page-head{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem}.page-head h1{font-size:var(--text-xl);font-weight:700;letter-spacing:-.01em}.page-head .sub{color:var(--ink-3);font-size:var(--text-sm)}.page-head .actions{margin-left:auto;display:flex;gap:.6rem;align-items:center}.page-header{position:-webkit-sticky;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:.75rem;height:4rem;margin:0 -2rem 1.2rem;padding:1.4rem 2rem 0;height:auto;min-height:4rem;flex:none;background:color-mix(in oklch,var(--bg) 80%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .15s ease,box-shadow .15s ease}.page-header[data-scrolled=true]{border-bottom-color:var(--line);box-shadow:0 1px 2px rgba(0,0,0,.04)}.page-header-titles{min-width:0}.page-header-title{font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em}.page-header-sub{font-size:var(--text-xs);color:var(--ink-2)}.page-header-spacer{flex:1 1}.page-header-search{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:.5rem;height:2.25rem;padding:0 .625rem 0 .75rem;min-width:8rem;font:inherit;font-size:var(--text-sm);color:var(--ink-2);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer}.page-header-kbd,.page-header-search:hover{background:var(--surface-2)}.page-header-kbd{margin-left:auto;font-family:var(--font-num);font-size:.65rem;line-height:1;padding:.25rem .3rem;border-radius:calc(var(--radius) - 6px);color:var(--ink-2);border:1px solid var(--line)}.page-header-menu{position:relative}.page-header-menu-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;color:var(--ink-2);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer}.page-header-menu-btn:hover{border-color:var(--line-2);background:var(--surface-2)}.page-header-menu-panel{position:absolute;top:calc(100% + .4rem);right:0;min-width:10rem;border:1px solid var(--line);border-radius:var(--radius-md);padding:.3rem;z-index:40}.card,.page-header-menu-panel{background:var(--surface);box-shadow:var(--shadow)}.card{border-radius:var(--radius);margin-bottom:1.25rem}.card>header{gap:.6rem;padding:.9rem 1.25rem;border-bottom:1px solid var(--line)}.card>header,.card>header h2{display:flex;align-items:center}.card>header h2{font-size:var(--text-base);font-weight:700;gap:.55rem}.card>header h2:before{content:"";width:4px;height:1.05em;border-radius:2px;background:var(--primary)}.card>header .meta{margin-left:auto;display:flex;align-items:center;gap:.6rem;font-size:var(--text-xs);color:var(--ink-3)}.card>.body{padding:1.1rem 1.25rem}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:1rem;gap:1rem}.tile{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.2rem 1.3rem;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease;border:1px solid transparent}.tile:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(28,35,51,.1);border-color:var(--primary)}.tile .tile-icon{width:38px;height:38px;border-radius:10px;background:var(--primary-soft);color:var(--primary);display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;margin-bottom:.7rem}.tile .tile-icon>svg{width:20px;height:20px}.tile h3{font-size:var(--text-base);font-weight:700}.tile p{color:var(--ink-2);margin-top:.2rem}.tile .count,.tile p{font-size:var(--text-xs)}.tile .count{font-family:var(--font-num);color:var(--ink-3);margin-top:.5rem;display:block}.summary-bar{position:-webkit-sticky;position:sticky;top:calc(4rem + .5rem);z-index:20;background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-bar);display:flex;align-items:center;gap:1.1rem;padding:.75rem 1.25rem;margin-bottom:1.25rem;font-size:var(--text-sm)}.summary-bar .part{color:var(--muted-foreground)}.summary-bar .part b{color:var(--foreground);font-family:var(--font-num);font-weight:700}.summary-bar .op{color:var(--muted-foreground)}.summary-bar .total{margin-left:auto;display:flex;align-items:baseline;gap:.6rem}.summary-bar .total .label{font-size:var(--text-2xs);color:var(--muted-foreground)}.summary-bar .total .value{font-family:var(--font-num);font-size:1.45rem;font-weight:700}.chip{display:inline-flex;align-items:center;gap:.3em;font-size:var(--text-2xs);font-weight:600;padding:.05rem .5rem;border-radius:999px;white-space:nowrap}.chip.ai{background:var(--chip-ai-bg);color:var(--chip-ai-text)}.chip.auto{background:var(--primary);color:var(--primary-foreground)}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.danger{background:var(--danger-soft);color:var(--danger)}.chip.neutral{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:var(--text-sm);font-weight:600;color:var(--ink);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius-sm);padding:.5rem 1rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.45em;transition:background .12s ease,border-color .12s ease,transform 80ms ease}.btn:hover{border-color:var(--ink-3);background:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn.save{background:var(--save);border-color:var(--save);color:var(--primary-foreground)}.btn.save:hover{background:var(--save-hover);border-color:var(--save-hover)}.btn.danger{background:var(--surface);border-color:var(--danger);color:var(--danger)}.btn.danger:hover{background:var(--danger-soft)}.btn.ghost{border-color:transparent;color:var(--ink-2)}.btn.ghost:hover{border-color:var(--line-2)}.btn.selected{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.field{display:flex;flex-direction:column;gap:.25rem}.field .label{font-size:var(--text-2xs);font-weight:600;color:var(--ink-2);gap:.4em}.field .label,.field .value{display:flex;align-items:center}.field .value{font-size:var(--text-sm);min-height:2.1rem}.field .value.num{font-family:var(--font-num)}.field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:.9rem 1.2rem;gap:.9rem 1.2rem}input[type=date],input[type=number],input[type=text],select,textarea{font:inherit;font-size:var(--text-sm);color:var(--ink);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius-sm);padding:.45rem .65rem;transition:border-color .12s ease,box-shadow .12s ease;width:100%}input[type=number]{font-family:var(--font-num);text-align:right}input:hover,select:hover{border-color:var(--ink-3)}.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:1px}input:disabled,select:disabled{background:var(--surface-2);color:var(--ink-2);border-color:var(--line)}.ai-value input,input.ai-value{background:var(--accent);border-color:var(--border)}tr.needs-review td{background:var(--danger-soft)}tr.needs-review td:first-child{box-shadow:inset 3px 0 0 0 var(--danger)}.timeline{display:flex;align-items:flex-start;margin:.5rem 0 2rem}.timeline .t-step{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:.45rem;position:relative;font-size:var(--text-xs);color:var(--ink-3)}.timeline .t-step:before{content:"";position:absolute;top:9px;left:-50%;width:100%;height:2px;background:var(--line-2)}.timeline .t-step:first-child:before{display:none}.timeline .t-step .dot{width:20px;height:20px;border-radius:50%;background:var(--surface);border:2px solid var(--line-2);z-index:1;display:inline-flex;align-items:center;justify-content:center;font-size:.6rem;color:transparent}.timeline .t-step.done{color:var(--ink-2)}.timeline .t-step.done:before{background:var(--primary)}.timeline .t-step.done .dot{background:var(--primary);border-color:var(--primary);color:#fff}.timeline .t-step.current{color:var(--primary);font-weight:700}.timeline .t-step.current:before{background:var(--primary)}.timeline .t-step.current .dot{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}.spinner{display:inline-block;width:1em;height:1em;border:2px solid var(--line-2);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.loading-stage{display:flex;flex-direction:column;align-items:center;gap:1.1rem;padding:3.5rem 2rem;text-align:center}.loading-stage .big-spinner{width:56px;height:56px;border:5px solid var(--primary-soft);border-top-color:var(--primary);border-radius:50%;animation:spin .9s linear infinite}.loading-stage .title{font-size:var(--text-lg);font-weight:700}.loading-stage .desc{font-size:var(--text-sm);color:var(--ink-2)}.loading-stage .steps{font-size:var(--text-xs);color:var(--ink-3);font-family:var(--font-num)}.detail-layout{display:grid;grid-template-columns:minmax(320px,460px) 1fr;grid-gap:1.25rem;gap:1.25rem;align-items:start}.preview-pane{position:-webkit-sticky;position:sticky;top:5.5rem}.preview-pane .preview-frame{background:var(--surface-2);border-radius:var(--radius-sm);border:1px solid var(--line);overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:320px}.preview-pane img{max-width:100%;height:auto;display:block}.muted{font-size:var(--text-sm)}.formula,.muted{color:var(--ink-3)}.formula{font-size:var(--text-2xs);font-family:var(--font-num);line-height:1.7}.row{display:flex;gap:.9rem;align-items:center;flex-wrap:wrap}.empty{display:grid;place-items:center;grid-gap:.75rem;gap:.75rem;padding:3rem 1.5rem;text-align:center;color:var(--muted-foreground);font-size:12.5px}.empty .lead{font-size:14px;font-weight:600;color:var(--foreground)}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1rem;gap:1rem}.choice{border:2px solid var(--line-2);border-radius:var(--radius);background:var(--surface);padding:1.4rem 1.2rem;cursor:pointer;text-align:center;transition:border-color .12s ease,box-shadow .12s ease;font:inherit}.choice:hover{border-color:var(--primary);box-shadow:0 4px 16px rgba(47,84,235,.12)}.choice.selected{border-color:var(--primary);background:var(--primary-soft)}.choice .c-icon{font-size:1.6rem;margin-bottom:.4rem}.choice .c-title{font-weight:700;font-size:var(--text-base)}.choice .c-desc{font-size:var(--text-xs);color:var(--ink-2);margin-top:.2rem}@media (max-width:1000px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;overflow-x:auto}.side-foot,.side-label{display:none}.content{padding:0 1rem 4rem}.page-header{margin:0 -1rem 1.2rem;padding:1rem 1rem 0}.detail-layout{grid-template-columns:1fr}.preview-pane{position:static}}@media (prefers-reduced-motion:reduce){.loading-stage .big-spinner,.spinner{animation-duration:3s}.btn,.tile{transition:none}}.viewer{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.25rem;overflow:hidden}.viewer .v-toolbar{display:flex;align-items:center;gap:.5rem;padding:.55rem 1rem;border-bottom:1px solid var(--line);font-size:var(--text-xs);color:var(--ink-2)}.viewer .v-toolbar .zoom-pct{font-family:var(--font-num);min-width:3.5em;text-align:center}.viewer .v-toolbar .btn{padding:.2rem .65rem;font-size:var(--text-xs);white-space:nowrap;flex:none}.viewer .v-toolbar .zoom-bar{display:flex;align-items:center;gap:.35rem;flex:none}.viewer .v-toolbar select{flex:none;max-width:11rem}.viewer-fill{display:flex;flex-direction:column;min-height:0}.viewer-fill .viewer{flex:1 1;min-height:0;display:flex;flex-direction:column}.viewer-fill .viewer .v-canvas{max-height:none;flex:1 1;min-height:0}.viewer .v-canvas{overflow:auto;max-height:58vh;background:var(--surface-2);display:flex}.viewer .v-stage{margin:auto;flex:none}.viewer .v-canvas img{display:block}.ai-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;min-height:60vh;padding:2rem;text-align:center}.ai-loading-ring{position:relative;width:72px;height:72px;animation:ai-loading-spin 1.6s steps(8) infinite}.ai-loading-dot{position:absolute;top:50%;left:50%;border-radius:50%;background:var(--ink);transform-origin:0 0}.ai-loading-dot:first-child{width:22px;height:22px;background:#111111;transform:rotate(0deg) translate(30px,-11px)}.ai-loading-dot:nth-child(2){width:20px;height:20px;background:#2c2c2c;transform:rotate(45deg) translate(30px,-10px)}.ai-loading-dot:nth-child(3){width:18px;height:18px;background:#464646;transform:rotate(90deg) translate(30px,-9px)}.ai-loading-dot:nth-child(4){width:16px;height:16px;background:#616161;transform:rotate(135deg) translate(30px,-8px)}.ai-loading-dot:nth-child(5){width:14px;height:14px;background:#7c7c7c;transform:rotate(180deg) translate(30px,-7px)}.ai-loading-dot:nth-child(6){width:12px;height:12px;background:#979797;transform:rotate(225deg) translate(30px,-6px)}.ai-loading-dot:nth-child(7){width:10px;height:10px;background:#b1b1b1;transform:rotate(270deg) translate(30px,-5px)}.ai-loading-dot:nth-child(8){width:8px;height:8px;background:#cccccc;transform:rotate(315deg) translate(30px,-4px)}@keyframes ai-loading-spin{to{transform:rotate(1turn)}}.ai-loading-text{font-size:1.4rem;font-weight:700;color:var(--ink)}.ai-loading-meta{display:flex;flex-direction:column;gap:.35rem;font-size:var(--text-xs);color:var(--ink-3)}.ai-loading-elapsed{font-family:var(--font-num)}.ai-loading-hint{color:var(--ink-3)}@media (prefers-reduced-motion:reduce){.ai-loading-ring{animation-duration:3.2s}}.progress-ring{position:relative;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex:none}.progress-ring .pr-track{stroke:var(--line-2)}.progress-ring .pr-arc{stroke:var(--primary);transition:stroke-dashoffset .32s ease-out}.progress-ring.is-indeterminate svg{animation:pr-spin 1.1s linear infinite}.progress-ring.is-indeterminate .pr-arc{transition:none}.progress-ring .pr-center{position:absolute;font-family:var(--font-num);font-weight:700;color:var(--ink-2);line-height:1}@keyframes pr-spin{to{transform:rotate(1turn)}}[aria-busy=true]{cursor:progress}@media (prefers-reduced-motion:reduce){.progress-ring.is-indeterminate svg{animation-duration:2.4s}.progress-ring .pr-arc{transition:none}}.dropzone{border:2px dashed var(--line-2);border-radius:var(--radius);background:var(--surface);padding:2.5rem 2rem;color:var(--ink-3);transition:border-color .12s ease,background .12s ease}.dropzone:hover{border-color:var(--ink-3);background:var(--surface-2)}.dropzone.is-over{background:color-mix(in oklch,var(--brand) 12%,var(--surface))}.dropzone:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.worktype-toggle{display:inline-flex;gap:.25rem;padding:.25rem;background:var(--muted);border:1px solid var(--border);border-radius:var(--radius-md)}.worktype-toggle [role=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:var(--text-sm);font-weight:600;color:var(--ink-2);background:transparent;border:none;border-radius:var(--radius-sm);padding:.4rem .9rem;cursor:pointer;transition:background .12s ease,color .12s ease}.worktype-toggle [role=radio]:hover{background:var(--surface);color:var(--ink)}.worktype-toggle [role=radio][aria-checked=true]{background:var(--brand);color:var(--brand-ink)}.worktype-toggle [role=radio]:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.proj-tabs{display:flex;gap:1.4rem;border-bottom:1px solid var(--line)}.proj-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:var(--text-sm);font-weight:600;color:var(--ink-3);background:none;padding:.7rem .1rem;cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .12s ease,border-color .12s ease}.proj-tab:hover{color:var(--ink)}.proj-tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--primary)}.proj-tab:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.page-tabs{display:flex;flex-wrap:wrap;gap:.4rem}.page-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-family:var(--font-num);font-feature-settings:tabular-nums lining-nums;font-variant-numeric:tabular-nums lining-nums;font-size:var(--text-xs);font-weight:600;color:var(--ink-2);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius-sm);min-width:2.2rem;padding:.3rem .5rem;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.page-tab:hover{border-color:var(--ink-3)}.page-tab[aria-selected=true]{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.page-tab:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.zoom-bar{display:inline-flex;align-items:center;gap:.35rem}.zoom-bar .btn{padding:.25rem .55rem}.zoom-bar .zoom-pct{font-family:var(--font-num);font-feature-settings:tabular-nums lining-nums;font-variant-numeric:tabular-nums lining-nums;font-size:var(--text-xs);min-width:3.2em;text-align:center;color:var(--ink-2)}.zoom-bar :focus-visible{outline:2px solid var(--ring);outline-offset:2px}.num{font-feature-settings:tabular-nums lining-nums;font-variant-numeric:tabular-nums lining-nums}.truncate{text-overflow:ellipsis;min-width:0}.sr-only,.truncate{overflow:hidden;white-space:nowrap}.sr-only{position:absolute;width:1px;padding:0;margin:-1px;clip:rect(0 0 0 0)}.sep,.sr-only{height:1px;border:0}.sep{margin:0}.sep,.sep-v{background:var(--border)}.sep-v{width:1px;height:1.5rem}.spacer{flex:1 1}.stack{display:grid;grid-gap:1rem;gap:1rem}.btn svg{width:1rem;height:1rem;flex:none}svg[hidden]{display:none}.btn-default{background:var(--primary);color:var(--primary-foreground)}.btn-default:hover{background:color-mix(in oklab,var(--primary) 88%,var(--background))}.btn-secondary{background:var(--secondary);color:var(--secondary-foreground)}.btn-secondary:hover{background:color-mix(in oklab,var(--secondary) 80%,var(--foreground) 4%)}.btn-outline{background:var(--background);color:var(--foreground);border-color:var(--border)}.btn-outline:hover{background:var(--accent);color:var(--accent-foreground)}.btn-ghost{background:transparent;color:var(--foreground)}.btn-ghost:hover{background:var(--accent);color:var(--accent-foreground)}.btn-destructive{background:var(--destructive);color:oklch(.985 0 0)}.run-error{border-color:color-mix(in oklab,var(--destructive) 45%,var(--border))}.run-error .card-title{color:var(--destructive)}.master-picker{position:relative;width:15em}.master-picker>.input{width:100%}.master-picker-list{position:absolute;z-index:40;top:calc(100% + 2px);left:0;width:26em;max-height:17rem;overflow-y:auto;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 24px rgb(0 0 0/12%)}.master-picker-item{display:block;width:100%;padding:.4rem .6rem;border:0;background:transparent;text-align:left;cursor:pointer;font:inherit}.master-picker-item:focus-visible,.master-picker-item:hover{background:var(--accent)}.master-picker-name{display:block;font-size:13px}.master-picker-spec{font-size:11.5px}.master-picker-meta,.master-picker-spec{display:block;color:var(--muted-foreground)}.master-picker-meta{font-size:11px}.master-picker-note{padding:.45rem .6rem;font-size:11.5px;color:var(--muted-foreground)}.unread-rooms{margin:0;padding-left:1.1rem;display:grid;grid-gap:.25rem;gap:.25rem;font-size:13px}.unread-rooms li{cursor:default}.unread-rooms li:hover{color:var(--primary)}.btn-brand{background:var(--brand);color:var(--brand-ink)}.btn-brand:hover{filter:brightness(1.05)}.btn-sm{height:2rem;padding:0 .75rem;font-size:13px}.row-actions{width:1%;white-space:nowrap;text-align:right}.row-actions .btn{opacity:0;transition:opacity var(--duration-fast,.15s) ease}.row-actions .btn:focus-visible,tr:hover .row-actions .btn{opacity:1}.btn-icon{width:2.25rem;padding:0}.btn-icon.btn-sm{width:2rem}.btn[hidden]{display:none}.card-header{padding:1.25rem 1.25rem .75rem;display:grid;grid-gap:.25rem;gap:.25rem}.card-title{font-size:14px;font-weight:600}.card-desc{font-size:12.5px;color:var(--muted-foreground)}.card-content{padding:0 1.25rem 1.25rem}.card>.card-content:first-child{padding-top:1.25rem}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:11.5px;font-weight:500;line-height:1.5;white-space:nowrap;border:1px solid transparent}.badge-default{background:var(--primary);color:var(--primary-foreground)}.badge-secondary{background:var(--secondary);color:var(--secondary-foreground)}.badge-outline{border-color:var(--border);color:var(--foreground)}.badge-warn{background:color-mix(in oklab,var(--warn) 16%,transparent);color:var(--warn);border-color:color-mix(in oklab,var(--warn) 34%,transparent)}.badge-ok{background:color-mix(in oklab,var(--ok) 16%,transparent);color:var(--ok);border-color:color-mix(in oklab,var(--ok) 34%,transparent)}.badge-dest{background:color-mix(in oklab,var(--destructive) 14%,transparent);color:var(--destructive);border-color:color-mix(in oklab,var(--destructive) 32%,transparent)}.badge-brand{background:var(--brand);color:var(--brand-ink)}.input{font:inherit;font-size:13.5px;color:var(--foreground);background:var(--background);border:1px solid var(--input);border-radius:var(--radius-md);height:2.25rem;padding:0 .75rem;width:100%;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--muted-foreground)}.input:focus-visible{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklab,var(--ring) 30%,transparent)}textarea.input{height:auto;min-height:5rem;padding:.5rem .75rem;resize:vertical;line-height:1.6}.label{font-size:12.5px;font-weight:500}.field-hint{font-size:11.5px;color:var(--muted-foreground)}.sidebar-header,.team{padding:.5rem}.team{display:flex;align-items:center;gap:.5rem;width:100%;border:0;background:transparent;color:inherit;border-radius:var(--radius-md);text-align:left;text-decoration:none}.team:hover{background:var(--sidebar-accent)}.team-logo{width:2rem;height:2rem;border-radius:var(--radius-sm);flex:none;display:block}.team-text{display:grid;min-width:0}.team-name{font-size:13px;font-weight:600;line-height:1.3}.team-plan{font-size:11px;color:var(--muted-foreground);line-height:1.3}.sidebar-content{flex:1 1;overflow-y:auto;overflow-x:hidden;padding:.25rem .5rem}.nav-group{padding:.5rem 0}.nav-group-label{font-size:11px;font-weight:500;color:var(--muted-foreground);padding:0 .5rem .375rem;height:1.75rem}.nav-group-label,.nav-item{display:flex;align-items:center}.nav-item{gap:.5rem;width:100%;height:2rem;padding:0 .5rem;border:0;background:transparent;color:inherit;border-radius:var(--radius-md);font-size:13.5px;text-align:left;transition:background-color .15s,color .15s;text-decoration:none}.nav-item:hover,.nav-item[aria-current=page]{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}.nav-item[aria-current=page]{font-weight:500}.nav-item[aria-current=page] .nav-icon{color:var(--foreground)}.nav-icon{width:1rem;height:1rem;flex:none;color:var(--muted-foreground)}.nav-badge{margin-left:auto}.sidebar-footer{padding:.5rem;border-top:1px solid var(--sidebar-border)}.nav-user{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem;border:0;background:transparent;color:inherit;border-radius:var(--radius-md);text-align:left}.nav-user:hover{background:var(--sidebar-accent)}.avatar{width:2rem;height:2rem;border-radius:50%;flex:none;background:var(--muted);display:grid;place-items:center;font-size:11px;font-weight:600}.avatar,.kbd{color:var(--muted-foreground)}.kbd{font-family:var(--font-num);font-size:10.5px;line-height:1;padding:.25rem .3rem;border-radius:calc(var(--radius) - 6px);background:var(--muted);border:1px solid var(--border)}.page-title{font-size:22px;font-weight:700;letter-spacing:-.02em}.page-desc{font-size:13.5px;color:var(--muted-foreground)}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card)}.table-wrap.scroller{max-height:min(60svh,34rem)}table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2;text-align:left;font-weight:500;font-size:12px;color:var(--muted-foreground);white-space:nowrap;background:var(--card)}tbody td,thead th{padding:.625rem .75rem;border-bottom:1px solid var(--border)}tbody td{vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:color-mix(in oklab,var(--muted) 60%,transparent)}td.n,th.n{text-align:right;font-feature-settings:tabular-nums lining-nums;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}tbody tr.clickable{cursor:pointer}tr.total-row td{border-bottom:0;font-weight:600}tr:not(.total-row)+tr.total-row td{border-top:2px solid var(--primary)}tr.total-row td.grand{color:var(--foreground);font-size:15px;font-weight:700}.group-row td{background:var(--muted);font-weight:600;font-size:12.5px}.group-row .code{font-family:var(--font-num);color:var(--muted-foreground);margin-right:.5rem}tr[data-flag=warn] td:first-child{box-shadow:inset 2px 0 0 var(--warn)}tr[data-flag=miss] td:first-child{box-shadow:inset 2px 0 0 var(--destructive)}.cell-input{font:inherit;font-size:13px;width:5.5rem;min-width:5rem;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:transparent;color:inherit;border:1px solid transparent;border-radius:var(--radius-sm);padding:.125rem .375rem}.cell-input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.cell-input::-webkit-inner-spin-button,.cell-input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.cell-input:hover{border-color:var(--input);background:var(--background)}.cell-input:focus-visible{outline:none;border-color:var(--ring);background:var(--background);box-shadow:0 0 0 3px color-mix(in oklab,var(--ring) 30%,transparent)}.qty-table td,.qty-table th{vertical-align:middle}.qty-table{table-layout:fixed;min-width:46rem}.qty-table .qty-name{width:22%;min-width:9em}.qty-table .qty-value{width:6.5rem}.qty-table .qty-unit{width:3.5rem;white-space:nowrap}.qty-table .qty-src{width:9.5rem}.qty-table .qty-conf{width:4.5rem}.qty-table .qty-basis{font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.qty-source{display:flex;align-items:center;gap:.4rem;white-space:nowrap}.qty-source .btn{flex:none;white-space:nowrap}.analyzing-image{position:relative;isolation:isolate;flex:none;width:4rem;height:4rem;color:var(--foreground)}.analyzing-image svg{width:100%;height:100%;display:block}.ai-cover{inset:0;background:var(--loading-ui-analyzing-image-background,var(--background));animation:ai-wipe 2.5s cubic-bezier(.175,.885,.32,1) infinite}.ai-bar,.ai-cover{position:absolute;z-index:10}.ai-bar{top:0;left:0;height:100%;width:7%;border-radius:999px;background:currentColor;animation:ai-bar 2.5s cubic-bezier(.175,.885,.32,1) infinite}.ai-base{position:absolute;inset:0}@keyframes ai-wipe{0%,to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}60%{-webkit-clip-path:inset(0 105% 0 0);clip-path:inset(0 105% 0 0)}}@keyframes ai-bar{0%,to{transform:translateX(1400%)}60%{transform:translateX(-80%)}}@media (prefers-reduced-motion:reduce){.ai-bar,.ai-cover{animation:none}.ai-cover{-webkit-clip-path:inset(0 105% 0 0);clip-path:inset(0 105% 0 0)}}@keyframes loading-ui-dots-ring-pulse{0%,to{opacity:.25;transform:scale(.65)}12.5%{opacity:1;transform:scale(1)}25%{opacity:.75;transform:scale(.85)}50%{opacity:.35;transform:scale(.7)}}.dots-ring{position:relative;display:inline-flex;aspect-ratio:1;width:1.25rem;color:currentColor;container-type:size}.dots-ring>span[aria-hidden]{position:relative;display:block;width:100%;height:100%}.dots-ring i{position:absolute;top:50%;left:50%;display:block}.dots-ring i:before{content:"";display:block;width:100%;height:100%;border-radius:999px;background:currentColor;animation:loading-ui-dots-ring-pulse var(--duration,1s) linear infinite;animation-delay:inherit}@media (prefers-reduced-motion:reduce){.dots-ring i:before{animation-duration:3s}}@keyframes pk-shimmer{0%{background-position:200%}to{background-position:-200%}}.text-shimmer{background-image:linear-gradient(to right,var(--muted-foreground) 30%,var(--foreground) 50%,var(--muted-foreground) 70%);background-size:200% auto;background-clip:text;-webkit-background-clip:text;color:transparent;font-weight:500;animation:pk-shimmer 4s linear infinite}@media (prefers-reduced-motion:reduce){.text-shimmer{animation:none;color:var(--muted-foreground)}}.steps{display:grid;grid-gap:0;gap:0}.step{display:grid;grid-template-columns:1.25rem 1fr auto;align-items:center;grid-gap:.625rem;gap:.625rem;padding:.5rem .625rem;border-radius:var(--radius-md);font-size:13px}.step,.step[data-state=done]{color:var(--muted-foreground)}.step[data-state=run]{color:var(--foreground);background:var(--muted)}.step-mark{display:grid;place-items:center;width:1.25rem;height:1.25rem}.step[data-state=done] .step-mark{color:var(--ok)}.progress{height:.5rem;border-radius:999px;background:var(--muted);overflow:hidden}.progress>div{height:100%;background:var(--primary);border-radius:999px;transition:width .3s ease}.skeleton{border-radius:var(--radius-md);background:var(--muted);animation:sk 2s ease-in-out infinite}@keyframes sk{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.empty-icon{width:2.5rem;height:2.5rem;color:var(--muted-foreground)}.switch-row{display:flex;align-items:center;gap:.625rem;font-size:13.5px}input[role=switch]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:2.25rem;height:1.25rem;border-radius:999px;background:var(--input);border:1px solid transparent;position:relative;flex:none;transition:background-color .15s}input[role=switch]:after{content:"";position:absolute;top:1px;left:1px;width:1rem;height:1rem;border-radius:50%;background:var(--background);box-shadow:0 1px 2px oklch(0 0 0/.2);transition:transform .18s ease}input[role=switch]:checked{background:var(--primary)}input[role=switch]:checked:after{transform:translateX(1rem)}details.acc{border-bottom:1px solid var(--border)}details.acc>summary{list-style:none;cursor:pointer;padding:.75rem .25rem;display:flex;align-items:center;gap:.5rem;font-size:13.5px;font-weight:500}details.acc>summary::-webkit-details-marker{display:none}details.acc>summary:after{content:"";margin-left:auto;width:.4rem;height:.4rem;border-right:1.5px solid var(--muted-foreground);border-bottom:1.5px solid var(--muted-foreground);transform:rotate(45deg);transition:transform .2s ease}details.acc[open]>summary:after{transform:rotate(-135deg)}.acc-body{padding:0 .25rem .875rem;font-size:13px;color:var(--muted-foreground)}[role=group],[role=tree]{list-style:none;margin:0;padding:0}[role=group]{padding-left:1rem}.tree-row{display:flex;align-items:center;gap:.375rem;width:100%;border:0;background:transparent;color:var(--muted-foreground);padding:.375rem .5rem;border-radius:var(--radius-md);font:inherit;font-size:13px;text-align:left}.tree-row:hover,.tree-row[aria-selected=true]{background:var(--accent);color:var(--accent-foreground)}.tree-row[aria-selected=true]{font-weight:500}.twisty{width:.75rem;height:.75rem;display:grid;place-items:center;transition:transform .15s}.twisty:before{content:"";width:.3rem;height:.3rem;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(-45deg)}[aria-expanded=true] .twisty{transform:rotate(90deg)}.pagination ol{list-style:none;display:flex;gap:.25rem;margin:0;padding:0;align-items:center}.pagination a,.pagination span{display:grid;place-items:center;min-width:2rem;height:2rem;padding:0 .5rem;border-radius:var(--radius-md);font-size:13px;color:var(--muted-foreground);text-decoration:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pagination a:hover{background:var(--accent);color:var(--accent-foreground)}.pagination [aria-current=page]{border:1px solid var(--border);color:var(--foreground)}.menu-wrap{position:relative;display:inline-block}.menu{position:absolute;right:0;top:calc(100% + .375rem);z-index:50;min-width:12rem;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 8px 24px -8px oklch(0 0 0/.18),0 2px 6px oklch(0 0 0/.06);padding:.25rem;display:none}.menu[data-open=true]{display:block}.menu [role=menuitem]{display:flex;align-items:center;gap:.5rem;width:100%;border:0;background:transparent;color:inherit;font:inherit;font-size:13px;padding:.375rem .5rem;border-radius:var(--radius-sm);text-align:left}.menu [role=menuitem]:hover{background:var(--accent);color:var(--accent-foreground)}.menu [role=menuitem].danger{color:var(--destructive)}dialog{padding:0;border:0;background:transparent;color:var(--foreground);max-width:min(32rem,calc(100vw - 2rem))}dialog::-webkit-backdrop{background:oklch(0 0 0/.5)}dialog::backdrop{background:oklch(0 0 0/.5)}.dialog-panel{background:var(--popover);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:0 16px 48px -12px oklch(0 0 0/.25);padding:1.5rem;display:grid;grid-gap:1rem;gap:1rem}.dialog-foot{display:flex;justify-content:flex-end;gap:.5rem}#command{max-width:min(36rem,calc(100vw - 2rem))}.cmd-panel{background:var(--popover);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 16px 48px -12px oklch(0 0 0/.25)}.cmd-input{width:100%;border:0;border-bottom:1px solid var(--border);background:transparent;color:inherit;font:inherit;font-size:14px;padding:.875rem 1rem}.cmd-input:focus-visible{outline:none}.cmd-list{padding:.375rem;max-height:20rem;overflow:auto;overscroll-behavior:contain}.cmd-label{font-size:11px;color:var(--muted-foreground);padding:.375rem .5rem .25rem}.cmd-item{display:flex;align-items:center;gap:.625rem;padding:.5rem;border-radius:var(--radius-md);font-size:13.5px}.cmd-item[aria-selected=true]{background:var(--accent);color:var(--accent-foreground)}.cmd-item .kbd{margin-left:auto}.toaster{position:fixed;right:1rem;bottom:1rem;z-index:90;display:flex;flex-direction:column-reverse;gap:.5rem}.toast{display:flex;align-items:center;gap:.625rem;min-width:17rem;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 8px 24px -8px oklch(0 0 0/.18);padding:.75rem .875rem;font-size:13px;animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(.5rem)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.viewer svg{position:absolute;inset:0;width:100%;height:100%}.viewer-tools{position:absolute;left:.75rem;top:.75rem;z-index:3;display:flex;gap:.25rem;padding:.25rem;background:color-mix(in oklab,var(--popover) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius-lg)}.vt{border:0;background:transparent;font:inherit;font-size:12.5px;color:var(--muted-foreground);padding:.3rem .625rem;border-radius:var(--radius-md)}.vt:hover{background:var(--accent);color:var(--accent-foreground)}.vt[aria-pressed=true]{background:var(--brand);color:var(--brand-ink);font-weight:500}.measure-tag{position:absolute;z-index:4;font-size:11px;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:.125rem .5rem;border-radius:var(--radius-sm);background:oklch(.145 0 0);color:oklch(.985 0 0);white-space:nowrap}.proj-panel{min-height:0;height:100%}.proj-panel[hidden]{display:none}.dwg{display:grid;grid-template-rows:auto auto 1fr;height:100%;min-height:0}.dwg-bar{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.dwg-select{font:inherit;font-size:13px;color:var(--foreground);background:var(--background);border:1px solid var(--input);border-radius:var(--radius-md);height:2rem;padding:0 .5rem;max-width:18rem}.zoom-label{font-size:12.5px;color:var(--muted-foreground);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:3rem;text-align:center}.dwg-canvas{position:relative;overflow:auto;background:var(--muted);display:grid;place-items:center;min-height:0;scrollbar-width:thin;scrollbar-color:var(--border) transparent;cursor:-webkit-grab;cursor:grab}.dwg-canvas[data-panning=true]{cursor:-webkit-grabbing;cursor:grabbing}.dwg-stage{position:relative;background:#fff;box-shadow:0 2px 12px oklch(0 0 0/.12)}.dwg-stage svg{display:block;width:100%;height:100%}.workspace{grid-template-columns:1fr 20rem;grid-gap:0;height:100%}.workspace,.ws-main{display:grid;gap:0;min-height:0}.ws-main{min-width:0;padding:1.5rem 1rem;grid-template-rows:auto auto 1fr auto;grid-gap:0}.inspector{border-left:1px solid var(--border);background:var(--card);padding:1.25rem;overflow-y:auto;display:grid;grid-gap:1rem;gap:1rem;align-content:start}@media (max-width:1023px){.workspace{grid-template-columns:1fr}.inspector{display:none}}.grid-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:1rem;gap:1rem}@media (max-width:900px){.grid-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat-v{font-size:24px;font-weight:700;letter-spacing:-.02em}.list-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;grid-gap:1rem;gap:1rem;width:100%;border:0;background:transparent;color:inherit;font:inherit;padding:.75rem 1rem;border-radius:var(--radius-lg);text-align:left}.list-row:hover{background:var(--accent)}.gal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem;align-items:start}@media (max-width:900px){.gal{grid-template-columns:1fr}}.gal-h{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.gal-h code{font-family:var(--font-num);font-size:10.5px;color:var(--muted-foreground);background:var(--muted);padding:.125rem .375rem;border-radius:var(--radius-sm)}.gal-demo{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.drawing-split{display:grid;grid-template-columns:minmax(18rem,22rem) minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-gap:1rem;gap:1rem}@media (max-width:1100px){.drawing-split{grid-template-columns:minmax(0,1fr)}}.drawing-split-pane .v-canvas{max-height:26rem}.drawing-split-pane .v-toolbar{display:none}.drawing-split-pane .viewer{margin-bottom:0;box-shadow:none}.drawing-split-main{min-width:0}.drawing-modal{position:fixed;inset:0;z-index:60;background:color-mix(in oklab,var(--foreground) 55%,transparent);display:grid;place-items:center;padding:2rem}.drawing-modal-body{background:var(--card);border-radius:var(--radius-xl);border:1px solid var(--border);padding:1rem;width:min(96vw,90rem);height:min(92vh,60rem);display:flex;flex-direction:column}.content>.drawing-split{flex:1 1;min-height:0}.drawing-split-main{display:flex;flex-direction:column;min-height:0;overflow-y:auto;gap:1rem}.drawing-split-main>.card{flex:none}.drawing-split-main>.card>.card-content{display:flex;flex-direction:column;min-height:0;flex:1 1}.drawing-split-pane{align-self:start}.masters-split{display:grid;grid-template-columns:15rem minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-gap:1rem;gap:1rem;flex:1 1;min-height:0}.masters-split>.card:first-child{align-self:start}.masters-split-main{min-width:0;display:flex;flex-direction:column;min-height:0;overflow:hidden}.masters-split-main>.table-wrap.scroller{flex:1 1;min-height:0}@media (max-width:900px){.masters-split{grid-template-columns:minmax(0,1fr);grid-template-rows:auto}}.intake{display:flex;flex-direction:column;gap:1rem;min-height:0}.intake>.table-wrap.scroller{flex:1 1;min-height:6rem}.dropzone{border:1px dashed var(--border);border-radius:var(--radius-xl);background:var(--card);padding:2.5rem 1.5rem;display:grid;grid-gap:.875rem;gap:.875rem;place-items:center;text-align:center;cursor:pointer;transition:border-color .15s,background-color .15s}.dropzone:hover{border-color:var(--ring);background:var(--accent)}.dropzone.is-over{border-color:var(--brand);border-style:solid;background:color-mix(in oklab,var(--brand) 12%,var(--card))}.dz-title{font-size:15px;font-weight:600;color:var(--foreground)}.dz-hint{margin-top:.3rem;font-size:11.5px;color:var(--muted-foreground);opacity:.75}.queued-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.queued-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:.75rem;gap:.75rem;padding:.4rem 0;border-bottom:1px solid var(--border);font-size:13px}.queued-list li:last-child{border-bottom:0}.content>.proj-panel:not([hidden]){flex:1 1;min-height:0;overflow-y:auto;padding-right:.25rem}.intake-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));grid-gap:.9rem;gap:.9rem}.loading-block{display:grid;place-items:center;padding:3rem 1rem;color:var(--muted-foreground)}.dialog-scrim{position:fixed;inset:0;z-index:80;background:color-mix(in oklab,var(--foreground) 45%,transparent);display:grid;place-items:center;padding:1.5rem}.dialog{width:min(92vw,26rem);margin:0;box-shadow:var(--shadow-lg,0 10px 30px rgba(0,0,0,.18))}.app{transition:grid-template-columns .2s ease}.app[data-collapsed=true]{grid-template-columns:var(--sidebar-w-icon,3.5rem) 1fr}.app[data-collapsed=true] .nav-group-label,.app[data-collapsed=true] .nav-label,.app[data-collapsed=true] .team-text{display:none}.app[data-collapsed=true] .nav-item,.app[data-collapsed=true] .nav-user,.app[data-collapsed=true] .team{justify-content:center;padding:0}.app[data-collapsed=true] .nav-group-label{padding:0;height:.5rem}.sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:var(--radius-md);border:0;background:transparent;color:var(--sidebar-foreground);cursor:pointer}.sidebar-toggle:hover{background:var(--sidebar-accent)}.page-header>.sidebar-toggle{flex:none;width:2rem;height:2rem;margin-left:-.25rem;color:var(--muted-foreground)}.page-header>.sidebar-toggle:hover{background:var(--accent);color:var(--foreground)}.content input:not([type=checkbox]):not([type=radio]):not([role=switch]),.content select,.content textarea{height:2.25rem;padding:0 .625rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);color:var(--foreground);font:inherit;font-size:13px}.content textarea{height:auto;min-height:5rem;padding:.5rem .625rem;line-height:1.6}.content input:focus-visible,.content select:focus-visible,.content textarea:focus-visible{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklab,var(--ring) 30%,transparent)}.content input[aria-invalid=true]{border-color:var(--destructive)}.sidebar-header{display:flex;flex-direction:row;align-items:center;gap:.25rem}.sidebar-header .team{flex:1 1;min-width:0}.app[data-collapsed=true] .sidebar-header{flex-direction:column;gap:.5rem}.baseline-suggest{align-items:center;gap:.6rem;padding:.5rem .75rem;background:var(--muted);border:1px solid var(--border);border-bottom:0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;font-size:13px}.baseline-layout{display:grid;grid-template-columns:minmax(0,1fr) 17rem;grid-template-rows:minmax(0,1fr);grid-gap:1rem;gap:1rem;flex:1 1;min-height:0}@media (max-width:1100px){.baseline-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto}}.baseline-editor{min-width:0}.baseline-editor,.baseline-side{min-height:0;display:flex;flex-direction:column}.baseline-side{gap:.75rem;overflow:hidden}.baseline-side .v-toolbar{flex-wrap:wrap;padding:.6rem}.baseline-list,.baseline-side .v-toolbar{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card)}.baseline-list{overflow-y:auto;min-height:0;flex:1 1}.baseline-list-head{display:flex;justify-content:space-between;padding:.6rem .75rem;font-size:12px;color:var(--muted-foreground);border-bottom:1px solid var(--border)}.baseline-item{display:grid;grid-template-columns:1rem minmax(0,1fr) auto;align-items:center;grid-gap:.5rem;gap:.5rem;width:100%;padding:.5rem .75rem;border:0;border-bottom:1px solid var(--border);background:transparent;font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.baseline-item:last-child{border-bottom:0}.baseline-item:hover{background:var(--muted)}.baseline-item.is-active{background:var(--accent);font-weight:500}.baseline-item-mark{color:var(--ok,#16a34a);font-weight:700}.viewer{position:relative}.v-zoombar{position:absolute;top:.5rem;right:.5rem;z-index:5;width:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in oklab,var(--card) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:.25rem .4rem}.v-pagetabs~.v-zoombar{top:3rem}.baseline-side .v-toolbar{flex-direction:column;align-items:stretch;gap:.4rem}.baseline-side .v-toolbar .btn{width:100%;justify-content:center}.baseline-side .v-toolbar .input{width:100%}.baseline-side .v-toolbar>span:last-child{margin-left:0!important;text-align:center}.v-pagetabs{display:flex;gap:.25rem;padding:.4rem .6rem;overflow-x:auto;border-bottom:1px solid var(--border)}.v-pagetabs .btn{position:relative}.page-dot{position:absolute;top:2px;right:3px;width:5px;height:5px;border-radius:50%;background:var(--ok,#16a34a)}.drawing-strip{display:flex;flex-direction:column;gap:.6rem;overflow-y:auto;min-height:0;max-height:100%;padding-right:.25rem}.drawing-thumb{position:relative;display:block;width:100%;padding:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);cursor:pointer;overflow:hidden}.drawing-thumb:hover{border-color:var(--ring)}.drawing-thumb.is-active{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in oklab,var(--primary) 25%,transparent)}.drawing-thumb img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#fff}.drawing-thumb-name{display:block;padding:.35rem .5rem;font-size:11.5px;color:var(--muted-foreground);text-align:left}.drawing-thumb-zoom{position:absolute;top:.4rem;right:.4rem;display:none;padding:.15rem .4rem;border-radius:var(--radius-md);background:color-mix(in oklab,var(--card) 90%,transparent);border:1px solid var(--border);font-size:13px}.drawing-thumb:hover .drawing-thumb-zoom{display:block}.group-swatch{width:.7rem;height:.7rem;border-radius:2px;display:inline-block}.baseline-side>.baseline-list:first-of-type{flex:none;max-height:40%}.nav-logout{width:100%;justify-content:center;margin-top:.5rem;color:var(--muted-foreground)}