:root{--bg:#f4f7fb;--dark:#123047;--primary:#1769aa;--text:#1d2b38;--muted:#6b7b8a;--card:#fff;--border:#dbe4ee}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:255px;background:linear-gradient(180deg,#0d2b40,#154765);color:#fff;padding:20px 14px;overflow:auto}.brand{font-size:24px;font-weight:800;margin-bottom:22px;line-height:1}.brand span{font-size:13px;font-weight:500;opacity:.85}.sidebar a{display:block;color:#e8f4ff;text-decoration:none;padding:11px 12px;border-radius:12px;margin-bottom:5px}.sidebar a:hover{background:rgba(255,255,255,.12)}.main{margin-left:255px}.topbar{height:66px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.topbar small{color:var(--muted)}.user{font-size:14px;color:var(--muted)}.content{padding:28px}h1{margin:0 0 18px;font-size:26px}h2{margin-top:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card,.panel{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(16,45,71,.06);margin-bottom:16px}.card b{display:block;font-size:38px;color:var(--primary)}.card span{color:var(--muted)}input,select,button,.btn{border:1px solid var(--border);border-radius:10px;padding:11px 12px;font-size:14px;background:#fff}button,.btn{background:var(--primary);color:#fff;cursor:pointer;text-decoration:none;border:none;display:inline-block}button:hover,.btn:hover{filter:brightness(.95)}button:disabled{opacity:.65;cursor:wait}.danger{background:#d64545}.mini{padding:4px 8px;border-radius:7px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:center}.inline{display:inline-flex;gap:10px;margin:0 10px 18px 0}.inline-form{display:inline-flex;gap:7px;align-items:center}.table-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(16,45,71,.05);margin-bottom:18px}th,td{padding:13px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}th{background:#edf4fb}.alert{background:#fff3cd;border:1px solid #ffe69c;padding:12px;border-radius:12px;margin:0 0 14px}.badge{padding:5px 9px;border-radius:999px;background:#e6eef6;text-transform:capitalize}.badge.published{background:#d8f5df;color:#15702a}.badge.draft{background:#fff3cd;color:#8a6100}.color{display:block;width:42px;height:22px;border-radius:6px}.actions{display:flex;gap:10px;margin-bottom:15px;flex-wrap:wrap}.schedule-section{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;margin:16px 0}.schedule-section h2{margin:0;padding:10px;text-align:center;color:#111}.shift-grid{display:grid;grid-template-columns:1fr 1fr}.shift-grid.three{grid-template-columns:repeat(3,1fr)}.shift-grid>div{border-right:1px solid var(--border);min-height:80px}.shift-grid h3{margin:0;padding:9px;background:#eef4fa;text-align:center}.person{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:10px 12px;border-top:1px solid var(--border)}.person span{color:var(--muted);font-size:13px}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0f334a,#1777b4)}.login-card{width:380px;background:#fff;border-radius:24px;padding:30px;box-shadow:0 25px 70px rgba(0,0,0,.25)}.login-card h1{margin-bottom:4px}.login-card p{color:var(--muted);margin-top:0}.login-card label{display:block;margin:14px 0 6px}.login-card input,.login-card button{width:100%}.login-card button{margin-top:18px}.public-page{background:#fff;padding:14px}.public-toolbar{position:sticky;top:0;z-index:5;background:#ffffffee;border:1px solid #ddd;border-radius:12px;padding:10px;margin-bottom:10px;display:flex;gap:8px;justify-content:center}.public-header{text-align:center;border:2px solid #111;border-bottom:0;padding:7px}.public-header h1,.public-header h2{margin:0}.public-header h1{font-size:18px}.public-header h2{font-size:17px}.public-sector{border:1px solid #111;margin:0;break-inside:avoid}.public-sector h2{margin:0;text-align:center;padding:5px;font-size:18px;color:#111;border-bottom:1px solid #111}.public-grid{display:grid;grid-template-columns:1fr 1fr}.public-grid.three{grid-template-columns:repeat(3,1fr)}.public-grid>div{border-right:1px solid #111}.public-grid>div:last-child{border-right:0}.public-grid h3{margin:0;text-align:center;background:rgba(0,0,0,.08);border-bottom:1px solid #111;padding:4px;font-size:17px}.public-grid p{margin:0;padding:5px 7px;border-bottom:1px solid #111;font-size:16px;min-height:34px}.empty{text-align:center;padding:40px;font-size:22px}@media(max-width:900px){.sidebar{position:static;width:auto}.main{margin-left:0}.cards,.grid,.shift-grid,.shift-grid.three,.public-grid,.public-grid.three{grid-template-columns:1fr}.topbar{display:block;height:auto;padding:16px}.content{padding:16px}.table-actions{display:block}.inline-form{display:flex;margin-top:8px}.person{grid-template-columns:1fr}}@page{size:A4 landscape;margin:8mm}@media print{.no-print,.sidebar,.topbar,.actions,.panel,.btn,button{display:none!important}body,.public-page{background:#fff;padding:0}.main{margin:0}.content{padding:0}.public-header{border:1px solid #111}.public-sector h2{font-size:15px;padding:3px}.public-grid h3{font-size:14px;padding:3px}.public-grid p{font-size:12px;min-height:26px;padding:3px 5px}a{color:#000;text-decoration:none}}
