*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#1e293b;background:#f5f5f4}h1{margin:0;font-size:1.5rem;color:#0f172a}h2{margin:0;font-size:1.1rem;color:#0f172a}p{margin:0}a{color:inherit}input,select{display:block;width:100%;margin-top:.3rem;padding:.5rem .65rem;border:1px solid #cbd5e1;border-radius:.25rem;background:#fff;font:inherit;font-size:.875rem}input:focus,select:focus{outline:2px solid #059669;outline-offset:1px}.min-h-screen{min-height:100vh}.bg-stone-100{background:#f5f5f4}.bg-white{background:#fff}.p-5{padding:1.25rem}.p-8{padding:2rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.mb-2{margin-bottom:.5rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mt-1{margin-top:.25rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.w-full{width:100%}.max-w-md{max-width:28rem}.max-w-3xl{max-width:48rem}.mx-auto{margin-left:auto;margin-right:auto}.flex{display:flex}.grid{display:grid}.hidden{display:none}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.min-w-0{min-width:0}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.border{border:1px solid #cbd5e1}.border-b{border-bottom:1px solid #e2e8f0}.border-t-4{border-top:4px solid}.border-emerald-700{border-color:#047857}.border-red-300{border-color:#fca5a5}.border-emerald-300{border-color:#6ee7b7}.shadow{box-shadow:0 1px 3px #0002}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-white{color:#fff}.text-slate-500{color:#64748b}.text-slate-600{color:#475569}.text-slate-700{color:#334155}.text-slate-800{color:#1e293b}.text-red-700{color:#b91c1c}.text-emerald-800{color:#166534}.text-emerald-900{color:#14532d}.bg-red-50{background:#fef2f2}.bg-emerald-50{background:#ecfdf5}.bg-stone-50{background:#fafaf9}.list-disc{list-style:disc}.ml-5{margin-left:1.25rem}.space-y-4>*+*{margin-top:1rem}.divide-y>*+*{border-top:1px solid #e2e8f0}.brand{font-weight:800;letter-spacing:.08em;color:#12653a;text-decoration:none;white-space:nowrap}.brand span{color:#164a7c}.brand small{display:block;color:#64748b;font-size:.55rem;letter-spacing:.14em;margin-top:2px}header{border-bottom:4px solid #047857;background:#fff;box-shadow:0 1px 3px #0001}header>div,main{max-width:1600px;margin:auto}nav a,.link-button{padding:.55rem .65rem;color:#334155;text-decoration:none;background:none;border:0;cursor:pointer;font-weight:600}nav a:hover,.link-button:hover{color:#087443}.button{display:inline-block;border-radius:.25rem;background:#087443;color:#fff;padding:.65rem 1rem;font-size:.875rem;font-weight:700;text-decoration:none;border:0;cursor:pointer}.button:hover{background:#065f36}.button.secondary{background:#475569}.button.small{padding:.45rem .6rem;font-size:.75rem}.stat{border-top:4px solid #087443;border-radius:.25rem;background:#fff;padding:1.25rem;box-shadow:0 1px 3px #0001}.stat strong{display:block;font-size:2rem}.stat span{color:#64748b;font-size:.875rem}.panel-link{display:block;border-left:4px solid #087443;background:#fff;padding:1.4rem;box-shadow:0 1px 3px #0001;text-decoration:none}.panel-link strong{display:block;color:#14532d}.panel-link span{display:block;margin-top:.4rem;color:#475569;font-size:.9rem}.employee-row{background:#fff}.drag-handle{color:#64748b;cursor:grab;font-size:1.2rem}.request-table{min-width:1100px;width:100%;border-collapse:collapse;font-size:.84rem}.request-table th{background:#14532d;color:#fff;padding:.7rem;text-align:left}.request-table td{border-bottom:1px solid #dbe1e8;padding:.55rem;vertical-align:middle}.request-table tr:hover td{background:#f8fafc}.request-table td small,.planning-table th small{display:block;color:#64748b;font-weight:400}.week-inputs{display:flex;align-items:center;gap:.3rem}.week-inputs input{margin:0;width:3.7rem;padding:.35rem}.approval-choice{display:flex;gap:.2rem}.approval-choice label{cursor:pointer}.approval-choice input{position:absolute;opacity:0}.approval-choice span{display:inline-flex;height:2rem;width:2rem;align-items:center;justify-content:center;border:1px solid #94a3b8;border-radius:.2rem;font-weight:700}.approval-choice input:checked+span{background:#087443;color:#fff;border-color:#087443}.clear-approval span{color:#64748b}.extra-row td{padding-top:0!important;padding-left:.7rem!important;background:#f8fafc}.print-sheet{overflow:auto;background:#fff;padding:1rem;box-shadow:0 1px 3px #0002}.print-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:.7rem;border-bottom:2px solid #166534;padding-bottom:.35rem;font-size:.85rem}.print-heading strong{color:#166534;letter-spacing:.08em}.print-heading span{display:block;color:#475569;font-size:.75rem}.legend{margin:.6rem 0;font-size:.75rem}.choice{display:inline-block;min-width:1.3rem;text-align:center;font-style:normal;font-weight:700;border:1px solid #94a3b8;margin-left:.35rem}.planning-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:10px}.planning-table th,.planning-table td{border:1px solid #cbd5e1;height:21px;min-width:25px;padding:1px 3px;text-align:center}.planning-table thead th{background:#e2e8f0;color:#0f172a}.planning-table .sticky-name{position:sticky;left:0;z-index:1;min-width:140px;max-width:200px;background:#fff;text-align:left}.planning-table thead .sticky-name{z-index:3;background:#e2e8f0}.planning-table td.c1,.choice.c1{background:#fef3c7}.planning-table td.c2,.choice.c2{background:#fed7aa}.planning-table td.c3,.choice.c3{background:#dbeafe}.planning-table td.approved,.choice.approved{background:#86efac;font-weight:800}.planning-table td.multiple{background:#e9d5ff;font-weight:800}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1280px){.xl\:grid-cols-\[2fr_1fr\]{grid-template-columns:2fr 1fr}}@media print{@page{size:A3 landscape;margin:10mm}.no-print,header{display:none!important}body{background:#fff}main{max-width:none!important;padding:0!important}.print-sheet{overflow:visible!important;box-shadow:none!important;padding:0!important}.planning-table{font-size:8pt;width:100%}.planning-table th,.planning-table td{height:7mm;min-width:0}.planning-table .sticky-name{position:static;min-width:42mm}}
