/* ===== NESON THEME (estático) ===== */
:root{
  --bg:#e0cd95;
  --text:#111827;
  --text-muted:#4b5563;

  --header-bg:#1c196f;
  --header-fg:#ffe98a;
  --header-btn:#facc15;
  --header-btn-h:#eab308;
  --header-btn-fg:#1f2937;

  --panel:#e8a545;
  --panel-bd:#c98a2e;
  --panel-head:#1c196f;
  --panel-head-fg:#ffe98a;

  --input-bg:#ffffff;
  --input-fg:#111827;
  --input-pl:#9aa4b2;
  --input-bd:#d1d5db;
  --input-focus:#1c196f;

  --btn-bg:#facc15;
  --btn-fg:#1f2937;
  --btn-hover:#eab308;

  --radius:16px;
  --gap:14px;
  --shadow:rgba(0,0,0,0.15);
  --font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial;
}

/* Base */
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.45}

/* Header */
.header{background:var(--header-bg);color:var(--header-fg);padding:12px 16px;display:flex;align-items:center;gap:12px}
.header .brand{font-weight:800;letter-spacing:.3px;margin-right:auto}
.header .actions{display:flex;gap:10px}
.header .btn,
.header a.btn{background:var(--header-btn);color:var(--header-btn-fg);border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:8px 14px;font-weight:700;text-decoration:none;transition:background .2s}
.header .btn:hover,
.header a.btn:hover{background:var(--header-btn-h)}
/* Por si el enlace no tiene .btn, al menos no se vea azul subrayado */
.header a{color:var(--header-fg);text-decoration:none;font-weight:700}
.header a:hover{opacity:.9}

/* Panel / Card */
.panel{background:var(--panel);border:1px solid var(--panel-bd);border-radius:var(--radius);box-shadow:0 8px 24px var(--shadow);padding:calc(var(--gap)*1.2)}
.card{background:var(--panel);border:1px solid var(--panel-bd);border-radius:var(--radius);padding:var(--gap)}

/* Tabla */
.table{width:100%;border-collapse:collapse;background:transparent;border:1px solid var(--panel-bd);border-radius:var(--radius);overflow:hidden}
.table th,.table td{padding:10px 12px;border-bottom:1px solid var(--panel-bd)}
.table thead th{background:var(--panel-head);color:var(--panel-head-fg);text-align:left}
.table tfoot th{background:var(--panel-head);color:var(--panel-head-fg)}
.right{text-align:right}.center{text-align:center}.muted{color:var(--text-muted)}

/* Inputs */
.input,input,select,textarea{width:100%;background:var(--input-bg);color:var(--input-fg);border:1px solid var(--input-bd);border-radius:12px;padding:10px 12px;outline:none;transition:border .2s,box-shadow .2s}
::placeholder{color:var(--input-pl)}
.input:focus,input:focus,select:focus,textarea:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--input-focus) 25%,transparent)}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--btn-bg);color:var(--btn-fg);border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer;text-decoration:none;transition:background .2s}
.btn:hover{background:var(--btn-hover)}
.btn.outline{background:transparent;color:var(--panel-head);border-color:var(--panel-head)}

/* Layout utilidades */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.form-row.full{grid-template-columns:1fr}

/* Alertas */
.alert{padding:10px 12px;border-radius:var(--radius);margin-bottom:10px}
.alert-success{background:#22c55e;color:#021}
.alert-error{background:#ef4444;color:#fff}