/* Comedor · Registro de Almuerzos — kiosco standalone */
:root{
  --green:#16a34a; --green-d:#15803d; --green-l:#22c55e;
  --ink:#0f172a; --mut:#64748b; --bg:#eef4f0; --card:#ffffff; --line:#e5e7eb;
  --amber:#d97706; --red:#dc2626;
}
@media (prefers-color-scheme:dark){
  :root{ --ink:#e5e7eb; --mut:#94a3b8; --bg:#0a1017; --card:#111c17; --line:#1f2e26; }
}
*{box-sizing:border-box;}
html,body{margin:0;height:100%;}
body{
  font-family:'Inter','Plus Jakarta Sans',system-ui,sans-serif;
  background:
    radial-gradient(1200px 500px at 15% -10%, rgba(22,163,74,.14), transparent 60%),
    var(--bg);
  color:var(--ink); min-height:100vh; -webkit-font-smoothing:antialiased;
}
.wrap{max-width:1140px;margin:0 auto;padding:22px 20px 32px;}

/* Header */
.kk-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  background:linear-gradient(135deg,var(--green),var(--green-d));color:#fff;border-radius:22px;
  padding:20px 24px;box-shadow:0 12px 30px rgba(22,163,74,.28);margin-bottom:22px;}
.brand{display:flex;align-items:center;gap:16px;}
.brand .logo{width:56px;height:56px;border-radius:16px;background:rgba(255,255,255,.16);
  display:grid;place-items:center;font-size:30px;backdrop-filter:blur(4px);}
.brand h1{margin:0;font-size:22px;font-weight:800;letter-spacing:-.02em;}
.brand p{margin:3px 0 0;font-size:13px;opacity:.9;}
.head-right{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.clockbox{text-align:right;line-height:1;}
.clockbox span{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.02em;}
.clockbox small{display:block;font-size:11px;opacity:.85;text-transform:capitalize;margin-top:4px;}
.tarifa{background:rgba(255,255,255,.16);border-radius:12px;padding:10px 14px;font-size:13px;font-weight:600;}
.tarifa b{font-size:15px;}

/* Grid */
.grid{display:grid;grid-template-columns:1.25fr .9fr;gap:20px;align-items:start;}
@media(max-width:880px){.grid{grid-template-columns:1fr;}}
.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;
  box-shadow:0 6px 24px rgba(15,23,42,.06);}

/* Segmented tipo */
.seg{display:flex;gap:8px;margin-bottom:18px;}
.seg button{flex:1;border:1px solid var(--line);background:transparent;color:var(--mut);font-weight:700;
  font-size:14px;padding:13px;border-radius:13px;cursor:pointer;transition:.15s;}
.seg button.on{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 6px 16px rgba(22,163,74,.28);}

/* Scan */
.scan-row{display:flex;gap:12px;}
#kk-dni{flex:1;font-size:26px;font-weight:800;letter-spacing:.05em;text-align:center;
  padding:20px;border:2px solid var(--line);border-radius:16px;outline:none;background:var(--bg);color:var(--ink);transition:.15s;}
#kk-dni:focus{border-color:var(--green);box-shadow:0 0 0 5px rgba(22,163,74,.14);background:var(--card);}
#kk-dni::placeholder{font-size:16px;letter-spacing:0;font-weight:500;}
.btn{border:0;border-radius:16px;font-weight:800;font-size:16px;padding:0 26px;cursor:pointer;color:#fff;
  background:linear-gradient(135deg,var(--green),var(--green-d));box-shadow:0 8px 18px rgba(22,163,74,.28);transition:.15s;}
.btn:active{transform:translateY(1px);}
.btn.ghost{width:100%;margin-top:14px;background:transparent;color:var(--mut);border:1px solid var(--line);box-shadow:none;font-size:14px;padding:13px;}
#kk-cambox{display:none;margin-top:16px;border-radius:16px;overflow:hidden;border:1px solid var(--line);}
#kk-cambox video{width:100%!important;display:block;}

/* Result */
.kk-result{margin-top:18px;border-radius:18px;padding:20px 22px;display:none;align-items:center;gap:18px;}
.kk-result.show{display:flex;animation:pop .3s cubic-bezier(.2,1.2,.3,1);}
@keyframes pop{from{opacity:0;transform:scale(.94);}to{opacity:1;transform:none;}}
.kk-result .ri{width:62px;height:62px;border-radius:16px;display:grid;place-items:center;font-size:34px;color:#fff;flex-shrink:0;}
.kk-result .rt{font-size:20px;font-weight:800;margin:0;}
.kk-result .rs{font-size:14px;margin:3px 0 0;opacity:.85;}
.kk-result.ok{background:rgba(22,163,74,.10);border:1px solid rgba(22,163,74,.32);} .kk-result.ok .ri{background:var(--green);} .kk-result.ok .rt{color:var(--green-d);}
.kk-result.warn{background:rgba(217,119,6,.10);border:1px solid rgba(217,119,6,.32);} .kk-result.warn .ri{background:var(--amber);} .kk-result.warn .rt{color:var(--amber);}
.kk-result.error{background:rgba(220,38,38,.09);border:1px solid rgba(220,38,38,.32);} .kk-result.error .ri{background:var(--red);} .kk-result.error .rt{color:var(--red);}

/* Side */
.side h2{margin:4px 0 14px;font-size:15px;font-weight:800;}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px;}
.stat{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:14px 10px;text-align:center;}
.stat .s-v{display:block;font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1;}
.stat .s-l{display:block;font-size:11px;color:var(--mut);font-weight:600;margin-top:6px;}
.stat.cost .s-v{color:var(--amber);font-size:18px;}
.recent{list-style:none;margin:0;padding:0;max-height:430px;overflow:auto;}
.recent li{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line);}
.recent li:last-child{border-bottom:0;}
.recent .av{width:38px;height:38px;border-radius:11px;background:rgba(22,163,74,.12);color:var(--green-d);
  display:grid;place-items:center;font-weight:800;font-size:14px;flex-shrink:0;}
.recent .nm{flex:1;font-size:14px;font-weight:600;line-height:1.2;}
.recent .nm small{display:block;color:var(--mut);font-weight:500;font-size:11.5px;text-transform:capitalize;}
.recent .hh{font-size:13px;color:var(--mut);font-weight:700;}
.recent .empty{color:var(--mut);font-size:13px;justify-content:center;padding:28px 0;}
.kk-foot{text-align:center;color:var(--mut);font-size:12px;margin-top:26px;}
