:root{
  --bg:#fffafa;
  --panel:#ffffff;
  --ink:#21191b;
  --muted:#6f7483;
  --line:#f0d8d8;
  --side:#17191d;
  --side2:#2a0f12;
  --blue:#7b1e20;
  --green:#d31522;
  --amber:#f59e0b;
  --red:#d31522;
  --brand-red:#d31522;
  --brand-red-dark:#7b1e20;
  --brand-black:#17191d;
  --brand-soft:#fff1f1;
  --radius:20px;
  --shadow:0 18px 45px rgba(32,20,20,.10)
}
*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);font-weight:400}
a{text-decoration:none;color:inherit}.layout{display:flex;min-height:100vh}.sidebar{width:270px;background:linear-gradient(180deg,var(--side),var(--side2));color:#dbe7ff;padding:22px 16px;position:fixed;inset:0 auto 0 0;overflow:auto}.brand{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding:8px}.brand-mark{width:42px;height:42px;border-radius:14px;background:#fff;color:var(--blue);display:grid;place-items:center;font-weight:600}.brand strong{display:block;color:white;font-size:16px}.brand small{display:block;color:#b7c5dd;font-size:12px;margin-top:3px}.sidebar a{display:flex;align-items:center;gap:10px;padding:12px 13px;border-radius:14px;color:#d8e3f7;font-size:14px;margin:3px 0}.sidebar a:hover,.sidebar a.active{background:rgba(255,255,255,.12);color:#fff}.main{margin-left:270px;width:calc(100% - 270px)}.topbar{height:92px;display:flex;align-items:center;gap:16px;padding:0 30px;border-bottom:1px solid var(--line);background:rgba(246,247,251,.82);backdrop-filter:blur(12px);position:sticky;top:0;z-index:4}.topbar h1{font-size:24px;font-weight:600;margin:0}.eyebrow{font-size:12px;color:var(--muted);margin-bottom:4px}.menu-btn{display:none;border:0;background:white;border-radius:12px;padding:10px 12px;box-shadow:var(--shadow)}.content{padding:28px;max-width:1500px;margin:0 auto}.grid{display:grid;gap:18px}.grid.cards{grid-template-columns:repeat(4,minmax(160px,1fr))}.grid.two{grid-template-columns:1fr 1fr}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.kpi .label{color:var(--muted);font-size:13px}.kpi .value{font-size:30px;font-weight:600;margin-top:6px}.toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap}.btn{border:0;border-radius:14px;padding:11px 15px;background:var(--blue);color:#fff;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.btn.secondary{background:#eef4ff;color:#174ea6}.btn.green{background:var(--green)}.btn.light{background:#fff;color:var(--ink);border:1px solid var(--line)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 13px;background:#fff;font:inherit;color:var(--ink);outline:none}textarea{min-height:110px;resize:vertical}label{display:block;font-size:13px;color:#344054;margin-bottom:7px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.form-grid.two{grid-template-columns:repeat(2,1fr)}.full{grid-column:1/-1}.table-wrap{overflow:auto;border-radius:16px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:14px;vertical-align:middle}th{font-size:12px;color:var(--muted);font-weight:500;background:#fafafa}.status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:500}.ok{background:#dcfce7;color:#166534}.warn{background:#fef3c7;color:#92400e}.bad{background:#fee2e2;color:#991b1b}.muted{color:var(--muted)}.avatar{width:42px;height:42px;border-radius:14px;object-fit:cover;background:#eef2ff}.steps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.step{background:#eef4ff;color:#174ea6;border-radius:999px;padding:8px 11px;font-size:12px}.notice{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;padding:14px;border-radius:16px;margin-bottom:16px}.scan-box{text-align:center;padding:34px}.scan-result{font-size:22px;font-weight:600;margin-top:12px}.pill-code{font-family:ui-monospace,Menlo,monospace;background:#f1f5f9;border-radius:10px;padding:6px 8px;font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap}.danger-text{color:var(--red)}
@media(max-width:980px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar-open .sidebar{transform:translateX(0);z-index:9}.main{margin-left:0;width:100%}.menu-btn{display:block}.grid.cards,.grid.two,.form-grid,.form-grid.two{grid-template-columns:1fr}.topbar{padding:0 18px}.content{padding:18px}.toolbar{align-items:stretch}.toolbar>*{width:100%}}
.profile-photo{width:78px;height:78px;border-radius:24px;object-fit:cover;background:#eef2ff;border:1px solid var(--line)}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.tabs a{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 13px;color:#344054;font-size:13px;box-shadow:0 6px 16px rgba(16,24,40,.05)}
.wizard-form h2{margin-top:28px;font-size:18px;font-weight:600}.wizard-form h2:first-of-type{margin-top:0}
.profile-head{background:linear-gradient(135deg,#ffffff,#eef4ff)}
.public-body{background:linear-gradient(135deg,#eef4ff 0%,#f8fafc 45%,#ecfdf5 100%);min-height:100vh}.public-shell{width:min(1120px,calc(100% - 28px));margin:0 auto;padding:34px 0 48px}.public-hero{background:linear-gradient(135deg,#172033,#2563eb);color:white;border-radius:28px;padding:30px;margin-bottom:18px;box-shadow:var(--shadow)}.public-hero h1{font-size:clamp(28px,5vw,46px);line-height:1.04;margin:10px 0 12px;font-weight:600}.public-hero p{max-width:720px;color:#dbeafe;font-size:16px;line-height:1.6}.public-badge{display:inline-flex;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:8px 12px;font-size:13px}.public-form{padding:26px}.public-form h2{border-top:1px solid var(--line);padding-top:22px}.public-form h2:first-child{border-top:0;padding-top:0}.responsibility-box{margin-top:22px;background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:16px}.checkline{display:flex;gap:10px;align-items:flex-start;line-height:1.5;color:#344054}.checkline input{width:auto;margin-top:3px}.public-actions{margin-top:20px}.bad-notice{background:#fee2e2;border-color:#fecaca;color:#991b1b}.thank-shell{display:grid;min-height:100vh;place-items:center}.thanks-card{text-align:center;max-width:620px}.thanks-icon{width:70px;height:70px;border-radius:24px;background:#dcfce7;color:#166534;display:grid;place-items:center;font-size:36px;margin:0 auto 16px}.thanks-card h1{font-weight:600;margin:0 0 10px}.thanks-card p{color:var(--muted);line-height:1.6}.thanks-card .btn{margin-top:18px}
@media(max-width:720px){.public-shell{width:min(100% - 18px,1120px);padding:12px 0 28px}.public-hero{border-radius:22px;padding:22px}.public-form{padding:18px}.public-actions .btn{width:100%;justify-content:center}}
/* Ficha pública tipo matrícula */
.ficha-public-body{background:linear-gradient(135deg,#eefcf9 0%,#f7fbff 48%,#e6f7f2 100%);min-height:100vh;color:#12313a}
.ficha-shell{width:min(1120px,calc(100% - 22px));margin:0 auto;padding:18px 0 36px}
.ficha-card{background:rgba(255,255,255,.78);border:1px solid #cfe7e2;border-radius:22px;box-shadow:0 18px 45px rgba(15,75,86,.14);padding:18px;backdrop-filter:blur(12px)}
.ficha-header{display:flex;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#eafaf6,#eff7ff);border:1px solid #cfe7e2;border-radius:20px;padding:18px;margin-bottom:14px}
.ficha-header h1{margin:7px 0 5px;font-size:24px;font-weight:600;color:#083b42}.ficha-header p{margin:0;color:#517078;font-size:13px}.mini-badge{display:inline-flex;border-radius:999px;background:#d9f8ef;color:#067a6e;padding:6px 10px;font-size:12px;font-weight:600}
.photo-box{width:150px;display:grid;gap:8px;justify-items:center}.photo-preview{width:90px;height:90px;border-radius:18px;background:#079c8f;color:#fff;display:grid;place-items:center;font-size:30px;font-weight:600;overflow:hidden}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-box small{font-size:10px;color:#607780;text-align:center}.btn-file{cursor:pointer;background:#0b9f91;color:#fff;border-radius:999px;padding:8px 12px;font-size:12px;margin:0;display:inline-flex}.btn-file input{display:none}
.progress-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;font-size:12px;color:#31565d;margin:10px 0 14px}.progress-row div{height:7px;background:#d8ebe8;border-radius:99px;overflow:hidden}.progress-row i{display:block;height:100%;width:0;background:#0b9f91;transition:.2s}
.ficha-section{background:rgba(255,255,255,.9);border:1px solid #cfe7e2;border-radius:18px;padding:15px;margin-bottom:12px}.ficha-section h2{font-size:14px;margin:0 0 12px;color:#07505b;font-weight:600}.ficha-grid{display:grid;gap:11px}.ficha-grid.two{grid-template-columns:repeat(2,1fr)}.ficha-grid.three{grid-template-columns:repeat(3,1fr)}.ficha-grid.four{grid-template-columns:repeat(4,1fr)}.ficha-grid .span3{grid-column:span 3}.ficha-section label{font-size:11px;text-transform:uppercase;letter-spacing:.02em;color:#375b62;margin-bottom:5px}.ficha-section input,.ficha-section select,.ficha-section textarea{border-color:#bddbd5;border-radius:9px;padding:9px 10px;background:#fbfffe;font-size:13px}.ficha-section textarea{min-height:84px}.ficha-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.commit-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.commit-text{background:#eafbf7;border:1px solid #bce6de;border-radius:14px;padding:14px;font-size:12px;color:#2e5960;line-height:1.45}.commit-text strong{display:block;color:#053f47;margin-bottom:8px}.commit-text ol{padding-left:18px}.ficha-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:10px}.ficha-footer span{color:#607780;font-size:12px}.compact-grid small{display:block;color:#667085;font-size:11px;margin-bottom:4px}.compact-grid strong{font-size:13px;font-weight:500;color:#101828}.solicitud-card{margin-bottom:16px}.solicitud-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:16px}.solicitud-alumno{display:flex;gap:14px;align-items:center}.avatar.big{width:68px;height:68px;border-radius:20px}.avatar.placeholder{display:grid;place-items:center;background:#e0f2fe;color:#075985;font-weight:600}.solicitud-card h2{margin:6px 0 4px;font-size:21px}.mini-panel{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fbfdff}.mini-panel h3{font-size:13px;font-weight:600;margin:0 0 8px}.mini-panel p{font-size:13px;color:#475467;line-height:1.5;margin:0}.mt16{margin-top:16px}.approve-box{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}hr{border:0;border-top:1px solid #d8ebe8;margin:14px 0}
@media(max-width:820px){.ficha-header,.ficha-columns,.commit-grid{grid-template-columns:1fr;display:grid}.photo-box{width:100%;justify-items:start}.ficha-grid.two,.ficha-grid.three,.ficha-grid.four{grid-template-columns:1fr}.ficha-grid .span3{grid-column:auto}.ficha-footer,.solicitud-head{align-items:stretch;flex-direction:column}.ficha-card{padding:12px}.ficha-section{padding:12px}}


/* =========================================================
   Tema 3F Sport Chile / Colo Colo - sistema completo
   ========================================================= */
body{
  background:
    radial-gradient(circle at top left, rgba(211,21,34,.08), transparent 30%),
    linear-gradient(135deg,#ffffff 0%,#fff8f8 46%,#f7f7f8 100%);
  color:var(--ink);
}
.layout{background:transparent;}
.sidebar{
  width:286px;
  background:
    radial-gradient(circle at 20% 0%, rgba(211,21,34,.22), transparent 28%),
    linear-gradient(180deg,#17191d 0%,#231012 52%,#161719 100%);
  color:#fff;
  padding:16px 12px 18px;
  border-right:1px solid rgba(255,255,255,.08);
  box-shadow:18px 0 48px rgba(23,25,29,.16);
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.25) transparent;
}
.sidebar::-webkit-scrollbar{width:7px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:99px}
.main{margin-left:286px;width:calc(100% - 286px)}
.brand{
  margin:0 0 14px;
  padding:14px;
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,241,241,.92));
  color:var(--brand-black);
  border:1px solid rgba(255,255,255,.42);
  box-shadow:0 18px 35px rgba(0,0,0,.18);
}
.brand-mark{
  width:48px;height:48px;border-radius:17px;
  background:linear-gradient(135deg,#ffffff,#fff1f1);
  color:var(--brand-red);
  border:1px solid rgba(211,21,34,.18);
  box-shadow:0 10px 25px rgba(211,21,34,.16);
  font-size:15px;
  font-weight:700;
}
.brand strong{color:#191b1f;font-size:18px;font-weight:700;letter-spacing:-.03em}.brand small{color:#6b7280;font-size:12px}
.sidebar-group{
  margin:10px 0;
  padding:8px;
  border-radius:21px;
  background:rgba(255,255,255,.065);
  border:1px solid rgba(255,255,255,.105);
}
.sidebar-title{
  display:flex;align-items:center;gap:9px;
  padding:7px 7px 10px;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:11px;
  font-weight:700;
}
.sidebar-title span{width:24px;height:24px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.12)}
.sidebar-title strong{flex:1;font-size:11px}.sidebar-title em{font-style:normal;min-width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:rgba(211,21,34,.18);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:12px}
.sidebar a{
  display:flex;align-items:center;gap:10px;
  padding:11px 12px;
  margin:4px 0;
  border-radius:15px;
  color:#f3f4f6;
  font-size:14px;
  font-weight:500;
  line-height:1.2;
  border:1px solid transparent;
}
.sidebar a span{width:27px;height:27px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.10);font-size:14px;flex:0 0 auto}
.sidebar a:hover{
  background:rgba(255,255,255,.13);
  border-color:rgba(255,255,255,.16);
  color:#fff;
}
.sidebar a.active{
  background:linear-gradient(135deg,#d31522,#8f151b);
  color:#fff;
  box-shadow:0 12px 28px rgba(211,21,34,.28);
  border-color:rgba(255,255,255,.18);
}
.sidebar a.active span{background:rgba(255,255,255,.20)}
.topbar{
  height:84px;
  background:rgba(255,250,250,.86);
  border-bottom:1px solid var(--line);
  box-shadow:0 8px 28px rgba(123,30,32,.05);
}
.topbar h1{color:var(--brand-black);font-weight:700;letter-spacing:-.03em}.eyebrow{color:var(--brand-red-dark);font-weight:600}.content{max-width:1600px}.card,.ficha-section,.public-form,.mini-panel{
  border-color:var(--line);
  box-shadow:var(--shadow);
}
.card{background:rgba(255,255,255,.94)}
.btn{background:linear-gradient(135deg,var(--brand-red),var(--brand-red-dark));box-shadow:0 10px 22px rgba(211,21,34,.16)}
.btn.green{background:linear-gradient(135deg,#d31522,#7b1e20)}
.btn.secondary{background:#fff1f1;color:var(--brand-red-dark);border:1px solid #ffd1d1;box-shadow:none}.btn.light{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:none}
input,select,textarea{border-color:#e8caca;background:#fffefe;border-radius:14px}input:focus,select:focus,textarea:focus{border-color:#d31522;box-shadow:0 0 0 4px rgba(211,21,34,.09)}
th{background:#fff5f5;color:#7b1e20;font-weight:700}.table-wrap{border-color:var(--line)}
.ok{background:#eefdf3;color:#166534}.warn{background:#fff7df;color:#92400e}.bad{background:#fff1f1;color:#9f1239}.notice{background:#fff5f5;border-color:#ffd1d1;color:#7b1e20}
.public-body,.ficha-public-body{background:linear-gradient(135deg,#fffafa 0%,#ffffff 46%,#fff1f1 100%)}
.public-hero{background:linear-gradient(135deg,#17191d,#7b1e20 58%,#d31522)}
.public-badge,.mini-badge{background:#fff1f1;color:#a1121b;border:1px solid #ffc9c9}
.ficha-card{border-color:#f0d8d8;box-shadow:0 18px 45px rgba(123,30,32,.12)}
.ficha-header{background:linear-gradient(135deg,#ffffff,#fff1f1);border-color:#f0d8d8}.ficha-header h1,.ficha-section h2{color:#7b1e20}.ficha-header p,.ficha-footer span{color:#6f7483}
.selected-school-box{border-color:rgba(211,21,34,.25)!important;background:linear-gradient(135deg,#fff,#fff1f1)!important}.selected-school-box span{color:#a1121b!important}.selected-school-logo{border-color:rgba(211,21,34,.24)!important}
.photo-preview{background:linear-gradient(135deg,#d31522,#17191d)}.btn-file{background:#d31522}.progress-row div{background:#f3dede}.progress-row i{background:#d31522}.commit-text{background:#fff5f5;border-color:#f0d8d8;color:#5f3739}.commit-text strong{color:#7b1e20}hr{border-top-color:#f0d8d8}
@media(max-width:980px){.sidebar{width:286px;transform:translateX(-102%)}.sidebar-open .sidebar{transform:translateX(0);z-index:9}.main{margin-left:0;width:100%}.topbar{height:74px}}
