:root { --ink:#162235; --muted:#627084; --line:#dce3eb; --blue:#2458a8; --pale:#edf3ff; --surface:#fff; --bg:#f4f7fb; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:15px/1.45 Inter,Segoe UI,Arial,sans-serif; }
.app-shell { width:min(1120px,calc(100% - 32px)); margin:0 auto; padding:62px 0 48px; }
header { max-width:720px; margin-bottom:30px; }
.eyebrow,.stat-label { margin:0; color:var(--blue); font-size:11px; font-weight:800; letter-spacing:.12em; }
h1 { margin:5px 0 8px; font-size:clamp(32px,5vw,48px); line-height:1.08; letter-spacing:-.035em; }
h2 { margin:0 0 5px; font-size:16px; }.intro,#file-name { margin:0; color:var(--muted); }
.upload-card,.summary-bar,.toolbar,.help,.progress-card,.notice { background:var(--surface); border:1px solid var(--line); border-radius:14px; }
.upload-card { display:flex; gap:20px; align-items:center; justify-content:space-between; padding:22px; margin-bottom:18px; }
input[type=file] { position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; }
.file-button,button { display:inline-flex; align-items:center; justify-content:center; min-height:40px; border:0; border-radius:8px; padding:0 15px; background:var(--blue); color:#fff; font:700 14px inherit; cursor:pointer; white-space:nowrap; }
button:disabled { cursor:not-allowed; opacity:.55; }
button.secondary { background:#e8eef8; color:#234570; }.progress-card { padding:16px 20px; display:flex; align-items:center; gap:12px; }.spinner { width:17px;height:17px;border:2px solid #c3d3ef;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite; }@keyframes spin{to{transform:rotate(360deg)}}
.notice { padding:16px 20px; margin-bottom:18px; }.error { border-color:#efb9b9; color:#8d2020; background:#fff9f9; }.hidden { display:none!important; }
.summary-bar { display:flex; align-items:center; gap:36px; padding:18px 22px; margin:18px 0; }.summary-bar strong { display:block; font-size:24px; }.actions { margin-left:auto; display:flex; gap:8px; }
.toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:12px 16px; margin-bottom:12px; color:var(--muted); }.toolbar label { font-weight:700; color:var(--ink); }.toolbar input { margin-left:8px; width:270px; max-width:50vw; padding:8px 10px; border:1px solid var(--line); border-radius:7px; font:inherit; }
.table-wrap { overflow:auto; border:1px solid var(--line); border-radius:12px; background:#fff; }table { border-collapse:collapse; width:100%; }th,td { padding:12px 16px; text-align:left; border-bottom:1px solid var(--line); }th { position:sticky; top:0; background:#f7f9fc; font-size:12px; letter-spacing:.04em; text-transform:uppercase; }tbody tr:last-child td { border-bottom:0; }tbody tr:hover { background:#f6f9ff; }.number { text-align:right; font-variant-numeric:tabular-nums; }.help { margin-top:30px; padding:20px 22px; }.help p { margin:0; color:var(--muted); }
@media(max-width:650px){.app-shell{width:min(100% - 20px,1120px);padding-top:34px}.upload-card,.summary-bar,.toolbar{align-items:flex-start;flex-direction:column}.actions{margin-left:0}.toolbar input{width:100%;max-width:100%;display:block;margin:5px 0 0}.summary-bar{gap:15px;width:100%}}
/* Portal SKS: superficie azul verdosa, texto claro y acento turquesa */
:root{color-scheme:dark;--ink:#edf7f5;--muted:#a2b7bd;--line:#29434e;--blue:#67d3b9;--pale:#132a36;--surface:#0e202b;--bg:#07121a}
body{background:var(--bg);color:var(--ink)}.app-shell{padding-top:48px}header{border-bottom:1px solid var(--line);padding-bottom:20px}
.eyebrow,.stat-label{color:#67d3b9}.intro,#file-name{color:var(--muted)}
.upload-card,.summary-bar,.toolbar,.help,.progress-card,.notice{background:var(--surface);border-color:var(--line);color:var(--ink)}
.file-button,button{background:#67d3b9;color:#071b19}.file-button:hover,button:hover:not(:disabled){background:#82e1ca}
button.secondary{background:#132a36;color:#edf7f5;border:1px solid #45636c}.toolbar input{background:#07121a;border-color:#45636c;color:#edf7f5}
.table-wrap{background:#0e202b;border-color:var(--line)}th{background:#132a36;color:#c6d9d7}td,th{border-color:#29434e}tbody tr:hover{background:#132a36}
.error{background:#351f25;border-color:#7d4448;color:#ffc1bd}.spinner{border-color:#35535a;border-top-color:#67d3b9}
button:focus-visible,input:focus-visible{outline:3px solid #67d3b9;outline-offset:3px}
.sks-brand{display:flex;align-items:center;gap:10px;width:max-content;margin:0 0 24px;color:var(--ink)}.sks-brand>span{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:10px;background:#67d3b9;color:#071b19;font-size:24px;font-weight:800}.sks-brand>div{line-height:1.2}.sks-brand strong,.sks-brand small{display:block}.sks-brand strong{font-size:15px;letter-spacing:.04em}.sks-brand small{margin-top:3px;font-size:9px;letter-spacing:.15em;color:#a2b7bd}
