:root{--surface-0:#f0f0f0;--surface-1:#ffffff;--surface-2:#ffffff;--surface-sunken:#ededed;--sidebar-bg:#1e2229;--sidebar-fg:#e6e8eb;--sidebar-fg-dim:#98a0a8;--sidebar-active:#2a2f37;--ink-900:#332a24;--ink-700:#433633;--ink-500:#6d635b;--ink-400:#78716b;--ink-300:#c3bcb4;--line:#e3e6eb;--line-strong:#d3d7dd;--teal-700:#26397f;--teal-600:#3150af;--teal-500:#4763c0;--teal-100:#e3e8f6;--teal-050:#f1f4fb;--ok-600:#1c8a00;--ok-100:#e4f3de;--warn-700:#9a6412;--warn-100:#fdeecc;--err-600:#d42a1e;--err-100:#fbe3e0;--info-600:#0a7c8a;--info-100:#dcecef;--neutral-600:#63666a;--neutral-100:#ededed;--mag-600:#d62755;--mag-100:#fbe7ed;--e-sessions:#001219;--e-workforce:#005f73;--e-performer:#0a9396;--e-sponsor:#94d2bd;--e-supplier:#e9d8a6;--e-exhibitor:#ee9b00;--e-asset:#ca6702;--e-stand:#bb3e03;--e-space:#ae2012;--e-catalogue:#3150af;--text-xs:11px;--text-sm:12.5px;--text-md:13.5px;--text-lg:16px;--text-xl:20px;--font-ui:"Satoshi","General Sans","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--radius:7px;--radius-sm:5px;--radius-lg:10px;--maxw:1320px;--toast-bg:#211d1a;--toast-fg:#ffffff;--shadow-sm:0 1px 2px rgba(28,33,31,.05),0 1px 1px rgba(28,33,31,.03);--shadow-md:0 8px 28px rgba(28,33,31,.1),0 2px 8px rgba(28,33,31,.06);--shadow-lg:0 18px 50px rgba(28,33,31,.16),0 4px 14px rgba(28,33,31,.08);--ring:0 0 0 3px var(--teal-100);--rail-w:56px;--panel-w:230px;--topbar-h:52px;--ease:cubic-bezier(.2,.8,.2,1);--ease-out:cubic-bezier(.16,1,.3,1);--t-fast:.13s;--t-mid:.19s;--t-slow:.26s}[data-theme=dark]{--surface-0:#14171c;--surface-1:#1b1f26;--surface-2:#232830;--surface-sunken:#171a20;--sidebar-bg:#0f1319;--sidebar-fg:#d6dae1;--sidebar-fg-dim:#7f8894;--sidebar-active:#242a34;--ink-900:#eef1f4;--ink-700:#cbd1d9;--ink-500:#9aa2ac;--ink-400:#7d8793;--ink-300:#4c545e;--line:#2a303a;--line-strong:#3a424d;--teal-700:#8aa2f0;--teal-600:#5273de;--teal-500:#7f9aee;--teal-100:#22304f;--teal-050:#1a2233;--ok-600:#54cf63;--ok-100:#173019;--warn-700:#e2ab4d;--warn-100:#382a12;--err-600:#f0655a;--err-100:#3a1b17;--info-600:#33bccb;--info-100:#123034;--neutral-600:#aab1ba;--neutral-100:#262c34;--mag-600:#ee6690;--mag-100:#3a1c28;--toast-bg:#2b323c;--toast-fg:#eef1f4;--shadow-sm:0 1px 2px rgba(0,0,0,.5),0 1px 1px rgba(0,0,0,.35);--shadow-md:0 10px 34px rgba(0,0,0,.55),0 2px 10px rgba(0,0,0,.4);--shadow-lg:0 22px 60px rgba(0,0,0,.65),0 6px 18px rgba(0,0,0,.5);--ring:0 0 0 3px rgba(82,115,222,.28)}[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-ui);font-size:var(--text-md);color:var(--ink-900);background:var(--surface-0);-webkit-font-smoothing:antialiased;line-height:1.45}button{font-family:inherit;cursor:pointer}a{color:inherit;text-decoration:none}::selection{background:var(--teal-100)}.dt-wrap{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.dt-wrap{position:relative}.dt{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.dt th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-400);font-weight:700;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface-1)}.dt td{padding:8px 12px;border-bottom:1px solid var(--line);color:var(--ink-700);vertical-align:middle}.dt tbody tr:last-child td{border-bottom:0}.dt tbody tr{cursor:pointer;transition:background var(--t-fast)}.dt tbody tr:hover{background:var(--surface-sunken)}.dt tr.l0 td{background:var(--surface-sunken);font-weight:650;color:var(--ink-900)}.dt tr.l0:hover td{background:var(--line)}.dt .num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.dt tbody tr:hover .raci-cell{transform:scale(1.08)}.dt tbody tr{touch-action:pan-y}.dt tbody tr:hover .grip{opacity:1}.dt tbody tr:hover .grip{opacity:.9;color:var(--ink-500)}.dt tbody tr:hover .grip:hover{color:var(--teal-600)}.dt tbody tr:hover .raci-cell{transform:none}.dt tbody tr.landed{animation:rowSlide .26s var(--ease-out) both}.dt tbody tr.landed td{animation:rowLand 1.6s var(--ease-out) both}.tname{display:flex;align-items:center;gap:8px;min-width:0}.tname .tw{font-family:var(--font-mono);font-size:9.5px;color:var(--ink-300);flex-shrink:0;min-width:30px}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius);font-size:var(--text-sm);font-weight:550;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink-700);white-space:nowrap}.btn:hover{border-color:var(--ink-300)}.btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2}.btn-primary{background:var(--teal-600);border-color:var(--teal-600);color:#fff}.btn-primary:hover{background:var(--teal-700);border-color:var(--teal-700)}.btn-sm{padding:4px 9px;font-size:var(--text-xs)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:disabled:hover{border-color:var(--line-strong);background:var(--surface-2)}.btn-primary:disabled:hover{background:var(--teal-600);border-color:var(--teal-600)}.input{width:100%;padding:10px 12px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--ink-300);box-shadow:inset 0 1px 2px #00000012;color:var(--ink-900);font-size:var(--text-md);font-family:var(--font-ui)}.input::placeholder{color:var(--ink-300)}.input:hover:not(:disabled){border-color:var(--ink-500)}.input:focus{outline:none;border-color:var(--teal-600);box-shadow:0 0 0 3px var(--teal-100),inset 0 1px 2px #0000000a}.input:disabled{background-color:var(--surface-sunken);color:var(--ink-500);border-color:var(--line-strong);box-shadow:none;cursor:not-allowed}.input-label{display:block;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-400);font-weight:600;margin-bottom:var(--sp-2)}.input-hint{font-size:var(--text-xs);color:var(--ink-400);margin-top:var(--sp-2)}.input-question{display:block;font-size:var(--text-md);color:var(--ink-700);font-weight:600;line-height:1.45;margin-bottom:var(--sp-2);max-width:68ch;text-transform:none;letter-spacing:normal}.field-wide{max-width:68ch}.wiz-line{display:flex;align-items:baseline;gap:var(--sp-2);flex-wrap:wrap}.wiz-line>input[type=checkbox]{flex:none}.wiz-line-text{flex:0 1 auto;min-width:min(24ch,100%);line-height:1.5}.quote-summary{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);margin:var(--sp-4) 0;padding:var(--sp-3) var(--sp-4);background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius);font-size:var(--text-sm);color:var(--ink-500)}.quote-summary b{color:var(--ink-900);font-weight:600}.page-card{margin-top:var(--sp-4);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-1)}.quote-work{display:block;max-width:46ch}.quote-work-title{display:block;color:var(--ink-900)}.quote-work-more{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;margin-top:2px;font-size:var(--text-xs);color:var(--ink-400)}.quote-detail-text{margin:0;font-size:var(--text-sm);line-height:1.65;color:var(--ink-700);white-space:pre-wrap}.quote-detail-empty{color:var(--ink-400);font-style:italic}.quote-ref{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-500)}.quote-calc{margin-top:var(--sp-3);padding:var(--sp-3);background:var(--surface-sunken);border-radius:var(--radius);font-size:var(--text-sm);color:var(--ink-500)}.quote-calc b{color:var(--ink-900);font-weight:600;font-size:var(--text-md)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);font-weight:600;padding:2px 8px;border-radius:20px;line-height:1.5;white-space:nowrap}.badge .bdot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.b-ok{background:var(--ok-100);color:var(--ok-600)}.b-ok .bdot{background:var(--ok-600)}.b-warn{background:var(--warn-100);color:var(--warn-700)}.b-warn .bdot{background:var(--warn-700)}.b-err{background:var(--err-100);color:var(--err-600)}.b-err .bdot{background:var(--err-600)}.b-info{background:var(--info-100);color:var(--info-600)}.b-info .bdot{background:var(--info-600)}.b-neutral{background:var(--neutral-100);color:var(--neutral-600)}.b-neutral .bdot{background:var(--neutral-600)}.b-mag{background:var(--mag-100);color:var(--mag-600)}.b-mag .bdot{background:var(--mag-600)}.b-teal{background:var(--teal-100);color:var(--teal-700)}.b-teal .bdot{background:var(--teal-700)}.chip{font-size:var(--text-xs);padding:1px 9px;border:1px solid var(--line);border-radius:20px;color:var(--ink-500);background:var(--surface-1);cursor:pointer}.chip:hover{border-color:var(--teal-500);color:var(--teal-700);background:var(--teal-050)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c211f47;z-index:99}.drawer{position:fixed;top:0;right:-480px;width:460px;max-width:94vw;height:100vh;height:100dvh;background:var(--surface-1);border-left:1px solid var(--line);box-shadow:var(--shadow-md);z-index:100;transition:right .25s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column}.drawer.show{right:0}.drawer-head{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line);display:flex;gap:var(--sp-3);align-items:flex-start;flex-shrink:0}.drawer-title{font-size:var(--text-lg);font-weight:640;letter-spacing:-.015em;color:var(--ink-900);line-height:1.3}.drawer-sub{margin-top:6px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.drawer-close{margin-left:auto;flex-shrink:0}.drawer-body{flex:1;overflow-y:auto;padding:var(--sp-5)}.drawer-foot{padding:var(--sp-5);border-top:1px solid var(--line);display:flex;gap:var(--sp-2);justify-content:flex-end;background:var(--surface-1);flex-shrink:0;padding-bottom:max(var(--sp-5),env(safe-area-inset-bottom))}.drawer-section{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-400);font-weight:600;margin:var(--sp-5) 0 var(--sp-2)}.field-grid{display:grid;grid-template-columns:132px 1fr;gap:9px 12px;font-size:var(--text-sm);margin:0}.field-grid dt{color:var(--ink-400)}.field-grid dd{color:var(--ink-900);font-weight:500;margin:0}.fold{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-1);overflow:hidden}.fold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--surface-sunken);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--ink-500)}.fold>summary::-webkit-details-marker{display:none}.fold>summary:hover{color:var(--ink-900)}.fold>summary:focus-visible{outline:2px solid var(--teal-600);outline-offset:-2px}.fold-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:min(100%,14ch)}.fold-note{margin-left:auto;display:flex;align-items:center;gap:var(--sp-2);justify-content:flex-end;font-size:var(--text-sm);text-transform:none;letter-spacing:0;font-weight:500;color:var(--ink-500);flex-wrap:nowrap;overflow:hidden;min-width:0;flex-shrink:3}.fold-note>*{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fold-note>.badge{flex-shrink:0}.fold>summary:after{content:"";flex-shrink:0;width:7px;height:7px;margin-left:var(--sp-1);border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .18s cubic-bezier(.2,.8,.2,1)}.fold[open]>summary:after{transform:rotate(-135deg)}.fold[open]>summary{border-bottom:1px solid var(--line)}.fold-body{padding:var(--sp-4)}.fold-body>*+*{margin-top:var(--sp-4)}.fold-alert>summary{background:var(--err-100);color:var(--err-600)}.fold-alert>summary:hover{color:var(--err-600)}.fold-alert>summary .fold-note{color:var(--err-600)}.optgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:var(--sp-2) var(--sp-4)}.optgrid .check+.check,.optgrid .check{margin-top:0;display:flex}.opt-group{grid-column:1 / -1;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--ink-400);padding-top:var(--sp-2);border-top:1px solid var(--line)}.opt-group:first-child{padding-top:0;border-top:0}.pick-chosen{background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-2) var(--sp-3)}.pick-row{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) 0;font-size:var(--text-sm);color:var(--ink-900);flex-wrap:wrap}.pick-row+.pick-row{border-top:1px solid var(--line)}.pick-severe{border-left:3px solid var(--err-600);padding-left:var(--sp-2)}.pick-name{flex:1 1 40%;min-width:0;font-weight:500}.pick-row .input{width:auto;flex:0 1 auto;height:28px;padding-top:0;padding-bottom:0;font-size:var(--text-sm)}.pick-guide{flex:1 1 100%;font-size:var(--text-xs);color:var(--ink-500);line-height:1.45}.pick-x{flex-shrink:0;width:24px;height:24px;line-height:1;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--ink-500);cursor:pointer;font-size:var(--text-md)}.pick-x:hover:not(:disabled){border-color:var(--err-600);color:var(--err-600);background:var(--err-100)}.pick-x:focus-visible{outline:2px solid var(--teal-600);outline-offset:1px}.pick-x:disabled{cursor:not-allowed;opacity:.5}.ev-counts{display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-3);align-items:baseline}.ev-count{display:inline-flex;align-items:baseline;gap:3px;white-space:nowrap}.ev-count b{font-size:var(--text-sm);font-weight:640;color:var(--ink-900);font-variant-numeric:tabular-nums}.ev-count em{font-style:normal;font-size:var(--text-xs);color:var(--ink-400);text-transform:uppercase;letter-spacing:.04em}.ev-count.is-zero b{color:var(--ink-400);font-weight:500}.notice{padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);font-size:var(--text-sm)}.notice>strong{display:block;font-weight:640}.notice-body{margin-top:3px}.n-info{background:var(--info-100);color:var(--info-600)}.n-warn{background:var(--warn-100);color:var(--warn-700)}.n-err{background:var(--err-100);color:var(--err-600)}.n-ok{background:var(--ok-100);color:var(--ok-600)}.n-neutral{background:var(--neutral-100);color:var(--neutral-600)}.dt-wrap{overflow-x:auto}.dt thead th{position:sticky;top:0;z-index:1}.dt tbody tr{cursor:default}.dt tbody tr.clickable{cursor:pointer}.dt-empty{padding:var(--sp-6);text-align:center;color:var(--ink-400);font-size:var(--text-sm)}.fact-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--sp-3) var(--sp-4);margin:var(--sp-4) 0 var(--sp-5);padding:var(--sp-4);background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius)}.fact{display:flex;flex-direction:column;gap:3px;min-width:0}.fact-label{font-size:var(--text-xs);color:var(--ink-400);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.fact-value{font-size:var(--text-sm);color:var(--ink-900);font-weight:500}.section-title{font-size:var(--text-md);font-weight:640;color:var(--ink-900);margin:var(--sp-5) 0 var(--sp-2)}.link{color:var(--teal-600);text-decoration:none;font-weight:520}.link:hover{text-decoration:underline}.tree-indent{color:var(--ink-300);margin-right:2px}.muted{color:var(--ink-400);font-size:var(--text-xs)}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden}.seg-btn{border:0;border-right:1px solid var(--line);background:transparent;padding:7px 16px;font-size:var(--text-sm);font-weight:550;color:var(--ink-500);cursor:pointer;transition:background .14s ease,color .14s ease}.seg-btn:last-child{border-right:0}.seg-btn:hover:not(:disabled){background:var(--surface-sunken);color:var(--ink-900)}.seg-btn.on,.seg-btn.on:hover{background:var(--teal-600);color:#fff}.seg-btn:disabled{cursor:not-allowed;opacity:.6}.seg-btn:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--teal-600)}.seg-btn.on:focus-visible{box-shadow:inset 0 0 0 2px var(--surface-2)}select.input{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:var(--sp-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23968d86' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--sp-3) center}[data-theme=dark] select.input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23727b86' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}select.input:disabled{cursor:not-allowed}textarea.input{min-height:84px;padding:var(--sp-3);line-height:1.55;resize:vertical}.check{display:inline-flex;align-items:flex-start;gap:var(--sp-2);cursor:pointer;font-size:var(--text-sm);color:var(--ink-700);line-height:1.45}.check input[type=checkbox],.check input[type=radio]{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex-shrink:0;width:16px;height:16px;margin:2px 0 0;display:grid;place-content:center;background:var(--surface-2);border:1px solid var(--ink-300);box-shadow:inset 0 1px 2px #00000012;cursor:pointer;transition:background .14s ease,border-color .14s ease}.check input[type=checkbox]{border-radius:var(--radius-sm)}.check input[type=radio]{border-radius:50%}.check input:hover:not(:disabled){border-color:var(--ink-500)}.check input:checked{background:var(--teal-600);border-color:var(--teal-600);box-shadow:none}.check input[type=checkbox]:checked:after{content:"";width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}.check input[type=radio]:checked:after{content:"";width:6px;height:6px;border-radius:50%;background:#fff}.check input:focus-visible{outline:none;border-color:var(--teal-600);box-shadow:0 0 0 3px var(--teal-100)}.check input:disabled{background:var(--surface-sunken);border-color:var(--line-strong);box-shadow:none;cursor:not-allowed}.check input:disabled:checked{background:var(--ink-300);border-color:var(--ink-300)}.check:has(input:disabled){color:var(--ink-400);cursor:not-allowed}input[type=file].input{padding:var(--sp-2);cursor:pointer;line-height:1.6}input[type=file].input::file-selector-button{margin-right:var(--sp-3);padding:5px 11px;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:550;color:var(--ink-700);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius);cursor:pointer}input[type=file].input::file-selector-button:hover{border-color:var(--ink-300)}.field{display:flex;flex-direction:column;gap:var(--sp-2)}.field+.field{margin-top:var(--sp-4)}.field-error{font-size:var(--text-xs);color:var(--err-600)}.field-req{color:var(--err-600);margin-left:2px}.field-row{display:grid;gap:var(--sp-3) var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:var(--sp-4)}.field-row .field+.field{margin-top:0}.toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--sp-3);margin:var(--sp-4) 0}.toolbar>.field{margin-top:0}.toolbar-spacer{margin-left:auto}button.link{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:none;border:0;padding:0;font:inherit;text-align:left;cursor:pointer}.row{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.row-end{align-items:flex-end}.row-tight{gap:var(--sp-1)}.stack>*+*{margin-top:var(--sp-4)}.stack-2>*+*{margin-top:var(--sp-2)}.stack-6>*+*{margin-top:var(--sp-6)}.page label:not([class]){display:block;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-400);font-weight:600}.page label:not([class])>.input{margin-top:var(--sp-2)}.input{text-transform:none;letter-spacing:normal}.page label:not([class])+label:not([class]){margin-top:var(--sp-4)}.screen>*+*{margin-top:var(--sp-4)}.stack>:only-child>*+*{margin-top:var(--sp-4)}.screen-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}.page-head>*+*{margin-top:var(--sp-2)}.page-head,.page-intro{margin-bottom:var(--sp-5)}.page-head .page-intro{margin-bottom:0}.dt-sub{display:block;font-size:var(--text-xs);color:var(--ink-400)}.totals{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);padding:var(--sp-3) var(--sp-4);background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius);font-size:var(--text-sm);color:var(--ink-500)}.totals strong{color:var(--ink-900);font-weight:600}.danger-zone{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--err-600);border-radius:var(--radius);background:var(--err-100);color:var(--err-600)}.danger-zone p{margin:0}.owner-editor>*+*{margin-top:var(--sp-3)}.owner-editor h4{font-size:var(--text-sm);font-weight:640;color:var(--ink-900)}.owner-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) 0;border-bottom:1px solid var(--line)}.owner-row:last-child{border-bottom:0}.panel-card{margin-top:var(--sp-4);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-1)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-3)}.card-title{font-size:var(--text-lg);font-weight:640;color:var(--ink-900)}.kv{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:var(--sp-2) var(--sp-4);margin:0;font-size:var(--text-sm)}.kv dt{color:var(--ink-400)}.kv dd{color:var(--ink-900);font-weight:500;margin:0}.tree-block+.tree-block{margin-top:var(--sp-4)}.tree-row{display:flex;align-items:center;gap:var(--sp-2);padding-top:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line);font-size:var(--text-sm)}.context-bar .cb-name{min-width:0}.context-bar .cb-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4) var(--sp-4);margin:0;min-width:0}legend{padding:0 var(--sp-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-400);font-weight:600}.check+.check{display:flex;margin-top:var(--sp-2)}fieldset .check{display:flex}fieldset .check+.check{margin-top:var(--sp-2)}.drawer-body>*+*{margin-top:var(--sp-4)}.drawer-body label:not([class]){display:block;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-400);font-weight:600}.drawer-body label:not([class])>.input{margin-top:var(--sp-2)}.notice .btn{margin-top:var(--sp-3)}.notice .btn+.btn{margin-left:var(--sp-2)}.drawer.drawer,.drawer-overlay.drawer-overlay{margin:0}.cal{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.cal th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--ink-400);text-align:left;padding:var(--sp-2);border-bottom:1px solid var(--line)}.cal td{vertical-align:top;padding:var(--sp-2);height:84px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:var(--surface-1)}.cal td:first-child{border-left:1px solid var(--line)}.cal td.cal-out{background:var(--surface-sunken)}.cal td.cal-out .cal-num{color:var(--ink-500)}.cal-num{font-size:var(--text-sm);color:var(--ink-500);font-weight:600}.cal td.cal-today{box-shadow:inset 0 0 0 2px var(--teal-600)}.cal td.cal-today .cal-num{color:var(--teal-600);font-weight:700}.cal-item{display:block;margin-top:var(--sp-1);padding:2px var(--sp-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid transparent}.cal-item.ci-event{background:var(--teal-100);color:var(--ink-900);border-color:var(--teal-500)}.cal-item.ci-task{background:var(--warn-100);color:var(--ink-900);border-color:var(--warn-700)}.cal-wrap{overflow-x:auto}.cal-wrap .cal{min-width:560px}.dash-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--sp-5);align-items:start}@media(max-width:1100px){.dash-layout{grid-template-columns:minmax(0,1fr)}}.dash-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-4)}.dash-tile{padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-1);min-width:0}.dash-tile h3{font-size:var(--text-lg);font-weight:650;color:var(--ink-900)}.dash-tile .dash-tile-sub{font-size:var(--text-sm);color:var(--ink-500);margin-top:var(--sp-1)}.dash-tile .dash-tile-term{font-size:var(--text-md);color:var(--ink-700);margin-top:var(--sp-2)}.dash-tile-shuffle{display:block;width:100%;text-align:left;font:inherit;color:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:none;border:0;padding:0;margin:0;cursor:pointer}.dash-tile-shuffle:focus-visible{outline:2px solid var(--teal-600);outline-offset:4px;border-radius:var(--radius-sm)}.dash-tile-shuffle .dash-tile-hint{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--ink-400);margin-top:var(--sp-3)}.dash-tile-shuffle:hover .dash-tile-hint,.dash-tile-shuffle:focus-visible .dash-tile-hint{color:var(--teal-600)}.dash-tile-shuffle:hover .dash-tile-hint svg{transform:rotate(180deg)}.dash-tile-hint svg{transition:transform .25s cubic-bezier(.2,.8,.2,1)}@keyframes dash-tile-flip{0%{opacity:0;transform:rotateX(-38deg) translateY(-6px)}to{opacity:1;transform:rotateX(0) translateY(0)}}.dash-tile-face{transform-origin:top center;animation:dash-tile-flip .32s cubic-bezier(.2,.8,.2,1)}@media(prefers-reduced-motion:reduce){.dash-tile-face{animation:none}.dash-tile-hint svg{transition:none}.dash-tile-shuffle:hover .dash-tile-hint svg{transform:none}.fold>summary:after{transition:none}}.dash-rule{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--ink-500);margin:var(--sp-6) 0 var(--sp-3)}.dash-rule:after{content:"";flex:1;height:1px;background:var(--line)}.ev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--sp-4)}.ev-card{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-1);text-align:left;cursor:pointer;min-height:150px;font:inherit;color:inherit;width:100%}.ev-card:hover{border-color:var(--teal-500)}.ev-card:focus-visible{outline:2px solid var(--teal-600);outline-offset:2px}.ev-card-name{font-size:var(--text-md);font-weight:650;color:var(--ink-900)}.ev-card-where{font-size:var(--text-sm);color:var(--ink-500)}.ev-card-foot{display:flex;align-items:flex-end;gap:var(--sp-3);margin-top:auto}.ev-day{line-height:1;text-align:center;min-width:44px}.ev-day b{display:block;font-size:var(--text-xl);font-weight:700;color:var(--ink-900)}.ev-day span{display:block;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-500);font-weight:600}.ev-card-dates{font-size:var(--text-sm);color:var(--ink-500)}.ev-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-4);min-height:150px;border:1px dashed var(--line-strong);border-radius:var(--radius-lg);background:var(--surface-sunken);cursor:pointer;font:inherit;color:var(--ink-700);font-weight:600;width:100%}.ev-action:hover{border-color:var(--teal-500);color:var(--teal-600)}.ev-action:focus-visible{outline:2px solid var(--teal-600);outline-offset:2px}.dash-rail{background:var(--sidebar-bg);color:var(--sidebar-fg);border-radius:var(--radius-lg);padding:var(--sp-4);position:sticky;top:var(--sp-4)}.dash-rail h3{font-size:var(--text-lg);font-weight:650;color:var(--sidebar-fg)}.dash-rail .dash-rail-now{font-size:var(--text-sm);color:var(--sidebar-fg-dim);margin-top:var(--sp-4)}.dash-rail .cal th{color:var(--sidebar-fg-dim);border-bottom-color:var(--sidebar-active);padding:var(--sp-1)}.dash-rail .cal td{background:transparent;border-color:var(--sidebar-active);height:34px;padding:var(--sp-1)}.dash-rail .cal td:first-child{border-left-color:var(--sidebar-active)}.dash-rail .cal-num{color:var(--sidebar-fg);font-size:var(--text-xs)}.dash-rail .cal td.cal-out .cal-num{color:var(--sidebar-fg-dim)}.dash-rail .cal-wrap .cal{min-width:0}.dash-rail .cal-item{width:6px;height:6px;padding:0;margin:2px auto 0;border-radius:50%;overflow:hidden;text-indent:-999px;border:0}.dash-layout>*{margin-top:0}.dash-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--sp-4)}.dash-tile.t-2{grid-column:span 2}.dash-tile.t-3{grid-column:span 3}.dash-tile.t-4{grid-column:span 4}.dash-tile.t-6{grid-column:span 6}.dash-tile.t-tall{grid-row:span 2;display:flex;flex-direction:column}.dash-tile.t-tall .dash-tile-term{margin-top:auto}@media(max-width:900px){.dash-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-tile.t-2,.dash-tile.t-3,.dash-tile.t-4,.dash-tile.t-6{grid-column:span 2}.dash-tile.t-tall{grid-row:auto}}.dash-stats{display:flex;flex-wrap:wrap;gap:var(--sp-5)}.dash-stat b{display:block;font-size:var(--text-xl);font-weight:700;color:var(--ink-900);line-height:1.1}.dash-stat span{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-500);font-weight:600}.cal-list{display:flex;flex-direction:column;gap:1px}.cal-row{display:flex;align-items:baseline;gap:var(--sp-2);width:100%;padding:var(--sp-2);border:0;border-radius:var(--radius-sm);background:transparent;text-align:left;font:inherit;cursor:pointer;color:var(--sidebar-fg)}.cal-row:hover{background:var(--sidebar-active)}.cal-row:focus-visible{outline:2px solid var(--teal-500);outline-offset:-2px}.cal-row-when{font-size:var(--text-xs);color:var(--sidebar-fg-dim);min-width:52px;flex-shrink:0}.cal-row-what{font-size:var(--text-sm);color:var(--sidebar-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-row-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.cal-dot-event{background:var(--teal-500)}.cal-dot-task{background:var(--warn-700)}.cal-dot-project{background:var(--info-600)}.cal-day-head{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--sidebar-fg-dim);margin-top:var(--sp-3)}.cal-item.ci-project{background:var(--info-100);color:var(--ink-900);border-color:var(--info-600)}.dash-rail .cal-item.ci-project{background:var(--info-600)}.dash-rail .cal-item.ci-event{background:var(--teal-500)}.dash-rail .cal-item.ci-task{background:var(--warn-700)}.cal td.cal-has{cursor:pointer}.cal td.cal-has:hover{background:var(--sidebar-active)}.cal-hours{max-height:320px;overflow-y:auto;margin-top:var(--sp-2)}.cal-hour{display:flex;align-items:stretch;gap:var(--sp-2);min-height:28px}.cal-hour+.cal-hour{border-top:1px solid var(--sidebar-active)}.cal-hour-label{flex:0 0 40px;font-size:var(--text-xs);color:var(--sidebar-fg-dim);padding-top:3px;font-variant-numeric:tabular-nums}.cal-hour-slot{flex:1;min-width:0;padding:2px 0}.cal-hour.is-now{box-shadow:inset 2px 0 0 var(--teal-500)}.cal-hour.is-now .cal-hour-label{color:var(--teal-500);font-weight:700}.cal-allday{padding-bottom:var(--sp-2);border-bottom:1px solid var(--sidebar-active)}.ev-hero{display:flex;align-items:flex-start;gap:var(--sp-5);padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface-1);border-bottom:3px solid var(--teal-600)}.ev-hero-main{flex:1;min-width:0}.ev-hero-name{font-size:var(--text-xl);font-weight:700;color:var(--ink-900);margin-top:var(--sp-2)}.ev-hero-sub{font-size:var(--text-sm);color:var(--ink-500);margin-top:var(--sp-1)}.ev-hero-count{text-align:right;flex-shrink:0}.ev-hero-count b{display:block;font-size:30px;line-height:1;font-weight:700;color:var(--teal-600)}.ev-hero-count span{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-500);font-weight:600}.ev-area-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:var(--sp-3)}.ev-area{display:flex;flex-direction:column;gap:2px;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-1);text-align:left;cursor:pointer;font:inherit;width:100%}.ev-area:hover{border-color:var(--teal-500)}.ev-area:focus-visible{outline:2px solid var(--teal-600);outline-offset:2px}.ev-area b{font-size:var(--text-xl);font-weight:700;color:var(--ink-900);line-height:1.1}.ev-area span{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-500);font-weight:600}.ev-area em{font-size:var(--text-xs);font-style:normal}.grp-area{gap:var(--sp-2)}.grp-area-icon{display:block;color:var(--ink-500)}.grp-area-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7}.grp-area:hover .grp-area-icon{color:var(--teal-600)}.venue-map{display:flex;flex-direction:column;gap:var(--sp-2)}.venue-map-addr{font-size:var(--text-sm);color:var(--ink-700)}.venue-map-frame{width:100%;border:1px solid var(--line);border-radius:var(--radius);display:block;background:var(--surface-sunken)}.venue-map-empty{display:flex;flex-direction:column;gap:var(--sp-2);align-items:flex-start;padding:var(--sp-4);border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface-sunken);font-size:var(--text-sm)}.places-box{display:flex;flex-direction:column;gap:1px;margin-top:var(--sp-2);padding:var(--sp-2);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-1)}.places-hit{display:flex;flex-direction:column;gap:1px;width:100%;padding:var(--sp-2) var(--sp-3);border:0;border-radius:var(--radius-sm);background:transparent;text-align:left;font:inherit;color:var(--ink-900);cursor:pointer}.places-hit:hover{background:var(--surface-sunken)}.places-hit:focus-visible{outline:2px solid var(--teal-600);outline-offset:-2px}.places-hit span{font-size:var(--text-sm)}.places-note{font-size:var(--text-xs);padding:var(--sp-1) var(--sp-3)}.ev-area.is-zero b,.dash-stat.is-zero b,.cal th.is-sunday,.cal td.is-sunday .cal-num{color:var(--err-600)}.dash-rail .cal th.is-sunday,.dash-rail .cal td.is-sunday .cal-num{color:var(--err-100)}[data-theme=dark] .dash-rail .cal th.is-sunday,[data-theme=dark] .dash-rail .cal td.is-sunday .cal-num{color:var(--err-600)}.doc-page{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--sp-8);max-width:76ch}.doc-title{font-size:var(--text-xl);font-weight:650;color:var(--ink-900);line-height:1.25;margin-bottom:var(--sp-2)}.doc-meta{display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-4);padding-bottom:var(--sp-4);border-bottom:1px solid var(--line)}.doc-meta-item{font-size:var(--text-xs);color:var(--ink-500)}.doc-meta-item b{color:var(--ink-700);font-weight:550}.doc-clause{margin-top:var(--sp-6)}.doc-clause-head{display:flex;align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-2)}.doc-clause-no{font-variant-numeric:tabular-nums;font-weight:650;color:var(--ink-500);font-size:var(--text-md)}.doc-clause-name{font-size:var(--text-lg);font-weight:600;color:var(--ink-900);line-height:1.3}.doc-body{color:var(--ink-700);font-size:var(--text-md);line-height:1.65}.doc-p{margin-top:var(--sp-3)}.doc-p:first-child{margin-top:0}.doc-h{margin-top:var(--sp-4);font-size:var(--text-md);font-weight:650;color:var(--ink-900)}.doc-list{margin-top:var(--sp-3);padding-left:var(--sp-5)}.doc-list li{margin-top:var(--sp-1)}.doc-body code{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 4px}.doc-empty{margin-top:var(--sp-6);padding:var(--sp-6);border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--ink-500);font-size:var(--text-sm);text-align:center}.doc-toolbar{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin-bottom:var(--sp-2)}.doc-toolbar .btn{font-family:var(--font-mono)}.doc-editor{font-family:var(--font-mono);line-height:1.6}@media print{body *{visibility:hidden}.doc-page,.doc-page *{visibility:visible}.doc-page{position:absolute;left:0;top:0;width:100%;max-width:none;border:0;border-radius:0;padding:0;background:#fff;color:#000}.doc-page .doc-title,.doc-page .doc-clause-name,.doc-page .doc-h{color:#000}.doc-page .doc-body,.doc-page .doc-meta-item{color:#111}.doc-page .doc-meta{border-bottom:1px solid #999}.doc-clause{break-inside:avoid-page;page-break-inside:avoid}.doc-clause-head{break-after:avoid-page;page-break-after:avoid}.doc-empty,.doc-toolbar{display:none}@page{margin:18mm}}.mb-line{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius)}.mb-line-off{opacity:.62;border-style:dashed}.mb-line-head{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3);align-items:flex-start;justify-content:space-between}.mb-line-name{display:flex;flex-direction:column;gap:2px;min-width:min(100%,16ch)}.mb-line-title{font-size:var(--text-md);font-weight:600;color:var(--ink-900)}.mb-line-cells{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:var(--sp-2) var(--sp-4);padding-top:var(--sp-2);border-top:1px solid var(--line)}.mb-line-foot{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3);align-items:baseline;justify-content:space-between}.mb-line-total{font-size:var(--text-lg);font-weight:640;color:var(--ink-900);font-variant-numeric:tabular-nums}.dt-band>td{padding:0!important;background:transparent}.ag-band{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-1) var(--sp-3)}.ag-band-rule{flex:1;height:2px;border-radius:2px}.ag-band-text{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.ag-band-gap .ag-band-rule{background:var(--warn-700);opacity:.45}.ag-band-gap .ag-band-text{color:var(--warn-700)}.ag-band-overlap .ag-band-rule{background:var(--err-600)}.ag-band-overlap .ag-band-text{color:var(--err-600)}.ag-band-out-of-order .ag-band-rule{background:none;height:0;border-top:2px dashed var(--mag-600);border-radius:0}.ag-band-out-of-order .ag-band-text{color:var(--mag-600)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-width:28px;min-height:28px;padding:4px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ink-500);cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.icon-btn svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.icon-btn svg path[d^="M8.4 5.6"]{fill:currentColor}.icon-btn-text{font-size:var(--text-sm);font-weight:550}.icon-btn:hover:not(:disabled){background:var(--surface-sunken);color:var(--ink-900);border-color:var(--line)}.icon-btn-danger:hover:not(:disabled){background:var(--err-100);color:var(--err-600);border-color:var(--err-600)}.icon-btn:focus-visible{outline:2px solid var(--teal-600);outline-offset:1px}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.row-actions{display:inline-flex;gap:var(--sp-1);justify-content:flex-end}.datefield{position:relative;display:flex;flex-direction:column;gap:4px}.datefield-row{display:flex;gap:var(--sp-2);align-items:stretch}.datefield-row .input{flex:1;min-width:0}.datefield-open{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:0 var(--sp-2);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-2);color:var(--ink-500);cursor:pointer;transition:background .14s ease,color .14s ease}.datefield-open svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.datefield-open:hover:not(:disabled){background:var(--surface-sunken);color:var(--ink-900)}.datefield-open:focus-visible{outline:2px solid var(--teal-600);outline-offset:1px}.datefield-open:disabled{opacity:.5;cursor:not-allowed}.datepop{position:fixed;z-index:120;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);width:max-content;background:var(--surface-1);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.datepop-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.datepop-head .icon-btn svg{stroke-width:1.8}.datepop-month{font-size:var(--text-md);font-weight:620;color:var(--ink-900)}.datepop-weekdays,.datepop-grid{display:grid;grid-template-columns:repeat(7,34px);gap:2px}.datepop-weekdays span{text-align:center;font-size:var(--text-xs);font-weight:600;color:var(--ink-400);text-transform:uppercase}.datepop-grid:focus-visible{outline:2px solid var(--teal-600);outline-offset:3px;border-radius:var(--radius-sm)}.datepop-cell{display:flex;align-items:center;justify-content:center;height:32px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ink-900);font-size:var(--text-sm);cursor:pointer;font-variant-numeric:tabular-nums}.datepop-blank{cursor:default}.datepop-cell:hover:not(:disabled):not(.datepop-blank){background:var(--surface-sunken)}.datepop-cell.on{background:var(--teal-600);color:#fff;font-weight:640}.datepop-cell.today:not(.on){border-color:var(--teal-500)}.datepop-cell:disabled{opacity:.3;cursor:not-allowed;text-decoration:line-through}.datepop-time{display:flex;align-items:center;gap:var(--sp-2)}.datepop-time label{font-size:var(--text-xs);font-weight:600;color:var(--ink-400);text-transform:uppercase}.datepop-part{width:4.5ch;min-width:4.5ch;text-align:center;font-variant-numeric:tabular-nums;padding-left:4px;padding-right:4px}.datepop-foot{display:flex;justify-content:flex-end;gap:var(--sp-2);padding-top:var(--sp-1)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.dt-grip-head{width:34px}.dt-grip{width:34px;padding-right:0!important}.grip-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ink-300);cursor:grab;touch-action:none}.grip-btn:active{cursor:grabbing}.grip-btn svg{width:16px;height:16px;fill:currentColor;stroke:none}.grip-btn:hover{color:var(--ink-700);background:var(--surface-sunken);border-color:var(--line)}.grip-btn:focus-visible{outline:2px solid var(--teal-600);outline-offset:1px;color:var(--ink-900)}tr.dt-dragging>td{opacity:.4}tr.dt-dropzone>td{box-shadow:inset 0 2px 0 0 var(--teal-600)}.drawer-wide{width:1080px;max-width:96vw;right:-1080px;z-index:102}.drawer-wide.show{right:0}.drawer-overlay-2{z-index:101}.drawer-wide .drawer-body{overflow:auto}.mb-sheet{display:none;overflow-x:auto}.mb-cards{display:flex;flex-direction:column;gap:var(--sp-2)}@media(min-width:760px){.mb-sheet{display:block}.mb-cards{display:none}}.mb-table{font-size:var(--text-sm)}.mb-table th,.mb-table td{white-space:nowrap}.mb-table td:first-child{white-space:normal;min-width:22ch}.mb-table .dt-sub{display:block}.mb-total-cell{font-weight:640;color:var(--ink-900)}.mb-row-off>td{opacity:.55}.mb-row-off .mb-line-title{text-decoration:line-through}.toast{position:fixed;z-index:200;right:var(--sp-5);bottom:var(--sp-5);display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);max-width:min(420px,calc(100vw - var(--sp-6)));background:var(--ok-600);color:#fff;border-radius:var(--radius);box-shadow:var(--shadow-md);font-size:var(--text-sm);font-weight:550;animation:toast-in .18s cubic-bezier(.2,.8,.2,1)}.toast-leaving{opacity:0;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease}.toast-tick{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.toast-close{border:0;background:transparent;color:inherit;cursor:pointer;font-size:18px;line-height:1;padding:0 2px;opacity:.8}.toast-close:hover{opacity:1}.toast-close:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:3px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.toast{animation:none}.toast-leaving{transition:opacity .2s ease;transform:none}}.daygrid-scroll{max-height:70vh;overflow-y:auto;overflow-x:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-1)}.daygrid{--daygrid-gutter: 56px;--daygrid-track: .88;position:relative}.daygrid-hour{position:absolute;left:0;right:0;border-top:1px solid var(--line)}.daygrid-hour:first-child{border-top:0}.daygrid-hour-label{position:absolute;left:var(--sp-2);top:2px;font-size:var(--text-xs);color:var(--ink-400);font-variant-numeric:tabular-nums}.daygrid-block{position:absolute;overflow:hidden;display:flex;flex-direction:column;gap:1px;padding:3px var(--sp-2);text-align:left;border:1px solid var(--teal-500);border-left:3px solid var(--teal-600);border-radius:var(--radius-sm);background:var(--teal-050);color:var(--ink-900);cursor:pointer}.daygrid-block:focus-visible{outline:2px solid var(--teal-600);outline-offset:1px}.daygrid-label{font-size:var(--text-sm);font-weight:600;line-height:1.2}.daygrid-sub{font-size:var(--text-xs);color:var(--ink-500)}.daygrid-live{border-color:var(--ok-600);background:var(--ok-100)}.daygrid-draft{border-color:var(--line-strong);border-left-color:var(--ink-300);background:var(--surface-2)}.daygrid-block{padding:0;cursor:grab;touch-action:none}.daygrid-block:hover{background:var(--teal-100)}.daygrid-dragging{cursor:grabbing;box-shadow:var(--shadow-md);z-index:2;opacity:.92}.daygrid-open{display:flex;flex-direction:column;gap:1px;width:100%;height:100%;overflow:hidden;padding:3px var(--sp-2);border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.daygrid-open:focus-visible{outline:2px solid var(--teal-600);outline-offset:-2px}.daygrid-time{font-size:var(--text-xs);font-weight:640;color:var(--teal-700);font-variant-numeric:tabular-nums}.daygrid-people{font-size:var(--text-xs);color:var(--ink-700);font-style:italic}.daygrid-handle{position:absolute;left:0;right:0;height:12px;cursor:ns-resize;touch-action:none}.daygrid-handle-top{top:0}.daygrid-handle-bottom{bottom:0}.daygrid-handle:after{content:"";position:absolute;left:50%;width:30px;height:3px;margin-left:-15px;border-radius:3px;background:var(--teal-600);opacity:0;transition:opacity .12s ease,height .12s ease}.daygrid-handle-top:after{top:2px}.daygrid-handle-bottom:after{bottom:2px}.daygrid-block:hover .daygrid-handle:after,.daygrid-block:focus-within .daygrid-handle:after{opacity:.6}.daygrid-block:hover .daygrid-handle:hover:after{opacity:1;height:4px}.daygrid-dragging .daygrid-handle:after{opacity:1}.daygrid-block{min-height:24px}.daygrid-live .daygrid-time{color:var(--ok-600)}.daygrid-draft .daygrid-time{color:var(--ink-500)}.page-titlerow{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3) var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-5)}.page-titlerow>:first-child{min-width:min(100%,22ch)}.page-titlerow .page-intro{margin-bottom:0}.page-titlecell{flex:1 1 22ch;min-width:min(100%,22ch)}.page-titleline{display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap}.page-titlemeta{font-size:var(--text-sm);color:var(--ink-400)}.page-headtools{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.page-headtools .btn{flex:0 0 auto}.page-titlerow-tight{margin-bottom:var(--sp-3)}.page-headsearch{max-width:420px;margin-bottom:var(--sp-5)}.daygrid-hint{flex:1 1 auto;min-width:0}.daygrid-dayhead{display:flex;align-items:center;gap:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.daygrid-daytitle{font-size:var(--text-lg);font-weight:620;color:var(--ink-900);margin:0 var(--sp-2) 0 0}.daygrid-dayhead .icon-btn svg{stroke-width:1.8}.daygrid-oneline{display:flex;align-items:baseline;gap:var(--sp-2);min-width:0;white-space:nowrap}.daygrid-oneline .daygrid-label{overflow:hidden;text-overflow:ellipsis;min-width:0}.daygrid-oneline .daygrid-time{flex:none}.daygrid-open>*{flex:none}.daygrid-label,.daygrid-sub,.daygrid-people{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tagpick{position:relative;display:flex;flex-direction:column;gap:var(--sp-2)}.tagpick-chosen{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.tagpick-tag{display:inline-flex;align-items:center;gap:var(--sp-1);padding:3px var(--sp-2);border-radius:999px;background:var(--teal-100);color:var(--teal-700);font-size:var(--text-sm);font-weight:550}.tagpick-own{background:var(--surface-2);color:var(--ink-700);border:1px dashed var(--line-strong)}.tagpick-tag em{font-style:normal;font-size:var(--text-xs);opacity:.7}.tagpick-tag button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:15px;line-height:1;padding:0 1px;opacity:.7;min-width:20px;min-height:20px}.tagpick-tag button:hover{opacity:1}.tagpick-tag button:focus-visible{outline:2px solid var(--teal-600);outline-offset:1px;border-radius:3px}.tagpick-menu{position:absolute;z-index:30;top:100%;left:0;right:0;margin-top:4px;max-height:240px;overflow-y:auto;background:var(--surface-1);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow-md)}.tagpick-opt{display:flex;align-items:baseline;gap:var(--sp-2);width:100%;padding:6px var(--sp-3);border:0;background:transparent;text-align:left;cursor:pointer;font:inherit;color:var(--ink-900)}.tagpick-opt:hover{background:var(--surface-sunken)}.tagpick-opt:focus-visible{outline:2px solid var(--teal-600);outline-offset:-2px}.tagpick-opt em{font-style:normal;font-size:var(--text-xs);color:var(--ink-400)}.tagpick-add{font-weight:600;color:var(--teal-700);border-bottom:1px solid var(--line)}.tagpick-empty{display:block;padding:6px var(--sp-3);font-size:var(--text-sm);color:var(--ink-400)}.perf-photo{display:flex;flex-direction:column;gap:var(--sp-2);flex:none}.perf-photo-box{width:96px;aspect-ratio:3 / 4;flex:none;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-sunken);overflow:hidden;display:flex;align-items:center;justify-content:center}.perf-photo-box img{width:100%;height:100%;object-fit:cover;display:block}.perf-photo-empty{font-size:var(--text-xs);color:var(--ink-400);text-align:center}.perf-photo-actions{display:flex;flex-direction:column;gap:var(--sp-1)}.perf-identity{display:flex;gap:var(--sp-4);align-items:flex-start}.perf-identity>label{flex:1;min-width:0}.perf-photo-count{font-size:var(--text-xs);color:var(--ink-400);max-width:96px;line-height:1.35}.am-table{border-collapse:separate;border-spacing:0;font-size:var(--text-sm)}.am-table th[scope=row],.am-corner{position:sticky;left:0;z-index:2;background:var(--surface-1);text-align:right;white-space:nowrap;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line);font-weight:400;color:var(--ink-700)}.am-table thead th{position:sticky;top:0;z-index:3;background:var(--surface-1)}.am-corner{z-index:4}.am-grouphead{background:var(--surface-2);color:var(--ink-700);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line)}.am-rolehead{padding:var(--sp-2) var(--sp-1);border-bottom:1px solid var(--line);vertical-align:bottom}.am-rolename{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;font-weight:500;color:var(--ink-700);font-size:var(--text-xs);max-height:11rem}.am-section th{background:var(--surface-sunken);color:var(--ink-900);text-align:left;font-weight:600;font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line)}.am-cap .am-action{text-transform:none}.am-flag{margin-left:var(--sp-2);padding:0 var(--sp-1);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--ink-500)}.am-table td{text-align:center;padding:var(--sp-1) var(--sp-2);border-bottom:1px solid var(--line)}.am-inherited{border-bottom:1px dotted var(--ink-400)}.am-mark{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:50%;font-size:var(--text-sm);line-height:1}.am-edit{background:var(--teal-100);color:var(--teal-700)}.am-view{background:var(--ok-100);color:var(--ok-600)}.am-deny{background:var(--err-100);color:var(--err-600)}.am-none{background:transparent;color:var(--ink-300);border:1px solid var(--line)}button.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;cursor:pointer}button.chip:focus-visible{outline:2px solid var(--teal-600);outline-offset:2px}.fb-chip-on{border-color:var(--teal-600);background:var(--teal-100);color:var(--teal-700);font-weight:600}.am-cell-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;display:inline-flex;border-radius:50%}.am-cell-btn:hover .am-mark{outline:1px solid var(--line-strong)}.am-cell-btn:focus-visible{outline:2px solid var(--teal-600);outline-offset:2px}.am-cell-btn:disabled{cursor:progress;opacity:.5}.am-legend{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--ink-500);font-size:var(--text-xs)}.am-section-label{position:sticky;left:var(--sp-3);display:inline-block}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,172px));gap:var(--sp-3);margin:var(--sp-3) 0 var(--sp-5)}.tile{aspect-ratio:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;gap:var(--sp-1);padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-1);color:var(--ink-900);text-decoration:none}.tile:hover{border-color:var(--teal-600);background:var(--surface-2)}.tile:focus-visible{outline:2px solid var(--teal-600);outline-offset:2px;border-color:var(--teal-600)}.tile-name{font-weight:600;font-size:var(--text-md);line-height:1.2}.tile-hint{font-size:var(--text-xs);color:var(--ink-500);line-height:1.35}@media(max-width:640px){.dt-wrap{background:none;border:0;border-radius:0;box-shadow:none;overflow:visible}.dt,.dt tbody,.dt tr,.dt td{display:block;width:auto}.dt thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dt tbody tr{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--sp-2);margin-bottom:var(--sp-2)}.dt tbody tr:last-child{margin-bottom:0}.dt td{padding:var(--sp-1) 0;border:0}.dt td[data-label]:before{content:attr(data-label);display:block;margin-bottom:2px;color:var(--ink-400);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em}.dt td.num,.dt td .num{text-align:left}.dt td.dt-grip{grid-template-columns:minmax(0,1fr)}}.clicker{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.clicker-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-1);min-height:168px;padding:var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface-1);color:var(--ink-900);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}.clicker-btn:active{transform:scale(.98);background:var(--surface-2)}.clicker-sign{font-size:2.5rem;font-weight:700;font-variant-numeric:tabular-nums}.clicker-label{font-size:var(--text-sm);color:var(--ink-400);text-transform:uppercase;letter-spacing:.06em}.clicker-in{border-color:var(--teal-600)}.clicker-out{border-color:var(--ink-300)}@media(prefers-reduced-motion:reduce){.clicker-btn:active{transform:none}}.zone-grid{display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.zone-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.zone-figure{font-size:2rem;font-weight:650;margin:var(--sp-2) 0 0}.zone-unknown{font-size:var(--text-sm);font-weight:500;color:var(--ink-400)}.zone-tile.is-nested{border-left:3px solid var(--line-strong)}.alert-card{border-left:3px solid var(--danger, #c0392b)}.alert-card.is-acked{border-left-color:var(--line-strong);opacity:.85}.report-controls{display:grid;gap:var(--sp-2) var(--sp-3);grid-template-columns:max-content minmax(0,1fr);align-items:center}@media(max-width:640px){.report-controls{grid-template-columns:minmax(0,1fr)}}.chart{width:100%;height:200px;display:block}.chart-line{fill:none;stroke:var(--teal-600);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.chart-capacity{stroke:var(--ink-300);stroke-width:1;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.heat-wrap{overflow-x:auto}.heat{border-collapse:collapse}.heat th{font-size:var(--text-xs);color:var(--ink-400);font-weight:500;padding:2px 4px}.heat th[scope=row]{text-align:left;white-space:nowrap;padding-right:var(--sp-2)}.heat td{padding:1px}.heat-cell{display:block;width:14px;height:14px;border-radius:2px;background:var(--teal-600)}.share-row{display:grid;grid-template-columns:minmax(80px,140px) minmax(0,1fr) max-content;gap:var(--sp-2);align-items:center}.share-name{font-size:var(--text-sm)}.share-bar{display:block;height:12px;border-radius:6px;background:var(--surface-2);overflow:hidden}.share-fill{display:block;height:100%;background:var(--teal-600)}.share-pct{font-size:var(--text-sm);white-space:nowrap}.plan-surface{position:relative;display:block;width:100%;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-2)}.plan-surface.is-placing{cursor:crosshair;outline:2px solid var(--teal-600)}.plan-img{display:block;width:100%;height:auto}.plan-pin{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:1px;padding:4px 8px;border-radius:var(--radius-md);background:var(--surface-1);border:1px solid var(--line-strong);box-shadow:var(--shadow-sm);white-space:nowrap}.plan-pin-name{font-size:var(--text-xs);font-weight:640}.plan-pin-nums{font-size:var(--text-xs);color:var(--ink-400)}.plan-pin-x{position:absolute;top:-8px;right:-8px;width:18px;height:18px;line-height:1;padding:0;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface-1);color:var(--ink-400);cursor:pointer}.plan-chips{flex-wrap:wrap;justify-content:flex-start}.approver-list{max-height:280px;overflow-y:auto;gap:var(--sp-1)}.approver-row{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1);border-radius:var(--radius-md);cursor:pointer}.approver-row:hover{background:var(--surface-2)}.approver-row span{display:inline-flex;align-items:center;gap:var(--sp-1)}.quarantine-tabs{justify-content:flex-start}.notice-inline{padding:var(--sp-2);border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--text-sm)}.mail-body{margin:0;padding:var(--sp-2);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--text-xs);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow-y:auto}.row-between{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2)}.line-row{padding:var(--sp-1) 0;border-bottom:1px solid var(--line)}.line-row:last-child{border-bottom:0}.quote-line-fields{display:grid;gap:var(--sp-2);grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:640px){.quote-line-fields{grid-template-columns:minmax(0,1fr)}}.app{display:grid;grid-template-columns:var(--rail-w) var(--panel-w) 1fr;height:100vh;overflow:hidden}.app.collapsed{grid-template-columns:var(--rail-w) var(--rail-w) 1fr}.rail{background:var(--sidebar-bg);color:var(--sidebar-fg-dim);display:flex;flex-direction:column;align-items:center;overflow:visible}.rail-brand{height:var(--topbar-h);display:grid;place-items:center;width:100%;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.rail-btns{flex:1;overflow:visible;padding:9px 0;display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}.rail-btn{width:40px;height:40px;border:0;background:transparent;border-radius:12px;color:inherit;cursor:pointer;display:grid;place-items:center;position:relative;flex-shrink:0}.rail-btn:hover,.rail-btn.active{background:var(--sidebar-active);color:#fff}.rail-btn.active:before{content:"";position:absolute;left:-8px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--teal-500)}.rail-btn svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.rail-tip{position:absolute;left:47px;top:50%;transform:translateY(-50%) translate(-6px);background:var(--sidebar-bg);color:var(--sidebar-fg);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:7px 10px;width:210px;text-align:left;display:flex;flex-direction:column;gap:2px;opacity:0;pointer-events:none;z-index:20;transition:opacity .14s ease,transform .14s ease}.rail-tip b{font-size:11.5px;font-weight:650;color:#fff}.rail-tip i{font-size:10.5px;font-style:normal;opacity:.68;line-height:1.4}.rail-btn:focus-visible .rail-tip{opacity:1;transform:translateY(-50%) translate(0)}.panel{background:var(--surface-1);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden;min-width:0}.panel-head{height:var(--topbar-h);flex-shrink:0;display:flex;align-items:center;gap:9px;padding:0 12px;border-bottom:1px solid var(--line)}.panel-icon{width:22px;height:22px;display:grid;place-items:center;color:var(--teal-600);flex-shrink:0}.panel-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.panel-title{font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-900)}.panel-hint{padding:10px 12px 2px;font-size:var(--text-xs);line-height:1.45;color:var(--ink-400)}.panel-list{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:2px}.panel-foot{padding:12px;border-top:1px solid var(--line);flex-shrink:0;display:flex;flex-direction:column;align-items:stretch;gap:10px}.panel-foot-user{display:flex;align-items:center;gap:10px}.foot-collapse{width:27px;height:27px;margin-left:auto;border:0;background:transparent;border-radius:7px;display:grid;place-items:center;color:var(--ink-400);flex-shrink:0;cursor:pointer;transition:background .14s ease,color .14s ease,transform .14s ease}.foot-collapse:hover{background:var(--surface-sunken);color:var(--ink-900)}.foot-collapse:active{transform:scale(.9)}.foot-collapse:focus-visible{outline:none;background:var(--surface-sunken);box-shadow:0 0 0 3px var(--teal-100)}.foot-collapse svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .22s cubic-bezier(.4,0,.2,1)}.foot-collapse.rot svg{transform:rotate(180deg)}.app.collapsed .panel,.app.collapsed .panel-list{overflow:visible}.app.collapsed .panel-title,.app.collapsed .panel-hint,.app.collapsed .nav-label,.app.collapsed .foot-units,.app.collapsed .sidebar-foot-txt{display:none}.app.collapsed .panel-head{justify-content:center;padding:0}.app.collapsed .panel-icon{width:100%}.app.collapsed .nav-item{justify-content:center;padding:9px 0}.app.collapsed .panel-foot{padding:8px 0}.app.collapsed .panel-foot-user{flex-direction:column;gap:8px}.app.collapsed .foot-collapse{margin-left:0}.app.collapsed .nav-item:hover .nav-fly,.app.collapsed .nav-item:focus-visible .nav-fly{display:block;position:absolute;left:46px;top:50%;transform:translateY(-50%);background:var(--surface-2);color:var(--ink-900);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:6px 10px;white-space:nowrap;font-size:var(--text-sm);font-weight:520;z-index:90;pointer-events:none}.foot-units{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.foot-units-label{font-size:var(--text-xs);color:var(--ink-400);flex-shrink:0}.foot-units-ctl{position:relative;display:inline-flex;min-width:0}.foot-units-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:2px 15px 2px 4px;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;line-height:1.5;color:var(--ink-700);max-width:100%;text-overflow:ellipsis;cursor:pointer}.foot-units-select:hover:not(:disabled){background:var(--surface-sunken);border-color:var(--line)}.foot-units-select:focus-visible{outline:none;background:var(--surface-sunken);border-color:var(--teal-600);box-shadow:0 0 0 3px var(--teal-100)}.foot-units-select:disabled{color:var(--ink-400);cursor:not-allowed}.foot-units-ctl:after{content:"";position:absolute;right:5px;top:50%;margin-top:-1px;width:0;height:0;border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-top:4px solid var(--ink-400);pointer-events:none}.foot-units-hint{flex-basis:100%;font-size:var(--text-xs);line-height:1.35;color:var(--ink-400)}.foot-units-err{color:var(--err-600)}:root{--brand-dot: #D62755}.brand-mark{display:flex;align-items:baseline;gap:1px;font-weight:700;font-size:19px;letter-spacing:-.02em;color:var(--sidebar-fg);flex-shrink:0;line-height:1}.brand-mark:after{content:".";color:var(--brand-dot);font-weight:900}.brand-word{font-weight:700;font-size:15px;color:#fff;letter-spacing:-.02em}.brand-word b{color:var(--brand-dot);font-weight:900}.brand-word .cl{font-weight:600;opacity:.68}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius);color:var(--ink-700);font-size:var(--text-sm);font-weight:520;cursor:pointer;text-decoration:none;position:relative}.nav-item:hover{background:var(--surface-sunken)}.nav-icon{width:20px;height:20px;display:grid;place-items:center;flex-shrink:0;color:var(--ink-400);transition:color .14s ease}.nav-icon svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.nav-item:hover .nav-icon{color:var(--ink-700)}.nav-item.active .nav-icon{color:var(--teal-600)}.nav-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-fly{display:none}.nav-item.active{background:var(--teal-050);color:var(--teal-700);font-weight:620}.nav-item.active:before{content:"";position:absolute;left:-8px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--teal-600)}.sidebar-foot-txt{font-size:var(--text-xs);color:var(--ink-400)}.main{display:flex;flex-direction:column;overflow:hidden;min-width:0}.topbar{height:var(--topbar-h);flex-shrink:0;background:var(--surface-1);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-4)}.topbar-title{font-size:var(--text-md);font-weight:620;color:var(--ink-900)}.topbar-spacer{flex:1}.content{flex:1;overflow-y:auto;scroll-behavior:smooth}.page{max-width:var(--maxw);margin:0 auto;padding:var(--sp-5) var(--sp-6) 64px}.page-title{font-size:var(--text-xl);font-weight:650;letter-spacing:-.02em;color:var(--ink-900)}.page-intro{color:var(--ink-500);margin-top:var(--sp-2);max-width:640px}.nav-item.is-unbuilt{cursor:default;color:var(--sidebar-fg-dim);opacity:.62}.nav-item.is-unbuilt:hover{background:none;color:var(--sidebar-fg-dim)}.nav-unbuilt{margin-left:auto;flex-shrink:0;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--sidebar-fg-dim)}.collapsed .nav-unbuilt{display:none}.nav-item.is-child .nav-label{padding-left:var(--sp-4)}.portal{min-height:100vh;display:flex;flex-direction:column;background:var(--surface-0)}.portal-top{height:var(--topbar-h);flex-shrink:0;background:var(--surface-1);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-5)}.portal-top .brand-word{color:var(--ink-900)}.portal-top .brand-word b{color:var(--teal-600)}.portal-tag{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-400);font-weight:600}.portal-main{flex:1;overflow-y:auto}.portal-page{max-width:760px;margin:0 auto;padding:var(--sp-6) var(--sp-5) 64px}.portal-card{margin-top:var(--sp-4);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-1)}.portal-card-head{display:flex;align-items:center;gap:var(--sp-3)}.signin-wrap{min-height:100vh;display:grid;place-items:center;padding:var(--sp-6)}.signin-card{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--sp-8);max-width:400px;width:100%;text-align:center}.signin-card .brand-word{color:var(--ink-900);font-size:var(--text-xl)}.signin-card .brand-word b{color:var(--teal-600)}.signin-actions{display:flex;gap:var(--sp-2);justify-content:center;margin-top:var(--sp-5)}.rail-mode{position:relative;width:100%;display:flex;justify-content:center;padding:var(--sp-2) 0 var(--sp-1)}.rail-mode-dot{width:7px;height:7px;border-radius:50%;background:var(--teal-500);box-shadow:0 0 0 3px #14948438}.context-bar{flex-shrink:0;display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding:9px var(--sp-4);background:var(--surface-1);border-bottom:1px solid var(--line);font-size:var(--text-sm);color:var(--ink-500)}.context-bar .cb{display:flex;align-items:center;gap:6px;min-width:0}.context-bar .cb b{color:var(--ink-900);font-weight:620}.context-bar .cb svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;color:var(--ink-400);flex-shrink:0}.context-divider{width:1px;height:14px;background:var(--line-strong);flex-shrink:0}.cb-spacer{flex:1}.cb-leave{color:var(--teal-600);font-weight:600;font-size:var(--text-xs);text-decoration:none;padding:3px 9px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);white-space:nowrap;transition:background .13s ease,color .13s ease,border-color .13s ease}.cb-leave:hover{background:var(--teal-050);color:var(--teal-700);border-color:var(--teal-500)}.cb-leave:focus-visible{outline:2px solid var(--teal-600);outline-offset:2px}.tabs-wrap{flex-shrink:0;background:var(--surface-1);border-bottom:1px solid var(--line);padding:0 var(--sp-4);overflow-x:auto}.tabs{display:flex;align-items:flex-end;gap:1px;position:relative;min-width:max-content}.tab{padding:9px 13px;font-size:var(--text-sm);font-weight:550;color:var(--ink-500);border:0;background:transparent;white-space:nowrap;cursor:pointer;border-radius:var(--radius) var(--radius) 0 0;display:inline-flex;align-items:center;gap:6px;position:relative;transition:color .13s ease,background .13s ease}.tab:hover{color:var(--ink-900);background:var(--surface-sunken)}.tab.on{color:var(--teal-700);font-weight:640}.tab:focus-visible{outline:2px solid var(--teal-600);outline-offset:-2px}.tab .tn{font-size:10px;font-weight:700;padding:0 6px;border-radius:9px;background:var(--surface-sunken);color:var(--ink-400);font-variant-numeric:tabular-nums;transition:background .13s ease,color .13s ease}.tab.on .tn{background:var(--teal-100);color:var(--teal-700)}.tab-chev{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.tab-ink{position:absolute;bottom:0;left:0;height:2px;width:0;border-radius:2px 2px 0 0;background:var(--teal-600);pointer-events:none;transition:transform .26s cubic-bezier(.22,.61,.36,1),width .26s cubic-bezier(.22,.61,.36,1)}@media(prefers-reduced-motion:reduce){.tab-ink{transition:none}}.tab-more-wrap{position:relative}.menu.tab-menu{position:absolute;top:calc(100% + 3px);left:0;min-width:200px;z-index:40;background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:4px;display:none}.menu.tab-menu.show{display:block}.menu.tab-menu .menu-item{display:block;width:100%;text-align:left;border:0;background:transparent;padding:7px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);color:var(--ink-700)}.menu.tab-menu .menu-item:hover{background:var(--surface-sunken);color:var(--ink-900)}.menu.tab-menu .menu-item.on{color:var(--teal-700);font-weight:620}.app.no-panel{grid-template-columns:var(--rail-w) 1fr}@media(max-width:900px){.foot-collapse{display:none}.page{padding:var(--sp-4) var(--sp-4) 48px}}.rigfold-token-probe{color:var(--teal-600);font-family:var(--font-ui);font-size:var(--text-md)}.rigfold-num{font-variant-numeric:tabular-nums;text-align:right}.rigfold-tnum{font-variant-numeric:tabular-nums}.rigfold-serial{font-family:var(--font-mono);font-size:var(--text-sm)}.rigfold-status-icon{font-family:var(--font-mono);margin-right:var(--sp-1)}.rigfold-kv{display:flex;gap:var(--sp-2);align-items:baseline}.rigfold-kv dt{color:var(--ink-500);font-size:var(--text-sm);min-width:9rem}.rigfold-kv dd{color:var(--ink-900);font-size:var(--text-md)}.rigfold-tabs{max-width:100%;overflow-x:auto}.rigfold-prep{min-height:100dvh;background:var(--surface-0);color:var(--ink-900);display:flex;flex-direction:column}.rigfold-prep-shell{width:100%;max-width:var(--maxw);margin:0 auto;padding:var(--sp-4)}.rigfold-prep-bar{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-3) var(--sp-4);background:var(--surface-1);border-bottom:1px solid var(--line)}.rigfold-prep-bar-title{font-size:var(--text-md);font-weight:600}.rigfold-prep-bar-sub{font-size:var(--text-sm);color:var(--ink-500)}.rigfold-prep-verdict{padding:var(--sp-5) var(--sp-4);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:var(--sp-4);background:var(--surface-1);min-height:calc(var(--sp-8) * 3)}.rigfold-prep-verdict.is-ok{background:var(--ok-100);border-bottom-color:var(--ok-600)}.rigfold-prep-verdict.is-err{background:var(--err-100);border-bottom-color:var(--err-600)}.rigfold-prep-icon{font-family:var(--font-mono);font-size:calc(var(--text-xl) * 2);line-height:1;flex:none}.rigfold-prep-verdict.is-ok .rigfold-prep-icon,.rigfold-prep-verdict.is-ok .rigfold-prep-word{color:var(--ok-600)}.rigfold-prep-verdict.is-err .rigfold-prep-icon,.rigfold-prep-verdict.is-err .rigfold-prep-word{color:var(--err-600)}.rigfold-prep-verdict.is-idle .rigfold-prep-icon,.rigfold-prep-verdict.is-idle .rigfold-prep-word{color:var(--ink-400)}.rigfold-prep-word{font-size:calc(var(--text-xl) * 1.6);font-weight:700;letter-spacing:.02em;line-height:1.1}.rigfold-prep-said{font-size:var(--text-md);color:var(--ink-700)}.rigfold-prep-detail{font-family:var(--font-mono);font-size:var(--text-md);color:var(--ink-900);word-break:break-all}.rigfold-prep-scanwrap{padding:var(--sp-4);background:var(--surface-1);border-bottom:1px solid var(--line)}input.rigfold-prep-scan{width:100%;font-family:var(--font-mono);font-size:calc(var(--text-lg) * 1.5);padding:var(--sp-4);height:auto}.rigfold-prep-meta{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);font-size:var(--text-sm);color:var(--ink-500)}.rigfold-prep-progress{height:var(--sp-2);background:var(--surface-sunken);border-radius:var(--radius-sm);overflow:hidden}.rigfold-prep-progress-fill{height:100%;background:var(--ok-600)}.rigfold-prep-list{padding:var(--sp-2) var(--sp-4) var(--sp-8);display:flex;flex-direction:column;gap:var(--sp-1)}.rigfold-prep-row{display:flex;align-items:baseline;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-1);font-size:var(--text-md)}.rigfold-prep-row.is-done{background:var(--surface-sunken);color:var(--ink-500)}.rigfold-prep-row-code{font-family:var(--font-mono);font-size:var(--text-sm);flex:none;min-width:9rem}.rigfold-prep-row-name{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.rigfold-prep-row-count{font-variant-numeric:tabular-nums;flex:none}@media(max-width:30rem){.rigfold-prep-row{flex-wrap:wrap}.rigfold-prep-row-code{min-width:0}.rigfold-prep-verdict{flex-wrap:wrap;gap:var(--sp-3)}}.rigfold-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.field-grid>.field{min-width:0}
