:root{--navy:#0B3D5C;--accent:#1B7BB5;--accent-dk:#0C447C;--green:#1D9E75;--page:#EEF3F7;--screen:#F4F7FA;--card:#FFFFFF;--line:#E2E8ED;--ink:#12222E;--ink2:#5B6B77;--ink3:#8494A0;--ok:#0F6E56;--okbg:#E1F5EE;--warn:#854F0B;--warnbg:#FAEEDA;--bad:#A32D2D;--badbg:#FCEBEB}*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased}body{font-family:Segoe UI,system-ui,-apple-system,Roboto,Arial,sans-serif;background:var(--page);color:var(--ink);line-height:1.45}.bar{background:var(--accent-dk);color:#fff;padding:14px 22px;display:flex;align-items:center;gap:12px}.bar.navy{background:var(--navy)}.bar svg{width:30px;height:35px}.bar .t{font-size:17px;font-weight:800}.bar .s{font-size:11.5px;opacity:.85}.bar .right{margin-left:auto;text-align:right;font-size:12px}.pill{background:#ffffff26;padding:5px 12px;border-radius:999px;font-weight:700}.wrap{max-width:1180px;margin:0 auto;padding:16px 18px}.grid{display:flex;gap:18px;align-items:flex-start}.panel{width:295px;flex:0 0 auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;position:sticky;top:12px;max-height:calc(100vh - 90px);overflow-y:auto}.panel h2{font-size:14px;font-weight:800;margin-bottom:10px}.panel h3{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink3);margin:14px 0 6px}.input,select{width:100%;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:12.5px;background:#fff;margin-bottom:6px}.cbx{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:4px 0;cursor:pointer}.cbx input{width:16px;height:16px;accent-color:var(--accent)}.rolepacks{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.rolepacks .chip{border:1px solid var(--line);background:#fff;color:var(--ink2);border-radius:999px;padding:5px 11px;font-size:11.5px;font-weight:600;cursor:pointer}.rolepacks .chip:hover{border-color:var(--accent);color:var(--accent)}.seg{display:flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;margin:4px 0 8px}.seg button{flex:1;border:none;background:#fff;color:var(--ink2);font-size:11px;font-weight:600;padding:7px 4px;cursor:pointer}.seg button.on{background:var(--navy);color:#fff}.run{width:100%;border:none;background:var(--accent);color:#fff;font-size:14px;font-weight:800;padding:12px;border-radius:10px;cursor:pointer;margin-top:10px}.run:hover{background:var(--accent-dk)}.run:disabled{opacity:.6;cursor:default}.res{flex:1;min-width:0}.head{font-size:13.5px;color:var(--ink2);margin-bottom:12px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.head b{color:var(--ink)}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:11px}.card.boost{border-color:#f2c14e;background:#fffcf5}.row{display:flex;align-items:center;gap:11px}.avatar{width:42px;height:42px;border-radius:50%;background:var(--okbg);color:var(--ok);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex:0 0 auto}.nm{font-size:14.5px;font-weight:700}.sub{font-size:11.5px;color:var(--ink3);margin-top:1px}.emp{font-size:11px;font-weight:700;color:var(--accent-dk);background:#e6f1fb;border-radius:6px;padding:2px 8px;display:inline-block;margin-top:3px}.right-col{margin-left:auto;text-align:right;flex:0 0 auto}.boostt{font-size:10px;font-weight:800;color:#8a5a00;background:#fbe7b0;padding:2px 8px;border-radius:999px;display:inline-block}.avail{font-size:10.5px;font-weight:700;background:var(--okbg);color:var(--ok);padding:3px 9px;border-radius:999px;display:inline-block;margin-top:4px}.avail.d{background:var(--warnbg);color:var(--warn)}.rate{font-size:13px;font-weight:800;color:var(--navy);margin-top:4px}.rate.muted{color:var(--ink3);font-weight:600}.tags{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0 8px}.tag{font-size:10.5px;background:#eef3f7;color:var(--navy);border-radius:6px;padding:3px 8px;font-weight:600}.tag.hit{background:var(--okbg);color:var(--ok)}.tag.amber{background:var(--warnbg);color:var(--warn)}.tag.red{background:var(--badbg);color:var(--bad)}.badge{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:6px}.badge.v{background:var(--okbg);color:var(--ok)}.badge.d{background:#e6f1fb;color:var(--accent-dk)}.actions{display:flex;align-items:center;gap:8px;margin-top:6px}.btn{border:none;border-radius:9px;padding:9px 14px;font-size:12.5px;font-weight:700;cursor:pointer}.btn.grn{background:var(--green);color:#fff;margin-left:auto}.btn.sent{background:var(--ok);color:#fff;margin-left:auto;cursor:default}.btn.gho{background:#fff;color:var(--ink2);border:1px solid var(--line)}.btn.warnb{background:var(--warnbg);color:var(--warn)}.btn.pri{background:var(--accent);color:#fff}.btn:disabled{opacity:.6;cursor:default}.empty{text-align:center;color:var(--ink3);font-size:13px;padding:40px 10px;background:#fff;border:1px solid var(--line);border-radius:12px}.note{font-size:11.5px;color:var(--ink3);margin:14px 4px;line-height:1.55}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:22px;background:var(--navy);color:#fff;border-radius:12px;padding:12px 18px;font-size:13px;z-index:9;box-shadow:0 8px 22px #0b3d5c59}.login{max-width:420px;margin:8vh auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;text-align:center}.login h1{font-size:20px;color:var(--navy);margin:14px 0 4px}.login p{font-size:12.5px;color:var(--ink2);margin-bottom:16px;line-height:1.5}.tabs{display:flex;gap:8px;margin:14px 0 16px;flex-wrap:wrap}.mtab{border:1px solid var(--line);background:#fff;color:var(--ink2);padding:10px 20px;border-radius:999px;font-size:13.5px;font-weight:700;cursor:pointer}.mtab.on{background:var(--navy);color:#fff;border-color:var(--navy)}.mtab .n{background:var(--badbg);color:var(--bad);border-radius:999px;padding:1px 8px;font-size:11px;margin-left:6px}table{width:100%;border-collapse:collapse;font-size:12.5px}th{text-align:left;color:var(--ink3);font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;padding:7px 8px;border-bottom:2px solid var(--line)}td{padding:8px;border-bottom:1px solid var(--screen)}.total{font-size:14px;font-weight:800;color:var(--navy);text-align:right;padding:10px 8px}.money{background:var(--screen);border-radius:9px;padding:9px 11px;font-size:12px;color:var(--ink2);margin:10px 0}.money b{color:var(--ink)}.paid{color:var(--ok);font-weight:700}.crow{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--screen);font-size:12.5px}.crow .d{flex:1;font-weight:600}.seats{font-weight:800;color:var(--ok);min-width:80px}.seats.low{color:var(--warn)}.mini{border:1px solid var(--line);background:#fff;border-radius:7px;width:26px;height:26px;font-weight:800;cursor:pointer;color:var(--ink2)}.addrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.addrow select,.addrow input{width:auto;border:1px solid var(--line);border-radius:9px;padding:8px;font-size:12.5px;background:#fff}.demobar{background:#854f0b;color:#fff;font-size:12px;font-weight:700;padding:8px 22px;text-align:center;letter-spacing:.2px}.demotag{display:inline-block;background:var(--warnbg);color:var(--warn);border:1px solid #E8CFA3;border-radius:6px;font-size:10.5px;font-weight:800;padding:3px 9px;letter-spacing:.3px}.demoblock{border-color:#e8cfa3;background:#fffdf7}.notifrow{border-top:1px solid var(--screen);padding:10px 0}.ownedt{font-size:10px;font-weight:800;color:var(--ok);background:var(--okbg);padding:2px 8px;border-radius:999px;display:inline-block}.ownedbar{background:var(--okbg);color:var(--ok);font-size:12px;font-weight:700;border-radius:10px;padding:9px 12px;margin-bottom:11px}.kv{display:flex;gap:10px;font-size:12.5px;padding:4px 0;border-top:1px solid var(--screen)}.kv span{color:var(--ink3);min-width:64px}.linkbtn{background:none;border:none;color:var(--accent);font-size:11.5px;cursor:pointer;padding:0 4px;text-decoration:underline}textarea.input{font-family:inherit;resize:vertical}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(480px,100vw);background:var(--page);border-left:1px solid var(--line);box-shadow:-10px 0 30px #0b3d5c29;overflow-y:auto;padding:14px;z-index:12}.drawerhead{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.drawerhead .btn{margin-left:auto}.modalback{position:fixed;inset:0;background:#0b222e80;display:flex;align-items:center;justify-content:center;z-index:20;padding:18px}.modal{background:#fff;border-radius:14px;padding:20px;max-width:440px;width:100%;box-shadow:0 20px 50px #0b3d5c59}.modalactions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}
