:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef4f6;--surface:#fff;--surface-soft:#f6f9fb;--ink:#111827;--muted:#6b7280;--line:#dbe3ea;--teal:#087f8f;--teal-dark:#075f6b;--teal-soft:#e3f6f8;--indigo:#3e56c4;--green:#1f8a5b;--amber:#b76b00;--red:#b42318;--shadow:0 24px 70px #11182724;--shadow-soft:0 12px 36px #11182714;--ease:cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}body{min-width:320px;color:var(--ink);-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 0 0,#087f8f21,#0000 34vw),linear-gradient(135deg,#eef4f6 0%,#f8fafc 44%,#edf4f8 100%);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}#root{min-height:100vh}button,input{font:inherit}button{cursor:pointer;transition:transform .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease)}h1,h2,h3,p{margin-top:0}.eyebrow{color:var(--teal-dark);letter-spacing:0;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:800}.login-page{background:linear-gradient(90deg, #08161f0a, transparent 46%), var(--surface);grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);min-height:100vh;display:grid}.login-art{color:#fff;background:linear-gradient(135deg,#0d1f2a47,#053841d1),url(https://images.unsplash.com/photo-1579154204601-01588f351e67?auto=format&fit=crop&w=1800&q=84) 50%/cover;align-items:flex-end;padding:clamp(32px,6vw,72px);display:flex;position:relative;overflow:hidden}.scan-lines{background-color:#0000;background-image:linear-gradient(90deg,#ffffff14 1px,#0000 1px),linear-gradient(#ffffff12 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:44px 44px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;animation:14s linear infinite driftGrid;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 18% 82%,#0000);mask-image:linear-gradient(#0000,#000 18% 82%,#0000)}.login-art:after{content:"";background:radial-gradient(circle,#ffffff29,#0000 56%);border:1px solid #ffffff38;border-radius:50%;width:42vw;height:42vw;animation:7s ease-in-out infinite breathe;position:absolute;top:-14vw;right:-14vw}.hero-copy{max-width:650px;animation:riseIn .62s var(--ease) both;position:relative}.hero-copy h1{margin-bottom:14px;font-size:clamp(42px,7vw,84px);line-height:.98}.hero-copy p{color:#ffffffdb;max-width:560px;font-size:18px;line-height:1.6}.status-pill,.user-pill,.storage-chip{color:#fff;background:#ffffff1f;border:1px solid #ffffff47;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:750;display:inline-flex}.login-panel{border:1px solid var(--line);width:min(440px,100% - 48px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:floatIn .52s var(--ease) both;background:#ffffffeb;border-radius:16px;place-self:center;padding:34px}.brand-mark,.stat-icon{color:#fff;background:#fff;border-radius:12px;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 12px 30px #081f2b24}.brand-mark img{border-radius:inherit;object-fit:contain;width:100%;height:100%}.compact-mark{flex:none;width:48px;height:48px;padding:2px}.login-panel h2{margin-bottom:20px;font-size:32px}.auth-form,.upload-form,.add-info-form,.logout-form{gap:16px;display:grid}.field,.auth-form label{color:#334155;gap:8px;font-size:14px;font-weight:700;display:grid}.upload-field{min-width:0}.field input,.auth-form input,.search-box input{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:#fff;border-radius:10px;padding:10px 12px}.field input:focus,.auth-form input:focus,.search-box input:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #0d7c8a24}.upload-card{border:1px solid var(--line);background:linear-gradient(135deg, #fffffff5, #f6fbfcf5), var(--surface);min-height:72px;transition:transform .18s var(--ease), border-color .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease);border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:14px;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 24px #1118270d}.upload-card:after{content:"";transition:transform .52s var(--ease);background:linear-gradient(90deg,#0000,#087f8f14,#0000);position:absolute;inset:0;transform:translate(-100%)}.upload-card:hover,.upload-card:focus-within{border-color:#087f8f6b;transform:translateY(-2px);box-shadow:0 16px 34px #087f8f24}.upload-card:hover:after,.upload-card:focus-within:after{transform:translate(100%)}.upload-card-icon{background:var(--teal-soft);width:42px;height:42px;color:var(--teal-dark);border-radius:12px;place-items:center;display:grid}.upload-card-copy{gap:3px;min-width:0;display:grid}.upload-card-copy strong{color:var(--ink);font-size:14px}.upload-card-copy span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}.upload-card input{opacity:0;cursor:pointer;width:100%;min-height:100%;position:absolute;inset:0}.ct-unified-field{position:relative}.ct-upload-card{border:1px solid var(--line);text-align:left;width:100%}.format-popover{z-index:20;border:1px solid var(--line);width:min(360px,100%);box-shadow:var(--shadow);animation:floatIn .18s var(--ease) both;background:#fffffffa;border-radius:16px;gap:8px;padding:10px;display:grid;position:absolute;top:calc(100% + 10px);left:0}.format-option{color:var(--ink);cursor:pointer;border:1px solid #0000;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:11px;display:grid;position:relative}.format-option:hover,.format-option:focus-within{background:var(--teal-soft);border-color:#087f8f33}.format-option svg{color:var(--teal-dark)}.format-option span{gap:2px;display:grid}.format-option strong{font-size:14px}.format-option small{color:var(--muted);font-size:12px;font-weight:700}.format-option input{opacity:0;cursor:pointer;position:absolute;inset:0}.primary-button,.secondary-button,.ghost-button,.text-button,.icon-button,.side-nav button,.file-button{border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 14px;font-weight:800;text-decoration:none;display:inline-flex}.primary-button{background:linear-gradient(135deg, var(--teal), #0aa0a8);color:#fff;border:0;box-shadow:0 10px 24px #087f8f38}.primary-button:hover{background:linear-gradient(135deg, var(--teal-dark), #087f8f);transform:translateY(-1px);box-shadow:0 14px 30px #087f8f47}.primary-button:disabled{box-shadow:none;cursor:not-allowed;background:#9ca3af;transform:none}.secondary-button,.ghost-button,.icon-button{border:1px solid var(--line);color:var(--ink);background:#fff}.secondary-button:hover,.ghost-button:hover,.icon-button:hover{background:#eef3f8;transform:translateY(-1px)}.text-button{min-height:32px;color:var(--teal-dark);background:0 0;border:0;padding:0}.alert{animation:slideDown .26s var(--ease) both;border-radius:12px;padding:12px 14px;font-weight:700}.alert.error{color:var(--red);background:#fff0ee;border:1px solid #ffd2cc}.alert.success{color:#137333;background:#eaf7ee;border:1px solid #c9ebd2}.app-shell{grid-template-columns:280px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#fffffff5,#f7fbfcf0),radial-gradient(circle at top,#087f8f1f,#0000 280px);grid-template-rows:auto 1fr auto;gap:24px;height:100dvh;padding:24px;display:grid;position:sticky;top:0}.product-mark{align-items:center;gap:12px;display:flex}.product-mark svg{color:var(--teal-dark)}.product-mark strong,.product-mark span{display:block}.product-mark span{color:var(--muted);font-size:12px;font-weight:750}.side-nav{align-content:start;gap:8px;display:grid}.side-nav button{color:#475467;background:0 0;border:1px solid #0000;justify-content:flex-start;position:relative}.side-nav button.active,.side-nav button:hover{border-color:var(--line);color:var(--teal-dark);box-shadow:var(--shadow-soft);background:#fff;transform:translate(2px)}.side-nav button.active:before{background:var(--teal);content:"";border-radius:999px;width:3px;position:absolute;top:10px;bottom:10px;left:-1px}.workspace{min-width:0;animation:riseIn .42s var(--ease) both;align-content:start;gap:22px;padding:clamp(18px,3vw,28px) clamp(16px,3vw,36px) 36px;display:grid}.workspace-head,.section-head{justify-content:space-between;align-items:center;gap:18px;display:flex}.workspace-head h1{letter-spacing:-.02em;margin-bottom:0;font-size:34px}.user-pill{border-color:var(--line);color:var(--ink);background:#fff}.view-stack{gap:22px;display:grid}.stats-grid{grid-template-columns:repeat(4,minmax(160px,1fr));gap:16px;display:grid}.stat-card,.surface-panel{border:1px solid var(--line);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border-radius:16px}.stat-card{transition:transform .18s var(--ease), box-shadow .18s var(--ease), border-color .18s var(--ease);gap:12px;padding:18px;display:grid;position:relative;overflow:hidden}.stat-card:after{content:"";height:3px;transition:transform .5s var(--ease);background:linear-gradient(90deg,#0000,#087f8fb3,#0000);position:absolute;inset:auto 0 0;transform:translate(-100%)}.stat-card:hover{border-color:#087f8f40;transform:translateY(-3px);box-shadow:0 20px 44px #1118271f}.stat-card:hover:after{transform:translate(100%)}.stat-card span{color:var(--muted);font-size:13px;font-weight:750}.stat-card strong{font-size:34px;line-height:1}.stat-spark{opacity:.42;background:linear-gradient(135deg,#0000 10%,#087f8f40 10% 20%,#0000 20% 36%,#087f8f52 36% 48%,#0000 48% 66%,#087f8f47 66% 76%,#0000 76%),linear-gradient(#0000,#087f8f1f);border-radius:8px;width:74px;height:28px;position:absolute;bottom:14px;right:14px}.stat-card.indigo .stat-icon{color:var(--indigo);background:#edf0ff}.stat-card.green .stat-icon{color:var(--green);background:#eaf7ee}.stat-card.amber .stat-icon{color:var(--amber);background:#fff5df}.surface-panel{animation:panelIn .36s var(--ease) both;padding:22px}.activity-list{margin-top:12px;display:grid}.activity-row{border-top:1px solid var(--line);transition:background .16s var(--ease), transform .16s var(--ease);grid-template-columns:auto minmax(220px,1fr) auto auto;align-items:center;gap:16px;padding:14px 0;display:grid}.activity-row:first-child{border-top:0}.activity-row:hover{background:#087f8f09;transform:translate(3px)}.activity-row strong,.activity-row span,.activity-row time{display:block}.activity-row span,.activity-row time{color:var(--muted);font-size:13px;font-weight:650}.record-badge,.type-chip{background:var(--teal-soft);color:var(--teal-dark);border-radius:999px;justify-content:center;align-items:center;font-size:12px;font-weight:850;display:inline-flex}.record-badge{width:38px;height:38px}.type-chip{min-height:28px;padding:5px 10px}.upload-panel{max-width:980px}.upload-form{grid-template-columns:repeat(2,minmax(240px,1fr));margin-top:18px}.add-info-form{grid-template-columns:repeat(2,minmax(240px,1fr)) auto;align-items:end;margin-top:18px}.add-info-grid{gap:18px;margin-top:18px;display:grid}.add-info-grid .add-info-form{margin-top:0}.ct-add-form{border-top:1px solid var(--line);grid-template-columns:minmax(260px,1fr) auto;padding-top:18px}.segmented-files{flex-wrap:wrap;gap:8px;display:flex}.file-button{border:1px solid var(--line);color:var(--teal-dark);background:linear-gradient(135deg,#fffffff5,#f6fbfcf5),#fff;position:relative;overflow:hidden;box-shadow:0 8px 18px #1118270d}.file-button:hover{background:#eef8fa;border-color:#087f8f47;transform:translateY(-1px)}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.file-selection,.muted{color:var(--muted);font-size:13px;font-weight:650}.file-selection{background:#e3f6f873;border:1px dashed #087f8f3d;border-radius:999px;align-items:center;width:fit-content;max-width:100%;min-height:28px;padding:5px 10px;display:inline-flex}.submit-upload{justify-self:start}.studies-head{align-items:flex-end}.search-box{border:1px solid var(--line);width:min(360px,100%);color:var(--muted);transition:border-color .18s var(--ease), box-shadow .18s var(--ease);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:0 12px;display:flex;box-shadow:0 8px 24px #1118270d}.search-box:focus-within{border-color:#087f8f6b;box-shadow:0 0 0 4px #087f8f1a}.search-box input{box-shadow:none;border:0;padding-left:0}.search-box input:focus{box-shadow:none}.table-shell{margin-top:18px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:1120px}th,td{border-top:1px solid var(--line);text-align:left;vertical-align:middle;padding:13px 10px}th{color:#667085;letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:850}td{color:#334155;font-size:14px}tbody tr{transition:background .15s var(--ease)}tbody tr:hover{background:#087f8f09}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px}.filename-cell{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.reveal-cell{gap:4px;display:grid}.report-list{flex-wrap:wrap;gap:8px;display:flex}.report-list a{color:var(--teal-dark);font-weight:800;text-decoration:none}.report-list a:hover{text-decoration:underline}.storage-chip{border-color:var(--line);background:var(--surface-soft);color:#475467}.compact{min-height:36px;padding:8px 10px}.profile-grid{gap:18px;display:grid}.profile-hero{justify-content:space-between;align-items:center;gap:18px;display:flex}.profile-hero h2{margin-bottom:0;font-size:26px}.back-button{flex:none}.profile-meta{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.detail-panel h3,.reports-panel h3{margin-bottom:0}.detail-list{grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin:18px 0 0;display:grid}.detail-list div{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;padding:14px}.detail-list dt{color:var(--muted);text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:850}.detail-list dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-weight:750}.report-tabs{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.report-tabs button{border:1px solid var(--line);color:#475467;background:#fff;border-radius:10px;align-items:center;gap:8px;min-height:38px;padding:8px 12px;font-weight:800;display:inline-flex}.report-tabs button.active,.report-tabs button:hover{color:var(--teal-dark);background:#e7f6f7;border-color:#0d7c8a4d;transform:translateY(-1px)}.report-frame{border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:14px;overflow:hidden}.report-toolbar{border-bottom:1px solid var(--line);background:var(--surface-soft);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.report-toolbar strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.report-toolbar span{color:var(--muted);font-size:12px;font-weight:850}.report-preview{background:#fff;border:0;width:100%;min-height:min(620px,62dvh)}.document-preview{color:#1f2937;padding:28px;line-height:1.65;overflow:auto}.text-preview{color:#1f2937;white-space:pre-wrap;margin:0;padding:22px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;overflow:auto}.image-preview{place-items:center;min-height:460px;padding:18px;display:grid}.image-preview img{object-fit:contain;max-width:100%;max-height:760px}.loading-preview,.unsupported-preview{min-height:320px;color:var(--muted);text-align:center;place-items:center;gap:8px;font-weight:750;display:grid}.modal-backdrop{z-index:50;background:#0f172a7a;place-items:start center;padding:clamp(12px,4dvh,28px) 16px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{overscroll-behavior:contain;background:#fff;border-radius:8px;gap:14px;width:min(460px,100%);max-height:calc(100dvh - 32px);padding:20px;display:grid;overflow-y:auto;box-shadow:0 24px 80px #0f172a42}.download-modal{width:min(540px,100%)}.viewer-modal{gap:12px;width:min(1180px,100%);max-height:calc(100dvh - 32px)}.modal-head,.modal-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-head h3{margin-bottom:0;font-size:18px}.modal-actions{justify-content:flex-end}.icon-button{width:38px;padding:0}.icon-button:disabled{cursor:not-allowed;opacity:.45;transform:none}.compact-table table{min-width:760px}.viewer-tabs,.slice-controls{align-items:center;gap:8px;display:flex}.viewer-tabs{flex-wrap:wrap}.viewer-tabs button{border:1px solid var(--line);color:#475467;background:#fff;border-radius:8px;align-items:center;gap:8px;min-height:38px;padding:8px 12px;font-weight:800;display:inline-flex}.viewer-tabs button.active,.viewer-tabs button:hover:not(:disabled){color:var(--teal-dark);background:#e7f6f7;border-color:#0d7c8a4d}.viewer-tabs button:disabled{cursor:not-allowed;opacity:.5}.dicom-viewer,.viewer-report{gap:10px;min-height:0;display:grid}.viewer-toolbar{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.viewer-toolbar strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.viewer-toolbar span{color:var(--muted);font-size:12px;font-weight:850}.dicom-layout{grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:12px;min-height:0;display:grid}.dicom-stage{border:1px solid var(--line);background:#111827;border-radius:8px;place-items:center;min-height:min(520px,46dvh);display:grid;overflow:hidden}.dicom-stage img{object-fit:contain;width:100%;height:min(520px,46dvh);display:block}.metadata-panel{border:1px solid var(--line);background:#fff;border-radius:8px;align-content:start;min-height:0;max-height:min(520px,46dvh);display:grid;overflow:hidden}.metadata-head{border-bottom:1px solid var(--line);background:var(--surface-soft);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.metadata-head span,.metadata-row small{color:var(--muted);font-size:12px;font-weight:800}.metadata-table{overflow:auto}.metadata-row{border-bottom:1px solid var(--line);gap:4px;padding:10px 12px;display:grid}.metadata-row span{color:var(--muted);font-size:12px;font-weight:850}.metadata-row strong{color:var(--ink);overflow-wrap:anywhere;font-size:13px;font-weight:750}.metadata-state{color:var(--muted);text-align:center;padding:18px 12px;font-weight:750}.slice-controls{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:center;padding:8px}.slice-controls input{width:min(520px,100%);accent-color:var(--teal)}.check-row{color:#334155;align-items:center;gap:10px;font-weight:750;display:flex}.check-row input{width:18px;height:18px;accent-color:var(--teal)}.download-quick-actions{flex-wrap:wrap;gap:8px;display:flex}.download-option{border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);cursor:pointer;transition:border-color .16s var(--ease), background .16s var(--ease), transform .16s var(--ease);border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:12px;display:grid}.download-option:hover,.download-option:focus-within{background:var(--teal-soft);border-color:#087f8f4d;transform:translateY(-1px)}.download-option input{width:18px;height:18px;accent-color:var(--teal)}.download-option span{gap:3px;min-width:0;display:grid}.download-option strong{font-size:14px}.download-option small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.empty-state,.loading-screen{min-height:180px;color:var(--muted);text-align:center;place-items:center;gap:8px;font-weight:750;display:grid}.app-error{min-height:100dvh;padding:24px}.app-error strong{color:var(--ink);font-size:20px}.app-error span{max-width:560px;color:var(--muted);line-height:1.5}.loading-screen:before{border:3px solid #087f8f26;border-top-color:var(--teal);content:"";border-radius:50%;width:34px;height:34px;animation:.85s linear infinite spin}@keyframes riseIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes floatIn{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes panelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes driftGrid{0%{background-position:0 0,0 0}to{background-position:44px 0,0 44px}}@keyframes breathe{0%,to{opacity:.65;transform:scale(1)}50%{opacity:.95;transform:scale(1.08)}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}@media (width<=980px){.login-page,.app-shell{grid-template-columns:1fr}.login-art{min-height:42vh}.sidebar{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:1fr;height:auto;position:static}.side-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}}@media (width<=680px){.login-art{display:none}.login-panel{width:min(100% - 28px,440px)}.workspace{padding:14px 10px 28px}.surface-panel{padding:16px}.modal-backdrop{padding:10px}.modal{max-height:calc(100dvh - 20px);padding:16px}.workspace-head,.section-head,.studies-head{flex-direction:column;align-items:stretch}.side-nav,.stats-grid,.upload-form,.add-info-form,.activity-row,.profile-hero,.detail-list{grid-template-columns:1fr}.profile-hero{flex-direction:column;align-items:stretch}.profile-meta{justify-content:flex-start}.submit-upload,.primary-button,.secondary-button{width:100%}.dicom-stage,.dicom-stage img{height:360px;min-height:360px}.dicom-layout{grid-template-columns:1fr}.metadata-panel{max-height:320px}.slice-controls{grid-template-columns:38px minmax(0,1fr) 38px;display:grid}}
