:root{--bg:#eef0f2;--sf:#fff;--tx:#1b2430;--mt:#667085;--bd:#d5dae1;--ac:#1f5f8b;--no:#b42318;--ok:#1f6b3a;--wr:#a15c07;
--g1:#e6f2ea;--g2:#1f6b3a;--g3:#b7d9c2;--r1:#f8e4e2;--r2:#a3342b;--r3:#e8b9b4;--y1:#fbf1d9;--y2:#8a5a00;--y3:#ecd9a3}
:root{color-scheme:light}
:root[data-theme="dark"]{color-scheme:dark;--bg:#12161b;--sf:#1c222a;--tx:#e6eaf0;--mt:#98a2b3;--bd:#2f3844;--ac:#3b7fb3;--no:#f97066;--ok:#8fd1a5;--wr:#f5b74a;
--g1:#1f3a2b;--g2:#8fd1a5;--g3:#2f5a42;--r1:#422524;--r2:#f0a09a;--r3:#6a3a38;--y1:#3d3320;--y2:#e6c36b;--y3:#5c4d2a}
*{box-sizing:border-box}
.mail-text{white-space:pre-wrap;overflow-wrap:anywhere}
.account-menu{position:relative}.account-menu summary{cursor:pointer;padding:7px}.account-menu[open]>div{position:absolute;z-index:3;right:0;top:100%;display:grid;gap:8px;min-width:210px;padding:12px;background:var(--sf);border:1px solid var(--bd);border-radius:8px;box-shadow:0 4px 14px #0002}
button:disabled{cursor:wait;opacity:.65}summary:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid var(--ac);outline-offset:2px}
@media(max-width:540px){.account-menu[open]>div{position:static}.filters input,.bar input{max-width:100%}}
.invoice-section{display:grid;justify-items:start;gap:6px;padding:12px;background:var(--bg);border-radius:6px}.invoice-section h3{margin:0}
body{margin:0;font:15px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--tx)}
.w{max-width:1500px;margin:0 auto;padding:12px}
h1{font-size:20px;margin:0 8px 0 0}h2{font-size:17px;margin:14px 0 8px}
button,input,select{font:inherit;color:var(--tx);background:var(--sf);border:1px solid var(--bd);border-radius:6px;padding:7px 10px}
button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--ac);outline-offset:1px}
button.pr,button.on{background:var(--ac);border-color:var(--ac);color:#fff}
button.kg{background:var(--g1);color:var(--g2);border-color:var(--g3)}
button.kr{background:var(--r1);color:var(--r2);border-color:var(--r3)}
button.ky{background:var(--y1);color:var(--y2);border-color:var(--y3)}
header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
header .sp{flex:1}
.card{background:var(--sf);border:1px solid var(--bd);border-radius:8px;padding:12px;margin-bottom:8px}
.auth{max-width:380px;margin:40px auto}
.auth form,.form{display:flex;flex-direction:column;gap:10px}
label{display:flex;flex-direction:column;gap:3px;font-size:13px;color:var(--mt)}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.btns{display:flex;flex-wrap:wrap;gap:6px}
.btns button,.btns select{padding:5px 9px;font-size:13px}
small,.mt{color:var(--mt);font-size:13px}
.msg{padding:8px 10px;border-radius:6px;font-size:14px}
.msg.e{background:var(--r1);color:var(--r2)}.msg.o{background:var(--g1);color:var(--g2)}
.tag{display:inline-block;border:1px solid var(--bd);border-radius:4px;padding:1px 7px;font-size:12px;color:var(--mt)}
.tag.p{border-color:var(--y3);color:var(--y2);background:var(--y1)}.tag.b{border-color:var(--r3);color:var(--r2);background:var(--r1)}
.pw{font:16px/1.4 ui-monospace,Consolas,monospace;background:var(--y1);color:var(--y2);padding:8px 10px;border-radius:6px;user-select:all}

button.kb{background:var(--b1);color:var(--b2);border-color:var(--b3)}
:root{--b1:#e4eef7;--b2:#1f5f8b;--b3:#b9d3e8}
:root[data-theme="dark"]{--b1:#1d3347;--b2:#8fd1ff;--b3:#2f4f6b}
.theme-choice{flex-direction:row;align-items:center;gap:6px}
textarea,input[type=search]{font:inherit;color:var(--tx);background:var(--sf);border:1px solid var(--bd);border-radius:6px;padding:7px 10px}
.bar{display:flex;gap:8px;margin-bottom:10px}.bar input{flex:1}
.sc{overflow-x:auto}.cols{display:grid;gap:10px;align-items:start}
.col h2.hs{font-size:14px;margin:0 0 8px;display:flex;justify-content:space-between;border-bottom:2px solid var(--ac);padding-bottom:4px;cursor:pointer;user-select:none}
.oc{display:flex;flex-direction:column;gap:3px}
.dot{color:var(--no);font-style:normal}.due{color:var(--no)}
.tag.p{margin-left:6px}
dialog{border:1px solid var(--bd);border-radius:8px;background:var(--sf);color:var(--tx);width:min(440px,92vw)}
dialog::backdrop{background:rgba(0,0,0,.4)}
dialog form{display:flex;flex-direction:column;gap:10px}dialog h2{margin:0}dialog p{margin:0}

.nb{background:var(--ac);color:#fff;border-radius:4px;padding:1px 8px;font-weight:600;font-size:13px}
.badges{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0 2px}
.pf{border:1px solid var(--bd);border-radius:6px;padding:8px;display:flex;flex-direction:column;gap:6px;margin:0}
.pf textarea{min-height:48px}.plist{display:flex;flex-direction:column;gap:8px}
.card small{display:block}.card .row small,.badges small{display:inline}
dialog{max-height:90vh;overflow:auto}

.oc.asg{border:2px solid var(--ac)}.oc.late{border-color:var(--no)}
small.as{color:var(--ac);font-weight:600}small.lt{color:var(--no);font-weight:600}
.today{border:1px solid var(--wr);border-radius:8px;padding:8px 10px;margin-bottom:10px;background:var(--sf)}
.today summary{font-weight:700;color:var(--wr);cursor:pointer}
.tr{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;border-left:4px solid var(--ac);padding:6px 10px;margin-top:6px;background:var(--bg);border-radius:6px}
.tr .tm{flex:1 1 260px}.tr small.due{display:inline}

button.cl{background:none;border:0;border-bottom:1px dotted var(--mt);border-radius:0;padding:0;font:inherit;font-weight:700;color:inherit;cursor:pointer;text-align:left}
button.cl:hover{border-bottom-style:solid}
dialog.pop{width:min(380px,92vw);padding:0}
.pop .in{padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.pop .hd{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-size:16px}
.pop .x{padding:0 9px;font-size:22px;line-height:1.3}
.pop .pp{border-top:1px solid var(--bd);padding-top:6px}.pop .lc{border-top:1px solid var(--bd);padding-top:6px}
.pop a{color:var(--ac);text-decoration:none}.pop a:hover{text-decoration:underline}

.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:6px}
.filters input[type=number]{width:130px}.filters input[type=search]{flex:1 1 140px}
label.inl{flex-direction:row;align-items:center;gap:6px;color:var(--mt)}
.rw{display:flex;gap:8px 14px;align-items:center;flex-wrap:wrap;background:var(--sf);border:1px solid var(--bd);border-radius:6px;padding:8px 10px;margin-bottom:6px}
.rw .rn{flex:1 1 200px}.rw .ra{min-width:90px;text-align:right}
.rs{border:1px solid;border-radius:4px;padding:1px 8px;font-size:13px;font-weight:600}
.rs.won{color:var(--ok)}.rs.lost{color:var(--no)}
.gr{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;align-items:start}
.order-toolbar,.view-switch,.offer-line{display:flex;align-items:center;gap:8px}
.order-toolbar{margin:16px 0 10px;flex-wrap:wrap}.order-toolbar h2{margin:0 auto 0 0}
.order-list{display:grid;gap:10px}.order-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.45fr) minmax(0,.9fr) minmax(140px,.6fr);gap:18px;padding:16px;border:1px solid var(--bd);background:var(--sf);border-radius:10px;align-items:start;overflow-wrap:anywhere}
.order-ident,.order-task,.order-actions,.offer-panel{display:grid;gap:6px}.order-ident{justify-items:start}.order-ident p{margin:0}.order-ident .cl{font-size:17px}
.offer-panel{background:var(--b1);padding:10px 12px;border-radius:6px;color:var(--tx)}.offer-panel small{color:var(--b2)}.offer-line{align-items:baseline;justify-content:space-between;flex-wrap:wrap}.offer-line small{display:block}
.order-actions summary,.offer-panel summary{cursor:pointer;color:var(--b2)}.order-actions .btns{padding-top:6px}.muted-cell{color:var(--mt);font-size:13px}
dialog:has(.offer-panel){width:min(600px,94vw)}dialog h3{margin:8px 0 0}.order-task time{font-size:14px}
@media(max-width:850px){.order-row{grid-template-columns:1fr 1fr}.order-actions{justify-items:start}}
@media(max-width:540px){.order-row{grid-template-columns:1fr;gap:12px}.order-actions{display:flex;flex-wrap:wrap;align-items:center}.order-actions details[open]{width:100%}.muted-cell:empty{display:none}.bar input{min-width:0}}
