@import"https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;400;500;700&display=swap";:root{--brand-font-sans: "Ubuntu", Arial, Helvetica, sans-serif;--brand-primary: #004522;--brand-primary-strong: #00391d;--brand-primary-soft: #f5fbea;--brand-accent: #96ca4b;--brand-action: #146941;--brand-action-hover: #a0c832;--brand-action-contrast: #ffffff;--brand-background: #ffffff;--brand-surface: #f9fafb;--brand-text: #3a3838;--brand-text-strong: #252525;--brand-text-muted: #737373;--brand-text-inverse: #ffffff;--brand-border: #e0e0e0;--brand-border-strong: #bdbdbd;--brand-danger: #dd3737;--brand-danger-soft: #fff5f5;--brand-success: #17603f;--brand-success-soft: #dff3e9;color:var(--brand-text);background:var(--brand-primary);font-family:var(--brand-font-sans);color-scheme:light}*{box-sizing:border-box}html,body,#root{min-height:100%;background:var(--brand-primary)}body{margin:0;color:var(--brand-text)}button,input,textarea{font:inherit}button{cursor:pointer}.login-shell{min-height:100vh;display:grid;place-items:center;background:linear-gradient(180deg,var(--brand-primary),var(--brand-primary-strong) 190px,var(--brand-surface) 190px),var(--brand-surface)}.login-panel{width:min(420px,calc(100vw - 32px));display:grid;gap:18px;padding:28px;background:var(--brand-background);border:1px solid var(--brand-border);border-radius:8px;box-shadow:0 18px 50px #0045221f}.brand-row{display:flex;align-items:center;gap:14px;margin-bottom:6px}.brand-mark,.metric-icon{width:42px;height:42px;display:grid;place-items:center;color:var(--brand-text-inverse);background:var(--brand-primary);border-radius:8px}.metric-icon{width:30px;height:30px;border-radius:6px}.brand-mark--logo{width:136px;padding:0 12px;background:var(--brand-primary)}.brand-logo{display:block;width:auto;max-width:146px;height:32px;object-fit:contain}h1,h2,h3,p{margin:0}h1{font-size:22px;line-height:1.2}h2{font-size:16px}h3{font-size:15px}label{display:grid;gap:7px;color:var(--brand-text-muted);font-size:13px;font-weight:650}input,textarea{min-height:40px;width:100%;color:var(--brand-text-strong);background:var(--brand-background);border:1px solid var(--brand-border-strong);border-radius:6px;padding:8px 10px}textarea{min-height:260px;resize:vertical;line-height:1.45}input:focus,textarea:focus{border-color:var(--brand-primary);outline:3px solid color-mix(in srgb,var(--brand-accent) 38%,transparent)}.app-shell{--topbar-height: 76px;--content-top-gap: 14px;min-height:100vh;display:grid;align-content:start;gap:18px;padding:calc(var(--topbar-height) + var(--content-top-gap)) 20px 20px;background:linear-gradient(180deg,var(--brand-primary) 0,var(--brand-primary) var(--topbar-height),var(--brand-primary-soft) var(--topbar-height),var(--brand-background) 396px),var(--brand-background)}.topbar{position:fixed;top:0;right:0;left:0;z-index:40;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 20px;color:var(--brand-text-inverse);background:var(--brand-primary);border-bottom:4px solid var(--brand-accent)}.topbar span,.brand-row span,.metric span,td span{color:var(--brand-text-muted);font-size:13px}.brand-row--topbar span{color:color-mix(in srgb,var(--brand-text-inverse) 76%,transparent)}.brand-row--topbar .brand-logo{height:38px;max-width:170px}nav,.actions,.row-action-buttons{display:flex;align-items:center;gap:8px}.primary-button,.icon-button,.ghost-button,.danger-button,.square-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:6px;border:1px solid transparent;padding:8px 12px;text-decoration:none;white-space:nowrap}.primary-button{color:var(--brand-action-contrast);background:var(--brand-action)}.icon-button{color:var(--brand-text-strong);background:var(--brand-background);border-color:var(--brand-border-strong)}.ghost-button{color:inherit;background:transparent;border-color:color-mix(in srgb,var(--brand-text-inverse) 32%,transparent)}.ghost-button--dark{color:var(--brand-text-strong);border-color:var(--brand-border-strong)}.ghost-button--active{color:var(--brand-text-strong);background:var(--brand-background)}.danger-button{color:var(--brand-action-contrast);background:var(--brand-danger);border-color:var(--brand-danger)}.square-button{width:34px;min-height:34px;padding:0;color:var(--brand-text-strong);background:var(--brand-background);border-color:var(--brand-border-strong)}.square-button:disabled{cursor:not-allowed;opacity:.72}.report-button--filled{color:var(--brand-action-contrast);background:var(--brand-success);border-color:var(--brand-success)}.square-button--danger{color:var(--brand-danger)}.status-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}.metric{min-height:50px;display:grid;align-items:center;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:8px 12px;background:var(--brand-background);border:1px solid var(--brand-border);border-radius:8px;box-shadow:0 1px 2px #00000014}.metric strong{font-size:18px;text-align:right;white-space:nowrap}.workband{background:var(--brand-background);border:1px solid var(--brand-border);border-radius:8px;box-shadow:0 1px 2px #00000014}.workband{display:grid;gap:12px;padding:14px}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.admin-header span,.modal-copy{color:var(--brand-text-muted);font-size:14px}.autopurge-panel{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,.9fr) auto;align-items:end;gap:14px;padding:12px;background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:8px}.autopurge-panel--warning{border-color:var(--brand-danger);box-shadow:inset 4px 0 0 var(--brand-danger)}.autopurge-copy{display:grid;gap:4px}.autopurge-copy span{color:var(--brand-text-muted);font-size:13px;line-height:1.35}.autopurge-copy strong{color:var(--brand-text-strong);font-size:13px}.autopurge-fields{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px}.autopurge-actions{display:flex;align-items:end;gap:8px}.toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px}.filters{flex:1;display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(120px,.5fr);gap:10px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:860px}.study-table,.admin-study-table{table-layout:fixed;min-width:1040px}.study-table .col-patient,.admin-study-table .col-patient{width:24%}.study-table .col-accession,.admin-study-table .col-accession{width:14%}.study-table .col-description,.admin-study-table .col-description{width:28%}.study-table .col-date,.admin-study-table .col-date{width:12%}.study-table .col-images{width:7%}.study-table .col-storage,.admin-study-table .col-storage{width:8%}.study-table .col-received{width:13%}.admin-study-table .col-radiologist{width:14%}.study-table .col-actions{width:156px}.admin-study-table .col-actions-single{width:58px}th,td{padding:11px 10px;border-bottom:1px solid var(--brand-border);text-align:left;vertical-align:middle}tbody tr td{transition:background-color .14s ease,box-shadow .14s ease}tbody tr:hover td{background:var(--brand-primary-soft)}tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--brand-accent)}tbody tr:hover .empty{background:transparent;box-shadow:none}tbody tr.study-row--receiving td{background:color-mix(in srgb,var(--brand-primary-soft) 58%,var(--brand-background))}th{color:var(--brand-text-muted);font-size:12px;text-transform:uppercase}.sort-header{min-height:24px;display:inline-flex;align-items:center;gap:6px;padding:0;color:inherit;background:transparent;border:0;font-size:inherit;font-weight:750;text-transform:inherit}.sort-header span{min-width:12px;color:var(--brand-border-strong);font-size:12px}.sort-header--active,.sort-header--active span{color:var(--brand-primary)}td:first-child strong,td:first-child span{display:block}td:first-child strong{margin-bottom:2px}.receive-badge{width:fit-content;margin-top:4px;padding:2px 6px;color:var(--brand-primary);background:var(--brand-primary-soft);border:1px solid color-mix(in srgb,var(--brand-accent) 55%,var(--brand-border));border-radius:999px;font-size:11px;font-weight:800;line-height:1.2;text-transform:uppercase}.description-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-actions{width:156px;padding-right:10px}.row-actions--single{width:54px;padding-right:10px;text-align:right}.row-action-buttons{justify-content:flex-end;flex-wrap:wrap}.export-progress{flex-basis:100%;color:var(--brand-text-muted);font-size:12px;font-weight:700;line-height:1.2;text-align:right;white-space:nowrap}.spinner{width:16px;height:16px;border:2px solid var(--brand-border-strong);border-top-color:var(--brand-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{height:96px;color:var(--brand-text-muted);text-align:center}.toast{position:fixed;top:92px;right:20px;z-index:30;min-height:42px;max-width:min(380px,calc(100vw - 40px));display:inline-flex;align-items:center;gap:12px;padding:10px 12px 10px 14px;color:var(--brand-text-strong);background:var(--brand-background);border:1px solid var(--brand-border-strong);border-left:4px solid var(--brand-primary);border-radius:6px;box-shadow:0 12px 28px #00000029;font-size:14px;font-weight:700}.toast--success{border-left-color:var(--brand-success)}.toast--error{border-left-color:var(--brand-danger)}.toast-close{width:26px;min-height:26px;display:inline-grid;place-items:center;padding:0;color:var(--brand-text-muted);background:transparent;border:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:18px;background:#0000006b}.modal{width:min(720px,100%);display:grid;gap:14px;padding:18px;background:var(--brand-background);border:1px solid var(--brand-border);border-radius:8px;box-shadow:0 22px 60px #0000003d}.modal--narrow{width:min(520px,100%)}.modal-header,.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-header span{color:var(--brand-text-muted);font-size:13px}.modal-actions{justify-content:flex-end}.error{color:var(--brand-danger);font-weight:700}@media(max-width:980px){.app-shell{--topbar-height: 116px}.status-grid,.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar,.autopurge-panel,.topbar{align-items:stretch;flex-direction:column}.autopurge-panel{grid-template-columns:1fr}nav,.actions,.autopurge-actions{flex-wrap:wrap}}@media(max-width:560px){.app-shell{--topbar-height: 144px;padding:0 12px 12px;padding-top:calc(var(--topbar-height) + var(--content-top-gap))}.topbar{padding:12px}.status-grid,.filters,.autopurge-fields{grid-template-columns:1fr}.primary-button,.icon-button,.ghost-button,.danger-button{width:100%}.topbar nav{flex-wrap:nowrap}.topbar .icon-button,.topbar .ghost-button{width:auto}.toast{top:84px;right:12px;left:12px;max-width:none}}
