@import url("https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;600;700;800&display=swap");
*{box-sizing:border-box}:root{--gold:#b18b36;--gold-dark:#8d6c22;--gold-soft:#fff5d9;--red:#bf4545;--red-soft:#fde9e9;--ink:#202b3a;--muted:#778294;--line:#e3e7ee;--bg:#f4f6f9}body{margin:0;background:var(--bg);color:var(--ink);font-family:Tahoma,Arial,sans-serif;font-size:14px;line-height:1.7}a{color:inherit}.top{min-height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:14px 26px;gap:18px}.top>div{display:flex;align-items:center;gap:12px}.mark,.logo{height:46px;width:46px;display:grid;place-items:center;background:var(--gold);color:#fff;border-radius:13px;font-size:18px;font-weight:bold;flex-shrink:0}.top strong{font-size:17px;display:block}.top small{display:block;color:var(--muted);font-size:12px}.logout{color:var(--muted);text-decoration:none;white-space:nowrap}.layout{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:calc(100vh - 78px)}aside{background:#fff;border-left:1px solid var(--line);padding:20px 13px}aside a{display:block;padding:12px 14px;border-radius:10px;margin-bottom:5px;text-decoration:none;color:#536071;font-weight:600}aside a.active,aside a:hover{background:var(--gold-soft);color:var(--gold-dark)}main{width:100%;max-width:1450px;padding:28px;margin:0 auto}h1{font-size:25px;margin:0 0 6px}h2{font-size:18px;margin:0 0 16px}.muted{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:18px 0}.stat,.panel{position:relative;background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:0 5px 18px #17203305}.stat span{display:block;color:var(--muted);margin-bottom:7px}.stat b{display:block;font-size:20px}.stat small{display:block;color:var(--muted);margin-top:8px}.panel{margin:18px 0}.inline,.filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.filters label{display:flex;flex-direction:column;gap:6px;font-weight:bold;color:#465265;min-width:180px}.filters input,.filters select,.inline input,.login-card input{width:100%;min-height:43px;padding:10px 12px;border:1px solid #cfd6e0;border-radius:9px;background:#fff;color:var(--ink);font:inherit}.inline input{width:auto}.filters button,.inline button,.login-card button{border:0;border-radius:9px;min-height:43px;padding:10px 17px;background:var(--gold);color:#fff;font:inherit;font-weight:bold;cursor:pointer}.secondary{background:#edf0f4!important;color:#465265!important}.result{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:19px}.team{border-radius:12px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}.team strong{font-size:18px}.gold{background:var(--gold-soft);color:#795b18}.red{background:var(--red-soft);color:#9c3030}.table-wrap{overflow:auto;margin-top:18px}table{border-collapse:collapse;width:100%;min-width:600px}th,td{text-align:right;padding:11px 13px;border-bottom:1px solid var(--line)}th{background:#f7f8fa;color:#566173}tbody tr:hover{background:#fcfcfd}.pill{display:inline-block;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:bold}.work{background:#e2f5e9;color:#247348}.off{background:#eef0f4;color:#687385}.alert{padding:13px 15px;border-radius:10px;margin:17px 0;line-height:1.9;background:#fff0f0;color:#9e3030}.warn{background:#fff5d9;color:#785a17}footer{text-align:center;color:var(--muted);font-size:12px;padding:26px 0 8px}.login{min-height:100vh;display:grid;place-items:center;padding:22px;background:linear-gradient(135deg,#f8f9fb,#f1f3f7)}.login-card{width:min(450px,100%);padding:32px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 14px 45px #1e293b0b;display:flex;flex-direction:column;gap:12px}.login-card .logo{margin:0 auto 4px}.login-card h1{font-size:22px;text-align:center;margin:0}.login-card p{text-align:center;color:var(--muted);margin:0 0 10px}.login-card label{font-weight:bold}.login-card small{text-align:center;color:var(--muted);margin-top:4px}@media(max-width:850px){.layout{grid-template-columns:1fr}aside{display:flex;gap:5px;overflow-x:auto;padding:8px;border-left:0;border-bottom:1px solid var(--line)}aside a{white-space:nowrap;margin:0;padding:10px 12px}main{padding:17px}.cards{grid-template-columns:1fr}.result{grid-template-columns:1fr}.filters label{flex:1;min-width:145px}.top{padding:12px 15px}.top strong{font-size:14px}}@media(max-width:480px){.top{align-items:flex-start}.mark{width:40px;height:40px}main{padding:13px}.panel,.stat{padding:15px}.filters label{width:100%;min-width:100%}.filters button{width:100%}}@media print{body{background:#fff;font-size:11px}.top{padding:5px 0;border-bottom:1px solid #aaa}.logout,aside,form button,footer{display:none!important}.layout{display:block}main{max-width:none;padding:8px}.panel,.stat{box-shadow:none;border:1px solid #bbb;break-inside:avoid;padding:10px}.cards{gap:8px;margin:10px 0}.stat b{font-size:15px}.table-wrap{overflow:visible}table{min-width:0}th,td{padding:5px;border-color:#ccc}.pill{border:1px solid #aaa;background:#fff!important;color:#111!important}}

.auto-shift-note{margin:16px 0;padding:12px 15px;border-radius:10px;background:#f5f0e4;border:1px solid #e7d9b4;color:#715719}.auto-shift-note strong{font-size:15px}.suggestions a:hover{background:#f5e7bd}

/* V3: calm gold-and-white theme and compact, mobile-friendly rota */
:root{--gold:#a9853c;--gold-dark:#76571f;--gold-soft:#f8efd9;--red:#8a682c;--red-soft:#eee3cb;--ink:#252a32;--muted:#737373;--line:#e8e2d6;--bg:#faf9f6}
body{font-family:Tahoma,"Arial",sans-serif;background:#faf9f6;color:var(--ink)}
.top{border-bottom:2px solid #d9c18d}.mark,.logo{background:linear-gradient(135deg,#b3914d,#76571f)}
aside a.active,aside a:hover{background:#f5ecd8;color:#76571f}
.filters button,.inline button,.login-card button{background:linear-gradient(135deg,#b3914d,#856426);box-shadow:0 3px 8px #8c6b2b1a}
.panel,.stat{border-color:#e8e0d1;box-shadow:0 4px 16px #5c48200a}
th{background:#f4eddf;color:#62491d}
table{min-width:0;width:100%;table-layout:fixed}
th,td{text-align:center;border-bottom:1px solid #e9e2d6;padding:8px 12px}
td:first-child,th:first-child{text-align:right;width:27%}
td.date-cell{font-variant-numeric:tabular-nums;white-space:nowrap;width:48%}
td:last-child,th:last-child{width:25%}
tbody tr:nth-child(even){background:#fdfcf9}
tbody tr:hover{background:#f8f1e3}
.shift-tag{display:inline-grid;place-items:center;min-width:42px;padding:3px 13px;border-radius:6px;font-size:15px;font-weight:700;line-height:1.5}
.shift-a{background:#f5e7c1;color:#76571f;border:1px solid #e6d2a0}
.shift-b{background:#9b7835;color:#fff;border:1px solid #8a682c}
.team.gold{background:#f7eed9;color:#76571f}.team.red{background:#eee4d0;color:#6f5424}
.auto-shift-note{background:#f8f1e2;border:1px solid #e6d6b3;color:#6d521e;border-right:4px solid #a9853c}
@media(max-width:600px){
 main{padding:12px}h1{font-size:21px}.panel{padding:12px;margin:12px 0}
 .table-wrap{overflow:visible;margin-top:12px}
 table{width:100%;min-width:0;table-layout:fixed;font-size:13px}
 th,td{padding:8px 5px;overflow-wrap:anywhere}
 td:first-child,th:first-child{width:29%}td.date-cell{width:47%;font-size:12px;letter-spacing:-.2px}td:last-child,th:last-child{width:24%}
 .shift-tag{min-width:32px;padding:2px 9px;font-size:13px}
}
@media print{th{background:#f4eddf!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.shift-a,.shift-b{-webkit-print-color-adjust:exact;print-color-adjust:exact}}


/* V3.1: clearer Arabic typography, tighter spacing, and dedicated print layout */
body, input, button, select, textarea { font-family:"Tajawal", Tahoma, Arial, sans-serif; }
body { font-size:15px; }
h1 { font-size:23px; }
.panel { padding:16px; }
.table-wrap { margin-top:10px; }
th, td { padding:6px 10px; line-height:1.45; }
.filters { gap:9px; }
.filters label { min-width:160px; }
.filters input { min-height:39px; }
.shift-tag { padding:2px 11px; }
@media (max-width:600px) {
  body { font-size:14px; }
  main { padding:9px; }
  h1 { font-size:20px; margin-bottom:4px; }
  .panel { padding:9px; margin:9px 0; border-radius:10px; }
  .table-wrap { margin-top:7px; }
  th, td { padding:5px 3px; line-height:1.35; }
  table { font-size:13px; }
  td.date-cell { font-size:12px; }
  .filters { gap:7px; }
  .filters label { min-width:100%; gap:3px; }
  .filters input { min-height:36px; padding:6px 9px; }
  .filters button { min-height:36px; padding:7px 10px; }
}
@page { size: A4 landscape; margin: 10mm; }
@media print {
  html, body { background:#fff !important; color:#222 !important; font-family:"Tajawal", Tahoma, Arial, sans-serif !important; font-size:10pt !important; }
  body { margin:0 !important; }
  .top { min-height:0; padding:0 0 5mm; border-bottom:1.5pt solid #a9853c; }
  .top .mark, .logout, aside, form, footer { display:none !important; }
  .top > div { gap:0; }
  .top strong { font-size:15pt; color:#76571f; }
  .top small { font-size:9pt; }
  .layout { display:block !important; min-height:0 !important; }
  main { max-width:none !important; padding:4mm 0 0 !important; margin:0 !important; }
  h1 { font-size:16pt !important; margin:0 0 4mm !important; color:#76571f !important; }
  .panel { margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; }
  .table-wrap { overflow:visible !important; margin:0 !important; }
  table { width:100% !important; min-width:0 !important; table-layout:fixed !important; border-collapse:collapse !important; font-size:10pt !important; }
  thead { display:table-header-group; }
  tr { break-inside:avoid; page-break-inside:avoid; }
  th, td { padding:2.2mm 3mm !important; border:0.5pt solid #d8d0c1 !important; line-height:1.25 !important; }
  th { background:#f4eddf !important; color:#62491d !important; font-weight:700 !important; }
  tbody tr:nth-child(even) { background:#fcfaf6 !important; }
  .shift-tag { min-width:10mm !important; padding:1mm 3mm !important; border-radius:1.5mm !important; font-size:10pt !important; }
  .shift-a { background:#f5e7c1 !important; color:#76571f !important; border:0.5pt solid #d9c28c !important; }
  .shift-b { background:#9b7835 !important; color:#fff !important; border:0.5pt solid #8a682c !important; }
  th, .shift-a, .shift-b { -webkit-print-color-adjust:exact !important; print-color-adjust:exact !important; }
}

/* V3.3 compact screens and month-by-month print reports */
@media (max-width: 600px) {
  .cards { gap: 8px !important; }
  .stat { padding: 12px !important; }
  .top { padding: 10px 12px !important; }
  aside { gap: 4px !important; }
  aside a { padding: 9px 10px !important; }
  .filters { display: grid !important; grid-template-columns: 1fr 1fr; align-items: end; }
  .filters label { min-width: 0 !important; width: 100%; }
  .filters button { width: 100%; }
  .filters button.secondary { grid-column: 1 / -1; }
  th, td { padding: 4px 3px !important; }
}
.print-month-heading { display:none; }
@page { size: A4 portrait; margin: 9mm; }
@media print {
  html, body { margin:0 !important; padding:0 !important; font-size:10pt !important; }
  .top, aside, .filters, footer { display:none !important; }
  .layout, main { display:block !important; width:100% !important; max-width:none !important; min-height:0 !important; margin:0 !important; padding:0 !important; }
  main > h1 { display:none !important; }
  .panel { padding:0 !important; margin:0 !important; border:0 !important; box-shadow:none !important; }
  .print-month { break-after:page; page-break-after:always; }
  .print-month:last-child { break-after:auto; page-break-after:auto; }
  .print-month-heading { display:block !important; text-align:right; margin:0 0 5mm !important; padding:0 0 3mm !important; border-bottom:1.5pt solid #a9853c; }
  .print-brand { font-size:13pt !important; font-weight:700; color:#76571f !important; }
  .print-owner { font-size:8pt !important; color:#666 !important; margin-top:1mm; }
  .print-month-heading h2 { text-align:center !important; margin:4mm 0 1mm !important; font-size:19pt !important; color:#76571f !important; }
  .print-subtitle { text-align:center; font-size:11pt; font-weight:700; margin-bottom:1mm; }
  .table-wrap { margin:0 !important; overflow:visible !important; }
  table { width:100% !important; min-width:0 !important; border-collapse:collapse !important; table-layout:fixed !important; font-size:10pt !important; }
  thead { display:table-header-group !important; }
  tr { break-inside:avoid !important; page-break-inside:avoid !important; }
  th, td { padding:2mm 3mm !important; border:0.5pt solid #d8d0c1 !important; line-height:1.2 !important; }
  th { background:#f4eddf !important; color:#62491d !important; }
  .shift-tag { min-width:9mm !important; padding:0.7mm 2.5mm !important; font-size:10pt !important; }
  .shift-a { background:#f5e7c1 !important; color:#76571f !important; }
  .shift-b { background:#9b7835 !important; color:#fff !important; }
  th, .shift-a, .shift-b { -webkit-print-color-adjust:exact !important; print-color-adjust:exact !important; }
}

/* V4 employee page and print refinements */
.public-main{max-width:1120px;margin:0 auto;padding:24px}.public-main .panel{padding:18px;margin:14px 0}.public-main .filters label{flex:1;min-width:180px}.auto-shift-note{background:#fff8e8;border:1px solid #e7d5a8;border-radius:12px;padding:14px 16px;margin-top:14px;color:#624b1d}.auto-shift-note p{margin-bottom:0}@media(max-width:600px){.public-main{padding:12px}.public-main .filters label{min-width:100%;width:100%}.public-main .cards{grid-template-columns:1fr}.public-main .filters button{width:100%}}@media print{@page{size:A4 portrait;margin:8mm}.print-month-heading{margin-bottom:2mm!important;padding-bottom:1.5mm!important}.print-month-heading h2{font-size:16pt!important;margin:1mm 0!important}.print-month table{font-size:8.5pt!important}.print-month th,.print-month td{padding:2.2mm 3mm!important;line-height:1.15!important}.public-main{padding:0!important}.public-main .panel{padding:4mm!important;margin:0!important}.public-main .filters{display:none!important}}
