*{box-sizing:border-box;margin:0;padding:0}:root{--ink:#172f28;--muted:#74827b;--hint:#a3aaa5;--bg:#f5f1e8;--paper:#fffdf8;--line:#e5dccb;--brand:#174f3e;--brand2:#8ca66a;--gold:#c39b4d;--danger:#b9614f;--warn:#b98535;--blue:#527a9a;--shadow:0 18px 44px rgba(44,38,24,.1);--font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB",sans-serif}body{min-height:100vh;background:#d8d9d1;font-family:var(--font);color:var(--ink);padding:22px}.wrap{max-width:1280px;margin:auto;min-height:calc(100vh - 44px);display:flex;background:#fffdf8e6;border:1px solid rgba(255,255,255,.6);border-radius:30px;box-shadow:0 34px 90px #00000040;overflow:hidden}.side{width:236px;background:linear-gradient(180deg,#173329,#0f241e);color:#fff;padding:24px 16px}.brand{display:flex;gap:12px;align-items:center;margin-bottom:32px}.mark{width:44px;height:44px;border-radius:16px;background:#ffffff1f;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18)}.brand h1{font-size:17px}.brand p{font-size:11px;opacity:.62;margin-top:3px}.nav{display:grid;gap:8px}.nav button{border:0;background:transparent;color:#ffffffad;padding:13px 14px;border-radius:16px;display:flex;gap:10px;align-items:center;cursor:pointer;font-weight:700;text-align:left;transition:.2s}.nav button:hover,.nav button.active{background:#ffffff1a;color:#fff}.main{flex:1;padding:26px 30px;overflow:auto;max-height:calc(100vh - 44px)}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.top h2{font-size:24px}.user{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px}.avatar{width:38px;height:38px;border-radius:14px;background:#e8efda;display:grid;place-items:center;color:var(--brand)}.btn{border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;transition:.18s}.btn:active{transform:scale(.97)}.primary{background:var(--brand);color:#fff}.ghost{background:#eee5d4;color:var(--ink)}.danger{background:var(--danger);color:#fff}.small{padding:7px 11px;font-size:12px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.stat{background:var(--paper);border:1px solid rgba(229,220,203,.85);border-radius:24px;padding:20px;box-shadow:var(--shadow)}.stat p{font-size:12px;color:var(--muted);margin-bottom:8px}.stat b{font-size:28px}.panel{background:var(--paper);border:1px solid rgba(229,220,203,.85);border-radius:26px;padding:20px;box-shadow:var(--shadow);margin-bottom:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel h3{font-size:16px}.table{width:100%;border-collapse:collapse;overflow:hidden}th{text-align:left;color:var(--muted);font-size:12px;background:#f3ead9;padding:12px 14px}td{padding:14px;border-bottom:1px solid var(--line);font-size:13px}tr:last-child td{border-bottom:0}tbody tr{cursor:pointer}tbody tr:hover td{background:#fbf6ea}.tag{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800}.ok{background:#e8efda;color:var(--brand)}.warn{background:#fff2d7;color:var(--warn)}.bad{background:#f8e3dd;color:var(--danger)}.blue{background:#e4edf2;color:var(--blue)}.chart{height:220px;display:flex;align-items:flex-end;gap:14px;padding:28px 12px 34px}.bar{flex:1;border-radius:12px 12px 0 0;background:linear-gradient(180deg,#adc887,#174f3e);position:relative;min-height:8px}.bar span{position:absolute;bottom:-25px;left:50%;transform:translate(-50%);font-size:11px;color:var(--muted);white-space:nowrap}.bar i{position:absolute;top:-23px;left:50%;transform:translate(-50%);font-style:normal;font-size:11px;color:var(--muted)}.form-row{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:10px;margin-bottom:12px}.input,select{width:100%;border:1px solid var(--line);background:#fffaf0;border-radius:14px;padding:12px 14px;outline:none;color:var(--ink)}.input:focus,select:focus{border-color:var(--brand)}.modal{position:fixed;inset:0;background:#172f2875;display:none;align-items:center;justify-content:center;z-index:30}.modal.show{display:flex}.sheet{width:460px;background:var(--paper);border-radius:28px;padding:24px;box-shadow:0 26px 70px #0000003d}.sheet h3{font-size:20px;margin-bottom:18px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.toast{position:fixed;right:32px;top:32px;background:#172f28f2;color:#fff;border-radius:999px;padding:12px 18px;font-size:13px;display:none;z-index:40}.toast.show{display:block}.detail-title{display:flex;align-items:center;gap:10px;margin-bottom:18px}.back{width:34px;height:34px;border-radius:13px;background:#eee5d4;display:grid;place-items:center;cursor:pointer}.split{display:grid;grid-template-columns:2fr 1fr;gap:16px}.kvs{display:grid;gap:12px;margin-bottom:14px}.kv{display:flex;justify-content:space-between;border-bottom:1px dashed var(--line);padding-bottom:12px}.kv span{color:var(--muted);font-size:13px}.kv b{font-size:13px}.login{position:fixed;inset:0;background:#d8d9d1;display:grid;place-items:center;z-index:50}.login-card{width:420px;background:var(--paper);border-radius:30px;padding:34px;box-shadow:0 30px 80px #00000040}.login-card .mark{background:#e8efda;color:var(--brand);margin-bottom:16px}.login-card h1{font-size:24px;margin-bottom:6px}.login-card p{font-size:13px;color:var(--muted);margin-bottom:22px}.login-input{margin-bottom:12px}.login-button{width:100%;margin-top:6px}.desk-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.desk{border:1px solid var(--line);background:#fffdf8;border-radius:18px;padding:14px;min-height:112px;cursor:pointer;position:relative}.desk h4{font-size:20px;margin-bottom:8px}.desk p{font-size:12px;color:var(--muted);line-height:1.5}.desk .dot{position:absolute;right:14px;top:14px;width:9px;height:9px;border-radius:50%;background:#a3aaa5}.desk.using{background:#f1f7e9;border-color:#bfd5aa}.desk.using .dot{background:var(--brand2);box-shadow:0 0 0 5px #8ca66a24}.desk.reserved{background:#fff8e8;border-color:#ffd98f}.desk.reserved .dot{background:#ff8a3d;box-shadow:0 0 0 5px #ff8a3d24}.desk.preparing{background:#eef5ff;border-color:#bad2ff}.desk.preparing .dot{background:#527a9a;box-shadow:0 0 0 5px #527a9a24}.desk-state{display:inline-flex;margin-top:10px;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800;background:#f1eadc;color:var(--muted)}.desk.using .desk-state{background:#e8efda;color:var(--brand)}.desk.reserved .desk-state{background:#fff0d1;color:var(--warn)}.desk.preparing .desk-state{background:#e4edf2;color:var(--blue)}.order-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.order-step{border:1px solid var(--line);background:#fffaf0;border-radius:16px;padding:11px;font-weight:900;cursor:pointer}.order-step.active{background:var(--brand);color:#fff;border-color:var(--brand)}.modal-copy{color:var(--muted);font-size:14px;line-height:1.7}@media(max-width:980px){body{padding:0}.wrap{min-height:100vh;border-radius:0}.grid,.desk-grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.side{width:210px}}
