*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f5f6fb;color:#1f2937}.hidden{display:none!important}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}.brand-auth{font-size:24px;margin-bottom:18px}.card,.kpi{background:white;border:1px solid #e5e7eb;border-radius:18px;padding:20px;box-shadow:0 10px 30px rgba(15,23,42,.06)}.auth{width:min(430px,100%)}label{display:block;font-weight:700;margin:12px 0 6px}input,textarea,select{width:100%;border:1px solid #d1d5db;border-radius:12px;padding:12px}button{border:0;border-radius:12px;padding:12px 16px;background:#f97316;color:white;font-weight:800;cursor:pointer}.ghost{background:#fff3e8;color:#f97316}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:#111827;color:white;padding:18px}.brand{font-weight:900;margin-bottom:18px}.user-mini{padding:12px;border-radius:14px;background:rgba(255,255,255,.08);margin-bottom:16px}.user-mini span{display:block;color:#cbd5e1}.nav-btn{width:100%;text-align:left;margin:5px 0;background:transparent;color:#e5e7eb}.nav-btn.active,.nav-btn:hover{background:#f97316;color:white}.main{padding:24px}.topbar{margin-bottom:18px}.grid{display:grid;gap:14px}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.kpi span{color:#64748b}.num{font-size:26px;font-weight:900;margin-top:8px}.msg{font-weight:700;color:#f97316}@media(max-width:800px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.kpi-grid{grid-template-columns:1fr}}
.two{grid-template-columns:repeat(2,minmax(0,1fr))}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{border:1px solid #e5e7eb;padding:10px;text-align:left}.menu-day{border:1px solid #e5e7eb;border-radius:16px;padding:14px;margin:12px 0;background:#fff}.menu-row{display:grid;grid-template-columns:90px 1fr 180px 44px;gap:10px;align-items:end;margin:8px 0}.badge{display:inline-flex;border-radius:999px;padding:4px 9px;background:#fff3e8;color:#f97316;font-weight:800}.badge.validated{background:#dcfce7;color:#166534}.badge.refused{background:#fee2e2;color:#991b1b}.badge.submitted{background:#dbeafe;color:#1d4ed8}@media(max-width:800px){.two,.menu-row{grid-template-columns:1fr}}
