:root{--bg:#E8EBEF;--surface:#F6F7F9;--card:#FFFFFF;--ink:#18202B;--muted:#586271;--line:#D2D8DF;--brass:#8A5A12;--brass-ink:#FFFFFF;--brass-soft:#F3E6CD;--ok:#22704A;--ok-soft:#DCEFE3;--warn:#A5321F;--warn-soft:#F7E0DA;--focus:#2457C5;--f-display:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;--f-body:"Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;--r:10px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg:#10141A;--surface:#161B23;--card:#1C222C;--ink:#E8EBEF;--muted:#9AA4B1;--line:#2C3440;--brass:#E0B25C;--brass-ink:#1A1408;--brass-soft:#3A2F1B;--ok:#62C38B;--ok-soft:#163125;--warn:#F2846F;--warn-soft:#3A1E19;--focus:#8AB0FF;color-scheme:dark}}:root[data-theme=dark]{--bg:#10141A;--surface:#161B23;--card:#1C222C;--ink:#E8EBEF;--muted:#9AA4B1;--line:#2C3440;--brass:#E0B25C;--brass-ink:#1A1408;--brass-soft:#3A2F1B;--ok:#62C38B;--ok-soft:#163125;--warn:#F2846F;--warn-soft:#3A1E19;--focus:#8AB0FF;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.4}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.num{font-variant-numeric:tabular-nums}.app{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);padding-inline:16px;padding-block:0 12px;gap:12px}.top{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-block:10px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:baseline;gap:10px;min-width:0}.brand b{font-family:var(--f-display);font-weight:700;font-size:24px;letter-spacing:.02em;text-transform:uppercase}.brand span{color:var(--muted);font-size:13px}.nav{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}.nav button{border:1px solid var(--line);background:var(--card);padding:10px 18px;border-radius:999px;font-weight:700;min-height:44px}.nav button[aria-current=page]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.build{display:grid;grid-template-columns:200px minmax(0,1fr) minmax(340px,400px);gap:12px;min-height:0}.col{min-height:0;overflow:auto}.rail{display:flex;flex-direction:column;gap:4px;padding-right:2px}.rail h3{font-family:var(--f-display);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:13px;color:var(--muted);margin:10px 4px 4px}.rail button{display:flex;justify-content:space-between;align-items:center;gap:8px;text-align:left;border:0;background:transparent;padding:12px;border-radius:var(--r);min-height:48px;font-weight:700}.rail button:hover{background:var(--card)}.rail button[aria-current=true]{background:var(--card);box-shadow:inset 4px 0 0 var(--brass)}.rail button small{font-weight:400;color:var(--muted);font-size:12px}.rail .minor button{min-height:40px;padding:8px 12px;font-weight:400}.shelf{display:flex;flex-direction:column;gap:10px;min-width:0;container-type:inline-size}@container (max-width: 600px){.prod{grid-template-columns:minmax(0,1fr)}.vars{justify-content:flex-start}.search{margin-left:0;width:100%}.search input{width:100%}}.shelf-head{position:sticky;top:0;z-index:2;background:var(--bg);padding-bottom:8px;display:flex;flex-direction:column;gap:8px}.shelf-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.shelf-title h2{font-family:var(--f-display);font-weight:700;font-size:28px;margin:0;text-transform:uppercase;letter-spacing:.02em}.search{margin-left:auto;display:flex;align-items:center;gap:6px;min-width:0}.search input{width:220px;max-width:100%;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:10px 14px;min-height:44px}.search button{border:0;background:transparent;color:var(--muted);min-height:44px;padding:0 8px}.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chips .lbl{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-right:2px}.chip{border:1px solid var(--line);background:var(--card);padding:8px 14px;border-radius:999px;min-height:40px;font-size:14px}.chip[aria-pressed=true]{background:var(--brass);color:var(--brass-ink);border-color:var(--brass);font-weight:700}.hint{background:var(--brass-soft);border-radius:var(--r);padding:10px 14px;font-size:14px}.list{display:flex;flex-direction:column;gap:8px;padding-bottom:16px}.prod{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center}.sup{font-family:var(--f-display);font-weight:600;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass);line-height:1.2;margin-bottom:2px}.prod h4{margin:0;font-size:16px;font-weight:700;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.prod .meta{color:var(--muted);font-size:13px;display:flex;gap:4px 12px;flex-wrap:wrap}.prod .note{font-size:13px;color:var(--ink);opacity:.85;margin-top:2px}.badge{font-family:var(--f-display);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:1px 7px;border-radius:4px;background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.vars{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.vbtn{display:flex;flex-direction:column;align-items:flex-end;gap:0;border:2px solid var(--line);background:var(--surface);border-radius:var(--r);padding:6px 12px;min-height:52px;min-width:108px;position:relative}.vbtn:hover{border-color:var(--brass)}.vbtn .vl{font-size:12px;color:var(--muted)}.vbtn .vp{font-family:var(--f-display);font-weight:700;font-size:22px;line-height:1.1}.vbtn .vp:after{content:" +";color:var(--brass)}.vbtn.on{border-color:var(--brass);background:var(--brass-soft)}.vbtn .q{position:absolute;top:-8px;right:-8px;background:var(--brass);color:var(--brass-ink);border-radius:999px;font-size:12px;font-weight:700;min-width:22px;height:22px;display:grid;place-items:center;padding:0 6px}.vgroup{display:flex;align-items:stretch}.vminus{border:2px solid var(--brass);border-right:0;background:var(--brass-soft);border-radius:var(--r) 0 0 var(--r);min-width:46px;font-size:24px;font-weight:700;line-height:1;color:var(--ink)}.vminus:hover{background:var(--warn-soft);color:var(--warn)}.vgroup .vminus+.vbtn{border-top-left-radius:0;border-bottom-left-radius:0}.vbtn.unset .vp{font-size:15px;font-family:var(--f-body)}.vbtn.unset .vp:after{content:""}.empty{color:var(--muted);padding:24px;text-align:center;background:var(--card);border-radius:var(--r);border:1px dashed var(--line)}.docket{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);min-height:0;overflow:hidden}.dk-head{padding:12px 16px 10px;border-bottom:2px dashed var(--line);display:flex;flex-direction:column;gap:6px}.dk-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.dk-no{font-family:var(--f-display);font-weight:700;font-size:22px;text-transform:uppercase;letter-spacing:.04em}.dk-date{color:var(--muted);font-size:13px}.cust{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--surface);border-radius:8px;padding:6px 10px;font-size:14px}.cust .who{min-width:0}.cust .who b{display:block}.btn{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 12px;min-height:44px;font-weight:700}.btn.primary{background:var(--brass);color:var(--brass-ink);border-color:var(--brass)}.btn.ghost{background:transparent}.btn.small{min-height:36px;padding:4px 10px;font-size:13px}.check{display:flex;gap:6px;flex-wrap:wrap}.check button{border:1px dashed var(--line);background:transparent;border-radius:999px;padding:2px 9px;font-size:12px;min-height:28px;color:var(--muted)}.check button.done{border-style:solid;border-color:var(--ok);color:var(--ok);background:var(--ok-soft);font-weight:700}.check button.na{opacity:.6}.example{background:var(--brass-soft);font-size:13px;padding:6px 10px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:8px}.lines{flex:1;overflow:auto;padding:6px 16px;min-height:80px}.line{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:6px 8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.line:last-child{border-bottom:0}.line .ld{min-width:0}.line .ld b{display:block;font-size:14px}.line .ld small{color:var(--muted);font-size:12px}.qty{display:flex;align-items:center;gap:2px}.qty button{width:34px;height:34px;border:1px solid var(--line);background:var(--surface);border-radius:8px;font-weight:700;font-size:18px;line-height:1}.qty span{min-width:26px;text-align:center;font-weight:700}.lt{font-weight:700;text-align:right;min-width:64px}.line .rm{width:32px;height:32px;border:0;background:transparent;color:var(--muted);font-size:20px;line-height:1;border-radius:8px}.line .rm:hover{background:var(--warn-soft);color:var(--warn)}.addcustom{border:1px dashed var(--line);background:transparent;border-radius:8px;width:100%;min-height:40px;margin:8px 0;color:var(--muted);font-weight:700}.warns{display:flex;flex-direction:column;gap:6px;padding:0 16px 8px}.warnbox{background:var(--warn-soft);color:var(--ink);border-radius:8px;padding:8px 10px;font-size:13px;display:flex;justify-content:space-between;align-items:center;gap:8px}.warnbox b{color:var(--warn)}.dk-foot{border-top:2px dashed var(--line);padding:10px 16px 12px;display:flex;flex-direction:column;gap:6px;background:var(--surface)}.disc{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.disc .lbl{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.sumrow{display:flex;justify-content:space-between;font-size:14px;color:var(--muted)}.total{display:flex;justify-content:space-between;align-items:baseline}.total span{font-family:var(--f-display);font-weight:600;font-size:16px;text-transform:uppercase;letter-spacing:.06em}.total b{font-family:var(--f-display);font-weight:700;font-size:40px;line-height:1;color:var(--brass)}.dep{display:flex;justify-content:space-between;align-items:baseline;gap:8px;background:var(--brass-soft);border-radius:8px;padding:6px 10px}.dep span{font-weight:700;font-size:14px}.dep b{font-family:var(--f-display);font-weight:700;font-size:26px;line-height:1.1}.dep small{display:block;font-weight:400;color:var(--muted);font-size:12px}.say{font-size:13px;color:var(--muted)}.say q{color:var(--ink);font-style:normal}.actions{display:flex;gap:6px;flex-wrap:wrap}.actions .btn{flex:1}.saved{font-size:12px;color:var(--ok);min-height:1.2em}.saved.bad{color:var(--warn);font-weight:700}.panel{padding:14px 16px;display:flex;flex-direction:column;gap:10px;flex:1;overflow:auto}.panel h3{margin:0;font-family:var(--f-display);font-size:22px;text-transform:uppercase}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:13px;font-weight:700}.field input{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:10px 12px;min-height:44px;width:100%}.field small{font-size:12px;color:var(--muted)}.field small.bad{color:var(--warn)}.page{overflow:auto;min-height:0}.page-inner{max-width:1000px;display:flex;flex-direction:column;gap:16px;padding-bottom:24px}.page h2{font-family:var(--f-display);font-weight:700;font-size:30px;margin:4px 0 0;text-transform:uppercase}.page p.lead{margin:0;color:var(--muted);max-width:65ch}.qtable{width:100%;border-collapse:collapse;background:var(--card);border-radius:var(--r);overflow:hidden}.qtable th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line)}.qtable td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.qtable tr:last-child td{border-bottom:0}.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r)}.status{display:flex;gap:4px}.status button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:4px 10px;font-size:13px;min-height:36px}.status button[aria-pressed=true][data-s=won]{background:var(--ok-soft);border-color:var(--ok);color:var(--ok);font-weight:700}.status button[aria-pressed=true][data-s=lost]{background:var(--warn-soft);border-color:var(--warn);color:var(--warn);font-weight:700}.status button[aria-pressed=true][data-s=waiting]{background:var(--brass-soft);border-color:var(--brass);font-weight:700}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:12px}.card h3{margin:0;font-size:18px}.card p{margin:0;color:var(--muted);font-size:14px;max-width:70ch}.grid2{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.setrow{display:grid;grid-template-columns:minmax(0,1fr) 130px auto;gap:8px;align-items:center}.setrow input{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 10px;min-height:44px;width:100%}.money{position:relative}.money:before{content:"€";position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted)}.money input{padding-left:22px}.pct{position:relative}.pct:after{content:"%";position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--muted)}.toggle{display:flex;align-items:center;gap:8px;min-height:40px}.toggle input{width:20px;height:20px}.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%);background:var(--ink);color:var(--bg);padding:10px 14px;border-radius:999px;display:flex;gap:12px;align-items:center;z-index:20;font-size:14px;max-width:calc(100% - 32px)}.toast button{background:transparent;border:0;color:var(--brass-soft);font-weight:700;text-decoration:underline;min-height:32px}@media (max-width: 1180px) and (min-width: 721px){.build{grid-template-columns:minmax(0,1fr) minmax(320px,360px);grid-template-rows:auto minmax(0,1fr)}.rail{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;overflow:visible;gap:6px}.rail h3{display:none}.rail .minor{display:contents}.rail button{min-height:40px;padding:8px 12px;border:1px solid var(--line);background:var(--card)}.rail button small{display:none}.rail button[aria-current=true]{box-shadow:inset 0 -3px 0 var(--brass)}}@media (max-width: 720px){.app{height:auto;min-height:100%}.build{min-height:auto}.col,.docket{overflow:visible}}@media (max-width: 720px){.build{grid-template-columns:minmax(0,1fr)}.rail{flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:4px}.rail h3{display:none}.rail .minor{display:contents}.rail button{white-space:nowrap;min-height:44px;border:1px solid var(--line);background:var(--card)}.rail button small{display:none}.rail button[aria-current=true]{box-shadow:inset 0 -3px 0 var(--brass)}.search{margin-left:0;width:100%}.search input{width:100%}.prod{grid-template-columns:minmax(0,1fr)}.vars{justify-content:flex-start}.dk-foot{position:sticky;bottom:0}.setrow{grid-template-columns:minmax(0,1fr) 110px auto}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.login{min-height:100%;display:grid;place-items:center;padding-inline:16px;padding-block:24px}.login-card{width:100%;max-width:380px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:12px}.login-card h1{font-family:var(--f-display);font-weight:700;font-size:32px;letter-spacing:.02em;text-transform:uppercase;margin:0}.login-card p{margin:0;color:var(--muted);font-size:14px}.login-card .login-err{color:var(--warn);min-height:1.3em;font-weight:700}.login-card .btn{min-height:48px;font-size:16px}.user{display:flex;align-items:center;color:var(--muted);font-size:14px;padding:0 6px}.nav .signout{background:transparent;border-color:transparent;font-weight:400;color:var(--muted)}.loading{padding:40px;text-align:center;color:var(--muted)}
