:root{--bg: #f5f6f8;--card: #ffffff;--text: #1c2433;--muted: #667085;--border: #e3e6eb;--primary: #dc2635;--primary-dark: #b81e2b;--ok-bg: #e3f6ea;--ok: #1f7a45;--warn-bg: #fdf0dc;--warn: #9a5b00;--info-bg: #e2effd;--info: #1d5fa8;--bad-bg: #fde4e6;--bad: #b3261e;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);font-size:15px}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1{font-size:1.7rem;margin:0 0 1rem}h2{font-size:1.15rem;margin:0 0 .8rem}.center-page{min-height:100vh;display:grid;place-items:center;padding:16px}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:20px;margin-bottom:16px}.card.login{width:100%;max-width:400px;display:flex;flex-direction:column;gap:12px}label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;color:#3b4556}label.check{flex-direction:row;align-items:center;gap:8px}input,select,textarea{font:inherit;font-weight:400;padding:8px 10px;border:1px solid #cfd4dc;border-radius:6px;background:#fff;color:var(--text)}input:focus,select:focus,textarea:focus{outline:2px solid #f3a3aa;border-color:var(--primary)}.btn{font:inherit;padding:8px 14px;border:1px solid #cfd4dc;background:#fff;border-radius:6px;cursor:pointer;color:var(--text)}.btn:hover{background:#f0f2f5}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark)}.btn.small{padding:4px 10px;font-size:.85rem}.btn:disabled{opacity:.6;cursor:default}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.tabs{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}.muted{color:var(--muted)}.error{background:var(--bad-bg);color:var(--bad);padding:8px 10px;border-radius:6px;margin:8px 0}.info{background:var(--info-bg);color:var(--info);padding:8px 10px;border-radius:6px;margin:8px 0}.topbar{display:flex;align-items:center;gap:20px;padding:10px 20px;background:#fff;border-bottom:1px solid var(--border);flex-wrap:wrap}.topbar .brand{font-weight:700;font-size:1.2rem;color:var(--primary)}.topbar nav{display:flex;gap:4px;flex-wrap:wrap;flex:1}.topbar nav a,.topbar .who a{padding:6px 10px;border-radius:6px;color:var(--text);text-decoration:none}.topbar nav a.active{background:var(--bad-bg);color:var(--primary);font-weight:600}.topbar .who{display:flex;gap:10px;align-items:center;font-size:.85rem;color:var(--muted)}.content{padding:20px;max-width:1400px;margin:0 auto}.grid-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;align-items:end;margin-bottom:12px}.table{width:100%;border-collapse:collapse;margin-top:8px}.table th{text-align:left;font-size:.82rem;color:#3b4556;background:#f5f6f8;padding:10px}.table td{padding:10px;border-top:1px solid var(--border);vertical-align:middle}.table td.actions{display:flex;gap:6px;flex-wrap:wrap}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.8rem}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.info{background:var(--info-bg);color:var(--info)}.badge.bad{background:var(--bad-bg);color:var(--bad)}@media (max-width: 700px){.table{display:block;overflow-x:auto}}.btn.danger{color:var(--bad);border-color:#f0b4b8}.btn.danger:hover{background:var(--bad-bg)}.badge.muted{background:#eceef2;color:var(--muted)}.row.space{justify-content:space-between}.row.end{justify-content:flex-end;margin-top:12px}.grow{flex:1;min-width:220px}.small{font-size:.8rem}.table tr.cancelled td{color:var(--muted);background:#fafafb}.details{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 20px;margin:0}.details dt{font-size:.8rem;color:var(--muted)}.details dd{margin:2px 0 0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14182173;display:grid;place-items:center;padding:16px;z-index:10}.modal{width:100%;max-width:560px;max-height:90vh;overflow:auto;display:flex;flex-direction:column;gap:10px;margin:0}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.summary div{background:#f5f6f8;border-radius:8px;padding:8px 10px;font-size:.8rem;color:var(--muted);display:flex;flex-direction:column}.summary b{font-size:1.05rem;color:var(--text)}fieldset.plain{border:0;padding:0;margin:0;min-width:0}.rx-table input{width:100%;min-width:90px}.print-sheet h1{margin-bottom:.5rem}@media print{.topbar,.no-print{display:none}body{background:#fff}.content{padding:0;max-width:none}.print-sheet{border:0;padding:3in 0 0}.session-warning{display:none}}.session-warning{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:100;background:var(--bad);color:#fff;padding:10px 14px;border-radius:8px;box-shadow:0 6px 24px #00000040}.tfield{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.tfield textarea{width:100%}.toast{position:fixed;top:16px;right:16px;z-index:100;max-width:min(440px,calc(100vw - 32px));padding:12px 14px;border-radius:8px;box-shadow:0 6px 24px #00000040;display:flex;gap:12px;align-items:flex-start}.toast.ok{background:var(--ok);color:#fff}.toast.err{background:var(--bad);color:#fff}.toast ul{margin:4px 0 0;padding-left:18px}.toast button{background:transparent;border:0;color:inherit;font-size:1.2rem;line-height:1;cursor:pointer}input.invalid,select.invalid,textarea.invalid,tr.invalid input{border-color:var(--bad);background:var(--bad-bg);outline:2px solid rgba(179,38,30,.35)}.prev{margin:-6px 0 12px;padding:8px 10px;background:#f5f6f8;border-left:3px solid var(--border);border-radius:4px;display:flex;flex-direction:column;gap:8px}.badge.external{background:#efe6fb;color:#6b2fb0}.btn.external{border-color:#7c3aed;color:#6b2fb0}.btn.external.on{background:#7c3aed;color:#fff}.dx-order{margin-bottom:12px;display:flex;flex-direction:column;gap:8px}.dx-pick{border:1px solid var(--border);border-radius:8px;padding:10px;background:#fafafb}.table tr.dx-group td{background:#f5f6f8}.combo-list{position:fixed;z-index:50;max-height:260px;overflow-y:auto;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000002e;padding:4px}.combo-group{padding:6px 8px 2px;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.combo-opt{display:flex;flex-direction:column;padding:7px 10px;border-radius:6px;cursor:pointer}.combo-opt.active{background:var(--info-bg)}.combo-sub{font-size:.78rem;color:var(--muted)}.combo-free{color:var(--info);font-style:italic}
