:root{--bg:#f4f1ea;--card:#fffdf8;--ink:#1d231f;--muted:#6b7068;--line:#ddd6c6;--green:#1f3d2b;--gold:#e9c46a;--warn:#b5651d;--warn-bg:#fdf0dc;--red:#a4161a;color:var(--ink);background:var(--bg);font:16px/1.4 system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}main{max-width:760px;margin:0 auto;padding:12px 14px 90px}main.center{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:80vh;display:flex}h1{color:var(--green);margin:0}h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:14px 0 6px;font-size:13px}.muted{color:var(--muted)}small{font-size:12px}input,select,button{font:inherit}input,select{border:1px solid var(--line);background:var(--card);border-radius:10px;width:100%;padding:10px 12px}button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:10px;padding:10px 16px}button:disabled{opacity:.45;cursor:default}button.small{padding:6px 10px;font-size:14px}button.ghost{color:var(--green);border:1px solid var(--line);background:0 0}button.danger{color:var(--red)}button.link{color:var(--green);background:0 0;padding:0;text-decoration:underline}label{color:var(--muted);flex-direction:column;gap:4px;font-size:14px;display:flex}.stack{flex-direction:column;gap:10px;width:100%;max-width:360px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.row input,.row select{flex:1;width:auto;min-width:90px}.actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}header{z-index:5;background:var(--green);color:#fff;justify-content:space-between;align-items:center;padding:8px 10px;display:flex;position:sticky;top:0}header nav{gap:2px;display:flex;overflow-x:auto}header a{color:#cfe0d2;white-space:nowrap;border-radius:8px;padding:8px 10px;text-decoration:none}header a.on{color:#fff;background:#ffffff24}header .ghost{color:#fff;border-color:#ffffff4d}.shiftbar{background:#e3ecdf;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;padding:8px 12px;font-size:14px;display:flex}.shiftbar.none{background:var(--warn-bg);color:var(--warn)}.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;max-width:none;margin-bottom:10px;padding:12px}.chips h3{margin-top:10px}.chip{background:var(--card);min-width:52px;min-height:48px;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:8px 12px;font-size:17px;font-weight:600}.chip.on{background:var(--green);color:#fff;border-color:var(--green)}.chip.add{color:var(--green);font-size:22px}.chip small{color:var(--warn);font-size:10px;font-weight:400;display:block}.chip.on small{color:var(--gold)}.custom input{width:130px;min-height:48px}.report .remarks{margin-top:14px}details{margin-top:10px}summary{cursor:pointer;color:var(--muted);font-size:14px}details label{margin-top:8px}.hint{color:var(--muted);margin:4px 0;font-size:13px}.preview{margin:14px 0 4px;font:600 18px ui-monospace,monospace}.warn{background:var(--warn-bg);color:var(--warn);border-radius:8px;margin:6px 0;padding:6px 10px;font-size:14px}.note{color:var(--muted);margin:4px 0;font-size:14px}.error{color:var(--red)}.send{width:100%;min-height:56px;font-size:19px;font-weight:700}.send.caution{background:var(--warn)}.reports{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.reports li{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.reports li.flagged{border-left:4px solid var(--warn)}.reports .head{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.reports .head strong{font-family:ui-monospace,monospace}.remark{color:var(--muted);margin:4px 0}.toast{background:var(--ink);color:#fff;border-radius:12px;padding:10px 16px;font-family:ui-monospace,monospace;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.seg{flex-wrap:wrap;gap:4px;margin:4px 0 10px;display:flex}.seg button{background:var(--card);color:var(--ink);border:1px solid var(--line);text-transform:capitalize;padding:6px 12px}.seg button.on{background:var(--green);color:#fff}pre.wa{white-space:pre-wrap;background:#dcf8c6;border-radius:10px;padding:10px 12px;font-size:14px}.cards{grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0;display:grid}.cards div{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:12px;padding:10px}.cards b{color:var(--green);font-size:26px;display:block}.cards span{color:var(--muted);font-size:12px}.two{grid-template-columns:1fr 1fr;gap:8px;display:grid}table{border-collapse:collapse;background:var(--card);width:100%;margin:8px 0;font-size:14px}caption{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:4px 0;font-size:13px}td,th{border-bottom:1px solid var(--line);text-align:left;padding:6px 8px}tr.total td{font-weight:600}.plain{margin:4px 0;padding-left:18px;font-size:14px}.warnlist li{color:var(--warn)}.trips{flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0;font-size:13px;display:flex}.trip{background:var(--card);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:6px;padding:3px 6px;display:inline-flex}.trip.carry{border-style:dashed}.trip i{font-style:normal}.trip em{color:var(--warn);font-style:normal}.registry{flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.registry .row{width:100%}.registry .end{margin-left:auto}.registry li{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;padding:10px;display:flex}.registry .link{text-decoration:none}.registry .link.code{color:var(--ink);font-weight:700}.registry .link.muted{color:var(--muted)}.registry select{flex:0;width:auto;padding:4px 8px}select.missing{border-color:var(--warn);color:var(--warn)}.tag{background:#ece6d8;border-radius:8px;align-items:center;gap:2px;padding:2px 4px 2px 8px;font-size:14px;display:inline-flex}.x{color:var(--muted);background:0 0;padding:0 4px}.inactive{opacity:.5}.audit pre{white-space:pre-wrap;max-width:60vw;font-size:11px}@media (width<=520px){.cards{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}}.scroll{overflow-x:auto}.scroll table{min-width:460px}
