:root{color-scheme:light;font-family:Inter,system-ui,sans-serif;background:#f3f6fb;color:#17233d;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(34,197,94,.16),transparent 30%),radial-gradient(circle at bottom right,rgba(16,185,129,.1),transparent 25%),#f6fff8}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;gap:1rem;background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(15,23,42,.08)}.topbar-brand{display:flex;flex-direction:column;gap:.125rem}.brand-mark{font-size:1.2rem;font-weight:700;color:#166534}.brand-copy{color:#4b5563;font-size:.95rem}.topbar-actions{display:flex;gap:.75rem;align-items:center}.topbar-user{font-weight:600;color:#166534}.app-main{max-width:1200px;margin:0 auto;padding:2rem}.app-banner{margin-bottom:1.5rem;padding:1rem 1.25rem;border-radius:14px;background:#ecfdf3;color:#166534;border:1px solid #a7f3d0}.error-banner{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.page{display:flex;flex-direction:column;gap:1.5rem}.page-center{min-height:calc(100vh - 90px);display:grid;place-items:center}.auth-card,.table-card,.metric-card,.task-card,.modal-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:20px;box-shadow:0 12px 50px #0f172a12}.auth-card,.modal-card{width:min(520px,100%);padding:2rem}.auth-card h1,.page-header h1{margin:0 0 .5rem;font-size:clamp(1.8rem,2vw,2.4rem);color:#14532d}.text-muted{color:#475569;margin:0 0 1.5rem}.auth-card form,.modal-card form{display:grid;gap:1rem}.auth-card label,.modal-card label{display:grid;gap:.5rem;font-weight:600;color:#0f172a}input,select{width:100%;padding:.95rem 1rem;border-radius:14px;border:1px solid rgba(15,23,42,.12);background:#f8fff9;color:#111827}input:focus,select:focus{outline:2px solid rgba(34,197,94,.25);outline-offset:2px}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;border-radius:14px;padding:.95rem 1.3rem;font-weight:700;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.button:hover{transform:translateY(-1px)}.button-primary{color:#fff;background:linear-gradient(135deg,#15803d,#22c55e);box-shadow:0 16px 40px #22c55e2e}.button-secondary{background:#f0fdf4;color:#166534}.small{padding:.6rem .85rem;font-size:.9rem}.auth-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;color:#475569}.auth-footer a{color:#15803d;text-decoration:none}.page-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.nav-pill-group{display:flex;flex-wrap:wrap;gap:.75rem}.nav-pill{display:inline-flex;align-items:center;padding:.85rem 1rem;border-radius:999px;background:#f0fdf4;color:#166534;text-decoration:none;font-weight:600}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.metric-card{padding:1.5rem}.metric-label{color:#64748b;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}.metric-value{margin-top:1rem;font-size:2.3rem;font-weight:800;color:#0f172a}.table-card{overflow:auto;padding:1.5rem}.table-card table{width:100%;border-collapse:collapse}.table-card th,.table-card td{padding:1rem .9rem;text-align:left;border-bottom:1px solid rgba(15,23,42,.08)}.table-card thead th{color:#334155;font-size:.95rem;text-transform:uppercase;letter-spacing:.04em}.row-inactive{opacity:.65}.action-cell{display:flex;gap:.5rem;flex-wrap:wrap}.task-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.task-card{padding:1.5rem;display:grid;gap:1rem}.task-card h2{margin:0;font-size:1.25rem;color:#14532d}.task-client{color:#475569}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:grid;place-items:center;padding:1.5rem;z-index:10}.modal-card{width:min(600px,100%);padding:2rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;flex-wrap:wrap}.empty-state{padding:2rem;border-radius:18px;background:#ecfdf3;text-align:center;color:#334155}.new-client-box{display:grid;gap:.75rem;padding:1rem;border-radius:14px;background:#f0fdf4;border:1px solid rgba(22,101,52,.15)}.new-client-heading{font-weight:700;color:#166534}.small{padding:.6rem .9rem;font-size:.85rem}@media (max-width: 700px){.topbar,.app-main{padding-left:1rem;padding-right:1rem}.page-header{align-items:flex-start}}
