:root{--bg:#f3f9fe;--card:#fff;--ink:#14213a;--mut:#56677f;--line:#dbe9f5;--bd:#a9d9ea;--tint:#d9f3fb;--accd:#067a96;--acc:#0b6aa5;--acc2:#e9a23b;--bad:#c4473a;--ok:#2c8a4b;--head:#3a3f4a;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{background:linear-gradient(160deg,#fff,#e9f4fd) fixed;color:var(--ink);font:14px/1.5 Inter,system-ui,sans-serif;min-height:100vh}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--acc2);outline-offset:2px}h2{margin:0 0 4px;font:700 28px/1.2 Playfair Display,Georgia,serif;color:var(--head)!important}h3{margin:0 0 10px;font-size:15px}.sub{color:var(--mut);margin:0 0 18px}.small{font-size:12.5px}.mut{color:var(--mut)}.grid{display:grid;gap:14px}.g4{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.g2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;box-shadow:0 4px 14px #0b5d9314}.card.stat{background:linear-gradient(135deg,#0a4a78,#0e6aa3);color:#fff;border:0;box-shadow:0 6px 16px #0a4a7833}.stat b{display:block;font:700 30px/1.1 Playfair Display,Georgia,serif;color:#fff}.stat span{color:#cfe6f7}.mb{margin-bottom:14px}.tbl{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:560px}th{text-align:left;color:var(--mut);font-weight:600;font-size:12.5px}th,td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}.btn{background:var(--acc);color:#fff;border:0;border-radius:7px;padding:8px 14px;font-weight:700}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.alt{background:none;color:var(--ink);border:1px solid var(--bd)}.btn.bad{background:var(--bad)}.btn.sm{padding:4px 10px;font-size:12.5px}input.invalid,select.invalid,textarea.invalid{border-color:var(--bad);box-shadow:0 0 0 2px #c4473a26}.tag{padding:2px 9px;border-radius:99px;font-size:12px;font-weight:700;background:#e9a23b2e;color:#8a5300;white-space:nowrap}.tag.ok{background:#2c8a4b26;color:var(--ok)}.tag.bad{background:#c4473a26;color:var(--bad)}.tag.mut{background:var(--tint);color:var(--accd);border:1px solid var(--bd)}.av{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--acc);color:#fff;font-weight:800;font-size:12px;margin-right:9px;vertical-align:middle}input,select,textarea{background:var(--card);border:1px solid var(--bd);border-radius:7px;padding:8px 10px;width:100%}input[type=checkbox]{width:auto}label{display:block;font-size:12.5px;color:var(--mut);margin:10px 0 3px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.sp{justify-content:space-between}.col{flex:1;min-width:140px}.bar{height:8px;background:var(--line);border-radius:9px;overflow:hidden}.bar i{display:block;height:100%;background:var(--acc)}.steps{display:flex;gap:6px}.steps div{flex:1;padding:8px;text-align:center;border-radius:7px;background:var(--line);color:var(--mut);font-weight:700;font-size:12.5px}.steps .d{background:var(--acc);color:#fff}.steps .c{background:var(--acc2);color:#2b1c00}.tabs{display:flex;background:var(--line);border-radius:8px;padding:3px;margin:14px 0;max-width:360px}.tabs button{flex:1;border:0;background:none;padding:7px;border-radius:6px;font-weight:700}.tabs .on{background:var(--card)}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal .h{font-size:12px;color:var(--mut);text-align:center}.cal .c{min-height:70px;border:1px solid var(--line);border-radius:7px;padding:4px;font-size:11.5px;overflow:hidden}.cal .c b{font-size:12px}.cal .hol{background:#e9a23b2e}.cal .pill{display:block;background:var(--acc);color:#fff;border-radius:4px;padding:0 4px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal .pill.pend{background:#8a9bb0}.modal{position:fixed;inset:0;background:#0a1a2c80;display:grid;place-items:center;padding:16px;z-index:20}.modal .card{max-width:520px;width:100%;max-height:90vh;overflow:auto}.modal .card.wide{max-width:900px}.toast{position:fixed;bottom:18px;right:18px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;font-weight:700;z-index:30;max-width:420px}.toast.err{background:var(--bad)}.pw{font:700 18px/1.4 ui-monospace,Menlo,monospace;background:var(--tint);border:1px solid var(--bd);border-radius:8px;padding:10px 12px;word-break:break-all;-webkit-user-select:all;user-select:all}hr{border:0;border-top:1px solid var(--line);margin:12px 0}a{color:var(--accd)}@media print{.noprint{display:none!important}body{background:#fff}.modal{position:static;background:none;padding:0}.card{box-shadow:none;border:0}}
