:root{--surface:#f4f7f7;--panel:#fff;--field-bg:#fff;--control-bg:#eef4f3;--border:#d8e2e1;--text:#586a68;--text-strong:#102321;--muted:#78908d;--primary:#168579;--primary-dark:#0f6f66;--shadow:0 18px 42px #1023211a;color:var(--text);background:var(--surface);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{letter-spacing:0}#root{min-height:100svh}.login-page{background:var(--surface);grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);min-height:100svh;display:grid}.brand-panel{color:#fff;background:linear-gradient(#0c5357d6,#0c5357eb),url(./hero-CLDdwZDr.png) 50%/320px no-repeat,#0c5357;flex-direction:column;justify-content:space-between;gap:40px;min-height:100svh;padding:48px;display:flex}.brand-mark{background:#ffffff1f;border:1px solid #ffffff57;border-radius:8px;place-items:center;width:48px;height:48px;font-size:24px;font-weight:800;display:grid}.eyebrow{letter-spacing:0;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:12px;font-weight:800;line-height:1.3}.brand-panel .eyebrow,.brand-panel .intro{color:#ffffffb8}.brand-panel h1{color:#fff;max-width:520px;margin:0;font-size:44px;font-weight:800;line-height:1.08}.intro{max-width:520px;margin-top:18px;font-size:16px;line-height:1.65}.api-summary{border-top:1px solid #ffffff38;grid-template-columns:40px 1fr;gap:10px 14px;padding-top:28px;font-size:13px;display:grid}.api-summary span{color:#9ee7d8;font-weight:800}.api-summary strong{overflow-wrap:anywhere;color:#ffffffe0;min-width:0;font-weight:600}.login-panel{align-content:center;gap:20px;padding:48px;display:grid}.app-shell{background:var(--surface);min-height:100svh}.topbar{border-bottom:1px solid var(--border);background:var(--panel);justify-content:space-between;align-items:center;gap:24px;padding:18px 32px;display:flex}.topbar h1{color:var(--text-strong);margin:0;font-size:22px;line-height:1.25}.topbar-actions,.page-header,.section-title-row,.form-actions,.card-title-row,.card-actions,.waiting-actions{align-items:center;gap:12px;display:flex}.topbar-actions{color:var(--text);justify-content:flex-end;font-size:14px}.page{width:min(1180px,100% - 32px);margin:0 auto;padding:28px 0 48px}.page-header{justify-content:space-between;margin-bottom:20px}.page-header h2,.form-header h2,.waiting-panel h2{color:var(--text-strong);margin:0;font-size:26px;line-height:1.2}form,.detail-panel,.waiting-panel,.empty-state,.request-card{box-sizing:border-box;border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);border-radius:8px}form{gap:18px;width:min(100%,560px);padding:28px;display:grid}.request-form{gap:20px;width:100%}.form-header{margin-bottom:4px}.form-section{border-bottom:1px solid var(--border);gap:16px;padding-bottom:20px;display:grid}.form-section:last-of-type{border-bottom:0}.form-section h3,.availability-panel h3,.detail-panel h3,.request-card h3,.empty-state h3{color:var(--text-strong);margin:0;font-size:18px;line-height:1.3}.availability-panel{border:1px solid var(--border);background:var(--control-bg);border-radius:8px;grid-template-columns:1fr auto;align-items:start;gap:12px;padding:16px;display:grid}.availability-panel .alert,.doctor-chips{grid-column:1/-1}.doctor-chips{flex-wrap:wrap;gap:8px;display:flex}.doctor-chips span{color:#0f5132;background:#dcfce7;border-radius:999px;align-items:center;min-height:30px;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.subheading{margin-top:22px!important}.form-grid,.filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.filters{border:1px solid var(--border);background:var(--panel);border-radius:8px;margin-bottom:18px;padding:16px}label{color:var(--text-strong);text-align:left;gap:8px;font-size:14px;font-weight:800;display:grid}input,select,textarea{box-sizing:border-box;border:1px solid var(--border);width:100%;min-height:46px;color:var(--text-strong);background:var(--field-bg);font:inherit;border-radius:6px;padding:0 14px}textarea{resize:vertical;min-height:94px;padding:12px 14px}input:focus,select:focus,textarea:focus,button:focus-visible{outline-offset:2px;border-color:var(--primary);outline:3px solid #26a69a3d}.submit-button,.ghost-button,.danger-button{min-height:40px;font:inherit;cursor:pointer;border-radius:6px;padding:0 14px;font-weight:800}.submit-button{color:#fff;background:var(--primary);border:0;min-height:48px}.submit-button.compact{min-height:40px}.submit-button:hover:not(:disabled){background:var(--primary-dark)}.ghost-button{border:1px solid var(--border);color:var(--text-strong);background:var(--panel)}.danger-button{color:#9f1239;background:#fff1f2;border:1px solid #fecdd3}.danger-button.large{min-height:48px}button:disabled{cursor:not-allowed;opacity:.58}.alert{text-align:left;border-radius:6px;margin:0;padding:12px;font-size:14px}.alert.error{color:#9f1239;background:#fff1f2}.alert.info{color:#0c5357;background:#e6fffb}.medicine-list{gap:12px;display:grid}.medicine-row{border:1px solid var(--border);background:var(--control-bg);border-radius:8px;grid-template-columns:minmax(0,1fr) 120px 72px;align-items:end;gap:12px;padding:12px;display:grid}.medicine-product{grid-template-columns:52px 1fr;align-items:center;gap:12px;min-width:0;display:grid}.medicine-product img,.medicine-product>span{background:var(--panel);object-fit:cover;border-radius:6px;width:52px;height:52px}.medicine-product strong,.product-result strong{color:var(--text-strong);font-size:14px;line-height:1.35;display:block}.medicine-product p{color:var(--muted);margin:4px 0 0;font-size:13px}.dialog-backdrop{z-index:30;background:#1023216b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.product-dialog{background:var(--panel);border-radius:8px;gap:16px;width:min(720px,100%);max-height:min(760px,100svh - 40px);padding:22px;display:grid;overflow:auto;box-shadow:0 24px 70px #10232147}.product-search-form{width:100%;box-shadow:none;border:0;grid-template-columns:1fr 96px;gap:10px;padding:0;display:grid}.product-results{gap:10px;display:grid}.product-result{border:1px solid var(--border);text-align:left;background:var(--panel);cursor:pointer;border-radius:8px;grid-template-columns:58px 1fr;align-items:center;gap:12px;width:100%;padding:10px;display:grid}.product-result:hover{border-color:var(--primary)}.product-result img,.product-placeholder{background:var(--control-bg);object-fit:cover;border-radius:6px;width:58px;height:58px}.product-result small{color:var(--muted);margin-top:4px;font-size:13px;display:block}.form-actions{justify-content:flex-end}.form-actions.inline{justify-content:flex-start}.request-list{gap:12px;display:grid}.request-card{grid-template-columns:minmax(0,1fr) 190px 180px;align-items:center;gap:16px;padding:18px;display:grid}.request-card p{margin:6px 0 0}.card-title-row{justify-content:space-between}.card-meta{color:var(--text);gap:6px;font-size:13px;display:grid}.card-actions{justify-content:flex-end}.muted{color:var(--muted)}.empty-state{text-align:center;padding:40px}.empty-state p{color:var(--muted);margin:8px 0 0}.status-badge{color:#0f5132;background:#dcfce7;border-radius:999px;align-items:center;width:max-content;min-height:28px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.status-badge.cancelled,.status-badge.failed,.status-badge.fail,.status-badge.fail_not_found_available_doctor{color:#9f1239;background:#ffe4e6}.status-badge.timeout{color:#92400e;background:#fef3c7}.status-badge.doctor_accepted,.status-badge.in_progress,.status-badge.complete,.status-badge.completed{color:#1d4ed8;background:#dbeafe}.realtime-badge{color:#586a68;background:#eef4f3;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.realtime-badge.connected{color:#0f5132;background:#dcfce7}.realtime-badge.connecting{color:#92400e;background:#fef3c7}.realtime-badge.error{color:#9f1239;background:#ffe4e6}.toast-stack{z-index:20;gap:10px;width:min(360px,100vw - 32px);display:grid;position:fixed;bottom:20px;right:20px}.toast{border:1px solid var(--border);background:var(--panel);border-radius:8px;grid-template-columns:1fr 32px;align-items:start;gap:12px;padding:14px;display:grid;box-shadow:0 18px 42px #1023212e}.toast.success{border-color:#bbf7d0}.toast.error{border-color:#fecdd3}.toast strong{color:var(--text-strong);font-size:14px;display:block}.toast p{color:var(--muted);margin:4px 0 0;font-size:13px}.toast button{width:32px;height:32px;color:var(--muted);background:var(--control-bg);cursor:pointer;font:inherit;border:0;border-radius:6px;font-weight:900}.waiting-layout{grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);align-items:start;gap:18px;display:grid}.waiting-panel,.detail-panel{padding:22px}.waiting-panel{gap:16px;display:grid}.timer{color:var(--primary);margin:0;font-size:40px;font-weight:900;line-height:1}.detail-grid{grid-template-columns:minmax(360px,1fr) minmax(300px,.8fr);align-items:start;gap:18px;display:grid}dl{gap:10px;margin:16px 0 0;display:grid}dl div{grid-template-columns:120px 1fr;gap:12px;display:grid}dt{color:var(--muted);font-size:13px;font-weight:800}dd{overflow-wrap:anywhere;min-width:0;color:var(--text-strong);margin:0;font-size:13px}.summary-medicines,.timeline{gap:10px;margin:14px 0 0;padding:0;display:grid}.summary-medicines div,.timeline li{background:var(--control-bg);border-radius:6px;justify-content:space-between;gap:12px;padding:12px;display:flex}.timeline{list-style:none}.timeline span{color:var(--muted);font-size:13px;font-weight:900}@media (width<=980px){.request-card,.waiting-layout,.detail-grid{grid-template-columns:1fr}.card-actions{justify-content:flex-start}.filters,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.login-page{grid-template-columns:1fr}.brand-panel{min-height:auto;padding:28px 22px}.brand-panel h1{font-size:34px}.login-panel{padding:22px}.topbar,.page-header{flex-direction:column;align-items:flex-start}.topbar{padding:18px}}@media (width<=620px){.page{width:min(100% - 20px,1180px);padding-top:18px}form{padding:20px}.filters,.form-grid,.medicine-row{grid-template-columns:1fr}.form-actions,.waiting-actions{flex-direction:column;align-items:stretch}dl div{grid-template-columns:1fr;gap:2px}}
