:root{--bg: #f4f5f8;--card: #ffffff;--text: #1b2333;--muted: #6a7385;--line: #e2e5ec;--navy: #14254a;--navy-2: #1f3a73;--gold: #c9a227;--gold-soft: #fbf3d9;--green: #1e8e5a;--green-soft: #e3f5ec;--red: #c0392b;--red-soft: #fdecea;--blue-soft: #eaf1fd;--radius: 10px;--shadow: 0 1px 2px rgba(20, 37, 74, .06), 0 2px 8px rgba(20, 37, 74, .04);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1{font-size:1.6rem;margin:0 0 .25rem}h2{font-size:1.1rem;margin:0 0 .75rem}p{margin:.25rem 0 .75rem}a{color:var(--navy-2)}code{background:#eef0f5;padding:1px 5px;border-radius:4px;font-size:.9em}.muted{color:var(--muted)}.small{font-size:.85rem}.hint{color:var(--muted);font-size:.85rem;margin:.35rem 0 .75rem}.app{min-height:100vh}.topbar{display:flex;align-items:center;gap:1.5rem;padding:.6rem 1.25rem;background:var(--navy);color:#fff;position:sticky;top:0;z-index:10;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:.6rem}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--gold);color:var(--navy);font-weight:800;font-size:1.1rem}.brand-name{font-weight:700;letter-spacing:.01em}.brand-sub{font-size:.78rem;opacity:.75}.brand.big{margin-bottom:1rem;color:var(--text)}.brand.big .brand-sub{color:var(--muted);opacity:1}.nav{display:flex;gap:.25rem;flex:1;flex-wrap:wrap}.nav a{color:#dfe5f3;text-decoration:none;padding:.45rem .75rem;border-radius:6px;font-weight:500}.nav a:hover{background:#ffffff14}.nav a.active{background:#ffffff24;color:#fff;box-shadow:inset 0 -2px 0 var(--gold)}.user{display:flex;align-items:center;gap:.6rem}.user .muted{color:#c3cbe0}.main{max-width:1150px;margin:0 auto;padding:1.5rem 1.25rem 4rem}.center{min-height:100vh;display:grid;place-items:center;padding:1rem}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.row{display:flex;align-items:center;flex-wrap:wrap}.row.gap{gap:.5rem}.row.end{justify-content:flex-end;gap:.5rem}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.25rem;margin-bottom:1rem;box-shadow:var(--shadow)}.card.narrow{width:100%;max-width:400px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.card-head h2{margin-bottom:.5rem}.success-card{text-align:center;padding:2.5rem 1.5rem}.success-card .row{justify-content:center;margin-top:1rem}.big-check{width:56px;height:56px;margin:0 auto .75rem;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green);font-size:1.8rem;font-weight:700}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:var(--shadow);border-top:3px solid var(--gold)}.stat-label{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.stat-value{font-size:1.7rem;font-weight:700;margin-top:.2rem;color:var(--navy)}.stat-sub{color:var(--muted);font-size:.82rem;margin-top:.15rem}.bars{display:grid;gap:.55rem}.bar-row{display:grid;grid-template-columns:minmax(110px,180px) 1fr minmax(170px,auto);align-items:center;gap:.75rem}.bar-label{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{background:#eef0f5;border-radius:4px;height:14px;overflow:hidden}.bar-fill{background:var(--navy-2);height:100%;border-radius:4px;min-width:2px}.bar-value{white-space:nowrap}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.93rem}th{text-align:left;font-weight:600;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;padding:.5rem .6rem;border-bottom:1px solid var(--line)}td{padding:.55rem .6rem;border-bottom:1px solid var(--line);vertical-align:middle}tr:last-child td{border-bottom:none}.num{text-align:right;font-variant-numeric:tabular-nums}tr.dim td{color:var(--muted)}tr.highlight td{background:var(--gold-soft)}table.clickable tbody tr{cursor:pointer}table.clickable tbody tr:hover td{background:#f7f8fb}td.actions{text-align:right;white-space:nowrap}td.actions .btn{margin-left:.35rem}label{display:flex;flex-direction:column;gap:.3rem;font-size:.88rem;font-weight:500;color:#3a4357}label.inline{flex-direction:row;align-items:center;gap:.5rem}input,select,textarea{font:inherit;font-weight:400;color:var(--text);padding:.55rem .65rem;border:1px solid #cfd4de;border-radius:7px;background:#fff;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--navy-2);outline-offset:-1px;border-color:var(--navy-2)}input[type=checkbox],input[type=radio]{width:auto}.search{font-size:1.1rem;padding:.75rem .9rem;margin-bottom:.75rem}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1rem;margin-bottom:.8rem}.grid2.tight{gap:.6rem;margin:0}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.span2{grid-column:span 2}.span4{grid-column:span 4}.editbox{background:#f8f9fc;border:1px solid var(--line);border-radius:8px;padding:.9rem;margin-bottom:1rem}.checks{display:grid;gap:.4rem}label.check{flex-direction:row;align-items:center;gap:.5rem;font-weight:400}.field{margin-bottom:.8rem}.field-label{display:block;font-size:.88rem;font-weight:500;color:#3a4357;margin-bottom:.35rem}.pills{display:flex;flex-wrap:wrap;gap:.4rem}.pill{flex-direction:row;align-items:center;padding:.45rem .8rem;border:1px solid #cfd4de;border-radius:999px;cursor:pointer;font-weight:500;background:#fff}.pill input{position:absolute;opacity:0;pointer-events:none}.pill.on{background:var(--navy);border-color:var(--navy);color:#fff}.login label{margin-bottom:.8rem}.results{list-style:none;margin:0 0 .75rem;padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}.results li+li{border-top:1px solid var(--line)}.results button{all:unset;box-sizing:border-box;width:100%;display:flex;gap:.75rem;align-items:center;padding:.65rem .8rem;cursor:pointer;flex-wrap:wrap}.results button:hover,.results button:focus-visible{background:var(--blue-soft)}.r-name{font-weight:600}.results .tag{margin-left:auto}.picked{background:var(--blue-soft);border-radius:8px;padding:.75rem .9rem}.picked-name{font-weight:700;font-size:1.1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;font:inherit;font-weight:600;padding:.55rem 1rem;border-radius:7px;border:1px solid #cfd4de;background:#fff;color:var(--text);cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover{background:#f3f5f9}.btn:disabled{opacity:.6;cursor:default}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn.primary:hover{background:var(--navy-2)}.btn.ghost{background:transparent;border-color:transparent;color:var(--navy-2)}.topbar .btn.ghost{color:#dfe5f3}.btn.small{padding:.3rem .65rem;font-size:.85rem}.btn.big{padding:.8rem 1.4rem;font-size:1.05rem}.btn.wide{width:100%}.linklike{all:unset;color:var(--navy-2);cursor:pointer;text-decoration:underline}.tag{display:inline-block;font-size:.75rem;font-weight:600;padding:.15rem .5rem;border-radius:999px;background:#eef0f5;color:var(--muted);margin-left:.4rem}.tag.green{background:var(--green-soft);color:var(--green)}.alert{padding:.7rem .9rem;border-radius:8px;margin:.5rem 0 .8rem;font-size:.92rem}.alert.error{background:var(--red-soft);color:var(--red)}.alert.ok{background:var(--green-soft);color:var(--green)}.alert.info{background:var(--blue-soft);color:#23406f}.alert.warn{background:var(--gold-soft);color:#6b5410;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}@media(max-width:860px){.stat-grid{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.grid4{grid-template-columns:1fr 1fr}.span4{grid-column:span 2}.bar-row{grid-template-columns:1fr;gap:.25rem}}@media(max-width:560px){.topbar{gap:.6rem;padding:.6rem .9rem}.main{padding:1rem .9rem 3rem}.grid2,.grid4{grid-template-columns:1fr}.span2,.span4{grid-column:span 1}.stat-value{font-size:1.35rem}}.btn.ghost.danger{color:var(--red)}button.pill{font:inherit;color:var(--text)}.pkg-rows{display:grid;gap:.4rem}.pkg-row{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;align-items:end;max-width:420px}
