.btn{min-height:var(--tap);padding:0 var(--s5);border-radius:var(--radius-pill);border:var(--border-control);background:var(--surface);color:var(--ink-8);font-size:var(--fs-sm);font-weight:var(--w-semi);letter-spacing:var(--track-snug);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);white-space:nowrap;text-decoration:none}.btn:hover:not(:disabled){background:var(--ink-1)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}.btn-danger{background:var(--surface);border-color:var(--danger);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-soft)}.btn-secondary{background:var(--surface);border-color:var(--ink-5);color:var(--ink-8)}.btn-quiet{border-color:transparent;background:transparent;color:var(--accent);font-weight:var(--w-semi)}.btn-quiet:hover:not(:disabled){background:var(--accent-soft)}.btn:disabled{opacity:1;background:var(--ink-1);border-color:var(--ink-4);color:var(--ink-5);cursor:not-allowed}.btn-primary:disabled,.btn-danger:disabled,.btn-quiet:disabled{background:var(--ink-1);border-color:var(--ink-4);color:var(--ink-5)}.btn-full{width:100%}.card{background:var(--surface);border:var(--border);border-radius:var(--radius-lg);margin-bottom:var(--s4)}.card-accent{border-color:var(--accent);border-width:2px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);padding:var(--s4) var(--card-pad);border-bottom:var(--border);background:var(--surface-sunken);border-radius:calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0;flex-wrap:wrap}.card-title{font-size:var(--fs-lg);font-weight:var(--w-bold);letter-spacing:var(--track-tight);color:var(--ink-9)}.card-sub{margin:var(--s1) 0 0;font-size:var(--fs-sm);line-height:1.45;letter-spacing:var(--track-snug);color:var(--ink-6)}.card-accent>.card-head,.card-accent>.card-summary{background:var(--accent-soft)}.card-accent .card-title{color:var(--accent)}.card-actions{display:flex;gap:var(--s2);flex-wrap:wrap}.card-body{padding:var(--card-pad)}.group{border:none;border-top:var(--border);margin:0;padding:var(--s5) 0 0}.group:first-of-type{border-top:none;padding-top:0}.group-title{padding:0;font-size:var(--fs-xs);font-weight:var(--w-bold);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--ink-5)}.group-note{margin:var(--s2) 0 0;font-size:var(--fs-sm);color:var(--ink-6);max-width:70ch}.group-fields{display:flex;flex-wrap:wrap;gap:var(--s4);margin-top:var(--s3)}.banner{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);padding:var(--s4);border-radius:var(--radius);border:none;margin-bottom:var(--s4);font-size:var(--fs-sm)}.banner-title{display:block;font-size:var(--fs-sm);font-weight:var(--w-bold);letter-spacing:var(--track-snug)}.banner-text{margin-top:var(--s1);color:var(--ink-7)}.banner-info{background:var(--accent-soft)}.banner-info .banner-title{color:var(--accent)}.banner-warn{background:var(--warn-soft)}.banner-warn .banner-title{color:var(--warn)}.banner-danger{background:var(--danger-soft)}.banner-danger .banner-title{color:var(--danger)}.banner-ok{background:var(--ok-soft)}.banner-ok .banner-title{color:var(--ok)}.banner-close{border:none;background:transparent;color:var(--ink-6);cursor:pointer;font-size:var(--fs-xs);text-decoration:underline;min-height:var(--tap);padding:0 var(--s2)}.empty{padding:var(--s6) var(--s4);text-align:center;color:var(--ink-6)}.empty-title{margin:0;font-size:var(--fs-md);font-weight:var(--w-semi);color:var(--ink-7)}.empty-text{margin-top:var(--s2);font-size:var(--fs-sm)}.badge{display:inline-flex;align-items:center;gap:var(--s1);padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:590;line-height:1.35;letter-spacing:var(--track-snug);white-space:nowrap;border:none}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 auto}.badge{border:1px solid transparent;background:var(--ink-2);color:var(--ink-7)}.badge-grey{background:var(--ink-2);color:var(--ink-7)}.badge-accent{background:var(--accent-soft);color:var(--accent)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-sea{background:var(--sea-soft);color:var(--sea)}.badge-ghost{background:transparent;border:1px dashed var(--ink-4);color:var(--ink-6)}.badge-ghost:before{display:none}.badge:not(.badge-ghost){border-color:color-mix(in srgb,currentColor 30%,transparent)}.link-field{position:relative}.link-chosen{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);min-height:var(--tap);padding:0 var(--s2) 0 var(--s3);border:var(--border);border-radius:var(--radius-sm);background:var(--surface)}.link-chosen-text{font-weight:var(--w-semi);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-change{border:none;background:transparent;color:var(--accent);font-size:var(--fs-sm);font-weight:var(--w-semi);text-decoration:underline;cursor:pointer;min-height:var(--tap);padding:0 var(--s2);flex-shrink:0}.link-pop{position:absolute;z-index:40;top:calc(100% + var(--s2));left:0;right:0;min-width:24rem;padding:var(--s2);background:var(--surface);border:var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-pop);overflow:hidden}.link-list{margin:0;padding:0;list-style:none;max-height:24rem;overflow-y:auto}.dialog .link-list{max-height:11rem}.link-option{display:block;width:100%;text-align:left;min-height:var(--tap);padding:var(--s3);border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer}.link-option+.link-option{border-top:1px solid var(--ink-2)}.link-option.is-active{background:var(--accent-soft)}.link-option-main{display:flex;align-items:baseline;gap:var(--s2)}.link-option-label{font-weight:var(--w-semi);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-option-tag{flex-shrink:0;font-size:var(--fs-xs);font-weight:var(--w-bold);color:var(--ink-6);background:var(--ink-1);border:1px solid var(--ink-3);border-radius:var(--radius-pill);padding:0 var(--s2)}.link-option.is-active .link-option-tag{background:var(--surface);border-color:var(--accent);color:var(--accent)}.link-option-sub{display:block;font-size:var(--fs-xs);color:var(--ink-6);margin-top:3px}.link-empty{padding:var(--s4) var(--s3);text-align:center;color:var(--ink-6);font-size:var(--fs-sm);line-height:1.45}.link-foot{margin:var(--s2) calc(-1 * var(--s2)) calc(-1 * var(--s2));padding:var(--s2) var(--s3);border-top:var(--border);background:var(--surface-sunken);font-size:var(--fs-xs);color:var(--ink-6);text-align:center}.link-create{display:flex;align-items:center;gap:var(--s2);margin:var(--s2) calc(-1 * var(--s2)) 0;min-height:var(--tap);padding:var(--s3);border:none;border-top:var(--border);background:var(--surface);color:var(--accent);font-size:var(--fs-sm);font-weight:var(--w-semi);text-align:left;cursor:pointer}.link-create:hover{background:var(--accent-soft)}.link-create+.link-foot{margin-top:0}.link-create-plus{display:inline-grid;place-items:center;width:22px;height:22px;flex:none;border-radius:var(--radius-pill);background:var(--accent-soft);font-weight:var(--w-bold);line-height:1}.dialog{border:none;border-radius:var(--radius-xl);padding:var(--s5);max-width:34rem;width:calc(100vw - var(--s5) * 2);box-shadow:0 10px 40px #0003}.dialog-wide{max-width:58rem;max-height:min(92vh,56rem);overflow-y:auto}.dialog::backdrop{background:#0d12168c}.dialog-title{font-size:var(--fs-lg);margin-bottom:var(--s3)}.dialog-body{font-size:var(--fs-sm);color:var(--ink-7);line-height:1.5}.dialog-body .banner{margin-bottom:var(--s4)}.dialog-body>p{margin:0 0 var(--s4)}.dialog-back{min-height:var(--tap);margin-right:auto;padding:0 var(--s2);border:0;background:transparent;color:var(--ink-6);font:inherit;font-size:var(--fs-sm);cursor:pointer}.dialog-back:hover{color:var(--ink-9)}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--s2);margin-top:var(--s5)}.table-scroll{overflow-x:auto;margin:0 calc(var(--card-pad) * -1);padding:0 var(--card-pad)}table.data{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}table.data th,table.data td{padding:var(--s2) var(--s3);border-bottom:var(--border);text-align:left;vertical-align:top}table.data tbody td{line-height:var(--control-h)}table.data tbody td>*{line-height:1.45}table.data tbody td .muted,table.data tbody td .sub{display:block;margin-top:2px;font-size:var(--fs-xs);color:var(--ink-5)}table.data thead th .sub{display:block;margin-top:2px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-xs);font-weight:var(--w-semi);letter-spacing:var(--track-snug);text-transform:none;color:var(--accent)}table.data th{z-index:2}table.data th{font-size:var(--fs-xs);font-weight:var(--w-bold);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--ink-5);background:var(--surface-sunken);position:sticky;top:0}table.data tfoot th{text-transform:none;letter-spacing:var(--track-snug);font-size:var(--fs-sm);color:var(--ink-9);background:var(--surface);border-top:var(--border-strong);position:static}table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums}table.data tbody tr:hover{background:var(--ink-1)}table.data tr.is-clickable{cursor:pointer;position:relative}.rowopen{appearance:none;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-align:inherit;cursor:pointer;display:block;width:100%}.rowopen:after{content:"";position:absolute;inset:0}.rowopen:focus-visible{outline:none}.rowopen:focus-visible:after{outline:3px solid var(--accent);outline-offset:-3px}table.data tr.is-clickable td.row-act{position:relative;z-index:1}.card-fold>.card-summary{cursor:pointer;list-style:none;min-height:var(--tap);align-items:center}.card-fold>.card-summary::-webkit-details-marker{display:none}.card-fold>.card-summary:hover{background:var(--ink-1)}.card-fold[open]>.card-summary{border-bottom:var(--border)}.card-fold:not([open])>.card-summary{border-bottom:none}.card-summary-text{min-width:0}.card-summary-values{color:var(--ink-7);overflow-wrap:anywhere}.card-summary-values em{font-style:normal;color:var(--ink-5)}.card-toggle{flex:0 0 auto;display:inline-flex;align-items:center;min-height:34px;padding:0 var(--s4);border:none;border-radius:var(--radius-pill);font-size:var(--fs-sm);font-weight:var(--w-semi);letter-spacing:var(--track-snug);color:var(--accent);background:var(--accent-soft);white-space:nowrap}.card-fold>.card-summary:hover .card-toggle{background:var(--accent);color:var(--accent-ink)}.card-fold:not([open]) .card-toggle-close,.card-fold[open] .card-toggle-open{display:none}.card-fold>.card-summary:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;border-radius:var(--radius-lg)}.card-fold-sub{margin:0 0 var(--s4)}@media print{.card-fold:not([open])>.card-body{display:block}.card-toggle{display:none}}.card{margin-bottom:var(--s5)}.card-fold+.card-fold{margin-top:calc(var(--s5) * -1 + var(--s3))}.btn,.chip,.card-toggle,.lt-add,.lt-del{transition:background-color var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out),border-color var(--dur-quick) var(--ease-out),box-shadow var(--dur-quick) var(--ease-out),transform var(--dur-press) var(--ease-out)}.btn:active:not(:disabled),.chip:active,.lt-add:active,.lt-del:active{transform:scale(.97)}.card-fold>.card-summary:active .card-toggle{transform:scale(.97)}@supports (interpolate-size: allow-keywords){:root{interpolate-size:allow-keywords}.card-fold::details-content{height:0;overflow:hidden;transition:height var(--dur-base) var(--ease-out),content-visibility var(--dur-base) var(--ease-out) allow-discrete}.card-fold[open]::details-content{height:auto}}.field-input,.field-row{transition:border-color var(--dur-quick) var(--ease-out),box-shadow var(--dur-quick) var(--ease-out),background-color var(--dur-quick) var(--ease-out)}.card-fold>.card-summary,.lt-row,.badge,.sidebar-item{transition:background-color var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out),box-shadow var(--dur-quick) var(--ease-out)}@keyframes rise{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.link-options{transform-origin:top center;animation:rise var(--dur-quick) var(--ease-out)}.banner{animation:rise var(--dur-base) var(--ease-out)}@keyframes dialog-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.dialog[open]{animation:dialog-in var(--dur-base) var(--ease-out)}.dialog[open]::backdrop{animation:backdrop-in var(--dur-base) var(--ease-out)}.pager{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin-top:var(--s4);padding-top:var(--s4);border-top:var(--border);flex-wrap:wrap}.pager-where{font-size:var(--fs-sm);color:var(--ink-6);font-variant-numeric:tabular-nums}.pager-pages{display:flex;align-items:center;gap:2px;margin-left:auto}.pager-page,.pager-step{min-width:var(--tap);height:var(--tap);padding:0 var(--s2);display:grid;place-items:center;border:none;border-radius:7px;background:transparent;color:var(--ink-7);font:inherit;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;cursor:pointer;transition:background var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out)}.pager-page:hover:not(:disabled),.pager-step:hover:not(:disabled){background:var(--ink-1);color:var(--ink-9)}.pager-page.is-current{background:var(--ink-9);color:#fff;font-weight:var(--w-semi)}.pager-step{font-size:var(--fs-lg);line-height:1;color:var(--ink-5)}.pager-page:disabled,.pager-step:disabled{opacity:.4;cursor:default}.pager-gap{padding:0 var(--s1);color:var(--ink-4)}@media(max-width:640px){.pager{justify-content:center}.pager-pages{margin-left:0}}.modal{--modal-gutter: 20px;--modal-pad-y: 13px;--modal-cols: 2;max-width:44rem;max-height:min(86vh,52rem);padding:0;flex-direction:column}.modal[open]{display:flex}.modal-lg{--modal-cols: 3;max-width:64rem;max-height:min(92vh,60rem)}.modal-xl{--modal-cols: 3;width:calc(100vw - var(--s5) * 2);max-width:84rem;max-height:min(92vh,60rem)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);flex:none;padding:var(--modal-pad-y) var(--modal-gutter);border-bottom:var(--border)}.modal-head .dialog-title{margin-bottom:0}.modal-sub{margin:var(--s1) 0 0;color:var(--ink-6);font-size:var(--fs-sm);line-height:1.5}.modal-x{min-width:var(--tap);min-height:var(--tap);border:0;background:transparent;color:var(--ink-6);font-size:var(--fs-xl);line-height:1;cursor:pointer}.modal-x:hover{color:var(--ink-9)}.modal-body{--card-pad: var(--modal-gutter);flex:1;min-height:0;padding:16px var(--modal-gutter);overflow-y:auto}.modal-body>.card{margin-bottom:var(--s4);border:0}.modal-body>.card:last-child{margin-bottom:0}.modal-body fieldset{--region: var(--band-head);border:1px solid;border-color:color-mix(in srgb,var(--region) 34%,var(--ink-3));background:var(--surface);background:color-mix(in srgb,var(--region) 4%,#fff);margin:var(--s4) 0 0;padding:0;min-width:0}.modal-body fieldset:first-of-type{margin-top:0;border-top-width:1px;border-top-style:solid;border-top-color:color-mix(in srgb,var(--region) 34%,var(--ink-3))}.modal-body fieldset:nth-of-type(6n+2){--region: var(--band-spec)}.modal-body fieldset:nth-of-type(6n+3){--region: var(--band-lines)}.modal-body fieldset:nth-of-type(6n+4){--region: var(--band-make)}.modal-body fieldset:nth-of-type(6n+5){--region: var(--band-history)}.modal-body fieldset:nth-of-type(6n){--region: var(--band-cost)}.modal-body legend{float:left;width:100%;margin:0;padding:6px var(--s4);background:var(--region);color:var(--band-ink);font-size:var(--fs-xs);font-weight:var(--w-bold);text-transform:uppercase;letter-spacing:var(--track-wide)}.modal-body .group-note{clear:both;margin:0;padding:var(--s3) var(--s4) 0}.modal-body .group-fields{clear:both;margin:0;padding:var(--s3) var(--s4) var(--s4)}.modal-body :is(.group-fields,.row){display:grid;grid-template-columns:repeat(var(--modal-cols),minmax(0,1fr));gap:var(--s3) var(--s4);align-items:start}.modal-body .group-fields>.row{grid-column:1 / -1;grid-template-columns:subgrid}.modal-body :is(.group-fields,.row)>:is(.field,.field-pickortype){flex:none;width:auto!important;min-width:0;max-width:none}.modal-body :is(.group-fields,.row)>.is-span2{grid-column:span 2}.modal-body :is(.group-fields,.row)>:not(.field,.field-pickortype),.modal-body :is(.group-fields,.row)>.is-full{grid-column:1 / -1}.modal .dialog-actions{flex:none;align-items:center;margin:0;padding:var(--modal-pad-y) var(--modal-gutter);border-top:var(--border)}.modal-aside{margin-right:auto}@media(max-width:980px){.modal-lg,.modal-xl{--modal-cols: 2}}@media(max-width:640px){.modal{--modal-cols: 1}.modal-body :is(.group-fields,.row)>*,.modal-body :is(.group-fields,.row)>.is-span2{grid-column:1 / -1}}.tickcell{width:var(--tap);padding-right:0}.tickbox{display:flex;align-items:center;justify-content:center;min-width:var(--tap);min-height:var(--tap);margin:calc(var(--s2) * -1) 0;cursor:pointer}.tickbox input{width:1.1rem;height:1.1rem;cursor:pointer}table.data tr.is-ticked>td{background:var(--accent-soft)}.chosen{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s4);padding:var(--s2) var(--s3);border:var(--border);border-radius:var(--radius);background:var(--accent-soft)}.chosen-n{font-weight:var(--w-semi);white-space:nowrap}.chosen-who{flex:1 1 12rem;min-width:0;overflow:hidden;color:var(--ink-7);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap}.chosen-acts{display:flex;gap:var(--s2);margin-left:auto}.list-note{margin:var(--s3) 0 0;max-width:68ch;line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.filecard{display:inline-flex;align-items:center;gap:var(--s3);min-height:var(--tap);max-width:24rem;padding:var(--s2) var(--s3);border:var(--border);border-radius:var(--radius);background:var(--surface);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--dur-quick) var(--ease-out),box-shadow var(--dur-quick) var(--ease-out),transform var(--dur-press) var(--ease-out)}.filecard:hover{border-color:var(--border-strong);box-shadow:0 4px 12px #0f172a14}.filecard:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.filecard:active{transform:scale(.985)}.filecard-mark{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex:none;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent)}.filecard-mark svg{width:1.125rem;height:1.125rem}.filecard-text{display:flex;flex-direction:column;min-width:0}.filecard-title{font-size:var(--fs-sm);font-weight:var(--w-semi);color:var(--ink-9)}.filecard-note{font-size:var(--fs-xs);color:var(--ink-6);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shelf-head{margin-bottom:var(--s5)}.shelf-title{font-size:var(--fs-xl);font-weight:var(--w-semi);margin:0}.shelf-sub{margin:var(--s2) 0 0;color:var(--ink-6);font-size:var(--fs-sm);max-width:var(--prose-max)}.shelf-wait{color:var(--ink-6)}.shelf-crumbs{display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s2);font-size:var(--fs-sm)}.shelf-crumb-sep{color:var(--ink-4)}.shelf-crumb-here{color:var(--ink-6)}.shelf-back{display:inline-block;margin-bottom:var(--s2);padding:0;border:0;background:none;color:var(--accent);font:inherit;font-size:var(--fs-sm);cursor:pointer}.shelf-link{padding:0;border:0;background:none;color:var(--accent);font:inherit;font-size:var(--fs-sm);text-decoration:underline;cursor:pointer}.shelf-danger{padding:0;border:0;background:none;color:var(--danger);font:inherit;font-size:var(--fs-sm);text-decoration:underline;cursor:pointer}.shelf-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s5);padding-bottom:var(--s4);border-bottom:var(--border)}.shelf-bar-group{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}.shelf-ghost{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 var(--s4);border:var(--border-control);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-8);font:inherit;font-size:var(--fs-sm);cursor:pointer;transition:background var(--dur-quick) var(--ease-out),border-color var(--dur-quick) var(--ease-out)}.shelf-ghost:hover{background:var(--surface-raised);border-color:var(--border-strong)}.shelf-ghost-danger{color:var(--danger)}.shelf-ghost.is-on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:var(--w-semi)}.shelf-search{min-height:var(--tap);min-width:14rem;padding:0 var(--s4);border:var(--border-control);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-9);font:inherit;font-size:var(--fs-sm)}.shelf-search:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.shelf-sort{display:inline-flex;align-items:center;gap:var(--s2)}.shelf-sort-label{color:var(--ink-6);font-size:var(--fs-sm)}.shelf-sort select{min-height:var(--tap);padding:0 var(--s3);border:var(--border-control);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-8);font:inherit;font-size:var(--fs-sm);cursor:pointer}.shelf-views{display:inline-flex;padding:0 3px;border:var(--border-control);border-radius:var(--radius-pill);background:var(--surface-sunken)}.shelf-viewbtn{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;min-height:var(--tap);border:0;border-radius:var(--radius-pill);background:none;color:var(--ink-6);cursor:pointer;transition:background var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out)}.shelf-viewbtn svg{width:1.125rem;height:1.125rem}.shelf-viewbtn.is-on{background:var(--surface);color:var(--accent);box-shadow:0 1px 2px #0f172a1f}.shelf-count{color:var(--ink-6);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.shelf-iconbtn{display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap);min-height:var(--tap);border:var(--border-control);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-6);cursor:pointer;transition:background var(--dur-quick) var(--ease-out),border-color var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out)}.shelf-iconbtn svg{width:1.375rem;height:1.375rem}.shelf-iconbtn:hover{border-color:var(--border-strong);color:var(--ink-8)}.shelf-iconbtn.is-on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.shelf-grid{list-style:none;margin:var(--s5) 0 0;padding:0;position:relative;display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:var(--s4)}.shelf-grid.is-busy,.shelf-list.is-busy{opacity:.55;pointer-events:none;transition:opacity var(--dur-quick) var(--ease-out)}.shelf-grid>li{display:flex}.shelf-tile{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s1);width:100%;height:100%;min-height:10rem;padding:var(--s4);border:var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink-8);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--dur-quick) var(--ease-out),box-shadow var(--dur-quick) var(--ease-out),transform var(--dur-press) var(--ease-out)}.shelf-tile:hover{border-color:var(--border-strong);box-shadow:0 4px 12px #0f172a14}.shelf-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shelf-tile:active{transform:scale(.985)}.shelf-tile.is-on{border-color:var(--accent);background:var(--accent-soft)}.shelf-tile.is-on .shelf-tile-name{color:var(--accent)}.shelf-tile-badge{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin-bottom:var(--s2);border-radius:var(--radius);background:var(--accent-soft);color:var(--accent);flex:none}.shelf-tile-badge svg{width:1.5rem;height:1.5rem}.shelf-tile-badge.is-file{background:var(--ink-2);color:var(--ink-7)}.shelf-tile-name{font-weight:var(--w-bold);color:var(--ink-9);letter-spacing:var(--track-tight);overflow-wrap:anywhere}.shelf-tile-figure{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;font-weight:var(--w-semi);color:var(--ink-7)}.shelf-tile-meta{color:var(--ink-6);font-size:var(--fs-sm)}.shelf-tile-who,.shelf-tile-note{display:block;color:var(--ink-6);font-size:var(--fs-xs);overflow-wrap:anywhere}.shelf-tile-new{background:var(--surface-sunken);border-style:dashed;border-color:var(--ink-4);color:var(--accent)}.shelf-tile-new:hover{background:var(--accent-soft);border-color:var(--accent);border-style:dashed}.shelf-tile-badge.is-new{background:var(--surface);color:var(--accent)}.shelf-list{margin-top:var(--s5);border:var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:auto hidden}.shelf-rows .shelf-col-name{width:60%}.shelf-rows .tickcell{width:1%;white-space:nowrap}.shelf-rows th.num,.shelf-rows td.num{white-space:nowrap}.shelf-rows tbody tr:last-child td{border-bottom:0}.shelf-row-name{display:flex;align-items:center;gap:var(--s2);font-weight:var(--w-semi)}.shelf-row-icon{width:1.125rem;height:1.125rem;color:var(--accent);flex:none}.shelf-row-note{display:block;color:var(--ink-5);font-size:var(--fs-xs);font-weight:400;overflow-wrap:anywhere}.shelf-detail{margin-top:var(--s5);display:grid;gap:var(--s4)}.shelf-detail-acts{display:flex;align-items:center;gap:var(--s4);margin-top:var(--s5);padding-top:var(--s4);border-top:var(--border);flex-wrap:wrap}.shelf-section{margin-top:var(--s5)}.shelf-section-title{margin:0;font-size:var(--fs-lg);font-weight:var(--w-semi);letter-spacing:var(--track-tight)}.shelf-section-sub{margin:var(--s2) 0 0;color:var(--ink-6);font-size:var(--fs-sm);max-width:var(--prose-max)}.shelf-cell{position:relative;display:flex}.shelf-tick{position:absolute;top:var(--s2);right:var(--s2);z-index:1;display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap);min-height:var(--tap)}.shelf-marquee{position:absolute;z-index:2;pointer-events:none;border:1px solid var(--accent);border-radius:var(--radius-sm)}.shelf-marquee:before{content:"";position:absolute;inset:0;background:var(--accent-soft);opacity:.3}.shelf-grid.is-marquee{-webkit-user-select:none;user-select:none}.field{display:flex;flex-direction:column;gap:var(--s2);flex:1 1 15rem;min-width:12rem;max-width:26rem}.field-label{font-size:var(--fs-sm);font-weight:var(--w-semi);letter-spacing:var(--track-snug);color:var(--ink-8)}.field-row{display:flex;align-items:stretch;border:var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.field-row:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field-row.is-bad{border-color:var(--danger)}.field-input{flex:1 1 auto;min-width:0;min-height:var(--tap);padding:0 var(--s3);border:var(--border);border-radius:var(--radius-sm);background:var(--surface)}.field-row>.field-input{border:none;border-radius:0;background:transparent}.field-row>.field-input:focus{outline:none}.field-input:disabled{background:var(--surface-sunken);color:var(--ink-5)}.field-row:has(>.field-input:disabled){background:var(--surface-sunken)}.field-input-bad{border-color:var(--danger);background:var(--danger-soft)}.field-unit{display:flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:4.25rem;padding:0 var(--s2);font-size:var(--fs-sm);font-weight:var(--w-semi);color:var(--ink-6);background:var(--surface-sunken);border-left:var(--border);white-space:nowrap}.field-computed{padding:var(--s2) var(--s3);font-size:var(--fs-sm);font-weight:var(--w-semi);color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-sm);line-height:1.35}.field-hint{margin:0;font-size:var(--fs-xs);line-height:1.45;color:var(--ink-6)}.field-error{margin:0;font-size:var(--fs-xs);line-height:1.45;font-weight:var(--w-semi);color:var(--danger)}.field-computed,.field-hint,.field-error{max-width:36rem}select.field-input{appearance:none;height:var(--tap);min-height:var(--tap);padding-right:34px;text-overflow:ellipsis;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--ink-6) 50%),linear-gradient(135deg,var(--ink-6) 50%,transparent 50%);background-position:calc(100% - 20px) calc(50% - 1px),calc(100% - 15px) calc(50% - 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.group-fields,.row{align-items:flex-start}select.field-unit-pick{appearance:none;height:auto;align-self:stretch;min-width:5.5rem;padding:0 24px 0 var(--s3);border:none;border-left:var(--border);border-radius:0;color:var(--ink-7);cursor:pointer;text-align:left;background-image:linear-gradient(45deg,transparent 50%,var(--ink-6) 50%),linear-gradient(135deg,var(--ink-6) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% - 1px),calc(100% - 10px) calc(50% - 1px);background-size:4px 4px,4px 4px;background-repeat:no-repeat;background-color:var(--surface-sunken)}select.field-unit-pick:hover:not(:disabled){background-color:var(--ink-2)}select.field-unit-pick:focus-visible{outline-offset:-3px}.field-swatch{flex:0 0 auto;align-self:center;width:1.125rem;height:1.125rem;margin-left:var(--s2);border:var(--border);border-radius:var(--radius-sm)}.field-pickortype{display:grid;gap:var(--s2)}.field-label .is-required{color:var(--danger)}.login{min-height:100vh;display:grid;place-items:center;padding:var(--s4);background:var(--surface-sunken)}.login-box{width:100%;max-width:26rem;background:var(--surface);border:var(--border);border-radius:var(--radius-lg);padding:var(--s6) var(--s5)}.login-brand{text-align:center;margin-bottom:var(--s5)}.login-mark{display:block;font-size:var(--fs-2xl);font-weight:var(--w-bold);letter-spacing:-.02em;color:var(--accent)}.login-tag{display:block;margin-top:var(--s1);font-size:var(--fs-sm);color:var(--ink-6)}.login-langs{display:flex;gap:var(--s1);margin-bottom:var(--s5);background:var(--surface-sunken);padding:var(--s1);border-radius:var(--radius-sm)}.login-lang{flex:1;min-height:var(--tap);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ink-6);font-size:var(--fs-sm);font-weight:var(--w-semi);cursor:pointer}.login-lang.is-active{background:var(--surface);color:var(--ink-9);box-shadow:0 1px 2px #0000001f}.login-label{display:block;font-size:var(--fs-sm);font-weight:var(--w-semi);margin-bottom:var(--s1)}.login-field{margin-bottom:var(--s4)}.login-input{width:100%;min-height:var(--tap);padding:0 var(--s3);border:var(--border);border-radius:var(--radius-sm);background:var(--surface)}.login-input.is-bad{border-color:var(--danger)}.login-error{margin:var(--s1) 0 0;font-size:var(--fs-xs);line-height:1.45;font-weight:var(--w-semi);color:var(--danger)}.login-action{margin-top:var(--s2)}.login-action .banner{margin:var(--s3) 0 0}.login-help{margin:var(--s5) 0 0;font-size:var(--fs-xs);color:var(--ink-5);line-height:1.5}.login-logo{display:block;margin:0 auto var(--s3);width:64px;height:64px;object-fit:contain}.dt{max-width:14rem}.dt-field{display:flex;align-items:center;gap:var(--s2);width:100%;min-height:var(--tap);padding:0 var(--s3);border:var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-8);font-size:var(--fs-sm);text-align:left;cursor:pointer;transition:border-color var(--dur-quick) var(--ease-out),box-shadow var(--dur-quick) var(--ease-out)}.dt-field:hover:not(:disabled){border-color:var(--ink-5)}.dt-field[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dt-field:disabled{background:var(--surface-sunken);cursor:not-allowed}.dt-field.is-bad{border-color:var(--danger)}.dt-icon{flex:0 0 auto;color:var(--ink-5)}.dt-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-xs);font-weight:var(--w-semi);letter-spacing:var(--track-snug)}.dt-value.is-empty{font-family:var(--font);font-weight:400;color:var(--ink-5)}.dt-inline{flex:0 0 auto}.dt-lead{flex:0 0 auto;color:var(--ink-6);font-size:var(--fs-xs);font-weight:var(--w-semi)}.dt-pop{position:fixed;z-index:60;background:var(--surface);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:var(--s4);animation:dt-rise var(--dur-quick) var(--ease-out)}@keyframes dt-rise{0%{opacity:0;transform:translateY(-6px)}}.dt-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding:0 0 var(--s3);margin-bottom:var(--s2);border-bottom:var(--border)}.dt-month{margin:0;font-size:var(--fs-lg);font-weight:var(--w-bold);letter-spacing:var(--track-snug);color:var(--ink-9)}.dt-nav{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;height:36px;border:var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-7);cursor:pointer}.dt-nav:hover{background:var(--ink-1)}.dt-week{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--s1);padding:0 0 var(--s2)}.dt-week span{text-align:center;font-size:var(--fs-xs);font-weight:var(--w-bold);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--ink-5)}.dt-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:0}.dt-day{height:40px;border:1px solid transparent;border-radius:var(--radius-xs);background:transparent;color:var(--ink-8);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-sm);cursor:pointer}.dt-day:hover:not(.is-off){background:var(--ink-1)}.dt-day.is-out{color:var(--ink-6)}.dt-day.is-today{border-color:var(--accent)}.dt-day.is-in{background:var(--accent-soft);color:var(--ink-8)}.dt-day.is-chosen{background:var(--ink-9);border-color:var(--ink-9);color:var(--surface);font-weight:var(--w-bold)}.dt-day.is-off{color:var(--ink-4);cursor:not-allowed}.dt-step{margin:0;padding:var(--s1) var(--s2) 0;font-size:var(--fs-xs);font-weight:var(--w-semi);color:var(--ink-6)}.dt-quick{display:flex;flex-wrap:wrap;gap:var(--s2);padding:var(--s3) 0 0}.dt-pill{padding:7px var(--s4);font-size:var(--fs-sm);border:var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-7);font-size:var(--fs-xs);font-weight:var(--w-semi);cursor:pointer}.dt-pill:hover:not(:disabled){background:var(--ink-1)}.dt-pill:disabled{opacity:.5;cursor:not-allowed}.dt-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);margin-top:var(--s3);padding:var(--s3) 0 0;border-top:var(--border)}.dt-clear,.dt-done{padding:7px var(--s4);font-size:var(--fs-sm);border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;font-size:var(--fs-xs);font-weight:var(--w-semi);cursor:pointer}.dt-clear{color:var(--ink-6)}.dt-done{color:var(--accent)}.dt-clear:hover,.dt-done:hover{background:var(--ink-1)}@media(max-width:400px){.dt-pop{width:calc(100vw - 16px)!important;left:8px!important;padding:var(--s3)}.dt-day{height:44px}}.delq{display:grid;gap:var(--s3)}.delq-who{margin:0;padding:0;list-style:none;display:grid;gap:var(--s1);max-height:12rem;overflow-y:auto;font-size:var(--fs-sm);line-height:1.5}.delq-who li{display:grid;grid-template-columns:1fr auto 6rem;align-items:baseline;gap:var(--s2)}.delq-cust{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delq-when{color:var(--ink-6);font-size:var(--fs-xs)}.delq-value{text-align:right;color:var(--ink-6)}.delq-note{margin:0;padding:var(--s2) 0 var(--s2) var(--s3);border-left:3px solid var(--ink-3);color:var(--ink-7);font-size:var(--fs-sm);line-height:1.6}.delq-value-warn{margin:0;padding:var(--s2) 0 var(--s2) var(--s3);border-left:3px solid var(--warn);color:var(--ink-8);font-size:var(--fs-sm);line-height:1.6}.delq-letters{margin:0;color:var(--ink-6);font-size:var(--fs-xs);line-height:1.6}.delq-outcome{margin:0;padding:0;list-style:none;display:grid;gap:var(--s2);font-size:var(--fs-sm);line-height:1.5}.delq-outcome .is-gone{color:var(--ink-6)}.delq-outcome .is-kept{color:var(--danger)}.delq-error{margin:0;color:var(--danger);font-size:var(--fs-sm);line-height:1.5}.sidebar{display:flex;flex-direction:column;background:transparent;position:sticky;top:0;height:100vh;min-height:0;z-index:70}.sidebar-brand{display:flex;justify-content:center;flex:none;padding:var(--s3) 0 var(--s2);border-bottom:1px solid var(--sidebar-line);margin:0 var(--s2)}.sidebar-mark{width:34px;height:34px;object-fit:contain}.sidebar-items{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--s1) 0}.sidebar-sep{height:1px;margin:var(--s2) var(--s3);background:var(--sidebar-line)}.sidebar-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:calc(100% - 2 * var(--s1));height:58px;margin:2px var(--s1);padding:0 2px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--sidebar-ink);font:inherit;font-size:10px;font-weight:var(--w-semi);letter-spacing:0;line-height:1.15;text-align:center;cursor:pointer}.sidebar-item:hover{background:var(--sidebar-hover);color:#fff}.sidebar-item.is-active{background:var(--surface);color:var(--accent);font-weight:var(--w-bold)}.sidebar-item.is-signout:hover{background:var(--important);color:#fff}.sidebar-icon{width:20px;height:20px;flex:none}.sidebar-word{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-foot{flex:none;padding-top:var(--s1);border-top:1px solid var(--sidebar-line);margin:0 var(--s2) var(--s2)}.sidebar-langbox{position:relative}.sidebar-langmenu{position:absolute;bottom:0;left:calc(100% + var(--s1));z-index:30;display:flex;flex-direction:column;min-width:150px;padding:var(--s1);border:var(--border);background:var(--surface);box-shadow:var(--shadow-pop, 0 6px 20px rgb(11 33 54 / 18%))}.sidebar-langitem{display:flex;align-items:center;min-height:var(--tap);padding:var(--s2) var(--s3);border:none;background:transparent;color:var(--ink-8);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer}.sidebar-langitem:hover{background:var(--surface-sunken)}.sidebar-langitem.is-active{color:var(--accent);font-weight:var(--w-bold)}.boot{min-height:100vh;display:grid;place-items:center;align-content:center;gap:var(--s4);background:var(--surface-sunken)}.boot-logo{width:72px;height:72px;object-fit:contain}.boot-mark{font-size:var(--fs-2xl);font-weight:var(--w-bold);color:var(--ink-3)}.app{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);background:var(--sidebar-ground)}.content{min-width:0;display:flex;flex-direction:column;margin:var(--s2) var(--s2) var(--s2) 0;background:var(--surface);border:var(--border)}.shell{padding-left:var(--page-pad);padding-right:var(--page-pad);width:100%}.main{padding:var(--s5) 0 var(--s7)}.main.is-flush{padding:0}.panel{padding-left:var(--page-pad);padding-right:var(--page-pad);padding-bottom:calc(var(--tap) + var(--s6))}.panel:has(>.actionbar){padding-bottom:0}.main:has(.panel>.actionbar){padding-bottom:0}.row{display:flex;flex-wrap:wrap;gap:var(--s4);align-items:flex-start}.chips{display:inline-flex;gap:2px;flex-wrap:wrap;margin-bottom:var(--s4);padding:3px;background:var(--surface-sunken);border:var(--border-control);border-radius:var(--radius-pill)}.chip{min-height:var(--tap);padding:0 var(--s4);border:none;border-radius:var(--radius-pill);background:transparent;color:var(--ink-6);font-size:var(--fs-sm);font-weight:var(--w-semi);letter-spacing:var(--track-snug);cursor:pointer;white-space:nowrap}.chip:hover:not(.is-active){color:var(--ink-8)}.chip.is-active{background:var(--surface);color:var(--ink-9);box-shadow:0 1px 3px #0000001f}@media(max-width:640px){.chips{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto}}.list-controls{display:flex;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;align-items:center;margin-bottom:var(--s4)}.list-controls>.chips{margin-bottom:0}.list-search{min-width:16rem;flex:1;max-width:26rem}.muted{color:var(--ink-5);font-size:var(--fs-xs)}.is-bad{color:var(--danger)}.card-sub,.group-note,.banner-text,.empty-text,.field-hint,.field-error,.lt-foot-note,.hgroup-note,.login-help{max-width:var(--prose-max)}@keyframes slide-forward{0%{opacity:0;transform:translate(22px)}to{opacity:1;transform:none}}@keyframes slide-back{0%{opacity:0;transform:translate(-22px)}to{opacity:1;transform:none}}.main .panel{animation:slide-forward var(--dur-base) var(--ease-out)}.main.is-back .panel{animation-name:slide-back}.main .panel{will-change:transform,opacity}.chips{position:relative}.chip-pill{position:absolute;top:3px;left:0;bottom:3px;border-radius:var(--radius-pill);background:var(--surface);box-shadow:0 1px 3px #0000001f;transition:transform var(--dur-base) var(--ease-in-out),width var(--dur-base) var(--ease-in-out);pointer-events:none}.chip.is-active{background:transparent;box-shadow:none}.chip{position:relative;z-index:1}.backrow{margin-bottom:var(--s3)}.backlink{display:inline-flex;align-items:center;gap:var(--s1);min-height:var(--tap);padding:0 var(--s2) 0 0;background:none;border:0;font-size:var(--fs-sm);font-weight:var(--w-semi);color:var(--accent);cursor:pointer}.backlink:hover{text-decoration:underline}.backlink:active{transform:scale(.97)}@media print{.backrow{display:none}}
