*{box-sizing:border-box}body,html{margin:0;padding:0;background:#0f1115;color:#e6e8ee;font:14px/1.5 -apple-system,Segoe UI,Roboto,Arial,sans-serif}a{color:#7ab8ff}.wrap{max-width:1280px;margin:0 auto;padding:16px 20px 80px}.login{max-width:340px;margin:18vh auto;text-align:center}.login h2{margin-bottom:4px}.login p{color:#9aa1ad;margin-top:0}.login input{width:100%;margin:12px 0}.topbar{display:flex;align-items:center;gap:14px;padding:10px 0 14px;border-bottom:1px solid #262b35;flex-wrap:wrap}.brand{font-weight:800;font-size:18px;letter-spacing:1px}.brand small{display:block;font-weight:400;font-size:11px;color:#9aa1ad;letter-spacing:0}.tabs{display:flex;gap:4px}.tabs button{background:transparent;border:1px solid transparent;color:#9aa1ad;padding:7px 14px;border-radius:8px;cursor:pointer;font-size:14px}.tabs button.active{background:#1c2230;color:#fff;border-color:#2e3646}.spacer{flex:1 1}input,select,textarea{background:#171b23;border:1px solid #2e3646;color:#e6e8ee;border-radius:8px;padding:8px 10px;font:inherit}textarea{width:100%;min-height:120px;resize:vertical}label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#9aa1ad;margin-bottom:4px}.field{margin-bottom:12px}.btn{background:#2f6fed;border:none;color:#fff;padding:8px 14px;border-radius:8px;cursor:pointer;font:inherit;font-weight:600}.btn:disabled{opacity:.5;cursor:default}.btn.ghost{background:#1c2230;color:#c9cfda;border:1px solid #2e3646;font-weight:400}.btn.danger{background:#b0322e}.btn.small{padding:4px 10px;font-size:12px}.err{background:#3a1d1d;border:1px solid #6e2c2c;color:#ffb3b3;border-radius:8px}.err,.ok{padding:8px 12px;margin:10px 0}.ok{background:#16301f;border:1px solid #2b5c3c;color:#a4e2b8;border-radius:8px}.muted{color:#9aa1ad}.grid2{grid-template-columns:1fr 1fr;grid-gap:12px}.grid2,.grid3{display:grid;gap:12px}.grid3{grid-template-columns:1fr 1fr 1fr;grid-gap:12px}.badge{border-radius:20px;font-weight:700;color:#fff}.badge,.chip{display:inline-block;padding:2px 8px;font-size:11px}.chip{border-radius:6px;background:#1c2230;border:1px solid #2e3646;color:#9aa1ad;margin-right:6px}.chip.warn{border-color:#8a6d1a;color:#e8c35a}.chip.buffer{border-color:#2b5c3c;color:#a4e2b8}.section{margin-top:22px}.section h3{margin:0 0 10px;font-size:15px;border-bottom:1px solid #262b35;padding-bottom:6px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));grid-gap:12px;gap:12px}.card{background:#151922;border:1px solid #262b35;border-left:4px solid #6b7280;border-radius:10px;padding:12px;cursor:pointer}.card:hover{border-color:#3a4356}.card .crow{display:flex;gap:6px;align-items:center;margin-bottom:6px;flex-wrap:wrap}.card .title{font-weight:700;margin-bottom:4px}.card .snippet{color:#9aa1ad;font-size:12.5px;max-height:72px;overflow:hidden;white-space:pre-line}.card .when{margin-left:auto;color:#9aa1ad;font-size:11.5px;white-space:nowrap}.dayhead{margin:18px 0 8px;font-weight:700;color:#c9cfda;font-size:13px}.dayhead.today{color:#e8c35a}.streak{display:flex;gap:5px;align-items:flex-end}.streak .cell{width:26px;text-align:center}.streak .box{height:26px;border-radius:6px;background:#1c2230;border:1px solid #2e3646}.streak .box.shipped{background:#2b5c3c;border-color:#3f7d54}.streak .box.staged{background:#4d4423;border-color:#8a6d1a}.streak .box.missed{background:#3a1d1d;border-color:#6e2c2c}.streak .dow{font-size:9.5px;color:#9aa1ad;margin-top:3px}.rowline{display:flex;gap:10px;align-items:baseline;padding:8px 10px;border-bottom:1px solid #1e232e}.rowline:hover{background:#151922}.rowline .grow{flex:1 1}.rowline .date{color:#e8c35a;font-size:12px;white-space:nowrap;min-width:78px}.modalbg{position:fixed;inset:0;background:rgba(5,7,10,.75);display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:4vh 16px;z-index:40}.modal{background:#12151c;border:1px solid #2e3646;border-radius:12px;padding:20px;width:100%;max-width:720px;margin-bottom:6vh}.modal h3{margin-top:0}.modal-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.kcard{background:#151922;border:1px solid #262b35;border-radius:10px;padding:14px;margin-bottom:10px}.kcard .khead{display:flex;gap:8px;align-items:baseline;cursor:pointer}.kcard .ktitle{font-weight:700;flex:1 1}.kcard pre{white-space:pre-wrap;font:12.5px/1.55 ui-monospace,Consolas,monospace;color:#c9cfda;background:#0f1115;border:1px solid #262b35;border-radius:8px;padding:12px;max-height:480px;overflow-y:auto}.genpanel{background:#151922;border:1px solid #2e3646;border-radius:12px;padding:16px;margin:12px 0}.lanepick{display:flex;flex-wrap:wrap;gap:6px}.lanepick .lane{border:1px solid #2e3646;background:#171b23;color:#9aa1ad;border-radius:20px;padding:4px 12px;cursor:pointer;font-size:12.5px}.lanepick .lane.on{background:#23324f;color:#cfe0ff;border-color:#3c5f9e}.toolbar{display:flex;gap:8px;align-items:center;margin:14px 0;flex-wrap:wrap}@media (max-width:720px){.grid2,.grid3{grid-template-columns:1fr}}