:root{color:#162033;background:#f5f7fb;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0;border-radius:8px;padding:.7rem 1rem;background:#0d5c63;color:#fff;font-weight:700}button:disabled{cursor:not-allowed;background:#aab3c0}button.secondary{background:#eef2f7;color:#405069}input,select{width:100%;padding:.7rem .75rem;border:1px solid #cbd3df;border-radius:8px;background:#fff}header{display:flex;justify-content:space-between;align-items:center;padding:1.35rem max(5vw,2rem);color:#fff;background:#11223b}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:1.45rem}h2{margin-bottom:.35rem}.eyebrow{margin-bottom:.3rem;color:#74d4c4;font-size:.72rem;font-weight:800;letter-spacing:.1em}.user{text-align:right;font-weight:700}.user span{display:block;color:#c2d4df;font-size:.75rem;margin-top:.15rem}.user .sign-out{margin-top:.6rem;padding:.35rem .55rem;color:#dbe9f1;background:transparent;border:1px solid #52677e;font-size:.72rem}nav{display:flex;gap:.35rem;padding:.75rem max(5vw,2rem);background:#fff;border-bottom:1px solid #dbe2ea}nav button{background:transparent;color:#435166}nav button.active{color:#0d5c63;background:#e4f3f0}main{max-width:1100px;margin:2rem auto;padding:0 1.5rem}.section-title{display:flex;justify-content:space-between;align-items:end}.section-title p{color:#5c6b7e}.card{background:#fff;border:1px solid #e1e6ed;border-radius:12px;box-shadow:0 5px 15px #13253f0d}.grid-form{display:grid;grid-template-columns:1.2fr 1.2fr 1fr 1.3fr auto;gap:.75rem;margin:1rem 0 1.5rem;padding:1rem}.fee-form{grid-template-columns:repeat(4,minmax(150px,1fr))}.fee-form button{grid-column:span 1}.checkbox{display:flex;align-items:center;gap:.5rem;color:#405069;font-weight:700}.checkbox input{width:auto}.task-form{grid-template-columns:repeat(4,minmax(150px,1fr))}.recurrence-form{margin-top:0;grid-template-columns:repeat(4,minmax(150px,1fr))}td select{min-width:135px}td small{display:inline-block;margin-top:.25rem;color:#637186}.one-time-title{margin-top:2.25rem}.one-time-title h3{margin-bottom:.35rem}.one-time-form{grid-template-columns:repeat(4,minmax(150px,1fr))}.task-fee{display:block;color:#0d5c63;font-weight:700}.attendance-status{padding:1.1rem;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;margin:1rem 0 2rem}.attendance-status strong{font-size:1.1rem}.attendance-status p{margin:0;color:#405069}.access-ok,.access-blocked{border-radius:999px;padding:.35rem .65rem;font-weight:700;font-size:.82rem}.access-ok{color:#086957;background:#e4f3f0}.access-blocked{color:#a33b10;background:#fff0e9}.inline-actions,.table-actions{display:flex;gap:.5rem;flex-wrap:wrap}.sub-section{margin-top:2.25rem}.sub-section h3{margin-bottom:.35rem}.compact-form{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto}.exception-form,.leave-form{grid-template-columns:repeat(4,minmax(150px,1fr))}.top-gap{margin-top:1.2rem}.performance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;margin:1rem 0 2rem}.metric{padding:1rem}.metric span{display:block;color:#637186;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.metric strong{display:block;margin-top:.45rem;color:#11223b;font-size:1.25rem}.account-form,.invoice-form,.receipt-form,.exit-form,.staff-form,.staff-update-form,.work-invoice-form{grid-template-columns:repeat(4,minmax(150px,1fr))}.month-picker{max-width:170px;margin-bottom:.45rem}table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e1e6ed;border-radius:12px;overflow:hidden}th,td{text-align:left;padding:.9rem;border-bottom:1px solid #edf0f3}th{color:#637186;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.notice{padding:.8rem 1rem;color:#0d5c63;background:#e4f3f0;border-radius:8px}.error{color:#b42318}.login-shell{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#11223b,#0d5c63)}.login-card{width:min(420px,calc(100vw - 3rem));padding:2rem}.login-card label{display:grid;gap:.35rem;margin:1rem 0;font-weight:700;color:#405069}.login-card .eyebrow{color:#0d5c63}.login-card p{color:#405069;line-height:1.5}.login-card .notice{margin:1rem 0}.help{font-size:.84rem}.auth-key{display:block;overflow-wrap:anywhere;margin:1rem 0;padding:.8rem;color:#11223b;background:#eef2f7;border-radius:8px;font-weight:800;letter-spacing:.08em}@media (max-width: 800px){header{align-items:flex-start;gap:1rem}.grid-form,.fee-form,.task-form,.recurrence-form,.one-time-form,.compact-form,.exception-form,.leave-form,.account-form,.invoice-form,.receipt-form,.exit-form,.staff-form,.staff-update-form,.work-invoice-form,.performance-grid{grid-template-columns:1fr}.attendance-status{align-items:flex-start;flex-direction:column}nav{overflow-x:auto}}
