:root{--navy:#12294d;--navy-soft:#1d3c6b;--yellow:#fdd017;--yellow-soft:#ffe680;--caramel:#c58a3f;--coffee:#5b3a21;--cream:#fdf7ec;--cream-2:#f7ecd9;--ink:#2b2115;--muted:#7a6a57;--line:#ecdfc9;font-family:Inter,system-ui,Arial,sans-serif;color:var(--ink);background:var(--cream)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(900px 420px at 90% -180px,#fff6dd 0%,transparent 70%),var(--cream)}button,input,select{font:inherit}.app{min-height:100vh}.header{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-soft) 100%);color:#fff;padding:16px 24px;border-bottom:4px solid var(--yellow)}.header h1{font-size:20px;margin:0;letter-spacing:.5px}.header p{margin:3px 0 0;color:var(--yellow-soft);font-size:13px}.brand{display:flex;align-items:center;gap:12px}.brand-logo{height:42px;width:auto;border-radius:8px;background:#fff;padding:4px}.login .brand-logo{height:74px;margin:0 auto 10px;display:block}.nav{display:flex;gap:8px;flex-wrap:wrap;padding:12px 24px;background:#fff;border-bottom:1px solid var(--line)}.nav a{padding:10px 14px;text-decoration:none;color:var(--coffee);border-radius:999px;font-weight:600}.nav a:hover{background:var(--cream-2)}.nav a.active{background:var(--navy);color:#fff;box-shadow:0 4px 12px #12294d38}.container{max-width:1180px;margin:0 auto;padding:24px}h1{letter-spacing:-.3px}.container>h1:first-child:before,.container .between h1:before{content:"☕ "}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 2px 10px #5b3a210f}.section-title{display:flex;justify-content:space-between;align-items:center;margin:26px 0 12px}.section-title h2{font-size:18px;margin:0;color:var(--coffee);display:flex;align-items:center;gap:8px}.section-title h2:before{content:"";width:8px;height:22px;border-radius:6px;background:var(--yellow)}.btn{border:0;border-radius:12px;padding:11px 15px;font-weight:700;cursor:pointer;transition:transform .06s ease,filter .15s ease}.btn:hover{filter:brightness(1.06)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--navy);color:#fff}.btn-danger{background:#b91c1c;color:#fff}.btn-muted{background:var(--cream-2);color:var(--coffee)}.btn-success{background:#047857;color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.header .btn-muted{background:var(--yellow);color:var(--navy)}.timer{font-size:32px;font-weight:800;letter-spacing:1px;color:var(--coffee)}.muted{color:var(--muted)}.status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.normal{background:#dcfce7;color:#166534}.tolerancia{background:#fef3c7;color:#92400e}.excedido{background:#fee2e2;color:#991b1b}.em_cafe{background:#dbeafe;color:#1e40af}.blocked{background:#fff1f0;border-color:#fecaca}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{display:flex;justify-content:space-between;gap:12px;align-items:center}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 2px 10px #5b3a210d}table{width:100%;border-collapse:collapse}th,td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{font-size:12px;color:var(--muted);text-transform:uppercase;background:var(--cream-2)}tr:last-child td{border-bottom:0}.input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.input:focus{outline:2px solid var(--yellow);outline-offset:1px;border-color:var(--caramel)}.form{display:grid;gap:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.error{background:#fee2e2;color:#991b1b;padding:10px;border-radius:10px}.success{background:#dcfce7;color:#166534;padding:10px;border-radius:10px}.login{max-width:400px;margin:9vh auto;padding:0 16px}.login .card{padding:28px;text-align:center;border-top:5px solid var(--yellow)}.login .card h1{margin:6px 0 0;font-size:22px;color:var(--navy)}.login form{margin-top:16px;text-align:left}.login .btn-primary{width:100%}@media(max-width:640px){.container{padding:16px}.nav{padding:10px 12px}.form-row{grid-template-columns:1fr}.header{padding:14px 16px}.timer{font-size:28px}.brand-logo{height:34px}}
