:root{--bg: #f6f5f1;--surface: #ffffff;--surface-2: #fbfaf7;--ink: #1f2933;--muted: #6b7280;--line: #e4e1d9;--line-strong: #cfcac0;--accent: #b05a25;--accent-ink: #8f4419;--accent-soft: #f5e8dc;--focus: #b05a25;--good: #2f7a4a;--good-soft: #e3f1e7;--warn: #a16207;--warn-soft: #fbf1d6;--bad: #a33a3a;--bad-soft: #f8e3e3;--info: #2b5f8f;--info-soft: #e1ecf5;--radius: 8px;--shadow: 0 1px 2px rgba(31, 41, 51, .06), 0 4px 16px rgba(31, 41, 51, .05);--font-display: "Bricolage Grotesque", "Public Sans", system-ui, sans-serif;--font-body: "Public Sans", "Segoe UI", system-ui, sans-serif;--font-mono: "IBM Plex Mono", Consolas, monospace;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0;line-height:1.2}h1{font-size:1.6rem;font-weight:700}h2{font-size:1.15rem;font-weight:650}h3{font-size:.95rem;font-weight:600}p{margin:0}a{color:var(--accent-ink);text-decoration:none}a:hover{text-decoration:underline}.mono,.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num{text-align:right}.muted{color:var(--muted)}.small{font-size:.8rem}.eyebrow{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:var(--ink);color:#e9e6df;padding:1.25rem .9rem;display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:0;height:100vh}.brand{font-family:var(--font-display);font-weight:700;font-size:1.35rem;letter-spacing:-.02em;padding:0 .5rem;color:#fff}.brand span{display:block;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:#9aa3ad;font-weight:400;margin-top:2px}.nav{display:flex;flex-direction:column;gap:2px}.nav a{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:6px;color:#cfd4da;font-weight:500}.nav a:hover{background:#ffffff0f;text-decoration:none;color:#fff}.nav a.active{background:var(--accent);color:#fff}.nav .section{padding:.9rem .6rem .3rem}.sidebar .foot{margin-top:auto;padding:0 .5rem;font-size:.78rem;color:#9aa3ad;display:grid;gap:.3rem}.sidebar .foot b{color:#e9e6df;font-weight:500;display:block;overflow:hidden;text-overflow:ellipsis}.sidebar .foot button{color:#cfd4da}.main{padding:1.75rem 2rem 4rem;min-width:0}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.page-head .sub{color:var(--muted);margin-top:.25rem}.actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.btn{font:inherit;font-weight:500;cursor:pointer;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:var(--radius);padding:.45rem .85rem;line-height:1.2;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-ink)}.btn.danger{color:var(--bad);border-color:var(--bad-soft)}.btn.danger:hover{background:var(--bad-soft)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--accent-soft)}.btn.sm{padding:.25rem .55rem;font-size:.8rem}.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:1px}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:6px;padding:.42rem .6rem;width:100%}textarea{min-height:96px;resize:vertical;line-height:1.45}input.num,td input.num{text-align:right;font-family:var(--font-mono)}input.cell{padding:.25rem .4rem;border-color:var(--line-strong);background:var(--surface-2);border-radius:4px;min-width:56px}input.cell:hover{border-color:var(--muted)}input.cell:focus{border-color:var(--accent);background:var(--surface)}input.cell::placeholder{color:var(--line-strong)}label.field{display:grid;gap:.3rem;font-size:.8rem;color:var(--muted);font-weight:500}label.field>span{display:flex;justify-content:space-between}.grid{display:grid;gap:.9rem}.grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.c4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 900px){.grid.c2,.grid.c3,.grid.c4,.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.main{padding:1rem}}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.card .card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.1rem;border-bottom:1px solid var(--line)}.card .card-body{padding:1.1rem}.stack{display:grid;gap:1.1rem}.toolbar{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}.toolbar input,.toolbar select{width:auto;min-width:160px}.toolbar input[type=search]{min-width:260px}.tablewrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:.86rem}table.data th{text-align:left;font-family:var(--font-mono);font-weight:500;font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);padding:.55rem .7rem;border-bottom:1px solid var(--line-strong);white-space:nowrap;background:var(--surface-2);position:sticky;top:0}table.data td{padding:.5rem .7rem;border-bottom:1px solid var(--line);vertical-align:middle}table.data tr:last-child td{border-bottom:none}table.data tr.row:hover td{background:var(--surface-2)}table.data tr.row{cursor:pointer}table.data th.num,table.data td.num{text-align:right}table.data td.qty{width:70px}table.data tfoot td{font-weight:600;border-top:1px solid var(--line-strong);background:var(--surface-2)}.pill{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .55rem;border-radius:999px;border:1px solid transparent;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill.draft{color:var(--muted);background:#eeece6}.pill.sent{color:var(--info);background:var(--info-soft)}.pill.accepted{color:var(--good);background:var(--good-soft)}.pill.rejected{color:var(--bad);background:var(--bad-soft)}.pill.expired{color:var(--warn);background:var(--warn-soft)}.pill.admin{color:var(--accent-ink);background:var(--accent-soft)}.pill.editor{color:var(--info);background:var(--info-soft)}.pill.viewer{color:var(--muted);background:#eeece6}.dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:.45rem;vertical-align:-1px}.empty{padding:2.5rem 1rem;text-align:center;color:var(--muted)}.error{color:var(--bad);background:var(--bad-soft);border-radius:6px;padding:.55rem .8rem;font-size:.85rem}.notice{color:var(--good);background:var(--good-soft);border-radius:6px;padding:.55rem .8rem;font-size:.85rem}.kv{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;font-size:.86rem}.kv dt{color:var(--muted)}.kv dd{margin:0}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--line-strong);margin-bottom:1.25rem;overflow-x:auto}.tabs button{font:inherit;font-weight:500;background:none;border:none;cursor:pointer;color:var(--muted);padding:.55rem .9rem;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tabs button.active{color:var(--accent-ink);border-bottom-color:var(--accent)}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f293373;display:grid;place-items:center;z-index:50;padding:1rem}.modal{background:var(--surface);border-radius:12px;width:min(720px,100%);max-height:90vh;overflow:auto;box-shadow:0 20px 60px #00000040}.modal .card-head h2{font-size:1.05rem}.toast{position:fixed;bottom:1.25rem;right:1.25rem;background:var(--ink);color:#fff;padding:.6rem .9rem;border-radius:8px;font-size:.85rem;box-shadow:var(--shadow);z-index:60}.toast.error{background:var(--bad)}.totals{display:grid;gap:.35rem;font-size:.9rem;min-width:260px}.totals div{display:flex;justify-content:space-between;gap:1rem}.totals .grand{font-family:var(--font-display);font-size:1.25rem;font-weight:700;border-top:1px solid var(--line-strong);padding-top:.4rem;margin-top:.2rem}.instance{border:1px solid var(--line);border-radius:10px;background:var(--surface)}.instance-head{display:flex;align-items:center;gap:.75rem;padding:.7rem 1rem;border-bottom:1px solid var(--line);background:var(--surface-2);border-radius:10px 10px 0 0;flex-wrap:wrap}.instance-head input.title{font-family:var(--font-display);font-weight:650;font-size:1rem;border-color:transparent;background:transparent;padding:.2rem .4rem;width:auto;min-width:200px;flex:1}.instance-head input.title:hover,.instance-head input.title:focus{border-color:var(--line-strong);background:var(--surface)}.login{min-height:100vh;display:grid;place-items:center;padding:1rem}.login .card{width:min(380px,100%)}.login .brand{color:var(--ink);padding:0;margin-bottom:1.25rem;font-size:2rem}.login .brand span{color:var(--muted)}.combo{position:relative}.combo ul{position:absolute;z-index:20;left:0;right:0;top:100%;margin:4px 0 0;padding:.25rem;list-style:none;background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;box-shadow:var(--shadow);max-height:280px;overflow:auto}.combo li{padding:.45rem .6rem;border-radius:5px;cursor:pointer;display:flex;justify-content:space-between;gap:1rem}.combo li:hover,.combo li.active{background:var(--accent-soft)}.combo li .muted{font-size:.75rem}@media (prefers-reduced-motion: reduce){*{transition:none!important}}.editor{display:flex;flex-direction:column;gap:1rem}.editor-head{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin:-1.75rem -2rem 0;padding:.8rem 2rem;background:var(--bg);border-bottom:1px solid var(--line)}.editor-title .title-input{font-family:var(--font-display);font-size:1.25rem;font-weight:700;width:auto;min-width:220px;padding:.15rem .4rem}.editor-title .sub{margin:.15rem 0 0;color:var(--muted);max-width:70ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-body{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:1.25rem;align-items:start}.editor-main{display:flex;flex-direction:column;gap:.75rem;min-width:0}.rail{position:sticky;top:4.6rem;display:flex;flex-direction:column;gap:.75rem;max-height:calc(100vh - 5.5rem);overflow:auto}.rail-card{padding:.9rem 1rem}.rail-nav{display:flex;flex-direction:column;gap:1px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.4rem}.rail-nav button{font:inherit;text-align:left;background:none;border:none;cursor:pointer;color:var(--ink);padding:.4rem .6rem;border-radius:6px;display:flex;align-items:center;gap:.45rem;font-size:.86rem}.rail-nav button:hover{background:var(--accent-soft)}.rail-nav .rail-post{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-nav .rail-add{color:var(--accent-ink);font-weight:500}.rail-nav .dot{margin:0;flex:none}.posts-head{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem;padding:0 .25rem}.sec{background:var(--surface);border:1px solid var(--line);border-radius:10px;scroll-margin-top:5rem}.sec-head{display:flex;align-items:center;gap:.6rem;padding:.6rem .9rem;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:48px}.sec-head:hover{background:var(--surface-2);border-radius:10px}.sec.open>.sec-head{border-bottom:1px solid var(--line);border-radius:10px 10px 0 0}.sec-head h2{font-size:1rem;white-space:nowrap}.sec-toggle{background:none;border:none;cursor:pointer;padding:.2rem;color:var(--muted);display:grid;place-items:center}.sec-toggle .chev{display:inline-block;transition:transform .15s}.sec.open .sec-toggle .chev{transform:rotate(90deg)}.sec-summary{color:var(--muted);font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.sec-summary b{color:var(--ink)}.sec-actions{margin-left:auto;flex:none}.sec-body{padding:1rem}.lines{overflow:auto;max-height:62vh;border:1px solid var(--line);border-radius:8px}.lines table.data th{top:0;z-index:2}.lines .col-product{position:sticky;left:0;background:var(--surface);z-index:1;min-width:240px;max-width:320px;box-shadow:1px 0 0 var(--line)}.lines thead .col-product{z-index:3;background:var(--surface-2)}.lines tfoot .col-product{background:var(--surface-2);font-weight:600}.lines .col-room{max-width:92px;overflow:hidden;text-overflow:ellipsis}.lines .prod-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lines table.data td{padding:.35rem .5rem}.lines input.cell{min-width:52px}select.sm{padding:.2rem .4rem;font-size:.8rem;width:auto}.chips{display:flex;gap:.4rem;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:.35rem;background:#eeece6;border-radius:999px;padding:.2rem .4rem .2rem .7rem;font-size:.84rem}.chip-x{border:none;background:none;cursor:pointer;color:var(--muted);padding:0 .25rem;font-size:.75rem}.chip-x:hover{color:var(--bad)}.menu{position:relative}.menu summary{list-style:none}.menu summary::-webkit-details-marker{display:none}.menu-list{position:absolute;right:0;top:calc(100% + 4px);z-index:40;min-width:200px;background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;box-shadow:var(--shadow);padding:.3rem;display:grid}.menu-list button{font:inherit;text-align:left;background:none;border:none;cursor:pointer;padding:.45rem .7rem;border-radius:5px;color:var(--ink)}.menu-list button:hover{background:var(--accent-soft)}.menu-list button.danger{color:var(--bad)}.menu-list hr{border:none;border-top:1px solid var(--line);margin:.25rem 0}.editor-bar{display:none}@media (max-width: 1100px){.editor-body{grid-template-columns:1fr}.rail{display:none}.editor-bar{display:flex;align-items:center;justify-content:space-between;gap:.6rem;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--line-strong);padding:.55rem 1rem;box-shadow:0 -4px 16px #1f293314}.editor-bar select{width:auto;max-width:45%}.editor{padding-bottom:4rem}}@media (max-width: 900px){.editor-head{margin:-1rem -1rem 0;padding:.6rem 1rem}.sec-summary{display:none}.lines{max-height:70vh}.lines .col-product{min-width:170px}}.modal.wide{width:min(1040px,100%)}.tpl{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1rem}.tpl-list{display:grid;gap:.5rem;align-content:start}.tpl-items{display:grid;gap:2px;max-height:60vh;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:.3rem}.tpl-item{font:inherit;text-align:left;background:none;border:none;cursor:pointer;padding:.5rem .6rem;border-radius:6px;display:grid;gap:.1rem;color:var(--ink)}.tpl-item:hover{background:var(--surface-2)}.tpl-item.active{background:var(--accent-soft)}.tpl-name{font-weight:500}.tpl-detail{display:grid;gap:.75rem;align-content:start;min-width:0}@media (max-width: 800px){.tpl{grid-template-columns:1fr}.tpl-items{max-height:30vh}}.rail .totals{min-width:0}.rail .totals .grand{font-size:1.1rem}.rail .totals .num{white-space:nowrap}pre.diff div{padding:0 .4rem}pre.diff .add{background:var(--good-soft);color:var(--good)}pre.diff .del{background:var(--bad-soft);color:var(--bad);text-decoration:line-through;text-decoration-color:#a33a3a66}.drop{border:1px dashed var(--line-strong);border-radius:8px;padding:.8rem;background:var(--surface-2)}.drop input[type=file]{border:none;background:none;padding:0}.log{display:grid;gap:.5rem;max-height:70vh;overflow:auto;font-size:.88rem}.log-text{white-space:pre-wrap}.log-tool{display:flex;gap:.5rem;align-items:baseline;color:var(--muted)}.hist-row{display:grid;grid-template-columns:3rem auto minmax(120px,.6fr) auto minmax(0,1.4fr) auto;gap:.6rem;align-items:center;padding:.45rem .6rem;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.hist-who{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem}.hist-what{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 900px){.hist-row{grid-template-columns:1fr 1fr}}.thread-item{display:grid;gap:.4rem;padding:.6rem .8rem;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.thread-q{border-left:3px solid var(--accent);padding-left:.7rem}.thread-a{padding-left:.7rem}.log-user{border-left:3px solid var(--accent);padding:.3rem .7rem;background:var(--accent-soft);border-radius:0 6px 6px 0;white-space:pre-wrap}
