/* app.css — deployment CSS; regenerated with npm run build:css once the approved Tailwind registry is reachable. */
*{box-sizing:border-box}html{font-family:Arial,Helvetica,sans-serif;line-height:1.5}body{min-height:100vh;margin:0;background:#f8fafc;color:#0f172a}a{color:inherit}:focus-visible{outline:0;box-shadow:0 0 0 4px #c7d2fe,0 0 0 6px #fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;left:1rem;top:1rem;z-index:50;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;border-radius:.375rem;background:#4338ca;padding:.75rem 1rem;font-weight:600;color:#fff}.mx-auto{margin-left:auto;margin-right:auto}.max-w-7xl{max-width:80rem}.min-w-full{min-width:100%}.min-w-max{min-width:max-content}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.p-6{padding:1.5rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.p-5{padding:1.25rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.flex{display:flex}.grid{display:grid}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-4>*+*{margin-top:1rem}.size-10{width:2.5rem;height:2.5rem}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border:1px solid}.border-b{border-bottom:1px solid}.border-t{border-top:1px solid}.border-slate-100{border-color:#f1f5f9}.border-slate-200{border-color:#e2e8f0}.border-indigo-200{border-color:#c7d2fe}.border-amber-200{border-color:#fde68a}.bg-white{background:#fff}.bg-slate-50{background:#f8fafc}.bg-slate-100{background:#f1f5f9}.bg-indigo-50{background:#eef2ff}.bg-indigo-700{background:#4338ca}.bg-amber-50{background:#fffbeb}.bg-rose-50{background:#fff1f2}.bg-emerald-50{background:#ecfdf5}.text-left{text-align:left}.text-right{text-align:right}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.tracking-tight{letter-spacing:-.025em}.text-white{color:#fff}.text-slate-600{color:#475569}.text-slate-700{color:#334155}.text-indigo-700{color:#4338ca}.text-indigo-800{color:#3730a3}.text-indigo-950{color:#1e1b4b}.text-amber-900{color:#78350f}.text-amber-950{color:#451a03}.text-rose-700{color:#be123c}.text-rose-800{color:#9f1239}.text-emerald-800{color:#065f46}.shadow-sm{box-shadow:0 1px 2px rgb(15 23 42/.06)}.divide-y>*>*{border-bottom:1px solid #e2e8f0}.nav-link{display:block;border-radius:.375rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;color:#475569}.nav-link:hover,.nav-link:focus-visible{background:#f1f5f9;color:#0f172a}.nav-link-current{background:#eef2ff;color:#3730a3}.kpi-card{border:1px solid #e2e8f0;border-radius:.75rem;background:#fff;padding:1.25rem;box-shadow:0 1px 2px rgb(15 23 42/.06)}.eyebrow{font-size:.875rem;font-weight:500;color:#475569}.kpi-value{margin-top:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:600;letter-spacing:-.025em}.status-badge{display:inline-flex;align-items:center;gap:.375rem;border-radius:9999px;padding:.25rem .625rem;font-size:.75rem;font-weight:600}.status-overdue{background:#fff1f2;color:#9f1239}.status-today{background:#fffbeb;color:#78350f}.status-upcoming{background:#eef2ff;color:#3730a3}.status-done{background:#ecfdf5;color:#065f46}.action-link{border-radius:.375rem;padding:.25rem .5rem;font-size:.875rem;font-weight:600;color:#4338ca;text-decoration:underline;text-underline-offset:4px}.notice{border-radius:.75rem;border:1px solid;padding:1rem;font-size:.875rem;box-shadow:0 1px 2px rgb(15 23 42/.06)}table{border-collapse:collapse}th{font-weight:600}@media(min-width:640px){.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:flex-row{flex-direction:row}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}}@media(min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.form-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.form-grid .full{grid-column:1/-1}.form-grid label,.form-stack label{display:grid;gap:.375rem;font-size:.875rem;font-weight:600;color:#334155}.form-grid input,.form-grid select,.form-grid textarea,.form-stack input,.form-stack textarea{width:100%;border:1px solid #cbd5e1;border-radius:.375rem;padding:.55rem .65rem;background:#fff;color:#0f172a;font:inherit}.form-grid textarea,.form-stack textarea{min-height:5rem;resize:vertical}.form-stack{display:grid;gap:1rem}.item-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;border:1px solid #e2e8f0;border-radius:.5rem;padding:.75rem;margin-top:.75rem}.button{border:0;border-radius:.5rem;background:#4338ca;color:white;padding:.65rem 1rem;font:inherit;font-weight:600;cursor:pointer}.button:hover{background:#3730a3}
