:root{--bg:#f4f7fa;--bg-accent:#eef2f6;--surface:#ffffffeb;--surface-solid:#fff;--ink:#1e293b;--muted:#64748b;--line:#e2e8f0;--line-soft:#f1f5f9;--soft:#f8fafc;--brand:#0d9488;--brand-strong:#0f766e;--brand-soft:#f0fdfa;--brand-glow:#0d948829;--danger:#b83228;--danger-soft:#f7e6e3;--warn:#a67c0a;--warn-soft:#fef6df;--ok:#1b7348;--ok-soft:#e3f4ea;--shadow:0 1px 2px #0f172a0a, 0 8px 24px #0f172a0d;--shadow-sm:0 1px 2px #0f172a0a;--shadow-lg:0 12px 32px #0f172a1a;--radius:12px;--radius-sm:8px;--font:"Source Sans 3", "Segoe UI", sans-serif;--font-display:Manrope, "Source Sans 3", sans-serif;font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.45}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{letter-spacing:.01em;background:linear-gradient(180deg, #f7f9fb 0%, var(--bg) 42%, #eef2f6 100%);color:var(--ink);font-size:14.5px}.app{min-height:100vh}.header{color:var(--ink);border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:20px;padding:10px 28px;display:flex;box-shadow:0 1px 2px #0f172a08}.header-left{align-items:center;gap:16px;min-width:0;display:flex}.header-brand{font-family:var(--font-display);letter-spacing:-.03em;color:var(--brand);align-items:center;font-size:20px;font-weight:800;line-height:0;display:inline-flex}.header-brand-btn{color:var(--brand);cursor:pointer;font:inherit;font-family:var(--font-display);letter-spacing:-.03em;background:0 0;border:0;align-items:center;padding:0;font-size:20px;font-weight:800;line-height:0;display:inline-flex}.header-brand-btn:hover{color:var(--brand-strong);text-decoration:none}.brand-logo{width:auto;height:32px;color:inherit;flex-shrink:0;display:block}.brand-logo-mark{height:28px}.brand-logo-lk{height:28px;color:var(--brand)}.brand-logo-auth{height:36px;color:var(--brand);margin:0 0 12px}.modal-head-brand{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:flex}.modal-head-brand h2{margin:0}.header-clinic{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.header-actions{align-items:center;gap:4px;display:flex}.header-btn{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:6px 12px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.header-btn:hover{background:var(--soft);color:var(--ink)}.header-btn-active{background:var(--brand-soft);color:var(--brand-strong);border-color:#0000}.header-btn-active:hover{background:var(--brand-soft);color:var(--brand-strong)}.header-profile{position:relative}.avatar-button{border:1px solid var(--line);background:var(--soft);min-width:36px;height:36px;color:var(--brand-strong);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;margin-left:4px;padding:0 10px;display:inline-flex}.avatar-label{font-family:var(--font-display);letter-spacing:.04em;font-size:13px;font-weight:700}.profile-menu{background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--radius);min-width:180px;box-shadow:var(--shadow-lg);z-index:30;position:absolute;top:48px;right:0;overflow:hidden}.profile-menu-item{text-align:left;cursor:pointer;width:100%;color:var(--ink);font:inherit;background:0 0;border:0;padding:12px 14px}.profile-menu-item:hover{background:var(--soft)}.main{max-width:1240px;margin:0 auto;padding:24px 24px 40px}.main-wide{max-width:min(1660px,100%)}.app-warehouse{flex-direction:column;height:100vh;display:flex}.app-warehouse .main-wide{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.app-warehouse .main-wide>*{flex:none}.app-warehouse .table-wrap-scroll{flex:auto;min-height:260px;max-height:none}@media (width<=800px){.app-warehouse{height:auto;display:block}.app-warehouse .main-wide{display:block;overflow:visible}.app-warehouse .table-wrap-scroll{max-height:70vh}}.toolbar-card{background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #e2e8f0f2;margin-bottom:18px;padding:18px 20px}.toolbar-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.toolbar-actions{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.toolbar-card .filter-panel{margin-bottom:0}.page-title{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:26px;font-weight:800}.page-subtitle{color:var(--muted);margin:4px 0 0}.filter-panel,.action-panel{flex-wrap:wrap;gap:8px;display:flex}.action-panel{justify-content:center;gap:12px;margin:0 0 14px}.order-actions{gap:12px;padding:2px 0 6px}.add-product-panel{margin:0 0 12px}.add-product-toggle-row{justify-content:flex-end;display:flex}.add-product-link{color:var(--brand);cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:4px 2px;font-size:14px;font-weight:600;text-decoration:underline}.add-product-link:hover{color:var(--brand-strong)}.add-product-form{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-solid);box-shadow:var(--shadow);gap:12px;margin-top:10px;padding:14px 16px;display:grid}.add-product-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.add-product-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=640px){.add-product-grid{grid-template-columns:1fr}}.search-bar{margin:0 0 14px}.search-input{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-solid);width:100%;box-shadow:var(--shadow-sm);font:inherit;color:var(--ink);outline:none;padding:11px 15px;transition:border-color .15s,box-shadow .15s}.search-input::placeholder{color:var(--muted)}.search-input:focus{box-shadow:0 0 0 3px var(--brand-glow), var(--shadow-sm);border-color:#6fa0ad}.filter-chip,.action-button,.header-btn,.avatar-button{font:inherit}.filter-chip{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-solid);color:var(--ink);cursor:pointer;align-items:center;gap:7px;padding:8px 13px;font-weight:600;transition:border-color .12s,box-shadow .12s,background .12s;display:inline-flex}.filter-chip:hover{box-shadow:var(--shadow-sm);background:#fafbfc;border-color:#cbd5e1}.filter-chip-red.active{background:var(--danger-soft);color:var(--danger);border-color:#e2aea6}.filter-chip-yellow.active{background:var(--warn-soft);color:#8a6508;border-color:#ebd48a}.filter-chip-all.active{background:var(--brand);border-color:var(--brand);color:#fff}.filter-chip-doctor.active{color:#5f3a8f;background:#efe8f8;border-color:#c9b6e3}.filter-chip-teal.active{background:var(--brand-soft);color:var(--brand-strong);border-color:#99f6e4}.filter-chip-slate.active{color:#3d5a73;background:#e8eef5;border-color:#b7c5d6}.action-button{border:1px solid var(--line);background:var(--surface-solid);color:var(--ink);cursor:pointer;font:inherit;box-shadow:var(--shadow-sm);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.action-button:hover{background:var(--soft);border-color:#cbd5e1;box-shadow:0 2px 8px #0f172a0f}.action-button-primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 1px 2px #0d948833,0 4px 12px #0d94882e}.action-button-primary:hover{background:var(--brand-strong);border-color:var(--brand-strong);color:#fff}.btn-icon{flex:none;display:block}.scan-button{border-radius:var(--radius);background:linear-gradient(180deg, #fff, var(--brand-soft));color:var(--brand-strong);cursor:pointer;font:inherit;text-align:left;border:1px dashed #5eead4;align-items:center;gap:10px;padding:12px 18px;font-weight:700;transition:border-color .15s,box-shadow .15s,background .15s;display:inline-flex;position:relative}.scan-button:hover{border-color:var(--brand);background:var(--brand-soft);border-style:solid;box-shadow:0 4px 14px #0d94881f}.scan-beta{background:var(--warn-soft);color:#8a6508;letter-spacing:.02em;text-transform:lowercase;border:1px solid #e2cd90;border-radius:6px;padding:2px 7px;font-size:11px;font-weight:700;position:absolute;top:-8px;right:-6px}.doctor-cards{gap:14px;display:grid}.doctor-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #e2e8f0f2;padding:16px 20px}.doctor-card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.doctor-card-name{font-family:var(--font-display);align-items:center;gap:8px;margin:0;font-size:18px;display:flex}.doctor-card-meta{color:var(--muted);margin:4px 0 0;font-size:14px}.doctor-card-actions{align-items:center;gap:12px;display:flex}.doctor-card-stats{flex-wrap:wrap;gap:10px 28px;margin:14px 0 0;display:flex}.doctor-card-stats dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.doctor-card-stats dd{font-family:var(--font-display);margin:2px 0 0;font-size:17px;font-weight:700}.doctor-card .doctor-request-list{border-top:1px solid var(--line);margin-top:12px}.export-wrap{position:relative}.export-menu{background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--radius);min-width:148px;box-shadow:var(--shadow);z-index:20;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden}.export-menu-item{text-align:left;cursor:pointer;width:100%;color:var(--ink);font:inherit;background:0 0;border:0;padding:11px 14px}.export-menu-item:hover{background:var(--soft)}.table-wrap{background:var(--surface-solid);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #e2e8f0f2;overflow:hidden}.materials-table{border-collapse:collapse;width:100%}.table-wrap-scroll{overscroll-behavior:contain;scrollbar-color:#94a3b8 #f1f5f9;min-height:320px;max-height:calc(100vh - 300px);overflow:auto}.table-wrap-scroll::-webkit-scrollbar{width:12px;height:12px}.incoming-table-wrap::-webkit-scrollbar{width:12px;height:12px}.table-wrap-scroll::-webkit-scrollbar-track{background:#f1f5f9}.incoming-table-wrap::-webkit-scrollbar-track{background:#f1f5f9}.table-wrap-scroll::-webkit-scrollbar-thumb{background:#94a3b8;border:3px solid #f1f5f9;border-radius:8px}.incoming-table-wrap::-webkit-scrollbar-thumb{background:#94a3b8;border:3px solid #f1f5f9;border-radius:8px}.table-wrap-scroll::-webkit-scrollbar-thumb:hover{background:#64748b}.incoming-table-wrap::-webkit-scrollbar-thumb:hover{background:#64748b}.table-wrap-scroll::-webkit-scrollbar-corner{background:#f1f5f9}.incoming-table-wrap::-webkit-scrollbar-corner{background:#f1f5f9}.materials-table-main{table-layout:fixed;min-width:1580px}.materials-table-main .col-name{width:auto}.materials-table-main .col-article{width:88px}.materials-table-main .col-unit{width:76px}.materials-table-main .col-need{width:84px}.materials-table-main .col-patient,.materials-table-main .col-doctor{width:140px}.materials-table-main .col-date{width:116px}.materials-table-main .col-note{width:200px}.materials-table-main .col-urgency{width:160px}.materials-table-main .col-source{width:172px}.materials-table-main .col-request-status{width:164px}.materials-table-main th.col-note,.materials-table-main td.col-note{white-space:normal}.materials-table-main tbody td{text-overflow:ellipsis;overflow:hidden}.materials-table-main thead th{z-index:2;box-shadow:inset 0 -1px 0 var(--line-soft);position:sticky;top:0}.materials-table-main thead tr:first-child th{height:44px;padding-top:8px;padding-bottom:8px;top:0}.materials-table-main thead tr.filter-row th{vertical-align:middle;background:#f1f5f9;height:46px;padding:6px 10px;top:44px}.sort-head{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.sort-head:hover,.sort-head-active{color:var(--brand)}.sort-arrow{color:#9bb0bd;font-size:10px}.sort-head-active .sort-arrow,.sort-head:hover .sort-arrow{color:var(--brand)}.column-filter{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;min-width:0;max-width:180px;font:inherit;color:var(--ink);background:#fff;padding:5px 8px;font-size:12px;font-weight:400}.column-filter-wide{max-width:none}.column-filter:focus{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-glow);outline:none}.filter-reset{border:1px solid var(--line);border-radius:var(--radius-sm);width:24px;height:24px;color:var(--muted);cursor:pointer;background:#fff;place-items:center;margin:0 auto;font-size:15px;line-height:1;display:grid}.filter-reset:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.filter-reset:disabled{opacity:.4;cursor:default}.table-empty{text-align:center;color:var(--muted);padding:28px 14px}.materials-table-main td,.materials-table-main th{white-space:nowrap}.materials-table-main td:nth-child(2),.materials-table-main th:nth-child(2){white-space:normal}.history-table{table-layout:fixed;min-width:1180px}.history-table .col-need{width:92px}.history-table .col-patient,.history-table .col-doctor{width:150px}.history-table .col-date{width:132px}.history-table tbody td{text-overflow:ellipsis;overflow:hidden}.history-table thead th{z-index:2;height:44px;box-shadow:inset 0 -1px 0 var(--line-soft);position:sticky;top:0}.history-table td,.history-table th{white-space:nowrap}.history-table td:first-child,.history-table th:first-child{white-space:normal;min-width:240px}.history-table tbody tr.history-batch-start:not(:first-child) td{border-top:2px solid #d5e0e7}.materials-table th,.materials-table td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:middle;padding:11px 14px}.materials-table th{font-family:var(--font-display);letter-spacing:-.01em;color:#475569;background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);font-size:13px;font-weight:700}.materials-table tbody tr:last-child td{border-bottom:0}.materials-table tbody tr:hover td{box-shadow:inset 0 0 0 9999px #0d94880a}.col-check{text-align:center;width:48px}.col-order-qty{width:120px}.order-qty-input{border:1px solid var(--line);border-radius:var(--radius-sm);width:88px;font:inherit;background:#fff;padding:8px 10px}.order-qty-empty{color:var(--muted)}.col-request-status{width:170px}.supplier-preview{color:var(--muted);word-break:break-all;margin:-4px 0 10px;font-size:12px}.supplier-preview span{color:var(--brand)}.request-status-cell{gap:6px;display:grid}.request-status-date{border:1px solid var(--row-line,var(--line));border-radius:var(--radius-sm);width:100%;font:inherit;color:var(--row-ink,var(--ink));background:#fff;padding:6px 8px;font-size:13px;font-weight:600}.request-status-date:focus{outline:2px solid var(--brand-soft);border-color:var(--row-ink,var(--brand))}.status-select{border:1px solid var(--row-line,var(--line));border-radius:var(--radius-sm);width:100%;color:var(--row-ink,var(--ink));cursor:pointer;font:inherit;text-align:left;background:#fff;justify-content:space-between;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:600;transition:border-color .15s,box-shadow .15s;display:flex}.status-select:hover{border-color:var(--row-ink,var(--brand))}.status-select:focus-visible{outline:2px solid var(--brand-soft);border-color:var(--row-ink,var(--brand))}.status-select-open{border-color:var(--row-ink,var(--brand));box-shadow:0 0 0 3px rgba(var(--row-tint,228, 241, 244), .9)}.status-select-open .btn-icon{transform:rotate(180deg)}.status-select-value{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.status-menu{z-index:60;border:1px solid var(--line);background:var(--surface-solid);box-shadow:var(--shadow-lg);border-radius:14px;gap:2px;padding:6px;display:grid;position:fixed}.status-menu-item{border-radius:var(--radius-sm);color:var(--row-ink);cursor:pointer;font:inherit;text-align:left;white-space:nowrap;background:0 0;border:0;align-items:center;gap:9px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.status-menu-item:hover,.status-menu-item:focus-visible{background:rgba(var(--row-tint), .75);outline:none}.status-menu-item-selected{background:rgba(var(--row-tint), .55)}.status-menu-label{flex:auto}.status-menu-dot{border:1px solid var(--row-ink);background:rgb(var(--row-tint));border-radius:50%;flex:none;width:10px;height:10px}.row-selected{outline:1px solid #0d948833}.row-red{background:linear-gradient(90deg,#f8e4e1f2,#f8e4e173)}.row-yellow{background:linear-gradient(90deg,#fff4d6f2,#fff4d666)}.row-green{background:linear-gradient(90deg,#e4f5eae6,#e4f5ea59)}.row-doctor{background:linear-gradient(90deg,#efe8f8f2,#efe8f866)}.row-req-pending,.status-tone-pending{--row-tint:253, 217, 217;--row-ink:#b42318;--row-line:#e79b94}.row-req-in_progress,.status-tone-in_progress{--row-tint:255, 226, 184;--row-ink:#a9500a;--row-line:#eeb26a}.row-req-payment,.status-tone-payment{--row-tint:251, 246, 187;--row-ink:#7a6708;--row-line:#dcc857}.row-req-waiting_delivery,.status-tone-waiting_delivery{--row-tint:226, 229, 253;--row-ink:#4338ca;--row-line:#b3b6ef}.row-req-arriving,.status-tone-arriving{--row-tint:205, 243, 250;--row-ink:#0b6f88;--row-line:#8bd3e3}.row-req-received,.status-tone-received{--row-tint:217, 250, 226;--row-ink:#067647;--row-line:#8ddcab}.row-req-out_of_stock,.status-tone-out_of_stock,.row-req-done,.status-tone-done{--row-tint:232, 226, 232;--row-ink:#5b3a5e;--row-line:#c4b0c6}.row-req-pending,.row-req-in_progress,.row-req-payment,.row-req-waiting_delivery,.row-req-arriving,.row-req-received,.row-req-out_of_stock,.row-req-done{background:linear-gradient(90deg, rgba(var(--row-tint), .95), rgba(var(--row-tint), .4))}.status-pill{letter-spacing:.01em;border:1px solid #0f22301a;border-radius:6px;align-items:center;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.status-pill-red{background:var(--danger-soft);color:var(--danger)}.status-pill-yellow{background:var(--warn-soft);color:#8a6508}.status-pill-green{background:var(--ok-soft);color:var(--ok)}.status-pill-doctor{color:#5f3a8f;background:#efe8f8}.status-pill-document{background:var(--brand-soft);color:var(--brand)}.status-pill-manual{color:#3d5a73;background:#e8eef5}.status-pill-normal{background:var(--ok-soft);color:var(--ok)}.status-pill-urgent{background:var(--danger-soft);color:var(--danger)}.status-pill-attention{background:var(--warn-soft);color:#8a6508}.status-cell{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.supplier-block{border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);margin:0 0 16px;padding:12px}.supplier-block legend{padding:0 6px;font-weight:700}.field-label{color:var(--muted);margin-top:10px;font-size:13px;font-weight:600;display:block}.field-input{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;font:inherit;background:#fff;margin-top:4px;padding:10px 12px;transition:border-color .12s,box-shadow .12s;display:block}.form-error{color:var(--danger)}.modal-hint{color:var(--muted);margin:12px 0;line-height:1.45}.upload-box{border-radius:var(--radius);cursor:pointer;background:linear-gradient(#fff,#f8fafc);border:1px dashed #94a3b8;flex-direction:column;gap:10px;margin:12px 0;padding:24px;transition:border-color .15s,background .15s;display:flex}.upload-box input{max-width:100%}.upload-formats{color:var(--muted);font-size:.9rem}.incoming-review-actions{flex-wrap:wrap;gap:8px;margin:8px 0 4px;display:flex}.incoming-table-wrap{overscroll-behavior:contain;scrollbar-color:#94a3b8 #f1f5f9;max-height:min(58vh,560px);margin:12px 0;overflow:auto}.incoming-table{table-layout:fixed;min-width:1120px}.incoming-table th,.incoming-table td{vertical-align:top;padding:10px}.incoming-table td .field-input{min-width:0;padding:9px 10px}.incoming-col-pick{width:48px}.incoming-col-article{width:130px}.incoming-table .row-picked td{background:#e4f5ea80}.incoming-col-qty{width:92px}.incoming-col-unit{width:76px}.incoming-col-price{width:104px}.incoming-col-remove{width:52px}.incoming-name-input{font-size:15px}.field-input-sm{min-width:70px}.ocr-details{margin-top:12px}.ocr-text{white-space:pre-wrap;background:var(--soft);border:1px solid var(--line);border-radius:var(--radius-sm);max-height:180px;padding:10px;font-size:12px;overflow:auto}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;background:#0a161e70;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.confirm-modal-backdrop{z-index:80}.confirm-modal{max-width:420px}.action-button.primary{background:var(--brand);border-color:var(--brand);color:#fff}.upload-box,.upload-box{border-radius:var(--radius);cursor:pointer;background:linear-gradient(#fff,#f8fafc);border:1px dashed #94a3b8;flex-direction:column;gap:10px;margin:12px 0;padding:24px;transition:border-color .15s,background .15s;display:flex}.upload-box:hover{border-color:var(--brand);background:var(--brand-soft)}.field-label,.field-label{color:var(--muted);margin-top:10px;font-size:13px;font-weight:600;display:block}.field-input,.field-input{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;font:inherit;background:#fff;margin-top:4px;padding:10px 12px;transition:border-color .12s,box-shadow .12s;display:block}.field-input:focus{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-glow);outline:none}.form-error,.form-error{color:var(--danger)}.modal-hint,.modal-hint{color:var(--muted);margin:12px 0;line-height:1.45}.order-list,.order-list{border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.modal{overscroll-behavior:contain;background:var(--surface-solid);width:100%;max-width:560px;max-height:calc(100vh - 48px);box-shadow:var(--shadow-lg);border:1px solid #e2e8f0fa;border-radius:14px;padding:22px 24px;overflow-y:auto}.modal.modal-wide{max-width:min(1180px,100vw - 32px)}.modal h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 16px;font-size:22px}.order-list{border:1px solid var(--line);border-radius:var(--radius);max-height:38vh;margin:0;padding:0;list-style:none;overflow-y:auto}.order-list li{border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:16px;padding:12px 14px;display:flex}.order-list li:last-child{border-bottom:0}.modal.modal-supplier{max-width:min(720px,100vw - 32px)}.modal-supplier .field-label:first-of-type{margin-top:0;margin-bottom:12px}.order-list-supplier li{align-items:flex-start}.order-list-name{flex:auto;min-width:0}.order-list-side{text-align:right;flex-direction:column;flex:0 0 min(220px,42%);align-items:flex-end;gap:6px;display:flex}.order-list-qty{align-items:center;gap:6px;margin:0;display:inline-flex}.order-list-qty-input{text-align:right;width:72px;margin-top:0;padding:7px 10px;font-size:.92rem}.order-list-unit{color:var(--muted);white-space:nowrap;font-size:.92em}.order-list-site{width:100%;margin-top:0;padding:7px 10px;font-size:.92rem}.order-list-side .site-suggest{width:100%;margin-top:0}.order-list-side .site-suggest-input{margin-top:0}.site-suggest{width:100%;margin-top:4px;position:relative}.site-suggest .field-input{margin-top:0}.site-suggest-control{display:block;position:relative}.site-suggest-input{padding-right:36px}.site-suggest-chevron{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.site-suggest-chevron:hover{color:var(--brand);background:var(--brand-soft)}.site-suggest-list{z-index:50;border:1px solid var(--line);border-radius:var(--radius-sm);max-height:240px;box-shadow:var(--shadow-lg);background:#fff;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.site-suggest-item{text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--ink);background:0 0;border:0;padding:9px 12px;display:block}.site-suggest-item:hover,.site-suggest-item.is-active{background:var(--brand-soft);color:var(--brand)}.order-meta{color:var(--muted);font-size:.92em}.order-total{text-align:right;margin:16px 0;font-weight:700}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.account-modal{max-width:720px;max-height:min(90vh,820px);overflow:auto}.modal-head{z-index:3;background:var(--surface-solid);justify-content:space-between;align-items:center;gap:12px;margin:-22px 0 12px;padding:22px 0 8px;display:flex;position:sticky;top:-22px}.modal-head h2{margin:0}.modal-close{border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;color:var(--muted);background:0 0;border:0;flex:none;place-items:center;font-size:26px;line-height:1;display:grid}.modal-close:hover{background:var(--soft);color:var(--ink)}.account-tabs{gap:8px;margin-bottom:16px;display:flex}.account-tab{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;font:inherit;background:#fff;padding:8px 14px;font-weight:600;transition:background .12s,border-color .12s,color .12s}.account-tab.active{background:var(--brand);border-color:var(--brand);color:#fff}.account-hint,.account-empty,.account-message{color:var(--muted);margin:0 0 12px}.clinic-id-box{border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);margin:4px 0 14px;padding:12px 14px}.clinic-id-label{color:var(--ink);margin-bottom:8px;font-size:13px;font-weight:600}.clinic-id-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.clinic-id-value{letter-spacing:.06em;color:var(--brand-strong);border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:16px;font-weight:700}.account-subtitle{font-family:var(--font-display);margin:18px 0 10px;font-size:16px}.account-footer-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-top:20px;padding-top:16px;display:flex}.invite-form{gap:12px;margin-bottom:12px;display:grid}.invite-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);margin-bottom:12px;padding:12px}.invite-link{word-break:break-all;margin-bottom:10px;font-size:13px}.invite-actions{flex-wrap:wrap;gap:8px;display:flex}.account-list,.request-history{gap:8px;margin:0;padding:0;list-style:none;display:grid}.account-list li,.request-item{border:1px solid var(--line);border-radius:var(--radius);background:#fff;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;display:flex}.request-item{flex-direction:column}.request-main{justify-content:space-between;gap:12px;width:100%;display:flex}.account-meta{color:var(--muted);margin-top:4px;font-size:13px}.request-note{color:var(--ink);margin-top:6px}.request-pending{background:#faf7fd;border-color:#c9b6e3}.linkish{color:var(--brand);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;font-weight:600}.doctor-card{max-width:560px}.doctor-form{gap:12px;margin-top:16px;display:grid}.field-spacer{visibility:hidden;margin-bottom:6px;font-size:13px;display:block}.doctor-line{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(#f9fcfd,#f3f8fa);gap:10px;margin:0;padding:14px 14px 16px;display:grid;position:relative;overflow:visible;box-shadow:inset 0 1px #ffffffd9}.doctor-line-name{z-index:2;min-width:0;position:relative;overflow:visible}.doctor-line+.doctor-line{margin-top:4px}.doctor-line-head{color:var(--brand);letter-spacing:.02em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;display:flex}.doctor-line-main{grid-template-columns:minmax(0,1fr) 96px;align-items:end;gap:12px;display:grid;overflow:visible}.doctor-details-toggle{color:var(--brand);cursor:pointer;font:inherit;text-align:left;text-underline-offset:3px;background:0 0;border:0;width:fit-content;padding:2px 0;font-size:13px;font-weight:600;text-decoration:underline}.doctor-details-toggle:hover{color:var(--brand-strong)}.doctor-add-line{color:var(--brand);cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:0;align-items:center;gap:6px;width:fit-content;padding:4px 0;font-size:14px;font-weight:600;text-decoration:underline;display:inline-flex}.doctor-add-line:hover{color:var(--brand-strong)}.doctor-add-line .btn-icon{flex-shrink:0}.doctor-line-details{gap:12px;padding-top:4px;display:grid}.doctor-meta-row{grid-template-columns:minmax(0,1.6fr) minmax(130px,.85fr) minmax(100px,.7fr);align-items:end;gap:12px;display:grid}.doctor-request-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.doctor-request-card{background:0 0;border:0;margin:0;padding:0}.doctor-request-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin-bottom:8px;display:flex}.doctor-request-date{color:var(--muted);font-size:13px}.doctor-request-status{font-size:13px;font-weight:600}.doctor-request-status-pending{color:var(--brand)}.doctor-request-status-done,.doctor-request-status-out_of_stock{color:#5b3a5e}.doctor-history-line{background:0 0;border:0;flex-direction:column;align-items:stretch;gap:2px;padding:0;display:flex}.doctor-history-main{align-items:baseline;gap:8px;width:100%;display:flex}.doctor-history-index{min-width:1.4em;color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.doctor-history-name{flex:auto;min-width:0;font-weight:600}.doctor-history-qty{white-space:nowrap;flex:none}.doctor-history-meta{color:var(--muted);margin-left:calc(1.4em + 8px);font-size:13px}@media (width<=640px){.doctor-meta-row,.doctor-line-main{grid-template-columns:1fr}}.doctor-cart{border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);padding:12px}.doctor-cart-list,.doctor-batch-lines{gap:6px;margin:0;padding:0;list-style:none;display:grid}.doctor-cart-item{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.doctor-cart-main{flex:200px;min-width:0}.doctor-cart-unit{color:var(--muted);min-width:28px}.suggest-wrap{position:relative;overflow:visible}.suggest-wrap.is-open{z-index:30}.suggest-list{z-index:40;border:1px solid var(--line);border-radius:var(--radius-sm);max-height:min(55vh,480px);box-shadow:var(--shadow);background:#fff;margin:0;padding:0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.suggest-list-portal{top:auto;left:auto;right:auto}.suggest-meta{color:var(--muted);flex:none;font-size:12px}.suggest-item{border:0;border-bottom:1px solid var(--line-soft);text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--ink);background:0 0;justify-content:space-between;gap:10px;padding:10px 12px;display:flex}.suggest-item:hover{background:var(--soft)}.suggest-article{color:var(--brand);font-weight:700}.match-badge{background:var(--brand-soft);color:var(--brand);border-radius:6px;margin-top:6px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.match-hints{flex-direction:column;gap:4px;margin-top:6px;display:flex}.match-hint{color:var(--brand);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-size:12px}.match-hint:hover{text-decoration:underline}.match-original{color:var(--muted);margin-top:4px;font-size:12px}.row-price-matched td:first-of-type{box-shadow:inset 3px 0 0 var(--brand)}@media (width<=800px){.header{flex-direction:column;align-items:stretch}.header-actions{justify-content:flex-end}.main{padding:16px}.page-title{font-size:22px}}.landing{min-height:100vh;color:var(--ink)}.landing-top{justify-content:space-between;align-items:center;gap:16px;padding:18px 28px;display:flex}.landing-brand{font-family:var(--font-display);letter-spacing:-.03em;color:var(--brand);font-size:28px;font-weight:800}.landing-top-actions{align-items:center;gap:10px;display:flex}.landing-top-actions .header-btn{color:var(--brand-strong);border-color:var(--line);box-shadow:var(--shadow-sm);background:#fff}.landing-top-actions .header-btn:hover{background:var(--soft);color:var(--ink);border-color:#cbd5e1}.landing-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:28px;min-height:calc(100vh - 88px);padding:24px 28px 48px;display:grid}.landing-kicker{font-family:var(--font-display);color:var(--brand);letter-spacing:-.02em;margin:0 0 8px;font-size:18px;font-weight:800}.landing-title{font-family:var(--font-display);letter-spacing:-.04em;max-width:14ch;margin:0 0 14px;font-size:clamp(32px,5vw,48px);font-weight:800;line-height:1.08}.landing-lead{max-width:36ch;color:var(--muted);margin:0 0 22px;font-size:17px;line-height:1.45}.landing-cta-row{flex-wrap:wrap;gap:10px;display:flex}.landing-hero-visual{justify-content:center;display:flex}.landing-hero-panel{background:linear-gradient(145deg, #0d9488f5, #0f766eeb), var(--brand);color:#fff;width:min(100%,380px);box-shadow:var(--shadow-lg);border-radius:16px;gap:14px;padding:28px 24px;display:grid}.landing-hero-line{font-size:15px;font-weight:600}.landing-hero-line.muted{opacity:.72;font-weight:500}.landing-tariffs{border-top:1px solid var(--line);background:#ffffff8c;padding:48px 28px 72px}.landing-section-title{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 8px;font-size:28px;font-weight:800}.landing-section-lead{color:var(--muted);margin:0 0 24px}.tariff-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.tariff-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;align-content:start;gap:10px;padding:20px 18px;display:grid}.tariff-card-hot{border-color:var(--brand);box-shadow:0 0 0 1px #0d948824, var(--shadow)}.tariff-card-selected{border-color:var(--brand-strong);background:var(--brand-soft)}.account-tariff-grid{margin-top:8px}.sub-summary{border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);align-items:flex-start;gap:12px;margin-bottom:12px;padding:14px;display:flex}.sub-summary-text{color:var(--muted);gap:4px;font-size:14px;display:grid}.sub-summary-text strong{color:var(--ink)}.sub-badge{border-radius:var(--radius-sm);letter-spacing:.02em;flex:none;align-items:center;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.sub-badge-ok{background:var(--ok-soft);color:var(--ok)}.sub-badge-trial{background:var(--warn-soft);color:var(--warn)}.sub-badge-expired{background:var(--danger-soft);color:var(--danger)}.sub-banner{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 28px;display:flex}.sub-banner-trial{background:var(--warn-soft);color:#7a5c08}.sub-banner-expired{background:var(--danger-soft);color:var(--danger)}.sub-banner-text{flex:240px;font-size:14px;font-weight:600}.tariff-name{margin:0;font-size:18px;font-weight:700}.tariff-price{font-family:var(--font-display);letter-spacing:-.03em;font-size:26px;font-weight:800}.tariff-period{color:var(--muted);font-size:14px;font-weight:500}.tariff-blurb{color:var(--muted);margin:0;font-size:14px}.tariff-features{color:var(--ink);gap:4px;margin:0 0 8px;padding-left:18px;display:grid}.landing-auth-backdrop{cursor:default}.landing-auth-modal{max-width:420px;max-height:min(92vh,100dvh - 24px);position:relative}.landing-auth{gap:12px;padding-top:8px;display:grid}.landing-auth-title{margin:0 0 4px;font-size:20px}.landing-auth-lead{color:var(--muted);margin:0 0 4px;font-size:14px}.landing-switch{color:var(--brand);cursor:pointer;font:inherit;text-align:left;text-underline-offset:3px;background:0 0;border:0;padding:4px 0;font-weight:600;text-decoration:underline}.admin-request-card{border-bottom:1px solid var(--line);padding:14px 0}.admin-request-card:last-child{border-bottom:0}.admin-status-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:10px;display:grid}.admin-status-label{margin:0}.doctor-request-status-in_progress,.doctor-request-status-payment,.doctor-request-status-waiting_delivery,.doctor-request-status-arriving{color:var(--warn)}.doctor-request-status-received{color:var(--ok)}.admin-shell{background:radial-gradient(ellipse 80% 50% at 10% -10%, var(--brand-glow), transparent 55%), linear-gradient(180deg, #f8fafc 0%, #f0fdfa 40%, #f8fafc 100%);min-height:100vh;color:var(--ink);padding:24px 16px 48px}.admin-shell-wide{max-width:1180px;margin:0 auto}.admin-login-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;max-width:420px;margin:8vh auto 0;padding:28px 24px;box-shadow:0 12px 40px #0f172a0f}.admin-topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.admin-topbar-brand{align-items:center;gap:14px;display:flex}.brand-logo-admin{width:44px;height:44px}.admin-topbar-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-limit-note{border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--brand-strong);margin:0 0 16px;padding:10px 12px;font-size:13px}.admin-toolbar{gap:12px;margin-bottom:20px;display:grid}.admin-search{max-width:none}.admin-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.admin-section{margin-bottom:28px}.admin-section-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.admin-section-head .account-subtitle{margin:0}.admin-table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px}.admin-table th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:var(--soft);font-size:12px;font-weight:600}.admin-table tr:last-child td{border-bottom:0}.admin-empty{color:var(--muted);text-align:center}.admin-badge{background:var(--soft);color:var(--ink);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.admin-badge-ok{color:#047857;background:#ecfdf5}.admin-badge-trial{background:var(--brand-soft);color:var(--brand-strong)}.admin-badge-expired{color:#b91c1c;background:#fef2f2}.admin-promo-form{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:10px;margin-bottom:12px;display:grid}.admin-promo-inline{grid-template-columns:minmax(0,280px) auto;align-items:end;max-width:480px}.admin-promo-form .action-button,.admin-promo-inline .action-button{height:42px}@media (width<=900px){.landing-hero{grid-template-columns:1fr;min-height:auto;padding-top:12px}.landing-title{max-width:none}.tariff-grid,.admin-status-row{grid-template-columns:1fr}.admin-filters,.admin-promo-form{grid-template-columns:1fr 1fr}}@media (width<=560px){.admin-filters,.admin-promo-form,.admin-promo-inline{grid-template-columns:1fr}}.site-legal-footer{border-top:1px solid var(--line);color:var(--muted);margin-top:auto;padding:18px 28px 28px;font-size:12.5px}.site-legal-footer-nav{flex-wrap:wrap;gap:8px 14px;margin-bottom:6px;display:flex}.site-legal-footer-nav a{color:var(--muted);text-decoration:none}.site-legal-footer-nav a:hover{color:var(--brand-strong);text-underline-offset:3px;text-decoration:underline}.site-legal-footer-meta{margin:0}.site-legal-footer-meta a{color:var(--muted)}.site-legal-footer-auth{border-top:1px solid var(--line);margin-top:18px;padding:14px 0 0}.landing-legal-note{color:var(--muted);margin:4px 0 0;font-size:12.5px;line-height:1.45}.landing-legal-note a{color:var(--brand-strong)}.onboarding-banner{border:1px solid var(--line);background:linear-gradient(135deg,#1f6b4a0f,#ffffffe6);border-radius:14px;margin:12px 18px 0;padding:18px 20px}.onboarding-banner-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.onboarding-title{margin:0;font-size:1.05rem}.onboarding-steps{gap:12px;margin:0;padding:0;list-style:none;display:grid}.onboarding-steps li{border:1px solid var(--line);background:#ffffffbf;border-radius:12px;gap:6px;padding:12px 14px;display:grid}.onboarding-steps li.done{opacity:.72}.onboarding-steps strong{font-size:.95rem}.onboarding-steps span{color:var(--muted);font-size:.88rem;line-height:1.4}.onboarding-ok{color:var(--brand-strong);font-size:.85rem;font-weight:600}@media (width>=860px){.onboarding-steps{grid-template-columns:repeat(3,1fr)}}.doctor-app{flex-direction:column;min-height:100vh;display:flex}
