@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600;700&display=swap');

:root{
  --ink:#1E2A38; --ink-soft:#3A4756; --paper:#FAF9F6; --paper-raised:#FFFFFF;
  --line:#E4E0D8; --line-strong:#CFC9BC; --muted:#6B6459;
  --sello-red:#9B2226; --sello-red-bg:#F6E9E9;
  --sello-green:#2F5233; --sello-green-bg:#E9EFE7;
  --focus:#2657A6;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{background:var(--paper); color:var(--ink); font-family:'Inter',sans-serif; min-height:100vh;}
.wrap{max-width:960px; margin:0 auto; padding:32px 24px 64px;}
header.top{display:flex; align-items:baseline; justify-content:space-between; border-bottom:2px solid var(--ink); padding-bottom:14px; margin-bottom:28px; flex-wrap:wrap; gap:8px;}
header.top .brand{font-family:'Source Serif 4',serif; font-weight:700; font-size:26px;}
header.top .brand small{display:block; font-family:'Inter',sans-serif; font-weight:500; font-size:11.5px; letter-spacing:1.6px; text-transform:uppercase; color:var(--muted); margin-top:2px;}
header.top .meta{font-size:12px; color:var(--muted);}
header.top .meta a{color:var(--ink-soft); text-decoration:none; font-weight:600;}
nav.tabs{display:flex; gap:2px;}
nav.tabs a{font-family:'Inter',sans-serif; font-weight:600; font-size:14px; padding:11px 20px; border:1px solid var(--line-strong); border-bottom:none; background:#F1EEE7; color:var(--muted); text-decoration:none; border-radius:6px 6px 0 0; position:relative; top:1px;}
nav.tabs a.active{background:var(--paper-raised); color:var(--ink);}
main.panel{background:var(--paper-raised); border:1px solid var(--line-strong); border-radius:0 8px 8px 8px; padding:32px; box-shadow:0 1px 3px rgba(30,42,56,0.05);}
h2.section-title{font-family:'Source Serif 4',serif; font-weight:600; font-size:20px; margin:0 0 4px;}
p.section-sub{font-size:13.5px; color:var(--muted); margin:0 0 24px;}
.field label{display:block; font-size:12.5px; font-weight:600; text-transform:uppercase; letter-spacing:0.6px; color:var(--ink-soft); margin-bottom:7px;}
.field input{width:100%; font-family:'Inter',sans-serif; font-size:15px; padding:10px 12px; border:1.5px solid var(--line-strong); border-radius:6px; background:var(--paper); color:var(--ink);}
.field input:focus{outline:2px solid var(--focus); outline-offset:1px; border-color:var(--focus);}
.field .hint{font-size:11.5px; color:var(--muted); margin-top:5px;}
button.primary{font-family:'Inter',sans-serif; font-weight:700; font-size:14.5px; padding:12px 22px; background:var(--ink); color:#fff; border:none; border-radius:6px; cursor:pointer;}
button.primary:hover{background:#0f1822;}
.banner{font-size:13.5px; padding:10px 14px; border-radius:6px; margin-bottom:18px; display:none;}
.banner.show{display:block;}
.banner.ok{background:var(--sello-green-bg); color:var(--sello-green); border:1px solid #c7d6c2;}
.banner.err{background:var(--sello-red-bg); color:var(--sello-red); border:1px solid #ddb9ba;}
.toolbar{display:flex; gap:12px; align-items:center; margin-bottom:20px; flex-wrap:wrap;}
.toolbar input[type="search"]{flex:1; min-width:180px; font-family:'Inter',sans-serif; font-size:14px; padding:9px 12px; border:1.5px solid var(--line-strong); border-radius:6px; background:var(--paper);}
.filter-group{display:flex; gap:4px;}
.filter-group button{font-family:'Inter',sans-serif; font-size:13px; font-weight:600; padding:8px 14px; border:1.5px solid var(--line-strong); background:var(--paper); color:var(--muted); border-radius:6px; cursor:pointer;}
.filter-group button.active{background:var(--ink); color:#fff; border-color:var(--ink);}
table.legajos{width:100%; border-collapse:collapse; font-size:14px;}
table.legajos thead th{text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:0.7px; color:var(--muted); font-weight:600; padding:0 10px 10px; border-bottom:1.5px solid var(--ink);}
table.legajos tbody tr{border-bottom:1px solid var(--line);}
table.legajos tbody tr:hover{background:#FBFAF7;}
table.legajos td{padding:14px 10px; vertical-align:middle;}
.plate{display:inline-block; font-family:'IBM Plex Mono',monospace; font-weight:700; font-size:14px; letter-spacing:1.5px; padding:5px 10px 4px; border:1.5px solid var(--ink); border-radius:4px; background:#fff;}
.registro-dest{color:var(--ink-soft);}
.sello{display:inline-flex; flex-direction:column; gap:2px; font-size:11.5px; font-weight:700; letter-spacing:0.6px; text-transform:uppercase; padding:5px 10px; border-radius:4px;}
.sello.pendiente{background:var(--sello-red-bg); color:var(--sello-red); border:1px solid #ddb9ba;}
.sello.enviado{background:var(--sello-green-bg); color:var(--sello-green); border:1px solid #c7d6c2;}
.sello-detail{font-size:11px; font-weight:500; text-transform:none; letter-spacing:0; color:var(--muted);}
.actions{display:flex; gap:8px; align-items:center; justify-content:flex-end;}
.btn-sm{font-family:'Inter',sans-serif; font-size:12.5px; font-weight:600; padding:7px 12px; border-radius:5px; cursor:pointer; border:1.5px solid var(--line-strong); background:var(--paper); color:var(--ink-soft);}
.btn-sm.mark{background:var(--ink); color:#fff; border-color:var(--ink);}
.btn-sm.del{color:var(--sello-red); border-color:#ddb9ba;}
.mini-row{display:none;}
.mini-row.show{display:table-row;}
.mini-form{display:flex; gap:8px; flex-wrap:wrap; align-items:flex-end; background:#F6F4EF; padding:12px; border-radius:6px;}
.mini-form .field{margin:0;}
.mini-form input{font-size:13px; padding:7px 9px; border:1.5px solid var(--line-strong); border-radius:5px;}
.mini-form label{font-size:10.5px; font-weight:600; text-transform:uppercase; color:var(--muted); display:block; margin-bottom:4px;}
.empty-state{text-align:center; padding:56px 20px; color:var(--muted);}
.empty-state .stamp{font-family:'Source Serif 4',serif; font-size:18px; color:var(--ink-soft); margin-bottom:6px;}
.count-tag{font-size:12px; color:var(--muted); margin-bottom:14px;}
