/* ==========================================================================
   Mis Tareas — panel de administrador
   ========================================================================== */
:root{
  --blue:#4a90e2;--blue-d:#2f6fbf;
  --green:#5aa832;--green-bg:#eaf6d8;
  --red:#e05353;--amber:#f0a020;
  --ink:#33374d;--muted:#8b90a6;--line:#e7eaf3;
  --card:#fff;--bg:#f2f5fb;--radius:16px;
  --shadow:0 6px 18px rgba(50,70,120,.08);
}
*{box-sizing:border-box}
body{margin:0;font-family:'Nunito',system-ui,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg)}
h1,h2,h3{font-family:'Fredoka',system-ui,sans-serif;font-weight:600;margin:0}
a{color:var(--blue-d)}

/* Barra superior */
.topbar{background:linear-gradient(90deg,#4a90e2,#5aa8e8);color:#fff;padding:calc(14px + env(safe-area-inset-top)) 20px 14px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.topbar .brand{font-family:'Fredoka';font-size:22px;font-weight:600;display:flex;align-items:center;gap:8px}
.topbar nav{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.topbar nav a{color:#fff;text-decoration:none;font-weight:800;padding:8px 14px;border-radius:999px;font-size:14px;opacity:.9}
.topbar nav a.active,.topbar nav a:hover{background:rgba(255,255,255,.22);opacity:1}

.container{max-width:1000px;margin:0 auto;padding:24px 18px calc(60px + env(safe-area-inset-bottom))}
.page-title{font-size:26px;margin-bottom:18px}

/* Tarjetas resumen */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:24px}
.stat{background:var(--card);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.stat .n{font-family:'Fredoka';font-size:30px;color:var(--blue-d)}
.stat .l{color:var(--muted);font-weight:800;font-size:13px}

/* Cajas */
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:22px}
.card h2{font-size:20px;margin-bottom:14px;display:flex;align-items:center;gap:8px}

/* Tablas */
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:middle}
th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
tr:last-child td{border-bottom:none}
.emoji-cell{font-size:24px}

/* Formularios */
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;align-items:end}
label{display:block;font-weight:800;font-size:13px;margin-bottom:6px;color:var(--ink)}
input,select{width:100%;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;font:inherit;background:#fff}
input:focus,select:focus{outline:none;border-color:var(--blue)}

/* Botones */
.btn{border:none;cursor:pointer;font-weight:800;border-radius:10px;padding:10px 16px;font-size:14px;text-decoration:none;display:inline-block;text-align:center}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:var(--blue-d)}
.btn-green{background:var(--green);color:#fff}
.btn-red{background:var(--red);color:#fff}
.btn-amber{background:var(--amber);color:#fff}
.btn-ghost{background:#eef2fa;color:var(--ink)}
.btn-sm{padding:6px 11px;font-size:13px}
.actions{display:flex;gap:6px;flex-wrap:wrap}
.inline{display:inline}

/* Etiquetas de estado */
.tag{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:800}
.tag.on{background:#e3f5d6;color:#4e7d1f}
.tag.off{background:#eef0f5;color:#8b90a6}
.tag.pending{background:#fff2d6;color:#a5731a}
.tag.approved{background:#dcefff;color:#2f6fbf}
.tag.delivered{background:#e3f5d6;color:#4e7d1f}
.tag.rejected{background:#ffe0e0;color:#c0392b}
.tag.daily{background:#eaf6d8;color:#5f9c33}
.tag.weekly{background:#efe7fb;color:#7e57c2}
.tag.monthly{background:#e3f2fd;color:#1e88e5}

/* Flash */
.flash{padding:14px 18px;border-radius:12px;font-weight:800;margin-bottom:18px}
.flash.ok{background:#e6f7d9;color:#4e7d1f}
.flash.err{background:#ffe0e0;color:#c0392b}

.muted{color:var(--muted)}
.right{text-align:right}
.nowrap{white-space:nowrap}

/* Login admin */
.admin-login{min-height:100vh;display:grid;place-items:center;padding:calc(24px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,#dcebfb,#eef4fc)}
.admin-login .box{background:#fff;border-radius:22px;box-shadow:var(--shadow);padding:34px;max-width:360px;width:100%}
.admin-login h1{font-size:26px;margin-bottom:4px;text-align:center}
.admin-login p{color:var(--muted);text-align:center;font-weight:700;margin:0 0 20px}
.admin-login .field{margin-bottom:14px}
.admin-login .btn{width:100%;padding:13px;font-size:16px}
.admin-login .back{display:block;text-align:center;margin-top:16px;color:var(--muted);font-weight:800;text-decoration:none;font-size:14px}

@media(max-width:560px){.topbar nav{width:100%;margin-left:0}}

/* PIN oculto con ojo para revelar */
.pin-wrap{position:relative}
.pin-secure{-webkit-text-security:disc}
.pin-secure.revealed{-webkit-text-security:none}
.pin-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);
  background:none;border:none;cursor:pointer;font-size:18px;line-height:1;padding:4px}
