:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#18232d;background:#f4f7f6;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #18232d;--muted: #64727e;--subtle: #8b979f;--line: #d9e2e1;--line-strong: #c5d1cf;--surface: #ffffff;--canvas: #f4f7f6;--teal: #087d76;--teal-dark: #06635e;--teal-soft: #e6f4f2;--amber: #9a5d07;--amber-soft: #fff4dc;--red: #b4232f;--red-soft: #fcedef;--green: #176b43;--green-soft: #e8f5ed;--shadow: 0 14px 36px rgba(24, 35, 45, .08)}*{box-sizing:border-box;letter-spacing:0}body{margin:0;min-width:320px;min-height:100vh;background:var(--canvas)}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:3px solid rgba(8,125,118,.25);outline-offset:2px}.app-shell{min-height:100vh}.topbar{height:64px;padding:0 clamp(18px,4vw,52px);display:flex;align-items:center;justify-content:space-between;background:#17232d;color:#fff;border-bottom:3px solid #15a39a}.brand-lockup,.topbar-meta,.file-cell,.selected-file,.stage,.policy-button,.primary-button,.secondary-button,.error-banner,.loading-state{display:flex;align-items:center}.brand-lockup{gap:10px}.brand-name{font-size:16px;font-weight:780;letter-spacing:-.02em}.brand-tagline{padding-left:14px;border-left:1px solid rgba(214,255,251,.32);color:#afc3cf;font-size:12px;font-weight:500;letter-spacing:0}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:7px;color:#d6fffb;background:#087d76}.topbar-meta{gap:14px}.environment{display:inline-flex;align-items:center;gap:7px;color:#c9d3d8;font-size:12px}.environment>span{width:7px;height:7px;border-radius:50%;background:#55d19f;box-shadow:0 0 0 3px #55d19f24}.page{width:min(1440px,100%);margin:0 auto;padding:34px clamp(18px,4vw,52px) 64px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.eyebrow{margin:0 0 5px;color:var(--teal-dark);font-size:11px;font-weight:760;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(27px,3vw,36px);line-height:1.15}h2{margin-bottom:4px;font-size:18px;line-height:1.3}h3{margin-bottom:10px;font-size:13px}.heading-stat{display:grid;justify-items:end}.heading-stat span{font-size:24px;font-weight:760;line-height:1}.heading-stat small,.section-title-row p,.activity-header p,.detail-heading p{margin:0;color:var(--muted);font-size:13px}.error-banner{min-height:48px;gap:10px;margin-bottom:18px;padding:10px 12px;border:1px solid #efbbc1;border-radius:7px;color:#861c27;background:var(--red-soft)}.error-banner>span{flex:1;font-size:13px}.workspace-grid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:24px;align-items:start}.upload-tool{padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.section-title-row,.activity-header,.detail-heading,.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.section-title-row>svg{color:var(--teal)}.drop-zone{width:100%;min-height:190px;margin:18px 0 12px;display:grid;place-items:center;align-content:center;gap:5px;border:1px dashed #aebfbc;border-radius:7px;background:#f8fbfa;cursor:pointer;transition:border-color .14s ease,background .14s ease}.drop-zone:hover,.drop-zone.is-dragging{border-color:var(--teal);background:var(--teal-soft)}.drop-zone strong{font-size:14px}.drop-zone span:not(.upload-icon),.drop-zone small{color:var(--muted);font-size:12px}.upload-icon{width:44px;height:44px;margin-bottom:6px;display:grid;place-items:center;border-radius:7px;color:var(--teal-dark);background:var(--teal-soft)}.selected-file{min-width:0;gap:10px;margin-bottom:12px;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fff}.file-tile,.extension-tile{flex:0 0 auto;display:grid;place-items:center;border-radius:5px;color:var(--teal-dark);background:var(--teal-soft)}.file-tile{width:36px;height:36px}.selected-file-copy{min-width:0;flex:1;display:grid;gap:2px}.selected-file-copy strong,.file-cell strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-file-copy strong{font-size:12px}.selected-file-copy small,.file-cell small{color:var(--muted);font-size:11px}.primary-button,.secondary-button,.policy-button,.icon-button{border:0;cursor:pointer}.primary-button{width:100%;min-height:42px;justify-content:center;gap:8px;border-radius:6px;color:#fff;background:var(--teal);font-weight:720}.primary-button:hover:not(:disabled){background:var(--teal-dark)}.primary-button:disabled{cursor:not-allowed;color:#84918f;background:#dce5e3}.policy-button{width:100%;min-height:40px;gap:9px;margin-top:10px;padding:0 8px;color:var(--muted);background:transparent;font-size:12px}.policy-button span{flex:1;text-align:left}.policy-button:hover{color:var(--teal-dark);background:#f5f8f7}.secondary-button{min-height:34px;padding:0 12px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;font-size:12px;font-weight:680}.secondary-button:hover{border-color:#95aaa6;background:#f8fbfa}.secondary-button.compact{min-height:30px;color:#fff;border-color:#ffffff3d;background:#ffffff14}.secondary-button.compact:hover{border-color:#ffffff61;background:#ffffff21}.icon-button{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:5px;color:inherit;background:transparent}.topbar .icon-button:hover{background:#ffffff17}.icon-button:hover{background:#edf2f1}.danger-icon:hover{color:var(--red);background:var(--red-soft)}.activity{min-width:0;padding-top:2px}.activity-header{align-items:center;margin-bottom:12px}.table-wrap{overflow-x:auto;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:var(--surface)}table{width:100%;min-width:670px;border-collapse:collapse;table-layout:fixed}th,td{padding:12px 14px;border-bottom:1px solid #e7eceb;text-align:left;vertical-align:middle}th{color:var(--muted);background:#f8faf9;font-size:11px;font-weight:720}th:nth-child(1){width:42%}th:nth-child(2){width:23%}th:nth-child(3){width:24%}th:nth-child(4){width:56px}td{color:#46535d;font-size:12px}tbody tr{cursor:pointer;transition:background .12s ease}tbody tr:hover,tbody tr.is-selected{background:#f2f8f7}tbody tr.is-selected td:first-child{box-shadow:inset 3px 0 0 var(--teal)}tbody tr:last-child td{border-bottom:0}.file-cell{min-width:0;gap:10px}.file-cell>span:last-child{min-width:0;display:grid;gap:3px}.file-cell strong{color:var(--ink);font-size:12px}.extension-tile{width:42px;height:36px;font-size:9px;font-weight:800}.stage{width:fit-content;min-height:26px;gap:5px;padding:0 8px;border-radius:5px;font-size:11px;font-weight:700}.stage-quarantined,.stage-processing{color:var(--amber);background:var(--amber-soft)}.stage-ready{color:var(--green);background:var(--green-soft)}.stage-rejected,.stage-failed{color:var(--red);background:var(--red-soft)}.stage-expired{color:#5c6670;background:#e9eeed}.empty-state,.loading-state{min-height:260px;justify-content:center;color:var(--muted);background:#fff;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}.empty-state{display:grid;place-items:center;align-content:center;gap:7px}.empty-state strong{color:var(--ink);font-size:13px}.empty-state span,.loading-state{font-size:12px}.loading-state{gap:8px}.signin-panel{min-height:320px;display:grid;place-items:center;align-content:center;gap:10px;padding:28px;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);color:var(--muted);background:#fff;text-align:center}.signin-panel h2{margin:6px 0 0;color:var(--ink)}.signin-panel p{margin-bottom:8px;font-size:13px}.signin-panel .primary-button{width:fit-content;min-width:140px;padding:0 18px}.transfer-detail{margin-top:34px;padding:24px 0 0;border-top:1px solid var(--line-strong)}.detail-heading{align-items:flex-end;margin-bottom:18px}.detail-heading h2{max-width:700px;overflow-wrap:anywhere}.hash-block{width:min(360px,45%);display:grid;gap:5px}.hash-block span{color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase}.hash-block code{overflow:hidden;padding:8px 10px;border:1px solid var(--line);border-radius:5px;color:#40505a;background:#fff;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.checks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid var(--line);background:var(--line)}.check-row{min-height:72px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 13px;background:#fff}.check-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:50%}.check-passed{color:var(--green);background:var(--green-soft)}.check-pending{color:var(--amber);background:var(--amber-soft)}.check-failed{color:var(--red);background:var(--red-soft)}.check-notapplicable{color:#66727b;background:#edf1f0}.check-copy{min-width:0;display:grid;gap:3px}.check-copy strong{font-size:12px}.check-copy span{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.check-state{padding:4px 6px;border-radius:4px;font-size:9px;font-weight:750;text-transform:uppercase}.check-state-passed{color:var(--green);background:var(--green-soft)}.check-state-pending{color:var(--amber);background:var(--amber-soft)}.check-state-failed{color:var(--red);background:var(--red-soft)}.check-state-notapplicable{color:#66727b;background:#edf1f0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:20px;background:#121c248c}.policy-modal{width:min(660px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;padding:22px;border-radius:8px;background:#fff;box-shadow:0 24px 70px #0000003d}.policy-groups{margin-top:18px;border-top:1px solid var(--line)}.policy-group{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.policy-group h3{margin:4px 0 0}.extension-list{display:flex;flex-wrap:wrap;gap:6px}.extension-list span{min-width:48px;padding:5px 7px;border:1px solid #cfdbd9;border-radius:4px;color:#3f4d56;background:#f7f9f9;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;text-align:center}.policy-note{display:grid;grid-template-columns:22px 1fr;gap:9px;margin-top:18px;padding:12px;border-left:3px solid var(--amber);color:#6f4d18;background:var(--amber-soft);font-size:12px;line-height:1.45}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:920px){.workspace-grid{grid-template-columns:1fr}.upload-tool{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.7fr);gap:0 18px}.section-title-row,.policy-button{grid-column:1 / -1}.drop-zone{grid-row:span 3}.selected-file{align-self:end}}@media(max-width:680px){.topbar{padding:0 16px}.environment{display:none}.page{padding:26px 14px 48px}.heading-stat{display:none}.upload-tool{display:block;padding:16px}.drop-zone{min-height:160px}.activity-header{align-items:flex-end}.detail-heading{display:grid}.hash-block{width:100%}.checks-grid{grid-template-columns:1fr}.check-row{grid-template-columns:30px minmax(0,1fr)}.check-state{grid-column:2;width:fit-content}.policy-group{grid-template-columns:1fr;gap:8px}}.activity-actions{display:flex;align-items:center;gap:8px}.search-field{min-width:190px;height:34px;display:flex;align-items:center;gap:7px;padding:0 9px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:var(--muted)}.search-field input{width:100%;border:0;outline:0;color:var(--ink);background:transparent;font-size:12px}.stage-filter{height:34px;padding:0 8px;border:1px solid var(--line-strong);border-radius:6px;color:var(--ink);background:#fff;font-size:12px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 0;color:var(--muted);font-size:12px}.pagination>div{display:flex;gap:8px}.transfer-detail{position:fixed;z-index:30;top:64px;right:0;width:min(480px,92vw);height:calc(100vh - 64px);margin:0;padding:28px;overflow-y:auto;border:0;border-left:1px solid var(--line);background:var(--surface);box-shadow:-18px 0 48px #18232d24}.detail-heading{position:relative;display:block;margin-bottom:22px;padding-right:42px}.drawer-close{position:absolute;top:-6px;right:-6px}.hash-block{width:100%;margin-top:18px}.checks-grid{grid-template-columns:1fr}@media(max-width:680px){.activity-actions{width:100%;flex-wrap:wrap}.search-field{flex:1 1 180px}.stage-filter{flex:1}.activity-header{display:grid}}.upload-button{position:relative;overflow:hidden}.upload-button-content{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px}.upload-progress{position:absolute;inset:0 auto 0 0;background:#ffffff3b;transition:width .16s ease-out}.upload-button.is-uploading{color:#fff}.status-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:18px}.summary-card{min-height:68px;display:grid;align-content:center;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:7px;color:var(--muted);background:var(--surface);text-align:left;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.summary-card:hover,.summary-card.is-active{border-color:var(--teal);box-shadow:0 4px 14px #0d80781f}.summary-card:active{transform:translateY(1px)}.summary-card strong{color:var(--ink);font-size:22px;line-height:1}.summary-card span{font-size:11px;font-weight:700}.summary-quarantined strong,.summary-processing strong{color:var(--amber)}.summary-ready strong{color:var(--green)}.summary-rejected strong,.summary-failed strong{color:var(--red)}@media(max-width:980px){.status-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:680px){.status-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
