*{box-sizing:border-box}
:root{
 --bg:#0b0e0c;--panel:#121713;--panel2:#171d18;--line:#283127;--text:#ece9df;--muted:#8f9b8d;
 --olive:#8e9a64;--gold:#b7a269;--green:#4ea96a;--red:#c55757;--yellow:#c7a64f;--blue:#6f8fb4;
}
html,body{margin:0;background:radial-gradient(circle at 85% 0%,#1b2119 0,#0b0e0c 34%,#080a09 100%);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;min-height:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;padding:22px 16px;border-right:1px solid var(--line);background:linear-gradient(180deg,rgba(10,13,11,.98),rgba(10,13,11,.94));display:flex;flex-direction:column}
.brand{display:flex;gap:12px;align-items:center;padding:8px 8px 26px}
.brand-logo-wrap{width:60px;height:60px;display:grid;place-items:center;flex:0 0 auto}.brand-logo{width:60px;height:60px;object-fit:contain;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}
.brand strong{display:block;letter-spacing:.06em}.brand span{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.nav{display:flex;flex-direction:column;gap:6px}
.nav a{display:flex;gap:12px;align-items:center;padding:11px 12px;border-radius:8px;color:#bcc4b9;font-size:14px;border:1px solid transparent}
.nav a:hover{background:#151a16;color:white}.nav a.active{background:#1d241c;border-color:#35402f;color:#f3f0e7;box-shadow:inset 3px 0 0 var(--gold)}
.nav-section{font-size:10px;color:#667062;letter-spacing:.14em;margin:24px 12px 5px}
.sidebar-user{margin-top:auto;border-top:1px solid var(--line);padding:16px 6px 0;display:grid;grid-template-columns:36px 1fr 26px;gap:9px;align-items:center}
.avatar{width:36px;height:36px;border-radius:50%;background:#293128;display:grid;place-items:center;font-weight:800;color:var(--gold)}
.sidebar-user strong{display:block;font-size:13px}.sidebar-user span{color:var(--muted);font-size:10px;letter-spacing:.1em}.logout{color:var(--muted);font-size:20px}
.main{padding:28px 34px 50px;min-width:0}
.topbar{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:26px}
.eyebrow{margin:0 0 5px;color:var(--gold);font-size:10px;letter-spacing:.22em;font-weight:800}.topbar h1{margin:0;font-size:28px;letter-spacing:-.02em}
.topbar-pill{border:1px solid #344231;background:#121812;color:#6dba78;border-radius:99px;padding:8px 12px;font-size:10px;letter-spacing:.1em}
.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}
.card{background:linear-gradient(180deg,rgba(23,29,24,.96),rgba(16,21,17,.96));border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.stat{padding:18px}.stat .label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.11em}.stat .number{font-size:34px;font-weight:800;margin-top:8px}.stat .hint{font-size:11px;color:#7e897b;margin-top:4px}
.content-grid{grid-template-columns:2fr 1fr}.card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}
.card-header h2{font-size:14px;margin:0;letter-spacing:.04em}.card-body{padding:18px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #4a5545;background:#20281f;color:#f0ede5;padding:9px 12px;border-radius:7px;font-weight:700;font-size:12px;cursor:pointer}
.btn:hover{filter:brightness(1.12)}.btn-primary{background:var(--gold);border-color:var(--gold);color:#11130f}.btn-danger{background:#331c1c;border-color:#633333;color:#f1b5b5}.btn-ghost{background:transparent}
table{width:100%;border-collapse:collapse}.table-wrap{overflow:auto}
th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #242c23;font-size:13px;white-space:nowrap}th{font-size:10px;color:#788274;letter-spacing:.1em;text-transform:uppercase}
tr:hover td{background:rgba(255,255,255,.015)}
.callsign{font-weight:800;color:#f2efe7}.subtext{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.05em;border:1px solid}
.badge-success{color:#7fd58d;border-color:#315b39;background:#112817}.badge-warning{color:#d8bd65;border-color:#635624;background:#2b2510}.badge-danger{color:#dd7a7a;border-color:#663333;background:#2f1717}.badge-command{color:#d9c17a;border-color:#746334;background:#2d2818}.badge-muted{color:#9da69a;border-color:#3b4339;background:#1b201b}
.form-card{max-width:1050px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}
label{font-size:10px;color:#9aa496;letter-spacing:.1em;text-transform:uppercase;font-weight:800}
input,select,textarea{width:100%;background:#0c100d;border:1px solid #303a2e;color:#f1efe8;border-radius:7px;padding:11px 12px;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(183,162,105,.1)}textarea{min-height:110px;resize:vertical}
.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.filters{display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:10px;margin-bottom:14px}
.member-hero{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:22px}.member-name{display:flex;align-items:center;gap:14px}
.member-avatar{width:58px;height:58px;border:1px solid var(--gold);display:grid;place-items:center;font-size:24px;font-weight:900;color:var(--gold);background:#1f251e}
.member-name h2{margin:0;font-size:24px}.meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.member-actions{display:flex;gap:8px}
.tabs-grid{grid-template-columns:1.1fr 1fr;margin-top:16px}.list{display:flex;flex-direction:column;gap:8px}.list-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border:1px solid #293228;background:#0d110e;border-radius:8px}
.list-item strong{font-size:12px}.list-item small{display:block;color:var(--muted);margin-top:3px}
.inline-form{display:flex;gap:7px;align-items:center}.inline-form select,.inline-form input{padding:7px 8px;font-size:12px}
.timeline{display:flex;flex-direction:column}.timeline-item{border-left:2px solid #343e32;padding:0 0 17px 14px;position:relative}.timeline-item:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold);position:absolute;left:-5px;top:3px}.timeline-item strong{font-size:12px}.timeline-item p{margin:5px 0 0;color:var(--muted);font-size:12px}
.alert{padding:11px 13px;border-radius:8px;margin-bottom:14px;border:1px solid;font-size:13px}.alert-success{background:#112517;border-color:#31583a;color:#8cd29a}.alert-error{background:#2b1717;border-color:#633333;color:#e49a9a}.alert-warning{background:#2a2411;border-color:#5e5226;color:#d9c273}
.empty{padding:28px;text-align:center;color:var(--muted);font-size:13px}
.login-page{min-height:100vh;display:grid;place-items:center;padding:20px}.login-box{width:min(430px,100%);background:#101511;border:1px solid #30392e;border-radius:14px;padding:28px;box-shadow:0 20px 80px rgba(0,0,0,.4)}
.login-brand{text-align:center;margin-bottom:24px}.login-logo{width:120px;max-width:45vw;height:auto;display:block;margin:0 auto 14px;filter:drop-shadow(0 10px 24px rgba(0,0,0,.42))}.login-brand h1{margin:0;font-size:22px}.login-brand p{color:var(--muted);font-size:12px}
.login-box .field{margin-bottom:14px}.login-box .btn{width:100%;margin-top:8px}
.muted{color:var(--muted)}.right{text-align:right}.actions-row{display:flex;gap:8px;align-items:center;justify-content:flex-end}
.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.kpi-accent{color:var(--gold)}
@media(max-width:1000px){.stats{grid-template-columns:repeat(2,1fr)}.content-grid,.tabs-grid,.catalog-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.filters>*:first-child{grid-column:1/-1}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line)}.nav{display:grid;grid-template-columns:1fr 1fr}.nav-section,.sidebar-user{grid-column:1/-1}.main{padding:22px 16px}.topbar-pill{display:none}.stats,.form-grid,.filters{grid-template-columns:1fr}.member-hero{grid-template-columns:1fr}.member-actions{justify-content:flex-start;flex-wrap:wrap}}

.progress{height:8px;border-radius:999px;background:#090c0a;border:1px solid #293229;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--olive),var(--gold));border-radius:999px}.progress-large{height:13px}
.recruit-steps{display:flex;flex-direction:column}.recruit-step{display:grid;grid-template-columns:42px minmax(0,1fr) minmax(180px,.65fr);gap:14px;align-items:center;padding:15px 18px;border-top:1px solid var(--line)}.recruit-step:first-child{border-top:0}.recruit-step.done{background:rgba(78,169,106,.045)}.step-check input{width:20px;height:20px;accent-color:var(--gold)}.step-main strong{font-size:13px}.step-main p{font-size:12px;color:var(--muted);margin:5px 0}.step-main small{font-size:10px;color:#778174}.required-mark{display:inline-block;margin-left:7px;font-size:8px;letter-spacing:.1em;padding:3px 5px;border:1px solid #6b5b2c;color:#d7ba63;border-radius:4px}.step-note input{padding:9px;font-size:12px}
@media(max-width:760px){.recruit-step{grid-template-columns:34px 1fr}.step-note{grid-column:2}.step-note input{width:100%}}


/* V4 · Gestión interna */
.long-text{line-height:1.65;color:#d7d9d2;white-space:normal}
.notice-list{display:flex;flex-direction:column;gap:12px}.notice-card{border:1px solid #30392e;background:#0d110e;border-radius:10px;padding:14px 15px}.notice-card h3{margin:10px 0 7px;font-size:15px}.notice-card p{margin:0;color:#bdc4b9;font-size:13px;line-height:1.55;white-space:normal}.notice-head,.notice-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.notice-head>div{display:flex;gap:6px;flex-wrap:wrap}.notice-footer{border-top:1px solid #252d24;margin-top:12px;padding-top:10px;color:var(--muted)}.notice-inactive{opacity:.55}.compact-notices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.check-row{display:flex;align-items:center;gap:8px;color:#b8c0b4;font-size:12px;text-transform:none;letter-spacing:0}.check-row input{width:auto}.compact-filters{grid-template-columns:2fr 1fr auto}
@media(max-width:900px){.compact-notices{grid-template-columns:1fr}.compact-filters{grid-template-columns:1fr}}


/* V5 · Estadísticas, alertas, condecoraciones y documentación */
.alert-center{display:flex;flex-direction:column;gap:9px}.auto-alert{display:grid;grid-template-columns:38px 1fr 24px;align-items:center;gap:12px;padding:13px 14px;border:1px solid #30392e;border-radius:9px;background:#0d110e}.auto-alert:hover{background:#131814}.auto-alert-danger{border-left:3px solid var(--red)}.auto-alert-warning{border-left:3px solid var(--yellow)}.auto-alert-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#20261f;font-weight:900;color:var(--gold)}.auto-alert-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.auto-alert strong{font-size:13px}.auto-alert p{margin:4px 0 0;color:var(--muted);font-size:11px}.auto-alert-arrow{color:var(--muted);font-size:18px}.compact-alerts .auto-alert{padding:10px 12px}.good-empty{color:#82c88d}
.bar-list{display:flex;flex-direction:column;gap:15px}.bar-row{display:flex;flex-direction:column;gap:6px}.bar-label{display:flex;justify-content:space-between;gap:10px;font-size:12px}.bar-label strong{color:var(--gold)}.bar-track{height:9px;background:#090c0a;border:1px solid #293229;border-radius:999px;overflow:hidden}.bar-track span{display:block;height:100%;background:linear-gradient(90deg,var(--olive),var(--gold));border-radius:999px}.month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.month-stat{border:1px solid #293228;background:#0d110e;border-radius:9px;padding:13px}.month-stat>strong{font-size:12px}.month-rate{font-size:25px;font-weight:800;margin:8px 0}.month-stat small{display:block;color:var(--muted);font-size:10px;margin-top:7px}
.award-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.award-card{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:center;border:1px solid #3a3524;background:linear-gradient(135deg,#151610,#10130f);border-radius:10px;padding:13px}.award-card:hover{border-color:#675d36}.award-medal{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#2b2719;border:1px solid #766638;color:#dec16e;font-size:24px;box-shadow:inset 0 0 18px rgba(183,162,105,.08)}.award-card strong{font-size:13px}.award-card p{font-size:11px;color:#c4c2b7;margin:4px 0}.award-card small{color:var(--muted);font-size:10px}.award-icon{color:var(--gold);font-size:18px}.compact-awards{grid-template-columns:repeat(5,minmax(0,1fr))}.compact-awards .award-card{grid-template-columns:40px 1fr}.compact-awards .award-medal{width:38px;height:38px;font-size:19px}.wrap-cell{white-space:normal;min-width:260px;line-height:1.4}
.doc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 18px 18px}.doc-card{border:1px solid #2f382e;background:#0d110e;border-radius:10px;padding:15px;min-height:180px;display:flex;flex-direction:column}.doc-card:hover{border-color:#5d593c;background:#121611}.doc-top{display:flex;justify-content:space-between;gap:8px}.doc-top>div{display:flex;gap:5px;flex-wrap:wrap}.doc-card h3{font-size:15px;margin:14px 0 8px}.doc-card p{font-size:12px;line-height:1.5;color:#adb5aa;margin:0 0 16px}.doc-card small{margin-top:auto;color:#747e72;font-size:10px}.doc-editor{min-height:420px;line-height:1.6}.document-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px;border-bottom:1px solid var(--line)}.document-hero h1{font-size:27px;margin:12px 0 5px}.document-body{padding:26px;max-width:1000px;font-size:14px;line-height:1.8;color:#dddcd4;white-space:normal}.document-body br+br{line-height:2.3}
@media(max-width:1100px){.compact-awards{grid-template-columns:repeat(2,minmax(0,1fr))}.doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.auto-alert-head{align-items:flex-start;flex-direction:column}.month-grid,.award-grid,.compact-awards,.doc-grid{grid-template-columns:1fr}.document-hero{flex-direction:column}.document-body{padding:18px}}

/* V6 · Control web del launcher */
.launcher-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.launcher-kpi{padding:17px}.launcher-kpi .kpi-label{font-size:10px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.launcher-kpi .kpi-value{font-size:24px;font-weight:850;margin-top:8px}.launcher-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.launcher-action{display:block;border:1px solid #30392e;border-radius:10px;padding:15px;background:#0d110e}.launcher-action:hover{border-color:#655b38;background:#141711}.launcher-action strong{display:block;font-size:13px}.launcher-action span{display:block;color:var(--muted);font-size:11px;margin-top:5px;line-height:1.45}.health-list{display:flex;flex-direction:column;gap:8px}.health-row{display:grid;grid-template-columns:20px 1fr;gap:10px;padding:10px 11px;border:1px solid #293228;border-radius:8px;background:#0d110e}.health-dot{font-weight:900}.health-ok .health-dot{color:#70c77f}.health-bad .health-dot{color:#d76565}.health-row strong{font-size:12px}.health-row small{display:block;color:var(--muted);font-size:10px;margin-top:3px;overflow-wrap:anywhere}.launcher-form textarea.news-editor{min-height:300px}.launcher-form textarea.operation-description{min-height:150px}.maintenance-banner{border:1px solid #6a5523;background:#2a230f;color:#e2c56d;border-radius:10px;padding:14px 16px;margin-bottom:16px}.maintenance-banner.off{border-color:#31583a;background:#112517;color:#8cd29a}.mod-summary{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.mod-table td:nth-child(2){white-space:normal;min-width:260px}.upload-box{border:1px dashed #4b5548;border-radius:10px;padding:18px;background:#0c100d}.upload-box input[type=file]{padding:8px}.diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.diff-box{border:1px solid #30392e;border-radius:9px;padding:12px;background:#0d110e;max-height:260px;overflow:auto}.diff-box h3{font-size:12px;margin:0 0 8px}.diff-box ul{margin:0;padding-left:18px;color:#bfc6ba;font-size:11px;line-height:1.65}.code-line{font-family:Consolas,monospace;font-size:11px;color:#b9c4b5;background:#090c0a;border:1px solid #283127;border-radius:6px;padding:8px;overflow-wrap:anywhere}.external-link{color:#d9c17a;text-decoration:underline;text-underline-offset:2px}
@media(max-width:1100px){.launcher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.launcher-grid,.launcher-actions,.diff-grid{grid-template-columns:1fr}}

/* V7 · Publicación de versiones */
.release-current{display:flex;flex-direction:column;gap:13px}.release-current p{margin:5px 0 0}.release-warning{display:flex;flex-direction:column;gap:4px;border:1px solid #5f5230;background:#211d10;border-radius:9px;padding:13px 14px;margin-top:18px}.release-warning strong{font-size:12px;color:#dfc575}.release-warning span{font-size:11px;line-height:1.5;color:#bfb79e}.release-check{min-height:42px;padding:10px 12px;border:1px solid #30392e;border-radius:7px;background:#0c100d}.hash-line{word-break:break-all}.upload-box small{display:block;color:var(--muted);font-size:10px;margin-top:8px;line-height:1.5}

/* V8 · Historial y rollback */
.release-history-table td{vertical-align:middle}.release-notes-cell{white-space:normal!important;min-width:230px;max-width:420px;line-height:1.45}.mini-hash{font-family:Consolas,monospace;font-size:10px;color:#aeb8aa}.release-history-table .inline-form{justify-content:flex-end}
