@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--radius-sm:.25rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container{container-type:inline-size}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-20{top:calc(var(--spacing)*20)}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.\!hidden{display:none!important}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.flex-shrink{flex-shrink:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.font-mono{font-family:var(--font-mono)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.\[docstore\:migrate\]{docstore:migrate}.\[gmail\:simulated\]{gmail:simulated}}.fresh-gradient{background-color:#86efac;background-image:linear-gradient(to bottom right,#dbeafe,#bbf7d0,#fef9c3)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}:root{--side-bg: #18181b;--side-ink: #d4d4d8;--side-mute: #71717a;--side-active-bg: color-mix(in srgb, var(--side-ink) 10%, transparent);--side-active-bar: transparent;--topbar-bg: #ffffff;--content-bg: #fafafa;--card: #ffffff;--line: #e4e4e7;--line-strong: #d4d4d8;--ink: #18181b;--ink-2: #3f3f46;--ink-3: #71717a;--ink-4: #a1a1aa;--accent: #18181b;--accent-hover: #27272a;--accent-soft: #f4f4f5;--accent-ring: #18181b;--ok: #15803d;--ok-bg: #f0fdf4;--ok-ring: #bbf7d0;--warn: #b45309;--warn-bg: #fffbeb;--warn-ring: #fde68a;--info: #1d4ed8;--info-bg: #eff6ff;--info-ring: #bfdbfe;--danger: #dc2626;--danger-bg: #fef2f2;--danger-ring: #fecaca;--ok-ink: #166534;--warn-ink: #92400e;--danger-ink: #b91c1c;--muted: #71717a;--muted-bg: #f4f4f5;--muted-ring: #e4e4e7;--ctl-h: 36px;--ctl-h-sm: 28px;--ctl-px: 16px;--ctl-px-sm: 11px;--radius: 8px;--radius-lg: 8px;--radius-sm: 6px;--shadow: 0 1px 2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--btn-weight: 500;--head-weight: 600;--bg-soft: #fafafa;--lh-navy: #1c2128;--lh-muted: #5e9fb3;--lh-text2: #5a6270;--lh-text3: #8a909c;--lh-cream: #f6f2ec;--lh-line: #e4e1dc;--lh-rule: #ecebe8;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;padding:0}body{font-family:var(--sans);font-size:14px;color:var(--ink);background:var(--content-bg);-webkit-font-smoothing:antialiased;letter-spacing:-.005em}.app{display:grid;grid-template-columns:180px 1fr;grid-template-rows:100vh;height:100vh;width:100%;min-width:0;overflow:hidden;background:var(--content-bg)}.side{background:var(--side-bg);color:var(--side-ink);display:flex;flex-direction:column;overflow-y:auto}.side .brand{display:flex;align-items:center;gap:9px;padding:15px 14px 13px;border-bottom:1px solid var(--accent-hover)}.side .brand .logo{width:26px;height:26px;border-radius:6px;background:var(--accent);color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}.side .brand .name{font-weight:650;font-size:13px;color:var(--bg-soft);letter-spacing:-.01em}.side .nav{padding:8px;flex:1;min-height:0;overflow-y:auto}.side .nav .grp{font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--side-mute);padding:11px 8px 4px}.side .nav a.item{display:flex;align-items:center;gap:3px;padding:6px 8px;margin:1px 0;border-radius:6px;color:var(--side-ink);text-decoration:none;font-size:12.5px;font-weight:400;position:relative}.side .nav a.item:hover{background:var(--side-active-bg);color:var(--bg-soft)}.side .nav a.item.on{background:var(--side-active-bg);color:#fff}.side .nav a.item .count{margin-left:auto;font-size:10.5px;color:var(--side-mute)}.side .foot{padding:12px 14px;border-top:1px solid var(--accent-hover);font-size:11px;color:var(--side-mute);display:flex;align-items:center;gap:5px;white-space:nowrap;min-width:0}.side .foot .who{color:var(--side-ink);font-weight:400;overflow:hidden;text-overflow:ellipsis}.side .foot .sep{color:var(--side-mute);flex:none}.main{display:flex;flex-direction:column;min-width:0;min-height:0}.topbar{display:flex;align-items:center;gap:14px;height:54px;padding:0 22px;background:var(--topbar-bg);border-bottom:1px solid var(--line);flex-shrink:0}.topbar h1{font-size:16px;font-weight:650;margin:0;letter-spacing:-.01em}.topbar .crumb{font-size:13px;color:var(--ink-3);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-toggle{display:none}.nav-btn{display:none;align-items:center;height:var(--ctl-h-sm);padding:0 10px;border:1px solid var(--line-strong);border-radius:7px;font-size:12.5px;color:var(--ink-2);cursor:pointer;flex:none}@media(max-width:700px){.app{grid-template-columns:minmax(0,1fr)}.nav-btn{display:inline-flex}.side{position:fixed;inset:0 auto 0 0;width:240px;z-index:40;transform:translate(-100%);transition:transform .14s ease;box-shadow:0 0 0 1px #0000000a}.nav-toggle:checked~.side{transform:none}.nav-toggle:checked~.main:after{content:"";position:fixed;inset:0;background:#00000040;z-index:30}.topbar{padding:0 16px;gap:8px}.topbar .search{width:auto;min-width:0;flex:1;max-width:160px}}.topbar .spacer{flex:1}.topbar .search{display:flex;align-items:center;gap:8px;border:1px solid var(--line-strong);border-radius:8px;padding:6px 12px;width:240px;background:var(--bg-soft);color:var(--ink-4);font-size:12.5px}.content{flex:1;overflow-y:auto;padding:20px 22px 40px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:var(--ctl-h);padding:0 var(--ctl-px);border-radius:var(--radius);border:1px solid transparent;font:inherit;letter-spacing:inherit;font-size:13px;font-weight:var(--btn-weight);cursor:pointer;text-decoration:none;white-space:nowrap;background:var(--card);color:var(--ink);border-color:var(--line-strong);box-shadow:var(--shadow);transition:background .12s,border-color .12s,color .12s}.btn:hover{background:var(--bg-soft)}a.btn,a.btn:hover{text-decoration:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-hover)}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--ink-2)}.btn.ghost:hover{background:var(--accent-soft);color:var(--ink)}.btn.ghost.ok{color:var(--ok-ink);font-weight:600}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.danger:hover{background:var(--danger);filter:brightness(.94)}.btn.danger-outline{background:transparent;border-color:var(--danger);color:var(--danger-ink);box-shadow:none}.btn.danger-outline:hover{background:var(--danger-bg);border-color:var(--danger-ink)}.btn.sm{height:var(--ctl-h-sm);padding:0 var(--ctl-px-sm);font-size:12px;border-radius:var(--radius-sm)}.btn.ic{width:var(--ctl-h);padding:0}.btn.ic.sm{width:var(--ctl-h-sm)}.btn.outline{background:transparent;border-color:var(--line-strong);box-shadow:none;outline:none}.btn.outline:hover{background:var(--accent-soft)}.btn .arr{font-size:15px;line-height:1}.btn.solid{background:var(--ink);border-color:var(--ink);color:#fff}.btn.solid:hover{background:var(--accent-hover)}.btn.link{background:none;border:none;box-shadow:none;color:var(--accent);padding:0 6px;height:auto}.btn.link:hover{background:none;text-decoration:underline}.btn.link.danger{color:var(--danger)}.btn.link.danger:hover{color:var(--danger-ink)}.btn:disabled{opacity:.5;cursor:default;pointer-events:none}.input,.select,.textarea{border:1px solid var(--line-strong);border-radius:var(--radius);height:var(--ctl-h);padding:0 11px;font-size:13px;font-family:var(--sans);color:var(--ink);background:var(--card);box-shadow:var(--shadow);outline:none;transition:border-color .12s,box-shadow .12s}.textarea{height:auto;padding:9px 11px;resize:vertical;line-height:1.5}.input.sm,.select.sm,.textarea.sm{height:var(--ctl-h-sm);padding:0 9px;font-size:12px;border-radius:var(--radius-sm)}.textarea.sm{height:auto;padding:6px 9px}.input:hover,.select:hover,.textarea:hover{border-color:var(--ink-4)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--bg-soft);color:var(--ink-3);cursor:not-allowed}.input:focus,.select:focus,.textarea:focus{outline:none}:is(.input,.select,.textarea,.btn,.tabs a,.tab):focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.input::placeholder,.textarea::placeholder{color:var(--ink-4)}.select{appearance:none;padding-right:30px;background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);background-position:calc(100% - 15px) 55%,calc(100% - 10px) 55%;background-size:5px 5px;background-repeat:no-repeat}.field{display:flex;flex-direction:column;gap:5px}.field .lbl{font-size:12.5px;font-weight:550;color:var(--ink-2)}.field .hint{font-size:11.5px;color:var(--ink-3)}.field .hint{font-size:11px;color:var(--ink-4)}.check,.checkrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}.check input:not(.switch),.checkrow input:not(.switch),input.check,input.radio{display:inline-block;width:15px;height:15px;margin:0;flex:none;accent-color:var(--accent)}input.radio{border-radius:50%}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:550;letter-spacing:inherit;border-radius:999px;padding:2.5px 10px;border:1px solid transparent;white-space:nowrap}.pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.pill.ok{color:var(--ok);background:var(--ok-bg);border-color:var(--ok-ring)}.pill.warn{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-ring)}.pill.info{color:var(--info);background:var(--info-bg);border-color:var(--info-ring)}.pill.danger{color:var(--danger);background:var(--danger-bg);border-color:var(--danger-ring)}.pill.muted{color:var(--muted);background:var(--muted-bg);border-color:var(--muted-ring)}.pill.accent{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 25%,transparent)}.scope{display:inline-flex;align-items:center;gap:6px;height:var(--ctl-h-sm);padding:0 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-soft);font-family:var(--mono);font-size:11.5px;letter-spacing:.02em;color:var(--ink-2);white-space:nowrap}.scope .lb{color:var(--ink-3)}.jlist{display:inline-flex;align-items:baseline;gap:0;font-family:var(--mono);font-size:11.5px;color:var(--ink-3);white-space:nowrap}.jlist .sep{color:var(--ink-4);padding:0 5px}.jlist .jdef{color:var(--ink);font-weight:600}.rowmenu{position:relative;display:inline-flex;justify-content:flex-end}.rowmenu-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:190px;display:flex;flex-direction:column;padding:4px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.rowmenu-panel a{display:block;padding:7px 10px;border-radius:var(--radius-sm);font-size:13px;color:var(--ink-2);text-decoration:none}.rowmenu-panel a:hover{background:var(--accent-soft);color:var(--ink)}.rowmenu-panel a.danger{color:var(--danger)}.rowmenu-panel a.danger:hover{background:var(--danger-bg)}.rowmenu-panel .sep{height:1px;margin:4px 6px;background:var(--line)}.tag{display:inline-flex;align-items:center;font-size:11px;border-radius:999px;padding:2px 9px;background:var(--muted-bg);color:var(--ink-2);border:1px solid var(--line)}.tag.on{background:var(--accent);border-color:var(--accent);color:#fff}.tag.x{margin-left:2px;color:var(--ink-4);font-weight:700;cursor:pointer}.avatar{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:650;flex-shrink:0}.avatar.lg{width:38px;height:38px;font-size:13px}.avatar.sm{width:24px;height:24px;font-size:9.5px}.avatar.xs{width:18px;height:18px;font-size:8px}.av-a{background:#f3e8ff;color:#6d28d9}.av-b{background:#dbeafe;color:#1d4ed8}.av-c{background:#dcfce7;color:var(--ok)}.av-d{background:#fee2e2;color:var(--danger-ink)}.av-e{background:#fef3c7;color:var(--warn)}.av-f{background:#e0e7ff;color:#4338ca}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);min-width:0}.card .card-h{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line)}.card .card-h .t{font-size:14px;font-weight:var(--head-weight)}.card .card-h .meta{font-size:12px;color:var(--ink-3);margin-left:auto}.card .card-b{padding:14px 16px}a.card:hover{text-decoration:none}.card.pj{box-shadow:0 12px 28px -14px #11182759,0 2px 6px -2px #1118271f}.card.pj .card-h{background:var(--side-bg);color:var(--side-ink);border-bottom:1px solid var(--accent-hover)}.card.pj .card-h .t{color:var(--bg-soft)}.card.pj .card-h .meta{color:var(--ink-4)}.card.pj .card-h .tag{background:#ffffff14;color:var(--side-ink);border-color:#fff3}.card.pj .card-h a.t:hover,.card.pj .card-h a.meta:hover{color:#fff;text-decoration:underline}.card.pj .card-h a.tag:hover{background:#ffffff29;color:#fff;text-decoration:none}.card.pj .card-h .delta.ok{color:#4ade80}.card.pj .card-h .delta.danger{color:#f87171}.card.pj .card-h .delta.muted{color:var(--ink-4)}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);padding:8px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.tbl th:first-child,.tbl td:first-child{padding-left:16px}.tbl th:last-child,.tbl td:last-child{padding-right:16px}.tbl td{padding:10px 12px;border-bottom:1px solid var(--line);color:var(--ink-2);vertical-align:middle}.tbl td:first-child{color:var(--ink)}.tbl tbody tr{transition:background .1s}.tbl tbody tr:hover{background:var(--bg-soft)}.tbl tbody tr:last-child td{border-bottom:0}.tbl.dense td{padding:6px 12px}.drag{cursor:grab;color:var(--ink-4);font-size:13px;letter-spacing:-2px;text-align:center;-webkit-user-select:none;user-select:none}.drag:hover{color:var(--ink-2)}.drag:active{cursor:grabbing}.tbl tr.dragging{opacity:.55}tr.fold-in{animation:row-fold-in .15s ease forwards}tr.fold-out{animation:row-fold-out .15s ease}tr.folded{display:none}@keyframes row-fold-in{0%{opacity:1}to{opacity:0}}@keyframes row-fold-out{0%{opacity:0}to{opacity:1}}tr[data-subtasks-label] td:nth-child(2):after{content:" · " attr(data-subtasks-label);color:var(--ink-4);font-size:12px;font-weight:400;white-space:nowrap}.pick-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:6px;font-size:13px;cursor:pointer}.pick-row:hover{background:var(--bg-soft)}.pick-row.on{background:var(--accent-soft)}.mday{padding:9px 10px;min-height:168px;display:flex;flex-direction:column;gap:4px}.mday .md-h{display:flex;align-items:center;gap:6px;margin-bottom:2px;font-size:12px}.mday .md-total{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--ink-4)}.mentry{padding:5px 7px;font-size:11px;line-height:1.35;border:1px solid var(--line);border-radius:6px;background:var(--card);cursor:pointer}.mentry:hover{border-color:var(--line-strong);background:var(--bg-soft)}.mentry.bill{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 25%,transparent)}.mentry.bill:hover{background:var(--line)}.mentry .mt{display:flex;align-items:center;gap:4px}.mentry .mh{margin-left:auto;font-family:var(--mono);white-space:nowrap}.mday .madd{margin-top:auto;justify-content:center;font-size:10px}.mday.paper{background:var(--bg-soft)}.mday.paper .md-h b{color:var(--ink-4)}.mday.today{border-color:var(--accent-ring);box-shadow:0 0 0 1px var(--accent-soft)}.dgroup{overflow:hidden}.dgroup .dhead{display:flex;align-items:center;gap:10px;padding:9px 14px;background:var(--bg-soft);border-bottom:1px solid var(--line)}.dbadge{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:5px;padding:2px 7px}.crow{display:flex;align-items:center;gap:10px;padding:8px 14px;font-size:12.5px;border-bottom:1px solid var(--muted-bg)}.crow:last-child{border-bottom:0}.crow:hover{background:var(--bg-soft)}.crow .code{font-family:var(--mono);font-size:11px;color:var(--ink-3);width:110px;white-space:nowrap}.crow .task{font-weight:550;color:var(--ink)}.crow .dur{font-size:12px;font-weight:600;white-space:nowrap}.bill-dot{width:7px;height:7px;border-radius:50%;background:var(--ok);flex:none}.bill-dot.int{background:var(--ink-3)}.bill-dot.fee{background:var(--warn)}.dgroup.empty .dhead{border-bottom:0}.dgroup.empty{background:var(--bg-soft)}.totweek{font-family:var(--mono);font-size:16px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.dtime{font-family:var(--mono);font-size:12.5px;font-weight:650;color:var(--ink-2);font-variant-numeric:tabular-nums}.tbl .mono{font-family:var(--mono);font-size:12px}.tbl td.mono{width:1px;white-space:nowrap}.tbl a{color:var(--accent);text-decoration:none;font-weight:550}.tbl a:hover{text-decoration:underline}.tbl .num{text-align:right;font-variant-numeric:tabular-nums}.tbl th.num{text-align:right}.tbl .sub{font-size:11.5px;color:var(--ink-4);margin-top:2px}.prog{display:block;height:7px;background:var(--muted-bg);border-radius:999px;overflow:hidden}.prog .fill{display:block;height:100%;border-radius:999px;background:var(--accent)}.prog .fill.ok{background:var(--ok)}.prog .fill.warn{background:var(--warn)}.prog .fill.danger{background:var(--danger)}.prog.inline{width:120px;height:8px;flex:none}.prog.sm{height:6px}.delta{font-size:10.5px;font-weight:600;white-space:nowrap}.delta.ok{color:var(--ok)}.delta.warn{color:var(--warn)}.delta.danger{color:var(--danger)}.delta.muted{color:var(--ink-4)}.card-h.dark{border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--side-bg);color:var(--side-ink);border-bottom-color:color-mix(in srgb,var(--side-ink) 18%,transparent)}.card-h.dark .t{color:#fff}.card-h.dark .meta{color:var(--side-mute)}.card-h.dark a{color:inherit;text-decoration:none}.card-h.dark a:hover{color:#fff;text-decoration:underline}.card-h.dark .disclose,.card-h.dark .x-btn{color:var(--side-ink)}.card-h.dark .disclose{background:transparent;border-color:color-mix(in srgb,var(--side-ink) 26%,transparent)}.card-h.dark .disclose:hover,.card-h.dark .x-btn:hover{background:color-mix(in srgb,var(--side-ink) 14%,transparent);color:#fff}.card-h.dark .prog{background:color-mix(in srgb,var(--side-ink) 16%,transparent)}.card-h.dark .prog .fill.ok{background:color-mix(in srgb,var(--ok) 62%,white)}.card-h.dark .prog .fill.warn{background:color-mix(in srgb,var(--warn) 68%,white)}.card-h.dark .prog .fill.danger{background:color-mix(in srgb,var(--danger) 62%,white)}.card-h.dark .delta.ok{color:color-mix(in srgb,var(--ok) 62%,white)}.card-h.dark .delta.warn{color:color-mix(in srgb,var(--warn) 68%,white)}.card-h.dark .delta.danger{color:color-mix(in srgb,var(--danger) 62%,white)}.card-h.dark .delta.muted{color:var(--side-mute)}.tbl .tw{display:flex;align-items:center;gap:8px;min-width:0}.tbl .tw .leaf-mark{width:18px;flex:none;text-align:center;color:var(--ink-4);font-size:12px}.disclose{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:none;padding:0;border:1px solid var(--line);border-radius:calc(var(--radius) - 3px);background:var(--card);color:var(--ink-3);cursor:pointer;transition:background .12s,color .12s}.disclose:hover{background:var(--bg-soft);color:var(--ink)}.disclose svg{display:block;width:9px;height:9px;transition:transform .12s}.disclose.on svg{transform:rotate(90deg)}.card.pj .card-h .retainer-box{position:relative;display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff0f;flex:none;margin-right:4px}.card.pj .card-h .retainer-box summary{list-style:none;display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:var(--line)}.card.pj .card-h .retainer-box summary::-webkit-details-marker{display:none}.card.pj .card-h .retainer-box[open]{background:#ffffff1a}.card.pj .card-h .retainer-box[open] summary .exp-ico{transform:rotate(180deg)}.card.pj .card-h .retainer-box .retainer-drop{position:absolute;right:0;top:calc(100% + 4px);padding:8px 10px;background:var(--side-bg);border:1px solid rgba(255,255,255,.16);border-radius:8px;box-shadow:0 8px 24px #0006;display:flex;flex-direction:column;gap:2px;min-width:170px;z-index:30}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line)}.tabs a{display:inline-flex;align-items:center;gap:6px;padding:9px 13px;font-size:13px;font-weight:550;color:var(--ink-3);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs a:hover{color:var(--ink);text-decoration:none}.tabs a.on{color:var(--ink);border-bottom-color:var(--ink)}.tabs a .n{font-size:10.5px;font-weight:600;background:var(--muted-bg);color:var(--ink-3);padding:1px 7px;border-radius:999px;font-variant-numeric:tabular-nums}.tabs a .err{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--danger);margin-left:6px;vertical-align:middle}.textarea-tall{height:calc(100vh - 400px);min-height:240px;resize:vertical;width:100%}.tabs button.tab{display:inline-flex;align-items:center;gap:6px;padding:9px 13px;font-size:13px;font-weight:550;color:var(--ink-3);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer}.tabs button.tab:hover{color:var(--ink)}.tabs .tab-inline{display:inline-flex;align-items:center;gap:6px;padding:6px 0 7px}.tabs .tab-x{background:none;border:none;color:var(--ink-4);font-size:15px;line-height:1;cursor:pointer;padding:2px 4px}.tabs .tab-x:hover{color:var(--ink)}.filterbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:14px}.filterbar .lbl{font-size:11px;color:var(--ink-4);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.flat-form{display:contents}.view-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.view-bar .input{flex:1;min-width:180px;width:auto}.view-bar .fdrop{flex:none}.view-bar .fdrop:last-child .msel-menu{left:auto;right:0}.tabs.seg.viewpick{height:var(--ctl-h);padding:3px;margin-left:auto}.tabs.seg.viewpick a,.tabs.seg.viewpick button,.tabs.seg.viewpick .on{height:calc(var(--ctl-h) - 6px);padding:0 14px;display:inline-flex;align-items:center;font-size:13px}.row-actions{display:flex;justify-content:flex-end;gap:2px}.row-actions .icon{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:none;background:none;color:var(--ink-3);font-size:13px;font-family:var(--mono);cursor:pointer}.row-actions .icon:hover{background:var(--accent-soft);color:var(--ink)}.tbl .main-cell{display:flex;align-items:center;gap:8px;font-weight:550}.subcell{display:block;font-size:11px;color:var(--ink-4);margin-top:1px}.tbl .narrow{width:1%;white-space:nowrap}.tbl .dim td{opacity:.55}.crumbs{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.crumbs .sep{color:var(--ink-4)}.crumbs a{color:var(--ink-2);text-decoration:none}.crumbs a:hover{text-decoration:underline}.crumbs>:last-child{color:var(--ink);font-weight:600}.devlist{display:flex;flex-direction:column;gap:7px}.sumrow{display:flex;gap:34px;align-items:center;flex-wrap:wrap;padding:12px 16px}.sumrow .s{display:flex;flex-direction:column;gap:2px}.sumrow .s .v{font-size:21px;font-weight:var(--head-weight);color:var(--ink);font-variant-numeric:tabular-nums}.sumrow .s .k{font-size:11.5px;color:var(--ink-3)}.sumrow .spacer{flex:1}.banner{display:flex;align-items:center;gap:14px;padding:10px 22px;flex-shrink:0}.banner.timer{background:var(--side-bg);color:var(--side-ink)}.banner .live{width:9px;height:9px;border-radius:50%;background:#4ade80;box-shadow:0 0 #4ade8080;animation:pulse 1.6s infinite;flex-shrink:0}@keyframes pulse{70%{box-shadow:0 0 0 7px #4ade8000}to{box-shadow:0 0 #4ade8000}}.banner .code{font-family:var(--mono);font-size:12px;color:var(--side-ink)}.banner .task{font-weight:600;color:var(--muted-bg)}.banner .elapsed{font-family:var(--mono);font-size:13px;color:var(--muted-bg);font-variant-numeric:tabular-nums}.banner .desc{flex:1}.banner .desc .input{width:100%;background:var(--ink-2);border-color:var(--ink-2);color:var(--muted-bg);font-size:12.5px}.banner .desc .input::placeholder{color:var(--ink-4)}.banner .btn{background:var(--ink-2);border-color:var(--ink-2);color:var(--line)}.banner .btn:hover{background:var(--ink-2)}.banner .btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.banner .btn.primary:hover{background:var(--accent-hover)}.banner.retainer{background:var(--warn-bg);border-bottom:1px solid var(--warn-ring);color:var(--warn-ink)}.banner.retainer.over{background:var(--danger-bg);border-bottom-color:var(--danger-ring);color:var(--danger-ink)}.banner.retainer .btn{border-color:transparent;background:transparent;color:inherit}.weekbar{display:flex;align-items:center;gap:12px;padding:12px 2px 14px}.weekbar .wk{font-size:14.5px;font-weight:650;letter-spacing:-.01em}.weekbar .spacer{flex:1}.grid{display:table;width:100%;table-layout:fixed;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:13px}.grid th,.grid td{border-right:1px solid var(--muted-bg)}.grid th:last-child,.grid td:last-child{border-right:0}.grid thead th{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-4);padding:8px 10px;text-align:center;border-bottom:1px solid var(--line);background:var(--bg-soft);white-space:nowrap}.grid thead th .d{color:var(--ink-2);font-size:11px;font-weight:650;display:block;letter-spacing:0;text-transform:none}.grid thead th.today{background:var(--accent-soft);color:var(--accent)}.grid thead th.today .d{color:var(--accent)}.grid td.rowlabel{padding:10px 14px;width:300px;border-bottom:1px solid var(--muted-bg)}.grid td.rowlabel .code{font-family:var(--mono);font-size:11px;color:var(--ink-4)}.grid td.rowlabel .task{font-weight:550;color:var(--ink);font-size:13px}.grid td.cell{padding:4px;text-align:center;border-bottom:1px solid var(--muted-bg)}.grid td.cell .h{width:92px;max-width:100%;padding:5px 4px;text-align:center;border:1px solid transparent;border-radius:6px;font-family:var(--mono);font-size:12.5px;color:var(--ink);background:transparent;box-sizing:border-box;outline:none;transition:border-color .1s,background .1s}.grid td.cell .h:hover{border-color:var(--line-strong);background:var(--bg-soft)}.grid td.cell .h:focus{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-ring)}.grid td.cell.filled .h{background:var(--muted-bg);border-color:var(--line)}.grid td.cell.focused{background:var(--bg-soft)}.grid td.tot{font-weight:650;text-align:right;padding:10px 14px;font-variant-numeric:tabular-nums;font-size:12.5px;color:var(--ink-2);background:var(--bg-soft)}.grid tfoot td{background:var(--bg-soft);border-top:1px solid var(--line);font-weight:700;font-variant-numeric:tabular-nums;text-align:center}.grid tfoot td.grand{text-align:right;padding:10px 14px;font-size:13px}.grid tfoot th{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-4);background:var(--bg-soft);padding:8px 14px;border-top:1px solid var(--line);text-align:left}.grid .newrow td{background:var(--card)}.grid .newrow .h{border:1px dashed var(--line-strong);background:transparent}.grid tr.grow td{background:var(--muted-bg);border-top:1px solid var(--line-strong)}.grid tr.grow .rowlabel{padding:8px 14px;vertical-align:middle}.grid tr.grow .gname{font-weight:650;font-size:13px;color:var(--ink);line-height:1.25}.grid tr.grow .gmeta{font-size:11px;color:var(--ink-4);display:inline-flex;align-items:center;line-height:1;white-space:nowrap}.grid td.gcell{text-align:center;font-variant-numeric:tabular-nums;font-size:12px;font-weight:650;color:var(--ink-2);padding:11px 6px;border-bottom:1px solid var(--muted-bg)}.grid tr.grow td.gtot{text-align:right;padding:10px 14px;font-size:12.5px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.grid tr.trow td.rowlabel{padding-left:14px}.grid tr.trow td.rowlabel .task{font-size:12.5px}.grid tr.trow td{background:var(--bg-soft)}.grid tr.trow.subtask td.rowlabel,.grid tr.erow.subdesc td.rowlabel{padding-left:36px}.grid tr.trow.subtask .task{font-weight:500;color:var(--ink-2)}.grid tr.trow.subtask .sub-arrow{color:var(--ink-4);margin-right:6px;font-weight:400}.grid .tact{display:inline-flex}.grid .ts-act{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0 0 2px;border:1px solid var(--line-strong);border-radius:6px;background:var(--card);color:var(--ink-2);font-size:11px;line-height:1;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.grid .ts-act:hover,.grid .ts-act.on{background:var(--bg-soft);border-color:var(--accent);color:var(--ink)}.grid .ts-addmenu{position:absolute;left:0;top:calc(100% + 6px);z-index:40;min-width:140px;background:var(--card);border:1px solid var(--line-strong);border-radius:8px;box-shadow:0 10px 30px #0f172a24;padding:4px}.grid .ts-addmenu-item{display:flex;align-items:center;width:100%;padding:7px 10px;border:0;border-radius:6px;background:transparent;color:var(--ink);font-size:12.5px;font-weight:550;cursor:pointer;text-align:left;white-space:nowrap}.grid .ts-addmenu-item:hover{background:var(--bg-soft);color:var(--accent)}.grid tr.erow td.rowlabel{padding-top:6px;padding-bottom:6px;padding-left:28px}.grid tr.erow td.cell{cursor:pointer}.grid tr.erow .hv{display:inline-flex;align-items:center;justify-content:center;min-width:92px;height:26px;padding:0 4px;box-sizing:border-box;border:1px solid transparent;border-radius:6px;font-family:var(--mono);font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--ink)}.grid tr.erow td.cell.filled .hv.own{color:var(--ink)}.grid tr.erow td.cell:hover .hv{border-color:var(--line-strong);background:var(--bg-soft)}.grid .entrylabel{display:flex;align-items:center;gap:8px;min-width:0}.grid .edesc-label{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;border:0;background:transparent;padding:2px 0;cursor:pointer;color:var(--ink);font-size:12px;text-align:left}.grid .edesc-label:hover .trunc{text-decoration:underline}.grid .edesc-label .trunc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid .edesc-label .no-desc{color:var(--ink-4);font-style:italic}.grid .edesc-input{width:100%;min-height:58px;padding:6px 8px;font-size:12px;line-height:1.4;color:var(--ink);border:1px solid var(--accent);border-radius:6px;outline:none;box-shadow:0 0 0 3px var(--accent-ring);resize:vertical;box-sizing:border-box}.grid .savingdot,.grid .errordot{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.grid .savingdot{background:var(--warn)}.grid .errordot{background:var(--danger)}.lockbadge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;letter-spacing:.01em;border-radius:999px;padding:1px 7px;border:1px solid transparent;white-space:nowrap;line-height:1.4}.lockbadge .lk{flex:0 0 auto}.lockbadge.invoiced{color:var(--ok);background:var(--ok-bg);border-color:var(--ok-ring)}.lockbadge.adjusted{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-ring)}.grid td.cell.locked{cursor:default;background:var(--bg-soft)}.grid tr.erow td.cell.locked .hv,.grid tr.erow td.cell.locked .hv.dim{border-color:transparent;background:transparent;color:var(--ink-3);cursor:default}.grid tr.erow td.cell.locked:hover .hv{border-color:transparent;background:transparent}.grid td.cell .hv.dim .lk{margin-left:3px;color:var(--ink-4)}.grid td.cell.locked.invoiced .hv.dim .lk{color:var(--ok)}.grid td.cell.locked.adjusted .hv.dim .lk{color:var(--warn)}.grid .edesc-label.locked{cursor:default;color:var(--ink-2)}.grid .edesc-label.locked:hover .trunc{text-decoration:none}.locknotice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:9px 14px;border:1px solid var(--danger-ring);background:var(--danger-bg);color:var(--danger);border-radius:8px;font-size:12.5px}.locknotice button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:12px;line-height:1;padding:2px}.pill.on{color:var(--ok);background:var(--ok-bg);border-color:var(--ok-ring);cursor:pointer}.pill.off{color:var(--ink-4);background:var(--muted-bg);border-color:var(--muted-ring);cursor:pointer}.descpanel{margin-top:14px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px 16px;display:flex;align-items:flex-start;gap:14px}.descpanel .celltag{font-size:11px;color:var(--ink-4);white-space:nowrap;padding-top:3px}.descpanel .celltag .code{font-family:var(--mono);color:var(--ink-3)}.descpanel .body{flex:1}.descpanel .body .row{display:flex;align-items:center;gap:10px}.descpanel .body .input{flex:1}.descpanel .body .meta{font-size:11.5px;color:var(--ink-4);margin-top:6px;display:flex;gap:14px}.descpanel .save-state{font-size:11.5px;color:var(--ok);font-weight:600;display:inline-flex;align-items:center;gap:5px}.descpanel .save-state .tick{color:var(--ok);font-weight:700}.descpanel .save-state.saving{color:var(--warn)}.descpanel .save-state.err{color:var(--danger)}.pj-a{--pj-bg: #eef2ff;--pj-bd: #c7d2fe;--pj-ink: #4f46e5}.pj-b{--pj-bg: var(--info-bg);--pj-bd: var(--info-ring);--pj-ink: #0369a1}.pj-c{--pj-bg: var(--ok-bg);--pj-bd: var(--ok-ring);--pj-ink: var(--ok)}.pj-d{--pj-bg: #fffbeb;--pj-bd: #fde68a;--pj-ink: #b45309}.pj-e{--pj-bg: var(--danger-bg);--pj-bd: var(--danger-ring);--pj-ink: #be123c}.pj-f{--pj-bg: #f5f3ff;--pj-bd: #ddd6fe;--pj-ink: #6d28d9}.pj-g{--pj-bg: var(--bg-soft);--pj-bd: var(--line);--pj-ink: var(--ink-2)}.sched .blk,.sched-d .blk{position:relative;background:var(--pj-bg, var(--muted-bg));border:1px solid var(--pj-bd, var(--line));border-radius:4px;padding:3px 6px;font-size:11px;line-height:1.25;overflow:hidden;cursor:grab}.sched .blk:hover,.sched-d .blk:hover{box-shadow:0 1px 4px #11182729}.sched .blk .tm,.sched-d .blk .tm{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--pj-ink, var(--ink-2));display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sched .blk .task,.sched-d .blk .task{font-weight:600;color:var(--ink);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sched .blk .proj,.sched-d .blk .proj{font-family:var(--mono);font-size:9.5px;color:var(--ink-3);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sched .blk.h05{height:22px}.sched .blk.h1{height:36px}.sched .blk.h15{height:40px}.sched .blk.h2{height:52px}.sched .blk.h25{height:64px}.sched .blk.h3{height:76px}.sched .blk.h05{padding:2px 6px;white-space:nowrap}.sched .blk.h05 .tm{display:inline}.sched .blk.h05 .tm:after{content:" · "}.sched .blk.h05 .task{display:inline}.sched .blk.h05 .proj,.sched .blk.h1 .proj,.sched .blk.h15 .proj{display:none}.sched .blk.conflict,.sched-d .blk.conflict{background:var(--danger-bg);border-color:var(--danger-ring);border-left-color:var(--danger)}.sched .blk.conflict .tm,.sched-d .blk.conflict .tm{color:var(--danger)}.sched .blk.selected,.sched-d .blk.selected{outline:2px solid var(--accent);outline-offset:1px;box-shadow:0 1px 6px #0000002e}.sched .otag,.sched-d .otag{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-ring);border-radius:99px;padding:1px 7px;margin-bottom:5px;white-space:nowrap}.sched-legend{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--ink-3);flex-wrap:wrap}.sched-legend .it{display:inline-flex;align-items:center;gap:5px}.sched-legend .dot{width:9px;height:9px;border-radius:3px;display:inline-block;flex-shrink:0}.sched-legend .dot.pj-a{background:#4f46e5}.sched-legend .dot.pj-b{background:#0369a1}.sched-legend .dot.pj-c{background:var(--ok)}.sched-legend .dot.pj-d{background:var(--warn)}.sched-legend .dot.pj-e{background:#be123c}.sched-legend .dot.pj-f{background:#6d28d9}.sched-legend .dot.pj-g{background:var(--ink-2)}.sched{width:100%;table-layout:fixed;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:12.5px}.sched th,.sched td{border-right:1px solid var(--muted-bg)}.sched th:last-child,.sched td:last-child{border-right:0}.sched thead th{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-4);padding:8px;text-align:center;border-bottom:1px solid var(--line);background:var(--bg-soft);white-space:nowrap}.sched thead th .d{color:var(--ink-2);font-size:11px;font-weight:650;display:block;letter-spacing:0;text-transform:none}.sched thead th.today{background:var(--accent-soft);color:var(--accent)}.sched thead th.today .d{color:var(--accent)}.sched td.person{width:185px;padding:10px 12px;border-bottom:1px solid var(--muted-bg);vertical-align:top}.sched td.person .nm{font-weight:600;font-size:13px;line-height:1.2}.sched td.person .sub{font-size:10.5px;color:var(--ink-4);margin-top:2px}.sched td.day{padding:6px;border-bottom:1px solid var(--muted-bg);vertical-align:top}.sched td.day .blk{margin-bottom:5px}.sched td.day .blk:last-child{margin-bottom:0}.sched td.day.wknd{background:var(--bg-soft)}.sched .exp,.grid .exp,.card .exp{width:20px;height:20px;border-radius:5px;border:1px solid var(--line-strong);background:var(--card);color:var(--ink-3);font-size:10px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.sched .exp:hover,.grid .exp:hover,.card .exp:hover{background:var(--muted-bg);color:var(--ink)}.sched .exp{padding-bottom:2px}.grid .exp{padding-bottom:0}.grid .exp .exp-ico{display:block;transition:transform .12s}.grid .exp.on .exp-ico{transform:rotate(90deg)}.card .exp{padding:0}.card .exp .exp-ico{display:block;transition:transform .12s}.card .exp.on .exp-ico{transform:rotate(90deg)}.sched td.dsum{padding:8px 6px;text-align:center;border-bottom:1px solid var(--muted-bg);vertical-align:middle}.sched td.dsum b{font-size:12.5px;font-variant-numeric:tabular-nums}.sched td.dsum .bar{height:4px;border-radius:99px;background:var(--muted-bg);margin:4px auto 0;width:70%;overflow:hidden}.sched td.dsum .bar i{display:block;height:100%;border-radius:99px;background:var(--accent)}.sched td.dsum .sub{font-size:9.5px;color:var(--ink-4);margin-top:3px}.sched td.dsum.wknd{color:var(--ink-4);background:var(--bg-soft)}.sched td.dsum.over b{color:var(--danger)}.sched td.dsum.over .bar i{background:var(--danger)}.sched tr.det>td{padding:0;border-bottom:1px solid var(--muted-bg);background:var(--card)}.sched .detgrid{display:grid;grid-template-columns:185px repeat(7,minmax(0,1fr)) 88px;padding:10px 0 12px;align-items:start}.sched .detgrid .det-person{padding:2px 10px 0}.sched .detgrid .det-person .nm{font-weight:650;font-size:12.5px}.sched .detgrid .det-person .sub{font-size:10px;color:var(--ink-4);margin-top:2px}.sched .detgrid .det-person .free{font-size:11px;color:var(--ink-2);margin-top:6px}.sched .detgrid .det-day{padding:0 5px;border-right:1px solid var(--muted-bg)}.sched .detgrid .det-day:last-of-type{border-right:0}.sched .detgrid .det-day .blk{margin-bottom:5px}.sched .detgrid .det-day .blk:last-child{margin-bottom:0}.sched td.tot{width:88px;padding:10px 12px;border-bottom:1px solid var(--muted-bg);vertical-align:top}.sched td.tot b{font-variant-numeric:tabular-nums;font-size:12.5px}.sched td.tot .sub{font-size:10px;color:var(--ink-4);margin-top:2px}.sched .cap{height:4px;border-radius:99px;background:var(--muted-bg);margin-top:7px;overflow:hidden}.sched .cap i{display:block;height:100%;border-radius:99px;background:var(--accent)}.sched tfoot td,.sched tfoot th{background:var(--bg-soft);border-top:1px solid var(--line);font-size:10.5px;color:var(--ink-3);font-weight:600;padding:8px 12px;text-align:right;font-variant-numeric:tabular-nums}.sched tfoot td.grand{font-size:12.5px;font-weight:700;color:var(--ink);text-align:right}.sched tfoot th{text-align:left;text-transform:uppercase;letter-spacing:.07em;font-size:10px;color:var(--ink-4)}.sched-d{display:grid;grid-template-columns:60px repeat(8,minmax(0,1fr));background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;min-width:0}.sched-d .sd-head{display:contents}.sched-d .sd-corner{background:var(--bg-soft);border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:10px 8px;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-4);text-align:right}.sched-d .sd-person{background:var(--bg-soft);border-bottom:1px solid var(--line);border-right:1px solid var(--muted-bg);padding:9px 6px 8px;text-align:center;min-width:0}.sched-d .sd-person .nm{display:block;font-weight:650;font-size:12px;color:var(--ink);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sched-d .sd-person .sub{display:block;font-size:10px;color:var(--ink-4);margin-top:1px}.sched-d .sd-person .avatar{margin:0 auto}.sched-d .sd-person .otag{margin-top:4px}.sched-d .sd-body{display:contents}.sched-d .sd-hours{display:flex;flex-direction:column}.sched-d .sd-hr{height:44px;border-bottom:1px solid var(--muted-bg);border-right:1px solid var(--line);background:var(--bg-soft);font-family:var(--mono);font-size:10.5px;color:var(--ink-4);text-align:right;padding:3px 8px 0 0}.sched-d .sd-col{position:relative;height:440px;border-right:1px solid var(--muted-bg);background:repeating-linear-gradient(to bottom,transparent 0 43px,var(--muted-bg) 43px 44px)}.sched-d .sd-col:last-child{border-right:0}.sched-d .sd-col .blk{position:absolute;left:4px;right:4px}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.modal .warn-box{background:var(--danger-bg);border:1px solid var(--danger-ring);border-radius:8px;padding:8px 10px;font-size:12px;color:var(--danger-ink)}.modal .warn-box .t{font-weight:650}.modal .warn-box .tiny{margin-top:2px}.sched .blk.h4{height:88px}.sched.rt .blk{cursor:default;height:auto;min-height:52px}.sched.rt .blk.h05{min-height:24px}.sched.rt .blk.h1{min-height:56px}.sched.rt .blk.h15{min-height:62px}.sched.rt .blk.h2{min-height:72px}.sched.rt .blk.h25{min-height:82px}.sched.rt .blk.h3{min-height:92px}.sched.rt .blk.h4{min-height:102px}.sched.rt .blk.h1 .proj,.sched.rt .blk.h15 .proj{display:block}.sched.rt .blk.h05 .est{display:none}.sched.rt .blk .est{display:flex;align-items:center;gap:6px;margin-top:3px}.sched.rt .blk .est i{flex:1;min-width:0;height:3px;border-radius:99px;background:var(--muted-bg);overflow:hidden;display:block}.sched.rt .blk .est i b{display:block;height:100%;border-radius:99px;background:var(--ok)}.sched.rt .blk .est.warn i b{background:var(--warn)}.sched.rt .blk .est.over i b{background:var(--danger)}.sched.rt .blk .est em{font-style:normal;font-family:var(--mono);font-size:8.5px;font-weight:650;color:var(--ink-4);white-space:nowrap}.sched.rt .blk .est.warn em{color:var(--warn)}.sched.rt .blk .est.over em,.sched.rt td.dsum.over .sub{color:var(--danger)}.sched .cap.over i{background:var(--danger)}.sched td.tot.over b,.sched td.tot.over .sub{color:var(--danger)}.sched tfoot td.grand .sub{font-size:9.5px;font-weight:500;color:var(--ink-4);margin-top:1px;text-align:right}.overlay{position:fixed;inset:0;z-index:50;background:#09090bcc;display:grid;place-items:center;overflow-y:auto;padding:20px}.modal{width:540px;max-width:calc(100vw - 40px);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.modal.sm{width:420px}.modal.lg{width:660px}.modal .m-h{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line)}.modal .m-h .t{font-size:15px;font-weight:var(--head-weight)}.modal .m-h .kbd{font-family:var(--mono);font-size:11px;color:var(--ink-4);border:1px solid var(--line-strong);border-radius:5px;padding:2px 6px;background:var(--bg-soft)}.modal .m-h .spacer{flex:1}.modal .m-b{padding:12px 18px 16px;max-height:62vh;overflow-y:auto}.modal .m-f{display:flex;align-items:center;gap:10px;padding:12px 18px;border-top:1px solid var(--line);background:var(--bg-soft);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.modal .m-f .hint{font-size:11.5px;color:var(--ink-4)}.modal .m-f .spacer{flex:1}.qa-input{width:100%;font-size:15px;padding:10px 13px;border-radius:9px;font-family:var(--mono)}.qa-split{display:grid;grid-template-columns:240px 1fr;gap:18px;margin-top:14px}.qa-panel .pt{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-4);font-weight:650;margin-bottom:8px}.qa-token{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:7px;background:var(--bg-soft);border:1px solid var(--line);margin-bottom:6px;font-size:12.5px}.qa-token .k{font-family:var(--mono);font-size:11px;color:var(--accent);font-weight:650}.qa-token .v{color:var(--ink)}.qa-token .warn{color:var(--danger);font-size:11px;margin-left:auto}.qa-form{display:flex;flex-direction:column;gap:10px}.qa-form .row{display:flex;gap:10px}.qa-form .row .field{flex:1}.qa-form .row .field.half{flex:0 0 130px}.empty{padding:34px 20px;text-align:center;color:var(--ink-3)}.empty .glyph{width:40px;height:40px;margin:0 auto 10px;border-radius:50%;background:var(--muted-bg);display:flex;align-items:center;justify-content:center;font-size:17px;color:var(--ink-4)}.empty .h,.empty .t{font-size:13.5px;font-weight:var(--head-weight);color:var(--ink-2)}.empty .d,.empty .s{font-size:12.5px;color:var(--ink-3);margin:2px 0 12px}.empty.compact{padding:20px 16px}.empty.compact .glyph{width:34px;height:34px;margin:0 auto 8px;font-size:15px}.empty.compact .d,.empty.compact .s{margin-bottom:0}.empty .big{font-size:26px;font-weight:700;color:var(--line-strong);margin-bottom:6px}.notes-panel{display:none;flex-shrink:0;width:300px;background:var(--bg-soft);border-left:1px solid var(--line);padding:20px 18px;overflow-y:auto}body.notes-on .notes-panel{display:flex;flex-direction:column}.notes-panel .nt{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4);font-weight:700;margin-bottom:4px}.notes-panel h2{font-size:14px;font-weight:650;margin:2px 0 12px}.notes-panel ol{list-style:none;margin:0;padding:0;counter-reset:n}.notes-panel ol li{counter-increment:n;display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--ink-2);line-height:1.45}.notes-panel ol li:last-child{border-bottom:0}.notes-panel ol li:before{content:counter(n);flex-shrink:0;width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-size:10.5px;font-weight:700}.detail-head{display:flex;align-items:flex-start;gap:16px}.detail-head .code{font-family:var(--mono);font-size:12px;color:var(--ink-4)}.detail-head h1{font-size:20px;font-weight:700;margin:2px 0 6px;letter-spacing:-.02em}.detail-head .chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.detail-head .spacer{flex:1}.detail-head .actions{display:flex;gap:8px;align-items:center}.kv{font-size:13px}.kv .row{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--muted-bg)}.kv .row:last-child{border-bottom:0}.kv .k{color:var(--ink-4);font-size:12px}.kv .v{font-weight:550;text-align:right}.kv .v .mono{font-family:var(--mono);font-size:12px}.inv-kv{display:grid;grid-template-columns:auto auto;justify-content:end;column-gap:12px;row-gap:4px;align-items:baseline;font-size:13px}.inv-kv .k{color:var(--ink-4);font-size:12px;text-align:right;white-space:nowrap}.inv-kv .v{font-weight:550;text-align:left;white-space:nowrap;font-variant-numeric:tabular-nums}.inv-kv .v input,.inv-kv input{font:inherit;font-size:13px;font-weight:550;text-align:left;color:var(--ink);border:1px solid transparent;border-radius:4px;padding:1px 5px;min-width:130px;background:transparent}.inv-kv .v input:hover,.inv-kv .v input:focus,.inv-kv input:hover,.inv-kv input:focus{border-color:var(--line-strong);background:var(--fill)}.inv-field{font:inherit;font-size:12.5px;font-weight:550;color:var(--ink-2);border:1px solid transparent;border-radius:4px;padding:2px 6px;text-align:right;background:transparent}.inv-field:hover,.inv-field:focus{border-color:var(--line-strong);background:var(--fill)}.sow-back{font-size:12px;margin:0 0 6px 2px}.sow-back a{color:var(--ink-3);text-decoration:none}.sow-back a:hover{color:var(--ink);text-decoration:underline}.sow-details .sow-form,.details-cols .sow-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 18px}.sow-details .sow-form .field.span,.details-cols .sow-form .field.span{grid-column:1 / -1}.sow-details .ro,.details-cols .ro{display:flex;align-items:center;gap:10px;min-height:34px;font-size:13px;overflow-wrap:anywhere}.sow-details .ro.muted,.details-cols .ro.muted{color:var(--ink-4)}.sow-details .ro-act,.details-cols .ro-act{display:flex;align-items:center;gap:8px}.sow-details .ro-act .input,.details-cols .ro-act .input{flex:1;min-width:0}.sow-details .hint,.details-cols .hint{font-size:11.5px;color:var(--ink-3)}.sow-details .hint.bad,.details-cols .hint.bad{color:var(--danger)}.sow-details-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line)}.sow-rates-b{margin-top:8px;background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;padding:8px 14px 12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0 18px}.sow-rate-row{display:flex;align-items:center;gap:10px;padding:5px 0;border-bottom:1px solid var(--muted-bg)}.sow-rate-row .rn{flex:1;min-width:0;font-size:12.5px}.sow-rate-row .rn small{display:block;font-size:10px;color:var(--ink-4)}.sow-rate-row .rn small.over{color:var(--info)}.sow-rate-row .rn small.bad{color:var(--danger);font-weight:600}.sow-rate-row input{width:96px;text-align:right;font-variant-numeric:tabular-nums}.sow-rate-row.bad input{border-color:var(--danger-ring);background:var(--danger-bg)}.sow-rate-row.bad small{color:var(--danger);font-weight:600}.sow-rates-b .hint{grid-column:1 / -1;margin-top:7px}.members{display:flex;align-items:center}.members .avatar{margin-left:-6px;border:2px solid #fff}.members .avatar:first-child{margin-left:0}.members .more{margin-left:6px;font-size:11.5px;color:var(--ink-4)}.cols{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}@media(max-width:1280px){.cols{grid-template-columns:1fr 260px}}.spacer{flex:1}.hidden{display:none!important}.mt{margin-top:14px}.mb{margin-bottom:14px}.mono{font-family:var(--mono)}.muted{color:var(--ink-4)}.num{font-variant-numeric:tabular-nums}.row{display:flex;align-items:center;gap:10px}.avail{color:var(--ink-4)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.dim{opacity:.55}[data-done] .tsk-title{text-decoration:line-through;color:var(--ink-4)}.viewer{display:flex;height:100vh;background:var(--content-bg)}.rail{width:268px;flex-shrink:0;background:var(--bg-soft);border-right:1px solid var(--line);overflow-y:auto;padding:14px 12px 40px}.rail .brand{padding:2px 8px 12px}.rail .brand .t{font-size:14px;font-weight:700;letter-spacing:-.01em}.rail .brand .sub{font-size:10px;color:var(--ink-4);letter-spacing:.08em;text-transform:uppercase;margin-top:1px}.rail .rgroup{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);padding:14px 8px 5px}.rail a.rs{display:flex;align-items:center;gap:9px;padding:6px 8px;margin:1px 0;border-radius:7px;color:var(--ink-2);text-decoration:none;font-size:13px;font-weight:500}.rail a.rs:hover{background:var(--soft, var(--muted-bg))}.rail a.rs.on{background:var(--accent-soft);color:var(--accent);font-weight:650}.rail a.rs .n{font-family:var(--mono);font-size:10px;color:var(--ink-4);width:18px;flex-shrink:0;text-align:right}.rail a.rs.on .n{color:var(--accent)}.rail a.rs .st{margin-left:auto;font-size:10px;color:var(--ink-4)}.rail .rf{padding:0 8px;font-size:11px;color:var(--ink-4);line-height:1.5}.stage{flex:1;min-width:0;display:flex;flex-direction:column}.stagebar{display:flex;align-items:center;gap:12px;padding:9px 16px;background:var(--card);border-bottom:1px solid var(--line);flex-shrink:0}.stagebar .crumb{font-family:var(--mono);font-size:11px;color:var(--ink-4)}.stagebar .st{font-size:13.5px;font-weight:650}.stagebar .spacer{flex:1}.stagebar .btn{padding:5px 11px;font-size:12px}.stagebar .btn.notes-on{background:var(--accent);border-color:var(--accent);color:#fff}.stage iframe{flex:1;width:100%;border:0;background:var(--card)}.rchange{padding:0}.rchange-h{display:flex;align-items:center;gap:8px;padding:2px 8px 6px}.rchange .rt{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4)}.rchange .rcount{font-family:var(--mono);font-size:10px;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:1px 7px}.chg-form{display:flex;flex-direction:column;gap:8px;padding:10px;margin-top:8px;background:var(--card);border:1px solid var(--line);border-radius:9px}.chg-form.hidden{display:none}.chg-form .textarea,.chg-form .select{font-size:12px;width:100%}.chg-filters{display:flex;gap:5px;padding:10px 8px 8px;flex-wrap:wrap}.chg-filters .chip{font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:999px;border:1px solid var(--line-strong);background:var(--card);color:var(--ink-3);cursor:pointer}.chg-filters .chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.chg-list{display:flex;flex-direction:column;gap:8px}.chg-scope{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);border:1px solid var(--line-strong);border-radius:999px;padding:1px 6px}.chg-item{border:1px solid var(--line);border-radius:8px;background:var(--card);padding:8px 9px}.chg-meta{display:flex;align-items:center;gap:6px;margin-bottom:3px}.chg-id{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--accent)}.chg-date{font-family:var(--mono);font-size:10px;color:var(--ink-4)}.chg-item .pill{padding:1px 8px;font-size:10px}.chg-item .del{background:none;border:0;color:var(--ink-4);cursor:pointer;font-size:10.5px;margin-left:auto;border-radius:5px;padding:1px 4px;opacity:0;transition:opacity .12s}.chg-item:hover .del{opacity:1}.chg-item .del:hover{color:var(--danger);background:var(--danger-bg)}.chg-text{font-size:12px;color:var(--ink-2);line-height:1.45}.chg-empty{font-size:11px;color:var(--ink-4);padding:4px 8px}.notes-panel .np-head{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-bottom:6px}.notes-panel .np-actions{display:flex;gap:6px}.notes-panel .np-sec{display:flex;align-items:baseline;gap:8px}.notes-panel .np-sec .nt{margin-bottom:0}.notes-panel ol li{align-items:flex-start}.notes-panel ol li .txt{flex:1}.notes-panel ol li .del{background:none;border:0;color:var(--ink-4);cursor:pointer;font-size:11px;border-radius:5px;padding:1px 5px;opacity:0;transition:opacity .12s}.notes-panel ol li:hover .del{opacity:1}.notes-panel ol li .del:hover{color:var(--danger);background:var(--danger-bg)}.notes-panel .np-empty{font-size:12px;color:var(--ink-4);padding:10px 0}.notes-panel .np-divider{border-top:1px solid var(--line);margin:18px 0 14px}.notes-panel .np-add{margin-top:10px;display:flex;flex-direction:column;gap:8px}.notes-panel .np-add.hidden{display:none}.notes-panel .np-add-toggle{display:flex;width:100%;margin-top:10px;padding:6px 10px;border:1px dashed var(--line-strong);border-radius:7px;background:transparent;color:var(--ink-3);font-size:12px;font-weight:600;cursor:pointer;text-align:left}.notes-panel .np-add-toggle:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.notes-panel .np-add-toggle:disabled{opacity:.5;cursor:not-allowed}.notes-panel .np-add .textarea{font-size:12.5px;width:100%;resize:vertical}.notes-panel .np-add .btn:disabled,.chg-form .btn:disabled{opacity:.5;cursor:not-allowed}.ro-banner{display:none;align-items:center;gap:8px;background:var(--warn-bg);color:var(--warn-ink);border-bottom:1px solid var(--warn-ring);font-size:12.5px;padding:8px 18px}.ro-banner.show{display:flex}.ro-banner code{background:#fff;border:1px solid var(--warn-ring);border-radius:5px;padding:1px 6px;font-size:11.5px}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%) translateY(90px);background:var(--side-bg);color:var(--line);font-size:12.5px;padding:9px 16px;border-radius:9px;box-shadow:0 10px 30px #00000040;transition:transform .2s ease;z-index:300;max-width:70vw;text-align:center}.toast.show{transform:translate(-50%) translateY(0)}.tiny{font-size:11.5px}.faint{color:var(--ink-4)}.flex1{flex:1}.right{text-align:right}.form-row{display:flex;gap:12px;align-items:flex-start}.form-row .field{flex:1}.stack-sm>*+*{margin-top:6px}.stack-md>*+*{margin-top:14px}.stack-sm>.overlay,.stack-md>.overlay{margin-top:0}.box{background:var(--card);border:1px solid var(--line);border-radius:10px}.box-fill{background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-split{display:grid;grid-template-columns:560px 1fr;gap:14px}.kbd{font-family:var(--mono);font-size:11px;color:var(--ink-2);border:1px solid var(--line-strong);border-radius:5px;padding:2px 6px;background:var(--bg-soft);white-space:nowrap}.switch{appearance:none;position:relative;display:inline-block;width:36px;height:20px;margin:0;padding:0;border:0;border-radius:999px;background:var(--line-strong);cursor:pointer;flex-shrink:0;transition:background .15s}.switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s}.switch.on,.switch:checked{background:var(--ok)}.switch.on:after,.switch:checked:after{transform:translate(16px)}.auth-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--content-bg);padding:30px 16px}.auth-card{width:420px;max-width:100%;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #11182714;padding:30px 32px}.auth-logo{font-weight:800;font-size:17px;letter-spacing:-.02em;margin-bottom:20px}.auth-logo .mark{color:var(--accent)}.auth-title{font-size:17px;font-weight:700}.auth-sub{font-size:12.5px;color:var(--ink-3);margin:4px 0 14px;line-height:1.5}.auth-err{background:var(--danger-bg);border:1px solid var(--danger-ring);color:var(--danger-ink);font-size:12px;border-radius:7px;padding:8px 11px;margin-bottom:12px}.otp{display:flex;gap:7px;margin:6px 0 16px}.otp .box{width:42px;height:46px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:18px;font-weight:600;border:1px solid var(--line-strong);border-radius:8px;background:var(--card)}.otp .box.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.auth-foot{font-size:12px;margin-top:16px;text-align:center}.qr{width:150px;height:150px;border:1px solid var(--line-strong);border-radius:10px;background:repeating-linear-gradient(0deg,var(--line) 0 9px,#fff 9px 18px),repeating-linear-gradient(90deg,var(--line) 0 9px,#fff 9px 18px);display:flex;align-items:center;justify-content:center;color:var(--accent);font-weight:700;font-size:13px}.codes{font-family:var(--mono);font-size:11.5px;background:var(--muted-bg);border:1px solid var(--line);border-radius:8px;padding:10px 12px;column-count:2;column-gap:18px;line-height:1.9}.bars{display:flex;align-items:stretch;gap:14px;min-height:190px;padding:8px 10px 6px}.bars .col{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px}.bars .col .v{font-family:var(--mono);font-size:10.5px;color:var(--ink-3)}.bar-wrap{flex:1;width:100%;max-width:34px;display:flex;flex-direction:column;justify-content:flex-end;gap:2px}.bars .seg{width:100%;border-radius:3px}.bars .seg.bill{background:var(--accent)}.bars .seg.int{background:var(--ink-3)}.bars .seg.fee{background:var(--warn)}.bars .seg.empty{flex:1;background:transparent;border:1px dashed var(--line-strong);border-radius:4px}.bars .col .d{font-size:11px;color:var(--ink-3)}.legend{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--ink-3)}.legend .dot{width:8px;height:8px;border-radius:2px}.legend .dot.bill{background:var(--accent)}.legend .dot.int{background:var(--ink-3)}.legend .dot.fee{background:var(--warn)}.hbar{height:7px;border-radius:999px;background:var(--muted-bg);overflow:hidden}.hbar .fill{height:100%;border-radius:999px;background:var(--accent)}.hbar .fill.ok{background:var(--ok)}.hbar .fill.warn{background:var(--warn)}.pmc{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:5px;border:1px solid var(--line);font-family:var(--mono);font-size:10.5px;font-weight:700;cursor:pointer}.pmc.i{background:var(--muted-bg);color:var(--ink-3)}.pmc.g{background:var(--accent);color:#fff;border-color:var(--accent)}.pmc.d{background:var(--danger);color:#fff;border-color:var(--danger)}.toast-wrap{position:fixed;right:20px;bottom:20px;z-index:70;display:flex;flex-direction:column;gap:8px}.toast{display:flex;align-items:center;gap:10px;background:var(--ink);color:var(--bg-soft);font-size:12.5px;border-radius:9px;padding:10px 14px;min-width:300px;max-width:380px;box-shadow:0 10px 28px #11182747}.toast .tick{color:#4ade80;font-weight:700}.toast .x{color:var(--danger-ring);font-weight:700}.toast .spacer{flex:1}.toast .ago{color:var(--ink-4);font-size:11px}.toast.err{background:var(--card);color:var(--ink);border:1px solid var(--line-strong)}.toast.err .x{color:var(--danger)}.banner.neutral{background:var(--muted-bg);border-bottom:1px solid var(--line-strong);color:var(--ink-2)}.notice{display:flex;align-items:flex-start;gap:10px;padding:10px 13px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);font-size:13px}.notice .ic{flex:none;font-weight:700}.notice .body{flex:1;min-width:0}.notice .actions{display:flex;gap:8px;flex:none;align-items:center}.notice.info{background:var(--info-bg);border-color:var(--info-ring);color:var(--ink-2)}.notice.info .ic{color:var(--info)}.notice.ok{background:var(--ok-bg);border-color:var(--ok-ring);color:var(--ink-2)}.notice.ok .ic{color:var(--ok)}.notice.warn{background:var(--warn-bg);border-color:var(--warn-ring);color:var(--ink-2)}.notice.warn .ic{color:var(--warn)}.notice.danger{background:var(--danger-bg);border-color:var(--danger-ring);color:var(--ink-2)}.notice.danger .ic{color:var(--danger)}.wf-flow{display:flex;flex-direction:column;gap:14px}.wf-flow-title{font-size:14px;font-weight:650;display:flex;align-items:baseline;gap:10px}.wf-strip{display:flex;gap:10px;align-items:stretch;overflow-x:auto;padding-bottom:6px}.wf-frame{flex:1 1 0;min-width:158px;max-width:214px;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}.wf-frame-head{display:flex;align-items:center;gap:7px;padding:7px 10px;border-bottom:1px solid var(--line);background:var(--bg-soft);font-size:11px;font-weight:600;color:var(--ink-2)}.wf-frame-num{font-family:var(--mono);font-size:10px;color:var(--accent);font-weight:700}.wf-frame-body{padding:10px;font-size:11px}.wf-arrow{align-self:center;color:var(--ink-4);font-size:15px;flex-shrink:0}.mini{display:flex;flex-direction:column;gap:6px}.mini-nav{font-size:10px;font-weight:700;color:var(--ink-2)}.mini-card{border:1px solid var(--line);border-radius:7px;padding:6px 8px;background:#fff}.mini-input{border:1px solid var(--line-strong);border-radius:6px;padding:5px 7px;font-family:var(--mono);font-size:10px;background:#fff}.mini-field{border:1px solid var(--line);border-radius:6px;padding:4px 7px;font-size:10px;background:#fff}.mini-row{display:flex;align-items:center;gap:5px;font-size:10px;padding:2px 0}.mini-row.indent{padding-left:12px}.mini-chiprow{display:flex;gap:4px;flex-wrap:wrap}.mono-chip{font-family:var(--mono);font-size:9.5px;border:1px solid var(--line-strong);border-radius:999px;padding:1px 6px;background:var(--bg-soft);white-space:nowrap}.mono-chip.rose{background:var(--danger-bg);border-color:var(--danger-ring);color:var(--danger-ink)}.mini-btnrow{display:flex;gap:5px}.mini-btn{font-size:9.5px;font-weight:600;border:1px solid var(--line-strong);border-radius:5px;padding:2px 7px;background:#fff;color:var(--ink-2)}.mini-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.mini-banner{display:flex;align-items:center;gap:5px;font-size:9.5px;border-radius:6px;padding:4px 7px;background:var(--side-bg);color:var(--line)}.mini-banner .dot{width:6px;height:6px;border-radius:50%;background:#4ade80}.mini-banner.amber{background:var(--warn-bg);color:var(--warn-ink);border:1px solid var(--warn-ring)}.mini-banner.rose{background:var(--danger-bg);color:var(--danger-ink);border:1px solid var(--danger-ring)}.mini-toast{font-size:9.5px;border-radius:6px;padding:4px 7px;background:var(--side-bg);color:var(--line)}.mini-toast.success{background:var(--ok-bg);color:var(--ok-ink);border:1px solid var(--ok-ring)}.mini-stats{font-size:10px;display:flex;align-items:center;gap:6px}.mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.mini-cell{height:16px;border-radius:3px;background:var(--accent-soft);border:1px solid var(--line-strong)}.mini-tabs{display:flex;gap:4px}.mini-tabs span{font-size:9.5px;border-radius:4px;padding:2px 6px;background:var(--muted-bg);color:var(--ink-3)}.mini-tabs span.on{background:var(--accent);color:#fff}.matrix{display:grid;grid-template-columns:46px repeat(3,20px);gap:3px;align-items:center}.matrix .h{font-size:8.5px;color:var(--ink-4);text-align:center;text-transform:uppercase}.matrix .l{font-size:9.5px;color:var(--ink-2)}.m-i,.m-g,.m-d{width:18px;height:18px;border-radius:4px;border:1px solid var(--line)}.m-i{background:var(--muted-bg)}.m-g{background:var(--accent)}.m-d{background:var(--danger)}.search-groups{border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-top:10px}.search-group .ghead{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--ink-4);font-weight:700;padding:5px 10px;background:var(--muted-bg);border-bottom:1px solid var(--line)}.search-item{display:flex;align-items:center;gap:10px;padding:7px 10px;font-size:12.5px;border-bottom:1px solid var(--muted-bg)}.search-item:last-child{border-bottom:0}.search-item.on{background:var(--accent-soft)}.srch-ic{color:var(--ink-4);display:flex;align-items:center}.input.srch{flex:1;border:0;box-shadow:none;background:transparent;font-size:14px;padding:6px 2px}.search-bar{display:flex;align-items:center;gap:10px;border:1px solid var(--line-strong);border-radius:var(--radius);padding:4px 14px;background:var(--card);box-shadow:var(--shadow);margin-bottom:20px}.search-head{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--ink-4);font-weight:700;text-transform:uppercase;padding:6px 12px;background:var(--muted-bg);border-bottom:1px solid var(--line)}.search-head .cnt{font-family:var(--sans);font-weight:650;font-size:10px;letter-spacing:0;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:0 7px}.srow{display:flex;align-items:center;gap:10px;padding:8px 12px;font-size:12.5px;border-bottom:1px solid var(--muted-bg);border-left:2px solid transparent;cursor:pointer}.srow:last-child{border-bottom:0}.srow:hover{background:var(--bg-soft)}.srow.on{background:var(--accent-soft);border-left-color:var(--accent)}.srow .sic{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:var(--ink-3);background:var(--muted-bg);border-radius:6px;flex:none}.srow.on .sic{color:#fff;background:var(--accent-ring)}.srow .sline{font-weight:550}.srow .sline .tag{margin-left:3px;vertical-align:1px}.srow .smeta{font-size:11px;color:var(--ink-4);margin-top:1px}.m-f{display:flex;align-items:center;gap:16px;padding:8px 16px;border-top:1px solid var(--line);background:var(--bg-soft);font-size:11px;color:var(--ink-3)}.kbdrow{display:inline-flex;align-items:center;gap:4px}.ptcell{cursor:pointer;border-radius:5px}.ptcell:hover{background:var(--accent-soft)}.ptcell.on{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent);color:var(--accent);font-weight:700}.ptcell-total{font-weight:700;background:var(--bg-soft)}.drow{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--muted-bg)}.drow:last-child{border-bottom:0}.drow .dtitle{font-size:12.5px;font-weight:550}.drow .dtitle .code{font-family:var(--mono);font-size:10.5px;color:var(--ink-4);margin-left:5px}.drow .dmuted{font-size:11px;color:var(--ink-4);margin-top:1px}.drow .audit{font-size:11px;color:var(--ink-3);margin-top:3px;display:flex;align-items:center;gap:6px}.drow .audit a{color:var(--accent);text-decoration:none}.dadj{font-family:var(--mono);font-size:11px;color:var(--ink-3);background:var(--muted-bg);border:1px solid var(--line);border-radius:5px;padding:3px 6px;white-space:nowrap;margin-top:2px}.sched.appr td.dsum .dn{font-size:9.5px;font-weight:650;color:var(--ink-4);margin-top:3px}.sched.appr td.dsum .dn.warn{color:var(--warn)}.sched.appr td.dsum .dn.danger{color:var(--danger)}.sched.appr td.tot .dn{font-size:10px;font-weight:650;color:var(--ink-4);margin-top:3px}.sched.appr td.tot .dn.warn{color:var(--warn)}.sched.appr td.tot .dn.danger{color:var(--danger)}.sched.appr .detgrid .det-day,.sched.appr .detgrid .det-tot{padding:8px 6px}.arow{background:var(--pj-bg, var(--card));border:1px solid var(--pj-bd, var(--line));border-radius:6px;padding:6px 7px;margin-bottom:6px;font-size:11px;line-height:1.3;transition:box-shadow .12s}.arow:last-child{margin-bottom:0}.arow:hover{box-shadow:0 1px 4px #1118271f}.arow .a-head{display:flex;align-items:flex-start;gap:6px}.arow .a-head .check{gap:0;margin-top:1px}.arow .a-title{flex:1;min-width:0;font-weight:600;color:var(--ink);line-height:1.3}.arow .a-meta{display:flex;align-items:center;gap:6px;margin-top:2px}.arow .a-meta .m{flex:1;min-width:0;font-size:10px;color:var(--ink-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.arow .a-meta .pill{flex-shrink:0;font-size:9px;padding:1.5px 7px}.arow .a-ctl{display:flex;align-items:center;gap:4px;margin-top:6px}.arow .a-ctl .edur{width:44px;padding:2px 5px;text-align:right;font-size:11px}.arow .a-ctl .dadj{margin-top:0;font-size:10px;padding:2px 5px}.arow .a-act{display:flex;gap:3px;margin-top:6px}.arow .a-act .btn{flex:1;min-width:0;font-size:10px;padding:2px 5px}.arow .audit{font-size:9.5px;color:var(--ink-3);margin-top:5px;line-height:1.35}.arow .audit a{color:var(--accent);text-decoration:none}.arow.approved{background:var(--card);border-color:var(--line)}.arow.approved .a-title{color:var(--ink-2)}.arow.returned{background:var(--danger-bg);border-color:var(--danger-ring)}.pcard{padding:14px 16px;display:flex;flex-direction:column;gap:4px;transition:box-shadow .12s,border-color .12s}.pcard:hover{border-color:var(--line-strong);box-shadow:0 6px 18px #11182712}.pcard .code-l{font-size:11px;color:var(--ink-3)}.pcard .code-l a{color:var(--ink-3);text-decoration:none;font-weight:650}.pcard .pname{font-size:13.5px;font-weight:650;color:var(--ink);text-decoration:none;margin-top:2px}.pcard .pname:hover{color:var(--accent)}.pcard .pmuted{font-size:11.5px;color:var(--ink-4)}.pcard .pfoot{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--muted-bg)}.pcard.dim{background:var(--bg-soft)}.bill-group{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;overflow:hidden}.bill-group .gh{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-soft);border-bottom:1px solid var(--line);font-size:13px;font-weight:600}.bill-group.open .lines{display:block}.bill-group .lines{display:none;border-top:1px solid var(--line)}.bill-group .lines table{width:100%}.totals{border:1px solid var(--line);border-radius:10px;padding:12px 16px}.totals .row{display:flex;justify-content:space-between;font-size:13px;padding:4px 0;color:var(--ink-2)}.totals .row.grand{font-size:15px;font-weight:700;color:var(--ink);border-top:1px solid var(--line);margin-top:6px;padding-top:8px}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ficon{display:inline-flex;flex-shrink:0;color:var(--ink-3)}.ficon.accent{color:var(--accent)}.ficon.faint{color:var(--ink-4)}.seg{display:inline-flex;gap:2px;padding:2px;background:var(--muted-bg);border:1px solid var(--line);border-radius:7px}.seg button{border:0;background:transparent;font:inherit;font-size:11.5px;font-weight:600;color:var(--ink-3);padding:3px 9px;border-radius:5px;cursor:pointer}.seg button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 2px #10182817}.frow{display:flex;align-items:center;gap:9px;padding:5px 6px;margin:0 -6px;border-radius:6px;transition:background .1s}.frow:hover{background:var(--bg-soft)}.fname{font-family:var(--mono);font-size:11.5px}.ftype{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;border-radius:6px;color:#fff;font-family:var(--mono);font-size:7.5px;font-weight:700;letter-spacing:.03em}.ftype.doc{background:var(--info)}.ftype.md{background:var(--ink-3)}.ftype.pdf{background:var(--danger)}.ftype.png{background:#7c3aed}.pinrow{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,1fr);gap:12px;overflow-x:auto}.pincard{display:flex;flex-direction:column;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:8px}.pincard .pin-body{flex:1;height:132px;padding:10px 12px;font-size:11.5px;line-height:1.5;color:var(--ink-2);overflow:hidden}.pincard .pin-body .pin-h1{font-size:12.5px;font-weight:650;color:var(--ink);margin-bottom:4px}.pincard .pin-body .pin-p{margin:0 0 6px}.pincard .pin-body .pin-ul{margin:0;padding-left:16px}.pincard .pin-body .pin-ul li{margin-bottom:2px}.pincard .pin-link{padding:6px 12px 8px;border-top:1px solid var(--muted-bg)}.pincard .pin-link a{font-family:var(--mono);font-size:10.5px;color:var(--accent);text-decoration:none}.pincard .pin-link a:hover{text-decoration:underline}.twidget{position:relative}.twidget-btn{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 11px;border:1px solid var(--line-strong);border-radius:8px;background:var(--bg-soft);color:var(--ink-2);font-size:12.5px;font-weight:500;cursor:pointer;white-space:nowrap}.twidget-btn:hover{border-color:var(--line-strong);background:var(--accent-soft)}.twidget-btn.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.twidget-btn.open{border-color:var(--accent)}.twidget-btn .tw-caret{font-size:9px;color:var(--ink-4)}.tw-dot{width:8px;height:8px;border-radius:50%;background:var(--line-strong);flex-shrink:0}.tw-dot.live{background:var(--ok);box-shadow:0 0 #05966966;animation:tw-pulse 2s infinite}@keyframes tw-pulse{0%{box-shadow:0 0 #05966959}70%{box-shadow:0 0 0 5px #05966900}to{box-shadow:0 0 #05966900}}.twidget-pop{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-height:420px;overflow-y:auto;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px #11182724;padding:8px;z-index:60}.tw-head{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 8px;border-bottom:1px solid var(--muted-bg);margin-bottom:6px}.tw-head .t{font-size:13px;font-weight:650;color:var(--ink)}.tw-head .meta{font-size:11.5px;color:var(--ink-4)}.tw-empty{padding:14px 8px;font-size:12.5px;color:var(--ink-3)}.tw-error{padding:6px 8px;margin-bottom:6px;font-size:12px;color:var(--danger);background:var(--danger-bg);border-radius:6px}.tw-row{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:8px}.tw-row:hover{background:var(--bg-soft)}.tw-row.on{background:var(--accent-soft)}.tw-info{flex:1;min-width:0}.tw-title{display:flex;align-items:baseline;gap:6px;min-width:0}.tw-code{font-family:var(--mono);font-size:10.5px;color:var(--accent);background:var(--accent-soft);padding:1px 5px;border-radius:4px;flex-shrink:0}.tw-name{font-size:12.5px;font-weight:550;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tw-sub{display:flex;align-items:center;gap:6px;margin-top:3px}.tw-elapsed{font-size:12px;color:var(--ink-2);font-variant-numeric:tabular-nums}.tw-state{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-4)}.tw-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.tw-zombie{display:flex;align-items:center;gap:8px;margin-top:8px;padding:7px 8px;border-radius:8px;background:var(--warn-bg);border:1px solid var(--warn-ring);font-size:12px;color:var(--ink-2);text-decoration:none}.tw-zombie:hover{border-color:var(--warn)}.tw-foot{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 4px 2px;border-top:1px solid var(--muted-bg)}.bill-grid{display:grid;grid-template-columns:36px 70px 140px 1fr 70px 90px 100px;gap:0}.bill-grid .col-check{width:36px;flex-shrink:0}.bill-grid .col-date{width:70px;flex-shrink:0}.bill-grid .col-earner{width:140px;flex-shrink:0}.bill-grid .col-desc{flex:1;min-width:0}.bill-grid .col-qty{width:70px;flex-shrink:0;text-align:right}.bill-grid .col-rate{width:90px;flex-shrink:0;text-align:right}.bill-grid .col-amount{width:100px;flex-shrink:0;text-align:right}.bill-hdr{display:grid;grid-template-columns:70px 44px 1fr 70px 90px 72px 100px 40px;background:var(--bg-soft);border-bottom:1px solid var(--line);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);padding:9px 14px;gap:0}.bill-hdr span{display:block;overflow:hidden}.bill-hdr .num{text-align:right}.bill-task{display:grid;grid-template-columns:70px 44px 1fr 70px 90px 72px 100px 40px;padding:8px 14px;background:var(--bg-soft);border-bottom:1px solid var(--line);align-items:center;gap:0;font-size:12px}.bill-task .merged-label{grid-column:1 / -1;display:flex;align-items:center;gap:10px;font-weight:600;color:var(--ink);font-size:12px;overflow:hidden}.bill-task .merged-label .task-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.bill-row{display:grid;grid-template-columns:70px 44px 1fr 70px 90px 72px 100px 40px;padding:10px 14px;border-bottom:1px solid var(--muted-bg);align-items:center;gap:0;font-size:13px;transition:background .1s}.bill-row .select-col{display:flex;align-items:center;justify-content:flex-end}.bill-row .select-col input{cursor:pointer}.bill-row .select-col input[disabled]{cursor:default}.bill-row .gst-col{min-width:0}.bill-row .gst-col .gst-select{box-sizing:border-box;width:100%;min-width:0;font-size:11px;font-weight:600;color:var(--ink-3);background:var(--card);border:1px solid var(--line);border-radius:6px;padding:1px 6px;cursor:pointer;font-variant-numeric:tabular-nums}.bill-row .gst-col .gst-select:hover,.bill-row .gst-col .gst-select:focus{border-color:var(--line-strong)}.bill-row .gst-col .gst-select[disabled]{cursor:default;opacity:.55}.bill-row:hover{background:var(--bg-soft)}.bill-row .date-col{font-size:12.5px;font-variant-numeric:tabular-nums}.bill-row .earner-col{display:flex;align-items:center;gap:6px}.bill-row .qty-col,.bill-row .rate-col{text-align:right}.bill-row .amount-col{font-size:12.5px;text-align:right;font-weight:550;font-variant-numeric:tabular-nums}.bill-adj{display:grid;grid-template-columns:36px 70px 140px 1fr 70px 90px 100px;padding:6px 14px;background:var(--warn-bg);border-bottom:1px solid var(--warn-ring);align-items:center;gap:0;font-size:12px}.bill-adj .adj-content{grid-column:2 / -1;display:flex;align-items:center;gap:8px;overflow:hidden}.bill-row.adjusted,.bill-row.adjusted:hover{background:var(--warn-bg)}.bill-row.adjusted input[type=text],.bill-row.adjusted input[type=number]{border-color:var(--warn-ring);background:var(--warn-bg);color:var(--warn);font-weight:600}.bill-row.adjusted .rate-input{border-color:var(--warn-ring);background:var(--warn-bg)}.bill-hdr.bill-4,.bill-task.bill-4,.bill-adj.bill-4,.bill-row.bill-4{grid-template-columns:70px 1fr 72px 100px 40px}.bill-row.bill-4 .adj-content{grid-column:2 / -1}.bill-hdr.bill-3,.bill-task.bill-3,.bill-adj.bill-3,.bill-row.bill-3{grid-template-columns:1fr 72px 100px 40px}.bill-hdr.bill-6,.bill-task.bill-6,.bill-row.bill-6,.bill-adj.bill-6{grid-template-columns:70px 140px 1fr 70px 90px 100px}.bill-task.bill-6 .merged-label{grid-column:1 / -1}.bill-row.bill-6 .qty-col,.bill-row.bill-6 .rate-col{font-size:12.5px;font-variant-numeric:tabular-nums}.bill-hdr.bill-2,.bill-task.bill-2,.bill-row.bill-2,.bill-adj.bill-2{grid-template-columns:70px 1fr 100px}.bill-hdr.bill-1,.bill-task.bill-1,.bill-row.bill-1,.bill-adj.bill-1{grid-template-columns:1fr 100px}@media print{.no-print,.side,.topbar{display:none!important}.app{display:block!important;height:auto!important;grid-template-rows:none!important;overflow:visible!important}.main,.content{margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important}.bill-paper{border:0!important;box-shadow:none!important;padding:0!important;max-width:none!important}}body.changes-open .app{grid-template-columns:180px 1fr 340px;grid-template-rows:100vh;overflow:hidden}body.changes-open .main{min-height:0}.changes-sidebar{grid-row:1;grid-column:3;position:sticky;top:0;height:100vh;max-height:100vh;display:flex;flex-direction:column;min-height:0;background:var(--card);border-left:1px solid var(--line)}.changes-sidebar .cs-head{display:flex;align-items:center;gap:8px;padding:14px 14px 8px;border-bottom:1px solid var(--line)}.changes-sidebar .cs-title{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:650;color:var(--ink-1);letter-spacing:-.01em}.changes-sidebar .cs-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.changes-sidebar .cs-page{font-size:10.5px;color:var(--ink-4);background:var(--content-bg);border:1px solid var(--line);border-radius:5px;padding:2px 6px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.changes-sidebar .cs-sub{font-size:11px;color:var(--ink-4);padding:7px 14px 4px;border-bottom:0}.changes-sidebar .cs-list{flex:1;min-height:0;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column}.changes-sidebar .cs-group{display:flex;flex-direction:column;gap:7px}.changes-sidebar .cs-group .chg-scope{align-self:flex-start;margin-bottom:1px}.changes-sidebar .cs-divider{height:1px;background:var(--line);margin:12px 0}.changes-sidebar .cs-foot{border-top:1px solid var(--line);padding:10px 12px}.changes-sidebar .cs-form{display:flex;flex-direction:column;gap:8px}.changes-sidebar .cs-input{width:100%;font-size:12px;color:var(--ink-1);background:var(--content-bg);border:1px solid var(--line-strong);border-radius:7px;padding:7px 9px}.changes-sidebar .cs-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.changes-sidebar .cs-form .btn{align-self:flex-end}.changes-sidebar .cs-all{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-3);cursor:pointer}.changes-sidebar .cs-all input{accent-color:var(--accent)}.tslog{--tslog-cols: 88px minmax(160px, 1.1fr) minmax(180px, 1.4fr) minmax( 140px, 1.9fr ) 60px 108px;border:1px solid var(--line);background:#fff}.tslog-head,.tslog-row{display:grid;grid-template-columns:var(--tslog-cols);column-gap:10px;align-items:center;padding:4px 10px}.tslog-head{padding:7px 10px;background:var(--bg-soft);border-bottom:1px solid var(--line);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4)}.tslog-row{border-bottom:1px solid var(--line);font-size:12.5px}.tslog-row:last-child{border-bottom:0}.tslog-row-posted{background:#10b98114}.tslog-row-posted .tslog-cell{padding:4px 6px}.tslog-row-posted .tslog-picker .tslog-input{padding:0}.tslog-row-running{background:#f59e0b17}.tslog-cell{min-width:0}.tslog-row-posted.locked{background:#6b728012}.tslog-row-posted .tslog-cell.locked{cursor:default;color:var(--ink-3);display:inline-flex;align-items:center;gap:4px}.tslog-row-posted .tslog-cell.locked .lk{color:var(--ink-4)}.tslog-row-posted .tslog-cell.locked.invoiced .lk{color:var(--ok)}.tslog-row-posted .tslog-cell.locked.adjusted .lk{color:var(--warn)}.tslog-elapsed{display:flex;align-items:center;gap:6px;font-weight:600}.tslog-dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--side-ink)}.tslog-dot.run{background:#22c55e}.tslog-picker{position:relative;min-width:0}.tslog-input{display:block;width:100%;border:0;padding:4px 6px;background:transparent;color:inherit;font:inherit;outline:none}.tslog-input:focus{background:#fff;box-shadow:inset 0 0 0 1px var(--accent-ring)}.tslog-input:disabled{color:var(--ink-4)}.tslog-menu{position:absolute;z-index:30;top:calc(100% + 2px);left:0;right:0;background:#fff;border:1px solid var(--line-strong);border-radius:6px;box-shadow:0 8px 20px #0000001f;max-height:240px;overflow:auto}.tslog-opt{display:flex;align-items:baseline;gap:8px;padding:6px 10px;font-size:12px;cursor:pointer}.tslog-opt.on{background:var(--accent-soft)}.tslog-opt .label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tslog-opt .hint{flex:none;font-size:11px;color:var(--ink-4)}.tslog-check{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:11px;color:var(--ink-3);cursor:pointer}.tslog-actions{display:inline-flex;gap:2px;justify-content:flex-end}.gantt-card{overflow:hidden;background:#fff}.gantt-wrap{display:flex;align-items:flex-start}.gantt-labels{flex:0 0 auto;border-right:1px solid var(--line);background:#fff;position:relative;z-index:2}.gantt-lhead{display:flex;align-items:center;gap:6px;padding:0 14px;box-sizing:border-box;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-4);border-bottom:1px solid var(--line);background:var(--bg-soft)}.gantt-lhead .b{color:var(--ink-2);font-weight:700}.gantt-lrow{display:flex;align-items:center;gap:8px;padding:0 12px 0 14px;box-sizing:border-box;border-bottom:1px solid var(--muted-bg);text-decoration:none;color:var(--ink)}.gantt-lrow:hover{background:var(--bg-soft)}.gantt-lrow.sub{padding-left:26px}.gantt-lrow .gantt-ltitle{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:550}.gantt-lrow.sub .gantt-ltitle{font-size:12px;font-weight:500;color:var(--ink-2)}.gantt-lsub{color:var(--ink-4);font-weight:400}.gantt-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.gantt-scroll{flex:1;min-width:0;overflow-x:auto}.gantt-track{position:relative}.gantt-head{position:relative;box-sizing:border-box;border-bottom:1px solid var(--line);background:var(--bg-soft)}.gantt-col{position:absolute;top:0;height:100%;box-sizing:border-box;border-left:1px solid var(--muted-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15;text-align:center}.gantt-col .d{font-size:10.5px;font-weight:700;color:var(--ink-3)}.gantt-col em{font-style:normal;font-size:9.5px;color:var(--ink-4)}.gantt-col.today{background:var(--accent-soft)}.gantt-col.today .d{color:var(--accent)}.gantt-today{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);opacity:.4;z-index:2}.gantt-body{position:relative}.gantt-todayline{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);opacity:.5;z-index:1;pointer-events:none}.gantt-bar{position:absolute;height:24px;border-radius:6px;display:flex;align-items:center;gap:6px;padding:0 8px;box-sizing:border-box;cursor:grab;overflow:hidden;font-size:11px;font-weight:600;color:#fff;z-index:2}.gantt-bar.scheduled{border-left:3px solid var(--accent)}.gantt-btitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-plan{opacity:.8;font-size:10px}.gantt-bar.conflict{border:1px dashed var(--danger);box-shadow:inset 0 0 0 2px #e11d4829}.gantt-conflict{flex:0 0 auto;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;padding:1px 4px;border-radius:4px;background:var(--danger);color:#fff}.gantt-due{width:7px;height:7px;border-radius:50%;background:#fff;opacity:.9;flex:0 0 auto}.gantt-milestone{position:absolute;width:20px;height:20px;font-size:16px;line-height:20px;text-align:center;text-decoration:none;z-index:2}.gantt-arrows{position:absolute;top:0;left:0;pointer-events:none;z-index:0}.gantt-bar.s-todo,.gantt-dot.s-todo{background:var(--ink-3)}.gantt-bar.s-in-progress,.gantt-dot.s-in-progress{background:var(--info)}.gantt-bar.s-blocked,.gantt-dot.s-blocked{background:var(--warn)}.gantt-bar.s-done,.gantt-dot.s-done{background:var(--ok)}.gantt-bar.s-cancelled,.gantt-dot.s-cancelled{background:var(--ink-4);opacity:.55}.gantt-milestone{color:var(--warn)}.gantt-milestone.s-done{color:var(--ok)}.gantt-milestone.s-cancelled{color:var(--ink-4)}.gantt-foot{display:flex;align-items:center;gap:12px;padding:8px 14px;border-top:1px solid var(--line)}.gantt-err{color:var(--danger);font-size:12px;font-weight:600}.gantt-toolbar{display:flex;align-items:center;gap:16px;padding:10px 14px;margin-bottom:14px;flex-wrap:wrap}.gantt-toolbar-l{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.gantt-legend{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-3)}.gantt-swatch{width:17px;height:9px;border-radius:3px;display:inline-block}.gantt-swatch.scheduled{background:var(--ink-3);border-left:3px solid var(--accent);width:14px;box-sizing:border-box}.gantt-swatch.estimated{background:var(--ink-3)}.gantt-swatch.solid{background:var(--ok)}.gantt-swatch.conflict{background:#e11d482e;border:1px dashed var(--danger)}.gantt-mg{width:10px;height:10px;transform:rotate(45deg);background:var(--warn);display:inline-block}.gantt-scale{display:inline-flex;gap:2px}.gantt-scale a{font-size:12px;font-weight:550;color:var(--ink-3);padding:4px 9px;border-radius:6px;text-decoration:none}.gantt-scale a:hover{background:var(--muted-bg)}.gantt-scale a.on{background:var(--accent-soft);color:var(--accent)}.gantt-scale a.auto{color:var(--ink-4)}.tbl tbody tr.lvl-list{background:var(--accent-soft)}.tbl tbody tr.lvl-task{background:var(--bg-soft)}.tbl tbody tr.lvl-sub{background:color-mix(in srgb,var(--bg-soft) 55%,var(--card))}.tbl tbody tr.lvl-list,.tbl tbody tr.lvl-task,.tbl tbody tr.lvl-sub{transition:none}.cell-edit{display:inline-block;padding:2px 6px;margin:-2px -6px;border-radius:calc(var(--radius) - 2px);cursor:pointer;color:inherit}.cell-edit:hover{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--line-strong)}.cell-edit:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.tbl tbody tr.tr-adjusted,.tbl tbody tr.tr-adjusted:hover{background:color-mix(in srgb,var(--warn) 14%,var(--card));transition:none}.cell-overlay{position:absolute;inset:0;display:flex;align-items:center;padding:0 6px;background:var(--card);z-index:5}.cell-overlay input,.cell-overlay select{width:100%;min-width:0;font:inherit;height:24px;padding:0 6px;border:1px solid var(--line-strong);border-radius:calc(var(--radius) - 3px);background:var(--card);box-sizing:border-box;box-shadow:none}.tr-adjusted td{background:transparent}.pdfframe{position:relative;height:70vh;min-height:420px;background:var(--muted-bg);border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}.pdfdoc{width:100%;height:100%;border:0;background:#fff}.pdfstate{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--ink-2);font-size:14px;text-align:center;padding:24px}.pdfstate.error{color:var(--danger)}.sow-board{display:flex;flex-direction:column;gap:22px}.sow-lane{display:block}.sow-lane-h{display:flex;align-items:center;gap:8px;padding-bottom:7px;margin-bottom:10px;border-bottom:1px solid var(--line)}.sow-lane-h .lbl,.sow-tombs .th .lbl{font-size:12px;font-weight:650;letter-spacing:.01em}.sow-lane-h .n,.sow-tombs .th .n{font-size:11px;font-weight:650;color:var(--ink-4);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:1px 7px}.sow-lane-h .bar,.sow-tombs .th .bar{width:3px;align-self:stretch;min-height:15px;border-radius:2px;background:var(--line-strong)}.sow-lane-h .bar.muted,.sow-tombs .th .bar.muted{background:var(--muted)}.sow-lane-h .bar.info,.sow-tombs .th .bar.info{background:var(--info)}.sow-lane-h .bar.ok,.sow-tombs .th .bar.ok{background:var(--ok)}.sow-lane-h .bar.warn,.sow-tombs .th .bar.warn{background:var(--warn)}.sow-lane-h .bar.accent,.sow-tombs .th .bar.accent{background:var(--accent)}.sow-lane-h .bar.danger,.sow-tombs .th .bar.danger{background:var(--danger)}.sow-lane .lane-body{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.sow-lane .lane-empty{font-size:11.5px;color:var(--ink-4)}.scard{display:flex;flex-direction:column;gap:4px;padding:11px 12px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);transition:box-shadow .12s,border-color .12s}.scard:hover{border-color:var(--line-strong);box-shadow:0 6px 16px #11182714}.scard.tomb{background:var(--bg-soft)}.scard .sc-top{display:flex;align-items:center;gap:8px}.scard .sc-code{font-family:var(--mono);font-size:11px;font-weight:650;color:var(--ink-3);text-decoration:none}.scard .sc-code:hover{color:var(--accent)}.scard .sc-t{font-size:13px;font-weight:650;line-height:1.35;color:var(--ink);text-decoration:none}.scard .sc-t:hover{color:var(--accent)}.scard .sc-t.muted{color:var(--ink-4)}.scard .sc-sub{font-size:11.5px;color:var(--ink-4)}.scard .sc-meta{display:flex;flex-wrap:wrap;gap:3px 10px;margin-top:3px;font-size:11px;color:var(--ink-3)}.scard .sc-act{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto;padding-top:8px;border-top:1px solid var(--muted-bg);font-size:11px}.sow-tombs{margin-top:22px}.sow-tombs .th{display:flex;align-items:center;gap:8px;padding-bottom:7px;border-bottom:1px solid var(--line);font-size:12px;font-weight:650;color:var(--ink-2)}.sow-tombs .th .hint{font-size:11.5px;font-weight:400;color:var(--ink-4)}.sow-tombs .tb{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-top:10px}.card .card-f{display:flex;align-items:center;gap:10px;padding:11px 16px;border-top:1px solid var(--line);background:var(--bg-soft);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.mini-note{font-size:11px;color:var(--ink-4)}.clip{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;color:var(--ink-3);background:var(--content-bg);border:1px solid var(--line);border-radius:6px;padding:3px 8px}.subtle-list{display:flex;flex-direction:column}.subtle-list>div{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid var(--line);font-size:13px}.subtle-list>div:last-child{border-bottom:none}.snip{display:flex;align-items:center;gap:10px}.snip .code{font-family:var(--mono);font-size:11.5px;color:var(--ink-3)}.x-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:none;padding:0;border:0;border-radius:var(--radius);background:transparent;color:var(--ink-4);cursor:pointer;transition:background .12s,color .12s}.x-btn:hover{background:var(--muted-bg);color:var(--ink)}.x-btn:disabled{cursor:default;opacity:.35}.x-btn:disabled:hover{background:transparent;color:var(--ink-4)}.x-btn svg{display:block;width:14px;height:14px}.pick-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.pick-list .row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--line);cursor:pointer}.pick-list .row:last-child{border-bottom:none}.pick-list .row:hover{background:var(--content-bg)}.pick-list .row .np{display:flex;flex-direction:column;line-height:1.3;min-width:0}.pick-list .row .np .n{font-size:13px;font-weight:550}.pick-list .row .np .e{font-size:11.5px;color:var(--ink-3)}.pick-list .row .tag{margin-left:auto;font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.fdrop{position:relative;flex:none}.fdrop-btn{display:inline-flex;align-items:center;gap:6px;height:var(--ctl-h);padding:0 10px 0 12px;background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow);font:inherit;font-size:13px;color:var(--ink-2);cursor:pointer;white-space:nowrap;transition:border-color .12s,box-shadow .12s}.fdrop-btn:hover{border-color:var(--ink-4)}.fdrop.open .fdrop-btn{border-color:var(--accent-ring);box-shadow:0 0 0 3px var(--accent-soft)}.fdrop.filtered .fdrop-label{color:var(--ink);font-weight:550}.fdrop-btn .caret{transition:transform .12s}.fdrop.open .fdrop-btn .caret{transform:rotate(180deg)}.fdrop-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:#fff;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.fdrop-count[hidden]{display:none}.fdrop .msel-menu{left:0;right:auto;min-width:232px}.msel-wrap{position:relative}.msel{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-height:var(--ctl-h);padding:5px 9px;background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;transition:border-color .12s,box-shadow .12s}.msel:hover{border-color:var(--ink-4)}.msel:focus-visible{outline:none;border-color:var(--ink-4)}.msel-wrap.open .msel{border-color:var(--accent-ring);box-shadow:0 0 0 3px var(--accent-soft)}.msel-placeholder{color:var(--ink-4);font-size:13px}.msel .sel-chip{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;background:var(--accent-soft);border:1px solid var(--line);border-radius:6px;padding:2px 4px 2px 8px;font-size:12px;color:var(--ink-2)}.msel .sel-chip button{border:none;background:none;color:var(--ink-3);cursor:pointer;font:inherit;font-size:12px;line-height:1;padding:0 2px}.msel .sel-chip button:hover{color:var(--danger)}.msel .sel-chip{cursor:pointer}.msel .sel-chip.primary{background:var(--accent);border-color:var(--accent);color:#fff}.msel .sel-chip.primary button:hover{color:#fff}.msel input{flex:1;min-width:60px;border:none;outline:none;background:transparent;font:inherit;font-size:13px;color:var(--ink);padding:3px 0}.msel input::placeholder{color:var(--ink-4)}.caret{display:inline-flex;align-items:center;flex:none;color:var(--ink-4)}.caret svg{display:block;width:16px;height:16px}.msel .caret{margin-left:auto;transition:transform .12s}.msel-wrap.open .msel .caret{transform:rotate(180deg)}.msel-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:40;background:var(--card);border:1px solid var(--line-strong);border-radius:7px;box-shadow:0 10px 15px -3px #0000001a;--msel-foot-h: 33px;max-height:264px;display:flex;flex-direction:column;overflow:hidden}.msel-menu.has-foot{max-height:calc(264px + var(--msel-foot-h))}.modal .m-f .msel-menu{top:auto;bottom:calc(100% + 4px)}.msel-menu[hidden]{display:none}.msel-opts{flex:1 1 auto;min-height:0;overflow-y:auto}.msel-menu .ffoot[hidden]{display:none}.msel-menu .opt{display:flex;align-items:center;gap:9px;padding:8px 11px;font-size:13px;color:var(--ink-2);cursor:pointer}.msel-menu .opt[hidden]{display:none}.msel-menu .opt:hover,.msel-menu .opt.on{background:var(--content-bg)}.msel-menu .opt .abn{margin-left:auto;font-family:var(--mono);font-size:10.5px;color:var(--ink-4)}.msel-menu .opt.create{border-top:1px solid var(--line);color:var(--ink);font-weight:550;font-size:12.5px}.msel-menu .opt.empty{cursor:default;color:var(--ink-4);pointer-events:none}.msel-menu .fsearch{flex:none;background:var(--card);box-shadow:inset 0 -1px 0 var(--line)}.msel-menu .fsearch .input{display:block;width:100%;height:34px;padding:0 11px;font-size:12.5px;border:0;border-radius:0;background:transparent;box-shadow:none}.msel-menu .fsearch .input:focus,.msel-menu .fsearch .input:focus-visible{outline:none;box-shadow:none}.msel-menu .ffoot{flex:none;display:flex;align-items:center;min-height:var(--msel-foot-h);padding:0 11px;background:var(--card);box-shadow:inset 0 1px 0 var(--line)}.msel-menu .fclear{border:0;padding:0;background:none;font:inherit;font-size:12.5px;color:var(--ink-3);cursor:pointer}.msel-menu .fclear:hover{color:var(--ink)}.opt-group{padding:8px 11px 5px;font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:650;color:var(--ink-3);background:var(--content-bg);border-bottom:1px solid var(--line)}.opt-group:not(:first-child){border-top:1px solid var(--line)}.catgrid{display:flex;flex-direction:column;gap:30px}.cat-h{display:flex;align-items:center;gap:8px;margin-bottom:12px}.cat-h .n{font-size:11px;font-weight:600;color:var(--ink-3);background:var(--content-bg);border:1px solid var(--line);border-radius:999px;padding:1px 8px}.cat-h .t{font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.cat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.sowcard{display:flex;flex-direction:column;gap:12px;min-width:0;padding:15px 16px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:border-color .15s,box-shadow .15s}.sowcard:hover{border-color:var(--line-strong);box-shadow:var(--shadow-lg)}.sowcard .t{font-size:14.5px;font-weight:600;line-height:1.3;color:var(--ink)}.sowcard .card-top{display:flex;align-items:flex-start;gap:10px}.sowcard .card-top .t{flex:1 1 auto;min-width:0;overflow-wrap:break-word}.sowcard .card-top .pill{flex:0 0 auto}.sowcard .who{font-size:12.5px;color:var(--ink-3)}.sowcard .who .sep{color:var(--ink-4);margin:0 3px}.sowcard .stats{display:flex;gap:30px}.sowcard .stat{display:flex;flex-direction:column;gap:2px}.sowcard .stat .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-4)}.sowcard .stat .v{font-size:16px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.sowcard .stat .v.sm{font-size:13px;font-weight:550}.sowcard .foot{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--ink-3)}.variants{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-3)}.variants .lb{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-4)}.variants a{padding:1px 9px;border:1px solid var(--line);border-radius:999px;color:var(--ink-3);text-decoration:none;transition:border-color .15s,color .15s}.variants a:hover{border-color:var(--line-strong);color:var(--ink)}.variants a.is-primary{color:var(--ink);border-color:var(--line-strong)}.board{display:grid;grid-template-columns:repeat(5,minmax(205px,1fr));gap:11px;overflow-x:auto;padding-bottom:4px}.board .col{background:var(--content-bg);border:1px solid var(--line);border-radius:10px;padding:9px;display:flex;flex-direction:column;gap:8px;min-height:120px}.board .col>.h{display:flex;align-items:center;gap:7px;font-size:10.5px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:2px 3px}.board .col>.h .n{font-weight:500;color:var(--ink-4)}.board .b-card{background:var(--card);border:1px solid var(--line);border-radius:7px;padding:10px 11px;display:flex;flex-direction:column;gap:6px}.board .b-card .code{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);display:flex;gap:8px}.board .b-card .code .v{margin-left:auto;font-variant-numeric:tabular-nums}.board .b-card .t{font-size:12.5px;font-weight:550;line-height:1.35}.board .b-card .c{font-size:11.5px;color:var(--ink-3)}.board .b-card .meta{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--ink-4);flex-wrap:wrap}.board .b-card .foot{display:flex;align-items:center;gap:6px;border-top:1px solid var(--line);padding-top:7px;margin-top:2px}.board .b-card .mini{font-size:10px;text-decoration:none;color:var(--ink-3);border:1px solid var(--line);padding:2px 7px;border-radius:999px;margin-left:auto}.board .col .empty-note{text-align:center;font-size:11px;color:var(--ink-4);padding:18px 8px;border:1px dashed var(--line-strong);border-radius:var(--radius)}.ws-head{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.ws-head .titles{flex:1;min-width:0;padding-right:14px}.ws-head .t{font-weight:600;font-size:17px;overflow:hidden;text-overflow:ellipsis}.ws-head .sub{font-size:12.5px;color:var(--ink-3);margin-top:2px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ws-head .actions{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ws-sec{padding-top:13px;display:flex;flex-direction:column;gap:13px}.ws-pad{padding:13px 16px 16px}.ws-title-input{width:100%;border:none;background:transparent;font-weight:600;font-size:17px;color:var(--ink);padding:1px 0 2px;border-bottom:1.5px dashed transparent}.ws-title-input::placeholder{color:var(--ink-4);font-weight:500}.ws-title-input:hover,.ws-title-input:focus{outline:none;border-bottom-color:var(--line-strong)}.ws-title-static{margin:0;font-weight:600;font-size:17px;line-height:1.35;color:var(--ink)}.sec-lb{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-3)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px}.field-grid .field.full{grid-column:1 / -1}.rates{display:flex;flex-direction:column;gap:8px;align-self:flex-start;align-items:flex-start;margin-top:12px}.card .card-b.tight{padding:0}.rates .card{width:280px}.rates .tbl .input{width:100%;height:28px;text-align:right;font-variant-numeric:tabular-nums}.rates .tbl td:first-child,.rates .tbl th:first-child{white-space:nowrap}.rates .tbl tr.bad td{background:var(--danger-bg)}.wp-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.details-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.details-cols>.col-left{max-width:none;display:flex;flex-direction:column;gap:16px}.details-cols .sec-lb{margin-bottom:0}.details-cols .empty{text-align:left;padding:0}.details-cols .empty .s{margin-bottom:0}.details-cols .col-left>:first-child{margin-top:0}.details-cols .sow-form{grid-template-columns:1fr 1fr}.coll-list .x-btn{align-self:center}.coll-list{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.coll-item{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;padding:13px 14px;border-bottom:1px solid var(--line)}.coll-item:last-child{border-bottom:none}.coll-item .full{grid-column:1 / -1}.coll-item .lbl{display:flex;align-items:center;gap:8px}.coll-item .lbl .x-btn{margin-left:auto}.coll-item .input,.coll-item .select{height:30px;font-size:12.5px}.coll-list+.btn{margin-top:9px}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.tpl{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow);padding:14px 15px;display:flex;flex-direction:column;gap:7px}.tpl .top{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.tpl .top .h{font-weight:650;font-size:13.5px}.tpl .d{font-size:12px;color:var(--ink-3);margin:0;line-height:1.5}.tpl .meta{margin-top:auto;padding-top:5px;font-size:11px;color:var(--ink-4);font-variant-numeric:tabular-nums}.tpl .foot{padding-top:2px}.tpl.blank{border-style:dashed;background:transparent;box-shadow:none}.ed-stage{margin-top:14px;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--card);overflow:hidden}.ed-stage.fill-vh{height:calc(100dvh - 285px);min-height:480px}.ed-stage.fill-vh .pv-split.rail-scroll{height:100%}.stage-body{height:100%;min-height:0}.ed-stage:not(.fill-vh) .stage-body{min-height:560px}.stage-body .sow-body-slot{height:100%}iframe.fill-vh{margin-top:14px;height:calc(100dvh - 285px);min-height:480px}.app:has(.fill-vh){grid-template-rows:100vh;width:100%;overflow-y:hidden}.app:has(.fill-vh) .main{min-height:0}.stage-ta{display:block;width:100%;min-height:560px;resize:vertical;border:none;border-radius:0;background:transparent;padding:18px 22px;font-family:var(--mono);font-size:12.5px;line-height:1.75;color:var(--ink)}.stage-ta:focus{outline:none}.sow-body-slot{display:block;min-width:0;min-height:0}.pv-split.rail-scroll .sow-body-slot,.sow-body-slot .stage-ta{height:100%}.sow-editor{display:none;height:100%;min-height:0;flex-direction:column}.sow-body-slot.sow-editor-on>.stage-ta{display:none}.sow-body-slot.sow-editor-on>.sow-editor{display:flex}.sow-editor-chrome{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border-bottom:1px solid var(--line);background:var(--bg-soft)}.sow-editor-host{flex:1 1 auto;min-height:0;overflow:hidden}.sow-editor-host .cm-editor{height:100%}.sow-editor-host .cm-scroller{overflow:auto}.sow-editor.sow-editor-fullscreen{position:fixed;inset:0;z-index:200;height:100dvh;background:var(--card)}.sow-editor-fullscreen .sow-editor-chrome{padding:8px 14px}.sow-editor-fullscreen .sow-editor-host .cm-content{padding:22px 28px}.pal-h{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-3);margin:11px 0 1px}.pal{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:3px 10px;width:calc(100% + 24px);margin:0 -12px;padding:7px 12px;border:none;border-radius:0;background:transparent;font:inherit;text-align:left;cursor:pointer}.pal:hover{background:color-mix(in srgb,var(--ink) 7%,transparent)}.pal .lb{font-size:12px;font-weight:550;color:var(--ink);white-space:nowrap}.pal .tk{justify-self:start;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pal .hint{grid-column:1 / -1;font-size:10.5px;line-height:1.4;color:var(--ink-4)}.pv-split{display:grid;grid-template-columns:300px minmax(0,1fr);align-items:stretch}.pv-split.rail-scroll{height:600px}.pv-split.rail-scroll .stage-ta{height:100%;min-height:0}.pv-split.rail-scroll .pv-render{height:100%;min-height:0;overflow-y:auto}.pv-fields{border-right:1px solid var(--line);background:var(--content-bg);padding:14px;display:flex;flex-direction:column;gap:6px;min-height:0}.pal-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:6px;margin:0 -14px;padding:0 14px}.pv-fields .input{height:30px;font-size:12px;width:100%}.pv-field{display:flex;flex-direction:column;gap:5px}.pv-field>.lb{font-size:12.5px;font-weight:550;color:var(--ink)}.pv-field .hint{font-size:11.5px;line-height:1.45;color:var(--ink-4)}.pv-field+.pv-field{margin-top:7px}.pv-field+.pal-h{margin-top:15px}.pv-fields>.pal-scroll:first-child>.pal-h:first-child{margin-top:0}.pv-fields .add{margin-top:auto;width:100%;justify-content:center}.pv-render{padding:20px 24px 26px}.pv-render h1{font-weight:600;font-size:20px;line-height:1.4;margin:0 0 12px}.pv-render h2{font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-3);margin:22px 0 7px}.pv-render p{font-size:13px;line-height:1.75;color:var(--ink-2);margin:6px 0}.pv-render b{color:var(--ink)}.fld{display:inline;line-height:inherit;font-size:inherit;padding:1px 6px;border-radius:6px}.fld.ok{background:var(--ok-bg);box-shadow:inset 0 0 0 1px var(--ok-ring);color:var(--ok)}.fld.miss{background:var(--muted-bg);box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--ink-4)}.fld.bad{background:var(--danger-bg);box-shadow:inset 0 0 0 1px var(--danger-ring);color:var(--danger)}.tk{font-family:var(--mono);font-size:11px;padding:1px 6px;border-radius:5px;white-space:nowrap}.tk.ok{background:var(--ok-bg);color:var(--ok);border:1px solid var(--ok-ring)}.tk.warn{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn-ring)}.tk.danger{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-ring)}.reg-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 16px}.reg-grid .wide{grid-column:1 / -1}.reg-tok{display:flex;align-items:center;gap:7px}.reg-tok .br{font-family:var(--mono);font-size:12px;color:var(--ink-4)}.reg-sec{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-3)}.reg-arm{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:start}.reg-arm .k{font-family:var(--mono);font-size:11px;color:var(--ink-3);padding-top:10px}.reg-grid .mono,.reg-tok .mono,.reg-arm input.mono{font-family:var(--mono);font-size:12px}.reg-grid .textarea{font-size:12.5px}.reg-item{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.reg-item .r{display:grid;grid-template-columns:148px minmax(0,1fr) 118px 26px;gap:8px;align-items:center;padding:7px 9px;border-bottom:1px solid var(--line)}.reg-item .r:last-child{border-bottom:none}.reg-item .r .input,.reg-item .r .select{height:30px;font-size:12px}.reg-add{align-self:flex-start}.ws-history{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}@media(max-width:1080px){.ws-history{grid-template-columns:1fr}}@media(min-width:1081px){.content:has(.card .ws-sec:not([hidden]) .ws-history){display:flex;flex-direction:column}.content:has(.card .ws-sec:not([hidden]) .ws-history)>form{display:flex;flex-direction:column;flex:1;min-height:0}.card:has(>.ws-sec:not([hidden]) .ws-history){display:flex;flex-direction:column;flex:1;min-height:480px}.card:has(>.ws-sec:not([hidden]) .ws-history)>.card-b:not([hidden]),.card:has(>.ws-sec:not([hidden]) .ws-history)>.tabs{flex-shrink:0}.card:has(>.ws-sec:not([hidden]) .ws-history)>.ws-sec:not([hidden]){flex:1;min-height:0}.card:has(>.ws-sec:not([hidden]) .ws-history) .ws-history{flex:1;min-height:0;align-items:stretch}.card:has(>.ws-sec:not([hidden]) .ws-history) .hist-doc{min-height:0;overflow-y:auto}.card:has(>.ws-sec:not([hidden]) .ws-history) .hist-rail{min-height:0;position:static;max-height:none}}.hist-doc{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);padding:26px 30px 32px}.hist-doc--skin{padding:0;overflow:hidden;background:#fff}.hist-doc--skin .sow-public{border-radius:inherit}.hist-doc--skin .hist-doc-state{padding:26px 30px}.hist-doc--skin .hist-doc-app{padding:24px 30px 0;background:var(--card)}.hist-doc--skin .hist-doc-app .hist-note{margin-bottom:18px}.hist-doc--skin .hist-doc-app+.sow-diff-doc{border-top:1px solid var(--line)}.hist-dochead{display:flex;align-items:baseline;gap:10px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}.hist-dochead .lb{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}.hist-note{margin-bottom:18px;padding:12px 14px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-soft);font-size:13px;color:var(--ink-2)}.hist-note :first-child{margin-top:0}.hist-note :last-child{margin-bottom:0}.hist-doc-state{text-align:center;font-size:13px;color:var(--ink-3)}.hist-doc-state.error{color:var(--danger)}.hist-rail{position:sticky;top:48px;display:flex;flex-direction:column;max-height:680px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow)}.hist-railhead{padding:12px 14px;border-bottom:1px solid var(--line);font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}.hist-railhead{display:flex;align-items:baseline;gap:8px}.hist-railhead .n{font-size:12px;font-weight:600;color:var(--ink-3)}.hist-tl{flex:1;position:relative;list-style:none;margin:0;padding:8px 14px 16px 34px;overflow-y:auto}.hist-tl:before{content:"";position:absolute;left:19px;top:0;bottom:0;width:1px;background:var(--line)}.hist-day{list-style:none;padding:13px 0 6px;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4)}.hist-tl>.hist-day:first-child{padding-top:6px}.hist-ev{list-style:none;position:relative;padding:7px 0}.hist-node{position:absolute;left:-20px;top:12px;width:10px;height:10px;border-radius:50%;background:var(--ink-4);box-shadow:0 0 0 3px var(--card);z-index:1}.hist-node.accent{background:var(--accent)}.hist-node.ok{background:var(--ok)}.hist-node.warn{background:var(--warn)}.hist-node.danger{background:var(--danger)}.hist-node.info{background:var(--info)}.hist-d{font-size:12.5px;line-height:1.45;color:var(--ink-2)}.hist-d b{font-weight:600;color:var(--ink)}.hist-m{margin-top:1px;font-size:10.5px;color:var(--ink-4)}.hist-lnk{padding:0;border:0;background:none;font:inherit;color:var(--accent);text-decoration:none;cursor:pointer}.hist-lnk:hover{text-decoration:underline}.vcard{display:block;padding:13px 15px 14px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);text-decoration:none;color:inherit}.vcard.on{border-color:var(--accent-ring);box-shadow:inset 2px 0 0 var(--accent)}.vcard .top{display:flex;align-items:center;gap:8px;justify-content:space-between}.vcard .v{font-size:13.5px;font-weight:650;letter-spacing:-.01em;color:var(--ink)}.vcard .meta{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:var(--ink-4)}.vcard .d{margin-top:2px;font-size:11px;color:var(--ink-4)}.vcard .bd{margin-top:9px}.vcard .act{margin-top:10px;display:flex;gap:8px}.vcard .mono{font-size:10.5px}.rn{font-size:12.5px;line-height:1.6;color:var(--ink-2)}.rn>:first-child{margin-top:0}.rn h1,.rn h2,.rn h3{margin:12px 0 5px;font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}.rn h1{font-size:12.5px;text-transform:none;letter-spacing:-.01em;color:var(--ink)}.rn p{margin:5px 0}.rn ul,.rn ol{margin:5px 0 5px 17px;padding:0}.rn ul{list-style:disc}.rn ol{list-style:decimal}.rn li{margin:2px 0}.rn code{font-family:var(--mono);font-size:11px;padding:1px 5px;border-radius:5px;background:var(--muted-bg)}.rn pre{margin:6px 0;padding:9px 11px;border-radius:var(--radius);background:var(--muted-bg);overflow-x:auto}.rn pre code{padding:0;background:none}.rn a{color:var(--accent)}.rn blockquote{margin:6px 0;padding-left:10px;border-left:2px solid var(--line-strong);color:var(--ink-3)}.rn strong{font-weight:600;color:var(--ink)}.hist-compare{display:flex;flex-direction:column;gap:14px}.onb-person{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.onb-person:last-child,.onb-person:has(+.card-f){border-bottom:none}.onb-person .who{display:flex;flex-direction:column;line-height:1.3}.onb-person .who .n{font-weight:550;font-size:13px}.onb-person .who .e{font-size:11.5px;color:var(--ink-3);font-family:var(--mono)}.onb-person .side-tag{font-size:10.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.onb-person .right{margin-left:auto;display:flex;align-items:center;gap:9px}.onb-person .pick{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-3);white-space:nowrap}.onboard .form{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;text-align:left}.onboard .form .full{grid-column:1 / -1}.onboard .segline{display:flex;gap:0}.onboard .segline .tab{flex:1;padding:7px 0;font-size:12.5px;font-weight:550;border:1px solid var(--line-strong);background:var(--card);color:var(--ink-3)}.onboard .segline .tab:first-child{border-radius:7px 0 0 7px}.onboard .segline .tab:last-child{border-radius:0 7px 7px 0;margin-left:-1px}.onboard .segline .tab.on{background:var(--accent);color:#fff;border-color:var(--accent);position:relative}.onboard .divider{display:flex;align-items:center;gap:10px;font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-4);grid-column:1 / -1}.onboard .divider:before,.onboard .divider:after{content:"";flex:1;border-top:1px solid var(--line)}.tabs.seg.xs a,.tabs.seg.xs button{padding:4px 9px;font-size:11.5px}.onb-head{display:flex;align-items:center;gap:10px}.onb-head>.mini-note,.onb-head>.btn{margin-left:auto}.onb-rows{display:flex;flex-direction:column}.onb-row{display:grid;grid-template-columns:200px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 13px;border-bottom:1px solid var(--line)}.onb-row:last-child{border-bottom:none}.onb-row .nm{display:flex;align-items:center;gap:7px;min-width:0}.onb-row .nm .n{font-size:13px;font-weight:550}.onb-row .then{justify-self:end;font-size:13px;color:var(--ink-2)}.onb-row .tools{display:flex;align-items:center;gap:12px;justify-self:end}.onb-row.tall{align-items:start}.onb-row.tall .nm{padding-top:7px}.onb-row .textarea{min-height:54px}.onb-split{display:flex;gap:16px;align-items:flex-start}.onb-split .col-left{flex:1}.onb-split>.side-panel{width:272px;flex:none}.party-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;align-items:start}.client-pair{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;align-items:start}.client-pair .onb-row{grid-template-columns:148px minmax(0,1fr) auto}.onb-party-list{display:flex;flex-direction:column;gap:20px}.onb-party-name{font-size:14px;font-weight:var(--head-weight);margin-bottom:8px}.onb-party .card-f .msel{min-height:var(--ctl-h-sm);padding:3px 9px}.onb-party .card-f .msel input{font-size:12px;padding:2px 0}.col-left{display:flex;flex-direction:column;gap:14px;min-width:0;max-width:640px}.side-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-soft);padding:11px 12px;display:flex;flex-direction:column;gap:9px;font-size:12px}.side-panel .lb{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-3);font-weight:650}.side-panel .ins{display:flex;flex-direction:column;gap:7px}.side-panel .it{display:flex;align-items:center;gap:7px;justify-content:space-between}.side-panel .it .btn.sm{height:22px;padding:0 8px;font-size:10.5px}.fp-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.fp-wide{max-width:560px}.fp-static{position:static;margin-top:6px;max-height:none;overflow:visible}.fp-badge{flex:none;font-size:10px;text-transform:uppercase;letter-spacing:.07em;border:1px solid var(--line);border-radius:999px;padding:2px 8px;color:var(--ink-3)}.fp-badge.contact{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--ink-2)}.fp-chips{display:flex;flex-wrap:wrap;gap:6px}.fp-chip{font-size:12px;border:1px solid var(--line);background:var(--content-bg);border-radius:var(--radius-sm);padding:3px 9px;color:var(--ink-2)}.fp-note{font-size:12.5px;color:var(--ink-3);line-height:1.6;max-width:820px;margin:0 0 10px}.fp-note b{color:var(--ink)}.gather{display:flex;flex-direction:column;gap:6px;border:1px dashed var(--line-strong);border-radius:var(--radius);padding:10px 13px;background:var(--bg-soft);font-size:12px;color:var(--ink-2)}.gather .lbl{font-size:10.5px;font-weight:650;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);display:flex;justify-content:space-between}.gather .lbl .n{text-transform:none;font-weight:500;color:var(--danger)}.bodyed{display:grid}.bodyed>div{height:100%}.bodyed .ta{width:100%;height:100%;min-height:480px;resize:vertical;font-family:var(--mono);font-size:12px;line-height:1.65;padding:11px 13px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.tabs.seg.md{padding:2px}.tabs.seg.md a{padding:3px 15px;font-size:12.5px;line-height:1.25}.tabs.seg{gap:2px;border:none;background:var(--accent-soft);padding:3px;border-radius:calc(var(--radius) + 2px);width:max-content}.tabs.seg a,.tabs.seg button{border:none;margin:0;padding:6px 14px;border-radius:var(--radius);background:none;color:inherit;font-family:inherit;font-size:13px;font-weight:var(--btn-weight);cursor:pointer}.tabs.seg a.on,.tabs.seg button.on{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.tabs.seg button:disabled{cursor:default}.sow-eb{font-size:14px}.sow-eb .num{font-variant-numeric:tabular-nums}.sow-eb .sow-eb-ws{position:relative;border-radius:16px;--ws-runway: 32px;padding:16px 14px var(--ws-runway);margin-bottom:0;transition:background .14s}.sow-eb .sow-eb-ws-addzone{position:absolute;left:0;right:0;top:calc(100% - var(--ws-runway));height:var(--ws-runway);margin:0;padding:0;border:0;background:transparent;cursor:pointer}.sow-eb .sow-eb-ws:hover,.sow-eb .sow-eb-ws:focus-within{background:#fff9}.sow-eb .sow-eb-ws-head{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin-bottom:11px}.sow-eb .sow-eb-ws-head>.sow-eb-desc-reveal{margin-top:1px}.sow-eb .sow-eb-ws-headline{display:flex;width:100%;justify-content:space-between;align-items:flex-start;gap:12px}.sow-eb .sow-eb-ws-total{flex:none;padding:5px 12px 0 0;font-size:17.25px;font-weight:600;color:var(--ink-3)}.sow-eb .sow-eb-ws-title{width:340px;max-width:60%;flex:0 1 auto;min-width:0;border:1px solid transparent;background:transparent;border-radius:8px;padding:4px 8px;text-align:left;font-size:17px;font-weight:650;letter-spacing:-.01em}.sow-eb .sow-eb-ws-title::placeholder{color:var(--ink-4);font-weight:550}.sow-eb .sow-eb-ws-title:hover{border-color:var(--line)}.sow-eb .sow-eb-ws-title:focus{outline:none;border-color:var(--accent-ring);background:#fff;box-shadow:0 0 0 3px var(--accent-soft)}.sow-eb .sow-eb-desc-reveal{display:grid;grid-template-rows:0fr;transition:grid-template-rows .18s ease}.sow-eb .sow-eb-desc-reveal>div{min-height:0;overflow:hidden}.sow-eb .sow-eb-desc-reveal.filled{grid-template-rows:1fr}.sow-eb .sow-eb-ws-head:hover>.sow-eb-desc-reveal,.sow-eb .sow-eb-ws-head:focus-within>.sow-eb-desc-reveal{grid-template-rows:1fr}.sow-eb .sow-eb-ws-desc{width:340px;max-width:100%;display:block;resize:none;overflow:hidden;line-height:1.45;border:1px solid transparent;background:transparent;border-radius:8px;padding:3px 8px;text-align:left;font-size:12.5px;color:var(--ink-3)}.sow-eb .sow-eb-ws-desc::placeholder{color:var(--ink-4)}.sow-eb .sow-eb-ws-desc:hover{border-color:var(--line)}.sow-eb .sow-eb-ws-desc:focus{outline:none;border-color:var(--accent-ring);background:#fff}.sow-eb .sow-eb-task{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px #1018280d;margin-top:10px;transition:border-color .12s,box-shadow .12s;cursor:grab}.sow-eb .sow-eb-task:hover:not(:has(.sow-eb-subtasks:hover)),.sow-eb .sow-eb-task:focus-within:not(:has(.sow-eb-subtasks:focus-within)){border-color:var(--accent-ring)}.sow-eb .sow-eb-task-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:14px;padding:12px 14px}.sow-eb .sow-eb-title-col{min-width:0}.sow-eb .sow-eb-task-title{display:block;width:100%;max-width:60%;min-width:0;resize:none;overflow:hidden;line-height:1.35;border:1px solid transparent;background:transparent;border-radius:7px;padding:4px 7px;font-size:15px;font-weight:600;cursor:text}.sow-eb .sow-eb-task-title::placeholder{color:var(--ink-4);font-weight:500}.sow-eb .sow-eb-task-title:hover{border-color:var(--line)}.sow-eb .sow-eb-task-title:focus{outline:none;border-color:var(--accent-ring);background:#fff;box-shadow:0 0 0 3px var(--accent-soft)}.sow-eb .sow-eb-total{flex:none;display:flex;align-items:center;gap:8px;padding:4px 4px 0 0}.sow-eb .sow-eb-total .amt{font-size:15px;font-weight:700;letter-spacing:-.01em}.sow-eb .sow-eb-total .kind{font-size:11px;font-weight:600;color:var(--ink-4)}.sow-eb .sow-eb-task-desc{grid-column:1 / -1}.sow-eb .sow-eb-task-desc textarea{width:100%;margin-top:2px;display:block;resize:none;overflow:hidden;line-height:1.45;border:1px solid transparent;background:transparent;border-radius:7px;padding:2px 7px;font-size:12.5px;color:var(--ink-3)}.sow-eb .sow-eb-task-desc textarea::placeholder{color:var(--ink-4)}.sow-eb .sow-eb-task-desc textarea:hover{border-color:var(--line)}.sow-eb .sow-eb-task-desc textarea:focus{outline:none;border-color:var(--accent-ring);background:#fff;box-shadow:0 0 0 3px var(--accent-soft)}.sow-eb .sow-eb-task:hover:not(:has(.sow-eb-subtasks:hover))>.sow-eb-task-head>.sow-eb-task-desc,.sow-eb .sow-eb-task:focus-within:not(:has(.sow-eb-subtasks:focus-within))>.sow-eb-task-head>.sow-eb-task-desc,.sow-eb .sow-eb-task:hover:not(:has(.sow-eb-subtasks:hover))>.sow-eb-desc-reveal.sow-eb-items-reveal,.sow-eb .sow-eb-task:focus-within:not(:has(.sow-eb-subtasks:focus-within))>.sow-eb-desc-reveal.sow-eb-items-reveal{grid-template-rows:1fr}.sow-eb .items{padding:0 14px 12px;display:flex;flex-direction:column;gap:6px}.sow-eb .sow-eb-item{display:grid;gap:8px;align-items:center;border:1px solid var(--line);background:var(--bg-soft);border-radius:9px;padding:3px 5px}.sow-eb .sow-eb-item.time{grid-template-columns:minmax(150px,1fr) 84px 110px 24px}.sow-eb .sow-eb-item.sow-eb-item-fixed{grid-template-columns:1fr 130px 24px}.sow-eb .item-x{border:1px solid transparent;background:transparent;border-radius:6px;color:var(--ink-4);font-size:12px;line-height:1;padding:3px 4px;cursor:pointer}.sow-eb .item-x:hover{background:var(--danger-bg);border-color:var(--danger-ring);color:var(--danger)}.sow-eb .sow-eb-item select,.sow-eb .sow-eb-item input{width:100%;min-width:0;border:1px solid transparent;background:transparent;border-radius:6px;padding:3px 5px;font-size:13px}.sow-eb .resource{position:relative}.sow-eb .resource-name{display:block;padding:3px 5px;font-size:13px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sow-eb .resource-name.sow-eb-blank{color:var(--ink-4)}.sow-eb .resource select{position:absolute;inset:0;opacity:0;appearance:none;-webkit-appearance:none;border:1px solid var(--line);border-radius:6px;background:#fff;padding-right:24px;cursor:pointer;transition:opacity .12s ease}.sow-eb .sow-eb-item:hover .resource select,.sow-eb .resource:focus-within select{opacity:1}.sow-eb .sow-eb-item input:hover{border-color:var(--line-strong);background:#fff}.sow-eb .sow-eb-item input:focus,.sow-eb .sow-eb-item select:focus{outline:none;border-color:var(--accent-ring);background:#fff;box-shadow:0 0 0 3px var(--accent-soft)}.sow-eb .sow-eb-item input.num{text-align:right}.sow-eb .row-label{padding:3px 5px;font-size:13px;color:var(--ink-2)}.sow-eb .wrap{position:relative}.sow-eb .wrap:before,.sow-eb .wrap:after{position:absolute;top:50%;transform:translateY(-50%);color:var(--ink-4);font-size:11.5px;pointer-events:none}.sow-eb .wrap.rate:before,.sow-eb .wrap.amount:before{content:"$";left:7px}.sow-eb .wrap.rate input,.sow-eb .wrap.amount input{padding-left:16px}.sow-eb .wrap.hours:after{content:"h";right:7px}.sow-eb .wrap.hours input{padding-right:15px}.sow-eb .wrap.rate.bad input{border-color:var(--danger-ring);background:var(--danger-bg)}.sow-eb .sow-eb-add-zones{display:grid;grid-template-rows:0fr;transition:grid-template-rows .18s ease}.sow-eb .sow-eb-add-zones>div{min-height:0;overflow:hidden}.sow-eb .sow-eb-task:hover:not(:has(.sow-eb-subtasks:hover))>.sow-eb-add-zones,.sow-eb .sow-eb-task:focus-within:not(:has(.sow-eb-subtasks:focus-within))>.sow-eb-add-zones{grid-template-rows:1fr}.sow-eb .sow-eb-add-zone-row{display:flex;align-items:center;gap:10px;padding:0 14px 12px;opacity:0;transform:translateY(-3px);transition:opacity .14s ease,transform .14s ease}.sow-eb .sow-eb-task:hover:not(:has(.sow-eb-subtasks:hover))>.sow-eb-add-zones>div>.sow-eb-add-zone-row,.sow-eb .sow-eb-task:focus-within:not(:has(.sow-eb-subtasks:focus-within))>.sow-eb-add-zones>div>.sow-eb-add-zone-row{opacity:1;transform:none}.sow-eb .sow-eb-add-zone{flex:1;border:1.5px solid var(--line-strong);background:var(--bg-soft);border-radius:9px;padding:6px 8px;color:var(--ink-3);font-size:11.5px;font-weight:550;cursor:pointer}.sow-eb .sow-eb-add-zone:hover:not([disabled]){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.sow-eb .sow-eb-add-zone[disabled]{opacity:.45;cursor:not-allowed}.sow-eb .sow-eb-task-actions{flex:none;display:flex;align-items:center;gap:6px}.sow-eb .sow-eb-chip{border:1px solid var(--line-strong);background:#fff;color:var(--ink-2);border-radius:8px;padding:6px 8px;font-size:11px;font-weight:600;white-space:nowrap;cursor:pointer}.sow-eb .sow-eb-chip:hover{background:var(--bg-soft);border-color:var(--ink-4);color:var(--ink)}.sow-eb .sow-eb-chip.danger:hover{background:var(--danger-bg);border-color:var(--danger-ring);color:var(--danger)}.sow-eb .sow-eb-task input,.sow-eb .sow-eb-task textarea,.sow-eb .sow-eb-ws input,.sow-eb .sow-eb-ws textarea{cursor:text}.sow-eb .sow-eb-task select,.sow-eb .sow-eb-task button,.sow-eb .sow-eb-ws select,.sow-eb .sow-eb-ws button{cursor:pointer}.sow-eb .sow-eb-task.sow-eb-dragging,.sow-eb .sow-eb-ws.sow-eb-dragging{opacity:.45}.sow-eb .sow-eb-task.sow-eb-dragging .sow-eb-add-zones{opacity:0}.sow-eb .sow-eb-ws.sow-eb-dragging{outline:2px solid var(--accent-ring)}.sow-eb .sow-eb-subtasks{display:flex;flex-direction:column;gap:8px;padding:0 14px 20px}.sow-eb .sow-eb-subtasks>.sow-eb-task{margin-top:0}.sow-eb .sow-eb-task.subtask{position:relative;isolation:isolate;border-color:var(--line-strong);box-shadow:none}.sow-eb .sow-eb-task.subtask:after{content:"";position:absolute;inset:-5px -14px;z-index:-1}.sow-eb .sow-eb-subtasks>.sow-eb-task:first-child:after{top:0}.sow-eb .sow-eb-subtasks>.sow-eb-task:last-child:after{bottom:-20px}.sow-eb .sow-eb-task.subtask .sow-eb-task-title,.sow-eb .sow-eb-task.subtask .sow-eb-total .amt{color:var(--ink-3)}.sow-eb .sow-eb-task.subtask .sow-eb-total .kind{font-weight:400}.sow-eb .sow-eb-task.subtask .sow-eb-task-head{padding:8px 12px}.sow-eb .sow-eb-task.subtask .sow-eb-task-title{padding:2px 5px;font-size:13px}.sow-eb .sow-eb-task.subtask .sow-eb-total{gap:6px;padding:2px 2px 0 0}.sow-eb .sow-eb-task.subtask .sow-eb-total .amt{font-size:13px}.sow-eb .sow-eb-task.subtask .sow-eb-total .kind{font-size:10px}.sow-eb .sow-eb-task.subtask .sow-eb-task-desc textarea{padding:1px 5px;font-size:11.5px}.sow-eb .sow-eb-task.subtask .items{padding:0 12px 8px;gap:5px}.sow-eb .sow-eb-task.subtask .sow-eb-add-zone-row{padding:0 12px 12px}.sow-eb .sow-eb-ws-foot{display:grid;grid-template-rows:0fr;transition:grid-template-rows .18s ease}.sow-eb .sow-eb-ws-foot>div{min-height:0;overflow:hidden;display:flex;align-items:stretch;gap:8px}.sow-eb .sow-eb-ws-foot:not(.sow-eb-blank)>div>*{margin-top:14px}.sow-eb .sow-eb-ws-foot .sow-eb-add-task{flex:1 1 0;min-width:0}.sow-eb .sow-eb-ws-foot .sow-eb-chip{flex:none}.sow-eb .sow-eb-ws-foot.sow-eb-blank{grid-template-rows:1fr}.sow-eb .sow-eb-ws:hover>.sow-eb-ws-foot,.sow-eb .sow-eb-ws:focus-within>.sow-eb-ws-foot{grid-template-rows:1fr}.sow-eb .sow-eb-add-task,.sow-eb .add-ws{display:block;width:100%;border:1.5px dashed var(--line-strong);background:transparent;border-radius:10px;padding:9px 10px;color:var(--ink-3);font-size:11.5px;font-weight:550;text-align:center;cursor:pointer}.sow-eb .sow-eb-add-task.sow-eb-blank{padding:15px 10px;font-size:12px}.sow-eb .sow-eb-add-task:hover,.sow-eb .add-ws:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.sow-eb .add-ws{border-radius:12px;padding:13px 10px;font-size:12.5px}.sow-eb .sow-eb-foot{margin-top:12px;padding:22px 20px 26px}.sow-eb .sow-eb-foot-build{width:100%}.sow-eb .sow-eb-foot-line,.sow-eb .sow-eb-foot-total{display:flex;align-items:baseline;justify-content:space-between;gap:24px}.sow-eb .sow-eb-foot-line{padding:5px 0;font-size:13.5px;color:var(--ink-2)}.sow-eb .sow-eb-foot-line b{font-weight:550;font-variant-numeric:tabular-nums;color:var(--ink)}.sow-eb .sow-eb-foot-total{margin-top:10px;padding-top:12px;border-top:1px solid var(--line);color:var(--ink)}.sow-eb .sow-eb-foot-total .lbl{font-size:13.5px;font-weight:600}.sow-eb .sow-eb-foot-total b{font-size:22px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.sow-eb .sow-eb-tpl{display:inline-flex}.sow-eb .sow-eb-tpl-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;border:1px dashed var(--line-strong);background:transparent;color:var(--ink-3);border-radius:8px;padding:6px 8px;font:inherit;font-size:11px;font-weight:600;white-space:nowrap;cursor:pointer}.sow-eb .sow-eb-tpl-btn:hover:not([disabled]){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.sow-eb .sow-eb-tpl-btn[disabled]{opacity:.45;cursor:not-allowed}.sow-eb .sow-eb-tpl-modal .input{width:100%;margin-bottom:14px}.sow-eb .sow-eb-tpl-cat{margin-top:16px}.sow-eb .sow-eb-tpl-cat:first-child{margin-top:0}.sow-eb .sow-eb-tpl-cat-h{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);margin-bottom:8px}.sow-eb .sow-eb-tpl-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}.sow-eb .sow-eb-tpl-card{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;border:1px solid var(--line-strong);border-radius:12px;background:#fff;padding:11px 12px;cursor:pointer;transition:border-color .12s,background .12s}.sow-eb .sow-eb-tpl-card:hover,.sow-eb .sow-eb-tpl-card:focus-visible{border-color:var(--accent);background:var(--accent-soft);outline:none}.sow-eb .sow-eb-tpl-card .t{font-size:13px;font-weight:600;color:var(--ink)}.sow-eb .sow-eb-tpl-card .d{font-size:11.5px;color:var(--ink-3);line-height:1.45}.sow-eb .sow-eb-tpl-card .m{font-size:11px;color:var(--ink-4);margin-top:2px;font-variant-numeric:tabular-nums}.sow-eb .sow-eb-tpl-empty{padding:14px 2px;font-size:12.5px;color:var(--ink-3);line-height:1.5}.sow-eb .sow-eb-page-foot{display:flex;gap:8px}.sow-eb .sow-eb-page-foot>*{flex:1}.sow-eb .sow-eb-page-foot .sow-eb-tpl-btn{width:100%;padding:13px 10px;font-size:12.5px;border-radius:12px}.sow-eb .sow-eb-add-zone-row .sow-eb-tpl{flex:none}@media(max-width:560px){.sow-eb .sow-eb-ws-title{max-width:100%}.sow-eb .sow-eb-item{gap:5px}.sow-eb .sow-eb-item.time{grid-template-columns:minmax(0,1fr) minmax(38px,15%) minmax(66px,24%) 30px}.sow-eb .sow-eb-item.sow-eb-item-fixed{grid-template-columns:auto minmax(0,1fr) 30px}.sow-eb .sow-eb-item.sow-eb-item-fixed .wrap.amount{max-width:130px;justify-self:end}.sow-eb .resource select{padding-right:18px}.sow-eb .sow-eb-task-title{max-width:none}.sow-eb .sow-eb-total .kind{display:none}.sow-eb .sow-eb-task.subtask .items{padding:0 10px 8px}.sow-eb .sow-eb-task.subtask .sow-eb-add-zone-row{padding:0 10px 10px}.sow-eb .sow-eb-add-zone-row{flex-wrap:wrap;gap:6px}.sow-eb .sow-eb-add-zone{min-width:0;padding:6px}.sow-eb .sow-eb-chip{padding:5px 7px}.sow-eb .sow-eb-task-actions{margin-left:auto}.sow-eb .item-x{min-width:30px;min-height:30px;display:grid;place-items:center;font-size:14px}}.sow-diff-html{font-size:13px;line-height:1.7}.sow-diff-html p{margin:0 0 .85em}.sow-diff-html h1,.sow-diff-html h2,.sow-diff-html h3,.sow-diff-html h4{margin:1.2em 0 .5em;font-size:1em;font-weight:600}.sow-diff-html ul,.sow-diff-html ol{margin:0 0 .85em 1.1em}.sow-diff-html ins{background:var(--ok-bg);color:var(--ok);text-decoration:none;padding:0 2px;border-radius:3px}.sow-diff-html del{background:var(--danger-bg);color:var(--danger);text-decoration:line-through;padding:0 2px;border-radius:3px}.sow-diff-html .sow-estimate-diff{margin-top:18px;padding:14px 16px;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius)}.sow-diff-html .sow-estimate-diff h3{margin:0 0 10px;font-size:13px}.sow-diff-html .sow-estimate-diff__tasks{list-style:none;margin:0;padding:0}.sow-diff-html .sow-estimate-diff__row{padding:8px 0;border-bottom:1px solid var(--line)}.sow-diff-html .sow-estimate-diff__row:last-child{border-bottom:0}.sow-diff-html .sow-estimate-diff__head{display:flex;align-items:baseline;gap:8px}.sow-diff-html .sow-estimate-diff__chip{flex:none;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-3)}.sow-diff-html .sow-estimate-diff__row--added .sow-estimate-diff__chip{color:var(--ok)}.sow-diff-html .sow-estimate-diff__row--removed .sow-estimate-diff__chip{color:var(--danger)}.sow-diff-html .sow-estimate-diff__row--changed .sow-estimate-diff__chip{color:var(--warn)}.sow-diff-html .sow-estimate-diff__title{flex:1;font-weight:600}.sow-diff-html .sow-estimate-diff__amount{font-variant-numeric:tabular-nums}.sow-diff-html .sow-estimate-diff__deltas{list-style:none;margin:6px 0 0;padding:0;font-size:12px;color:var(--ink-2)}.sow-diff-html .sow-estimate-diff__field{display:inline-block;min-width:90px;color:var(--ink-3)}.sow-diff-html .sow-estimate-diff__arrow{color:var(--ink-4);padding:0 .25em}.sow-diff-html .sow-estimate-diff__totals{width:100%;margin-top:12px;border-collapse:collapse;font-size:13px}.sow-diff-html .sow-estimate-diff__totals th{text-align:left;font-weight:600;padding:5px 0}.sow-diff-html .sow-estimate-diff__totals td{padding:5px 6px;text-align:right}.sow-diff-html .sow-estimate-diff__note{margin:10px 0 0;font-size:11px;color:var(--ink-3)}.sow-diff-html table{width:100%;margin-top:14px;border-collapse:collapse;font-size:13px}.sow-diff-html th,.sow-diff-html td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left}.sow-diff-html th{font-weight:600;color:var(--ink-3)}.sow-diff-html td:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}.sow-diff-html tfoot td{font-weight:600}.content-full{padding:0}.rec{--rec-pad: 30px;--rec-rail: 260px;--rec-gap: 36px;flex:1;background:var(--card)}.rec-head{display:flex;align-items:flex-start;gap:13px;padding:22px var(--rec-pad) 15px}.rec-mark{width:40px;height:40px;flex:none;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--bg-soft);color:var(--ink-3);font-size:12px;font-weight:650;letter-spacing:.02em}.rec-id{min-width:0}.rec-id h1 a{color:inherit;text-decoration:none}.rec-id h1 a:hover{text-decoration:underline}.rec-id h1{margin:0 0 3px;font-size:20px;font-weight:650;letter-spacing:-.015em;line-height:1.25}.rec-id .sub{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--ink-3)}.rec-id .sub .mono{font-family:var(--font-mono)}.rec-actions{margin-left:auto;display:flex;align-items:center;gap:8px;flex:none}.rec-seam{border-top:1px solid var(--line)}.rec-body{display:grid;grid-template-columns:minmax(0,1fr) var(--rec-rail)}.rec-rail{grid-column:2;grid-row:1;min-width:0;border-left:1px solid var(--line);padding:22px 24px}.rec-main{grid-column:1;grid-row:1;min-width:0;padding:22px var(--rec-gap) 4px var(--rec-pad)}.rec-brief .lbl{display:flex;align-items:baseline;gap:9px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}.rec-brief .lbl .who{letter-spacing:.02em;text-transform:none;font-family:var(--font-body);font-size:12px}.rec-brief p,.rec-brief li{font-size:13px;line-height:1.62;color:var(--ink-2)}.rec-brief p+p{margin-top:10px}.rec-brief .empty-brief{border:1px dashed var(--line-strong);border-radius:8px;padding:16px 18px;font-size:13px;color:var(--ink-3)}.rail-item+.rail-item{margin-top:17px}.rail-item>.k{margin-bottom:4px;font-size:11.5px;color:var(--ink-3)}.rail-item .v{font-size:12.5px;color:var(--ink);line-height:1.45}.rail-item .v.mute{color:var(--ink-3)}.rail-prog{display:flex;align-items:center;gap:9px;margin:5px 0 3px}.rail-prog .prog{flex:1;min-width:0}.rail-prog .pc{flex:none;font-size:11.5px;font-variant-numeric:tabular-nums;color:var(--ink-2)}.rail-item .people{display:flex;align-items:center;gap:6px;margin-top:5px;font-size:12px;color:var(--ink-2)}.rec-tabs{position:relative;margin:22px calc(-1 * var(--rec-gap)) 0 calc(-1 * var(--rec-pad));background-image:linear-gradient(var(--line),var(--line));background-repeat:no-repeat;background-size:100% 1px;background-position:0 100%}.rec-tabs-scroll{padding-left:var(--rec-pad);overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:var(--rec-pad);scrollbar-width:none}.rec-tabs-scroll::-webkit-scrollbar{display:none}.rec-tabs-scroll>.tabs{width:max-content;min-width:100%;border-bottom:0}.rec-tabs-scroll>.tabs>a{scroll-snap-align:start}.rec-tabs-scroll>.tabs>a:first-child{padding-left:0}.rec-tabs-arrows{position:absolute;right:0;top:50%;transform:translateY(-50%);display:none;align-items:center;gap:6px;padding-left:26px;background:linear-gradient(to left,var(--card) 62%,transparent)}.rec-tabs-arrows:not([hidden]){display:flex}.rec-tabs-arrows .icon{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:var(--card);box-shadow:var(--shadow);color:var(--ink-2);font-size:14px;line-height:1;cursor:pointer}.rec-tabs-arrows .icon:hover{border-color:var(--line-strong);color:var(--ink)}.rec-tabs-arrows .icon[disabled]{opacity:.35;cursor:default}.rec-pane{padding:20px var(--rec-pad) 44px}.rec-shell{container-type:inline-size;container-name:rec;display:flex;flex-direction:column;min-height:100%}@container rec (max-width: 1040px){.rec{--rec-pad: 22px;--rec-rail: 220px;--rec-gap: 26px}.rec-rail{padding:20px}}@container rec (max-width: 860px){.rec-body{grid-template-columns:minmax(0,1fr)}.rec-rail{grid-column:1;grid-row:1;border-left:0;border-bottom:1px solid var(--line);padding:18px var(--rec-pad);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px}.rail-item+.rail-item{margin-top:0}.rec-main{grid-column:1;grid-row:2;padding:18px var(--rec-pad) 4px}.rec-tabs{margin-right:calc(-1 * var(--rec-pad))}.rec-head{flex-wrap:wrap}.rec-id{flex:1 1 0}.rec-actions{order:3;width:100%;margin-left:0}}@media(max-width:560px){.topbar .search,.topbar .crumb{display:none}}@container rec (max-width: 560px){.rec{--rec-pad: 18px;--rec-gap: 18px}.rec-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.rec-id h1{font-size:18px}}.pane{padding:2px 0 10px}.pane .pf-h{margin-bottom:13px}.pane .tbl th:first-child,.pane .tbl td:first-child{padding-left:0}.pane .tgroup>.gh,.pane .trow{padding-left:0;padding-right:0}.pf-h{display:flex;align-items:baseline;gap:9px}.pf-h .t{font-family:var(--font-head, var(--font-body));font-weight:var(--head-weight);font-size:13px;color:var(--ink)}.pf-h .meta{font-size:11.5px;color:var(--ink-3)}.pf-h .spacer{flex:1}.pane .tbl th,.pane .tbl td{vertical-align:middle}.pane .tbl td{padding-top:7px;padding-bottom:7px}.pane .tbl .input,.pane .tbl .select{height:var(--ctl-h-sm)}.tscroll{overflow-x:auto;scrollbar-width:none}.tscroll::-webkit-scrollbar{display:none}.tscroll>.tbl{min-width:460px}.tgroup{border-bottom:1px solid var(--line)}.tgroup:last-child{border-bottom:none}.tgroup>.gh{display:flex;align-items:center;gap:8px;padding:9px 0 7px;background:var(--bg-soft);padding-inline:10px;font-size:11px;font-weight:650;color:var(--ink-2)}.tgroup>.gh .n{font-weight:500;color:var(--ink-4)}.tgroup>.gh .spacer{flex:1}.trow{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:12.5px}.trow:hover{background:var(--bg-soft)}.trow .box{width:14px;height:14px;border:1px solid var(--line-strong);border-radius:4px;flex:none}.trow .box.done{border-color:var(--ok);background:var(--ok-bg);color:var(--ok);font-size:9px;line-height:12px;text-align:center}.trow .tt{min-width:0;flex:1;display:flex;flex-direction:column;gap:1px}.trow .tt .nm{color:var(--ink)}.trow .tt.done .nm{color:var(--ink-4);text-decoration:line-through}.trow .tt .sub{font-size:11px;color:var(--ink-4);margin-top:1px}.trow .est{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);white-space:nowrap}.trow.more .tt{padding-left:24px}.tl{display:flex;flex-direction:column}.tl .axis{display:grid;grid-template-columns:180px minmax(0,1fr);gap:10px;font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-4);border-bottom:1px solid var(--line);padding-bottom:5px;margin-bottom:3px}.tl .axis .days{display:flex;justify-content:space-between}.tl .tl-row{display:grid;grid-template-columns:180px minmax(0,1fr);gap:10px;align-items:center;padding:5px 0;font-size:11.5px;color:var(--ink-2)}.tl .tl-row .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl .track{position:relative;height:16px;background:var(--bg-soft);border-radius:4px}.tl .track .bar{position:absolute;top:3px;bottom:3px;border-radius:3px;background:var(--accent);opacity:.85}.tl .track .bar.done{background:var(--ok)}.tl .track .bar.late{background:var(--danger)}.perm-list{border-top:1px solid var(--line)}.perm-item{border-bottom:1px solid var(--line)}.perm-item>summary{display:flex;align-items:center;gap:9px;padding:9px 0;cursor:pointer;list-style:none;font-size:12.5px}.perm-item>summary::-webkit-details-marker{display:none}.perm-item>summary .spacer{flex:1}.perm-item[open]>summary{background:var(--bg-soft)}.perm-item>div{padding:4px 0 14px}.pane-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px}.pane-filter .spacer{flex:1}.pane-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 20px;max-width:560px}.pane .mini-note{margin:14px 0 0;max-width:68ch}@media(max-width:700px){.pane-grid{grid-template-columns:1fr}.tl .axis,.tl .tl-row{grid-template-columns:120px minmax(0,1fr)}}
