:root{--ink: #1b2430;--paper: #e8edf3;--cyan: #1a7a88;--amber: #c47b12;--card: #ffffff}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;font-family:Microsoft YaHei,Segoe UI,sans-serif;background:var(--paper);color:var(--ink)}button,input,select{font:inherit}.screen{max-width:480px;margin:0 auto;min-height:100vh;padding:16px 16px 32px}.brand{font-size:13px;letter-spacing:.08em;color:var(--cyan);margin:0 0 6px}h1{margin:0 0 16px;font-size:22px}.card{background:var(--card);border:1px solid #d5dde6;border-radius:12px;padding:14px;margin-bottom:12px;box-shadow:inset 3px 0 0 var(--cyan)}.card.warn{box-shadow:inset 3px 0 0 var(--amber)}.row{display:flex;justify-content:space-between;gap:8px;align-items:center}label{display:block;font-size:12px;color:#5a6570;margin:8px 0 4px}input,select{width:100%;padding:10px 12px;border:1px solid #c5d0da;border-radius:8px;background:#fff}.btn{display:block;width:100%;padding:12px;border:0;border-radius:8px;background:var(--cyan);color:#fff;margin-top:12px}.btn.ghost{background:#fff;color:var(--cyan);border:1px solid var(--cyan)}.btn.amber{background:var(--amber)}.muted{font-size:13px;color:#5a6570}.err{color:#b42318;font-size:13px}.nav{display:flex;gap:8px;margin-top:16px}.tag{font-size:12px;padding:2px 8px;border-radius:999px;background:#e6f3f2;color:var(--cyan)}.tag.warn{background:#fff4e0;color:var(--amber)}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;max-width:480px;margin:0 auto;padding:10px 16px;background:var(--paper)}.topbar .brand{margin:0;font-weight:600}.link{border:0;background:none;color:var(--cyan);padding:4px 0}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:10;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid #d5dde6;padding-bottom:env(safe-area-inset-bottom)}.tabbar a{text-align:center;padding:12px 4px;color:#5a6570;text-decoration:none;font-size:13px}.tabbar a.on{color:var(--cyan);box-shadow:inset 0 3px 0 var(--cyan);font-weight:600}.app-shell .screen{padding-bottom:88px;min-height:calc(100vh - 44px)}.section{margin:18px 0 8px;font-size:13px;font-weight:600}.stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.stat{background:var(--card);border:1px solid #d5dde6;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:4px}.stat span{font-size:12px;color:#5a6570}.stat strong{font-size:22px}.ticket{display:grid;grid-template-columns:64px 1fr auto;gap:8px;align-items:center;background:var(--card);border:1px solid #d5dde6;border-radius:10px;padding:10px 12px;margin-bottom:8px}.ticket .when{font-variant-numeric:tabular-nums;color:var(--cyan);font-size:13px}.ticket strong{font-size:15px}.pick{display:block;width:100%;text-align:left;padding:10px 12px;border:1px solid #c5d0da;border-radius:8px;background:#fff;color:var(--ink)}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#1b243066;display:flex;align-items:flex-end;justify-content:center}.sheet-box{width:100%;max-width:480px;max-height:72vh;overflow:auto;background:#fff;border-radius:12px 12px 0 0;padding:16px 16px 24px}.sheet-row{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid #d5dde6}
