:root{--bg:#f3f6fa;--surf:#fff;--ink:#26394a;--mut:#5b6880;--line:#d9e0ea;--acc:#26394a;--acc-ink:#fff;--red:#c23030;--lab:#eceff3;--me:#26394a;--me-ink:#fff;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);color-scheme:light}
@media (prefers-color-scheme:dark){:root{--bg:#0e1626;--surf:#16223a;--ink:#e8edf7;--mut:#9aa7bf;--line:#273656;--acc:#6f95ff;--acc-ink:#0e1626;--red:#ff7a7a;--lab:#1d2c4d;--me:#6f95ff;--me-ink:#0e1626;color-scheme:dark}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 "Instrument Sans",system-ui,sans-serif}
.wrap{max-width:720px;margin:0 auto;padding:16px}
.flag{height:5px;background:#a8895b}
h1{font-size:1.6rem;line-height:1.2;margin:0 0 8px}
h2{font-size:1.1rem;margin:0 0 12px}
p{margin:0 0 12px}.mut{color:var(--mut);font-size:.9rem}.err{color:var(--red)}.mt{margin-top:14px}.top{margin-top:6vh}
.card{background:var(--surf);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:12px}
input,select,textarea,button,.btn{font:inherit;color:inherit}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);margin-bottom:10px}
button,.btn{cursor:pointer;border:1px solid var(--line);background:var(--surf);padding:9px 13px;border-radius:8px;text-decoration:none;display:inline-block}
button.p{background:var(--acc);color:var(--acc-ink);border-color:var(--acc);font-weight:600}
.full{width:100%}
:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
a{color:var(--acc)}
.head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}
.logo{display:block;width:100%;max-width:min(520px,100%);margin:0 auto 14px;background:#fff;border-radius:10px}
.logo.sm{height:170px;width:auto;margin:0 0 2px}
nav{display:flex;gap:6px;margin-bottom:12px;overflow-x:auto}
nav button{flex:1 0 auto;padding:10px 12px;font-weight:500;white-space:nowrap}
nav button[aria-selected="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.drop{display:block;border:2px dashed var(--acc);border-radius:12px;padding:22px 12px;text-align:center;cursor:pointer;margin-bottom:10px}
.row,.file{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;border-top:1px solid var(--line);flex-wrap:wrap}
.file{padding:6px 0 6px 12px;font-size:.92rem}
.tag{font-size:.8rem;padding:2px 8px;border-radius:99px;background:var(--lab)}
.chat{max-height:46vh;overflow:auto;display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.m{max-width:82%;padding:9px 12px;border-radius:12px;background:var(--lab);white-space:pre-wrap}
.m.me{align-self:flex-end;background:var(--me);color:var(--me-ink)}
.m small{display:block;opacity:.7;font-size:.75rem}
.hide{display:none}
.big{display:block;width:100%;padding:26px 16px;font-size:1.25rem;margin-bottom:12px;border-radius:12px}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tile{display:flex;flex-direction:column;align-items:center;gap:10px;padding:26px 8px;font-size:1.15rem;font-weight:600;border-radius:12px;background:var(--bg)}
.tile svg{width:72px;height:72px}
.code{font-family:ui-monospace,monospace;font-weight:600}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:12px;z-index:50}
.mbox{background:var(--surf);border-radius:12px;padding:12px;width:100%;max-width:720px}
.mbox canvas{width:100%;height:60vh;display:block;border-radius:10px;background:linear-gradient(#56626f,#232a33);touch-action:none;cursor:grab}

.frow{display:flex;flex-wrap:wrap;gap:10px}
.f{display:flex;flex-direction:column;font-size:.78rem;color:var(--mut);flex:1 1 130px;min-width:130px}
.f input,.f textarea{margin-bottom:0;font-size:.95rem}
.w25{flex-basis:calc(25% - 10px)}.w30{flex-basis:calc(30% - 10px)}.w33{flex-basis:calc(33% - 10px)}.w50{flex-basis:calc(50% - 10px)}.w67{flex-basis:calc(67% - 10px)}.w70{flex-basis:calc(70% - 10px)}.w75{flex-basis:calc(75% - 10px)}.w100{flex-basis:100%}
.grp{width:100%}.gl{font-size:.78rem;color:var(--mut)}
.opts{display:flex;flex-wrap:wrap;gap:6px 18px;margin:3px 0 6px}
.opt{display:flex;gap:6px;align-items:center;font-size:.92rem}
.opt input,.tr input{width:auto;margin:0;padding:0}
h3.sec{font-size:1rem;color:var(--ink);border-bottom:1px solid #a8895b;padding-bottom:3px;margin:18px 0 8px}
.teeth{overflow-x:auto}.tr{display:grid;grid-template-columns:repeat(16,minmax(28px,1fr));gap:3px;min-width:480px;margin-bottom:3px;text-align:center;font-size:.7rem;color:var(--mut)}
.tr label{display:flex;flex-direction:column;align-items:center}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.act{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 8px;border-radius:12px;font-weight:600;text-align:center}
.act svg{width:40px;height:40px}
.rv{padding:6px 0;border-top:1px solid var(--line)}

.ed{outline:none;background:rgba(168,137,91,.2);border-radius:3px;padding:0 3px;cursor:text}
.x{border:0;background:#c23030;color:#fff;border-radius:50%;width:22px;height:22px;line-height:20px;padding:0;font-size:.85rem;cursor:pointer}
.add{border:1px dashed #a8895b;background:transparent;border-radius:999px;padding:4px 11px;font-size:.8rem;cursor:pointer}
.eadd{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 4px}
.mb{margin-bottom:12px}

.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.stat{background:var(--surf);border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center}
.stat b{display:block;font-size:1.6rem}
.tag.hot{background:#c23030;color:#fff}

.ic{width:18px;height:18px;vertical-align:-3px}

.case-new{background:#fde3e3}.case-ok{background:#def3e4}
.case-new{border-left:6px solid #c23030}.case-ok{border-left:6px solid #2e8b4f}
@media (prefers-color-scheme:dark){.case-new{background:#4a2026}.case-ok{background:#1c3f2b}}
.row.case-new,.row.case-ok{padding:10px 12px;border-radius:10px;margin:6px 0;border-top:0}
.case{border-radius:10px;padding:2px 12px;margin:8px 0}.case .row{border-top:0}

.val{border:1px solid var(--line);border-radius:6px;padding:7px 8px;min-height:2.3em;background:var(--bg);color:var(--ink);white-space:pre-wrap}.val.tall{min-height:5em}
.shead{display:flex;gap:14px;align-items:center;border-bottom:3px solid #26394a;padding-bottom:10px;margin-bottom:8px}.shead img{height:120px;width:auto;background:#fff;border-radius:6px}
.sleft{flex:1}.sright{margin-left:auto;text-align:right}.snum{font-size:2.3rem;font-weight:800;line-height:1.1;color:#26394a}.sprat{font-size:1.25rem;font-weight:700}.stype{display:inline-block;margin-top:4px;background:#26394a;color:#fff;padding:3px 12px;border-radius:6px;font-weight:700;letter-spacing:.06em}
.sdeliv{background:#fff4dc;border:3px solid #b3261e;border-radius:8px;padding:6px 14px;margin:8px 0;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;color:#14213d}.sdeliv span{font-weight:700;color:#5b6880;font-size:.8rem;letter-spacing:.06em}.sdeliv b{font-size:2rem;color:#b3261e}
.stitle{font-family:Georgia,serif;font-size:1.4rem;margin:0}.opt input:disabled,.tr input:disabled{opacity:1}
.ib{padding:7px 10px}.ic{width:18px;height:18px;vertical-align:-3px}
@media print{body.printing>*:not(.modal){display:none!important}
body.printing .modal{position:static;background:none;padding:0;display:block}
body.printing .mbox{max-width:none;max-height:none;overflow:visible;border:0;padding:0;background:#fff;color:#000;--bg:#fff;--surf:#fff;--ink:#000;--mut:#444;--line:#999}
body.printing .noprint{display:none!important}body.printing{background:#fff}}

.tiles .tile{font-size:1.5rem;padding:38px 8px}

.bd{display:inline-block;min-width:20px;padding:1px 6px;margin-left:6px;border-radius:99px;background:#c23030;color:#fff;font-size:.75rem;font-weight:700;line-height:1.4;text-align:center}
.bd.hide{display:none}
.toast{position:fixed;left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom,0px));max-width:420px;margin:0 auto;background:#26394a;color:#fff;padding:12px 14px;border-radius:12px;z-index:60;box-shadow:0 6px 20px rgba(0,0,0,.3);cursor:pointer}

.case-ref{background:#e8e8e8;color:#222;border-left:6px solid #6b6b6b}@media (prefers-color-scheme:dark){.case-ref{background:#3a3a3a;color:#eee}}
.stats{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}

.ghd{margin:12px 0 2px;font-weight:700;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:var(--mut)}

.head>div:first-child{display:flex;align-items:center;gap:12px;flex-wrap:wrap}@media (max-width:480px){.logo.sm{height:150px}}

.nbox{border:2px solid #a8895b;border-radius:12px;padding:10px 14px;margin-bottom:12px;background:var(--surf)}
.nbox h2{margin-bottom:4px}

.num{width:72px;display:inline-block;margin:0 4px}

.chips{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.chips button[aria-pressed="true"]{border-color:var(--acc);background:var(--lab)}

body.noel .flag{height:9px;background:repeating-linear-gradient(90deg,#b3261e 0 18px,#fff 18px 22px,#1f7a3d 22px 40px,#a8895b 40px 44px)}
body.noel button.p{background:#b3261e;border-color:#b3261e;color:#fff}
body.noel nav button[aria-selected="true"]{background:#1f7a3d;border-color:#1f7a3d;color:#fff}
.noelbox{display:none}
body.noel .noelbox{display:block;border:2px solid #b3261e;border-radius:12px;padding:10px 14px;margin-bottom:12px;background:var(--surf);font-weight:600}

body.noel .head>div:first-child{flex:1;background:#b3261e;border-radius:14px;padding:42px 16px 10px;position:relative;color:#fff}
body.noel .head>div:first-child .mut{color:#ffe9e6}
body.noel .head>div:first-child::before,body.noel .head>div:first-child::after,body.noel .card.top::before,body.noel .card.top::after{content:"";position:absolute;top:0;width:100px;height:42px;background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22120%22 height=%2250%22 viewBox=%220 0 120 50%22%3E%3Cpath d=%22M0,4 C25,38 70,40 118,6%22 fill=%22none%22 stroke=%22%231f7a3d%22 stroke-width=%223%22 stroke-linecap=%22round%22/%3E%3Cline x1=%228.1%22 y1=%2213.2%22 x2=%228.1%22 y2=%2217.2%22 stroke=%22%231f5d34%22 stroke-width=%221.5%22/%3E%3Ccircle cx=%228.1%22 cy=%2221.2%22 r=%225%22 fill=%22%23f5c542%22 stroke=%22%237a1a14%22 stroke-width=%22.8%22/%3E%3Cline x1=%2224.3%22 y1=%2224.5%22 x2=%2224.3%22 y2=%2228.5%22 stroke=%22%231f5d34%22 stroke-width=%221.5%22/%3E%3Ccircle cx=%2224.3%22 cy=%2232.5%22 r=%225%22 fill=%22%23ffffff%22 stroke=%22%237a1a14%22 stroke-width=%22.8%22/%3E%3Cline x1=%2244.4%22 y1=%2230.1%22 x2=%2244.4%22 y2=%2234.1%22 stroke=%22%231f5d34%22 stroke-width=%221.5%22/%3E%3Ccircle cx=%2244.4%22 cy=%2238.1%22 r=%225%22 fill=%22%232fa35a%22 stroke=%22%237a1a14%22 stroke-width=%22.8%22/%3E%3Cline x1=%2265.5%22 y1=%2229.4%22 x2=%2265.5%22 y2=%2233.4%22 stroke=%22%231f5d34%22 stroke-width=%221.5%22/%3E%3Ccircle cx=%2265.5%22 cy=%2237.4%22 r=%225%22 fill=%22%237cc4f2%22 stroke=%22%237a1a14%22 stroke-width=%22.8%22/%3E%3Cline x1=%2289.7%22 y1=%2222.1%22 x2=%2289.7%22 y2=%2226.1%22 stroke=%22%231f5d34%22 stroke-width=%221.5%22/%3E%3Ccircle cx=%2289.7%22 cy=%2230.1%22 r=%225%22 fill=%22%23f5c542%22 stroke=%22%237a1a14%22 stroke-width=%22.8%22/%3E%3Cline x1=%22110.8%22 y1=%2210.8%22 x2=%22110.8%22 y2=%2214.8%22 stroke=%22%231f5d34%22 stroke-width=%221.5%22/%3E%3Ccircle cx=%22110.8%22 cy=%2218.8%22 r=%225%22 fill=%22%23ffffff%22 stroke=%22%237a1a14%22 stroke-width=%22.8%22/%3E%3C/svg%3E") no-repeat;background-size:100px 42px;pointer-events:none}
body.noel .head>div:first-child::before,body.noel .card.top::before{left:0}
body.noel .head>div:first-child::after,body.noel .card.top::after{right:0;transform:scaleX(-1)}
body.noel .card.top{position:relative;border:3px solid #b3261e;padding-top:52px}
.row2{display:grid;grid-template-columns:1fr 2fr;gap:10px}.row2 input{width:100%}
