@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@24,400,0,0";:root{--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-primary-pressed:#1d4ed8;--color-primary-soft:#eff6ff;--color-secondary:#7cbf8e;--color-secondary-soft:#ecf8f0;--color-accent:#f4b740;--color-accent-soft:#fff8e8;--color-background:#f8fafc;--color-surface:#fff;--color-surface-alt:#f1f5f9;--color-border:#e2e8f0;--color-text:#1e293b;--color-text-secondary:#64748b;--color-text-disabled:#cbd5e1;--color-text-on-primary:#fff;--color-success:#16a34a;--color-success-soft:#dcfce7;--color-warning:#d97706;--color-warning-soft:#fef3c7;--color-error:#dc2626;--color-error-soft:#fee2e2;--color-info:#0ea5e9;--color-info-soft:#e0f2fe;--font-family:"Inter", system-ui, -apple-system, sans-serif;--font-display:40px;--font-h1:32px;--font-h2:28px;--font-h3:24px;--font-title:20px;--font-subtitle:18px;--font-body-lg:16px;--font-body:14px;--font-caption:12px;--font-overline:11px;--font-button:16px;--line-tight:1.25;--line-normal:1.5;--letter-overline:.06em;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-xxl:40px;--space-xxxl:48px;--space-huge:64px;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-pill:999px;--shadow-1:0 1px 2px #1e293b0a, 0 1px 3px #1e293b0f;--shadow-2:0 4px 12px #1e293b14;--shadow-3:0 12px 32px #1e293b1f;--shadow-4:0 8px 24px #3b82f647;--motion-fast:.15s;--motion-normal:.25s;--motion-slow:.3s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--opacity-disabled:.4;--opacity-overlay:.45;--icon-sm:16px;--icon-md:20px;--icon-lg:24px;--icon-xl:32px;--touch-min:44px;--sidebar-width:260px;--content-max:1120px;--mobile-width:390px;--page-margin:20px;--gutter:16px}*,:before,:after{box-sizing:border-box}html{font-size:16px}body{font-family:var(--font-family);font-size:var(--font-body);line-height:var(--line-normal);color:var(--color-text);background:var(--color-background);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}.material-symbols-rounded{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;font-size:var(--icon-lg);-webkit-user-select:none;user-select:none;line-height:1}.text-display{font-size:var(--font-display);font-weight:700;line-height:var(--line-tight)}.text-h1{font-size:var(--font-h1);font-weight:700;line-height:var(--line-tight)}.text-h2{font-size:var(--font-h2);font-weight:700;line-height:var(--line-tight)}.text-h3{font-size:var(--font-h3);font-weight:600;line-height:var(--line-tight)}.text-title{font-size:var(--font-title);font-weight:600}.text-subtitle{font-size:var(--font-subtitle);font-weight:600}.text-body-lg{font-size:var(--font-body-lg);font-weight:400}.text-body{font-size:var(--font-body);font-weight:400}.text-caption{font-size:var(--font-caption);color:var(--color-text-secondary);font-weight:400}.text-overline{font-size:var(--font-overline);letter-spacing:var(--letter-overline);text-transform:uppercase;color:var(--color-text-secondary);font-weight:500}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-disabled)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);min-height:var(--touch-min);padding:0 var(--space-lg);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--font-button);cursor:pointer;transition:background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);border:1px solid #0000;font-weight:600;line-height:1;display:inline-flex}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{opacity:var(--opacity-disabled);cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--color-primary);color:var(--color-text-on-primary)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:active{background:var(--color-primary-pressed)}.btn-secondary{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-border)}.btn-secondary:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.btn-tertiary{color:var(--color-primary);padding-inline:var(--space-md);background:0 0}.btn-tertiary:hover{background:var(--color-primary-soft)}.btn-danger{background:var(--color-error);color:#fff}.btn-block{width:100%}.btn-sm{min-height:36px;padding-inline:var(--space-md);font-size:var(--font-body)}.btn-icon{width:var(--touch-min);border-radius:var(--radius-sm);color:var(--color-text-secondary);background:0 0;border:none;padding:0}.btn-icon:hover{background:var(--color-surface-alt);color:var(--color-text)}.field{gap:var(--space-sm);flex-direction:column;display:flex}.field-label{font-size:var(--font-body);color:var(--color-text);font-weight:600}.field-hint,.field-error{font-size:var(--font-caption)}.field-hint{color:var(--color-text-secondary)}.field-error{color:var(--color-error)}.input,.select,.textarea{width:100%;min-height:var(--touch-min);padding:0 var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-family:inherit;font-size:var(--font-body-lg);color:var(--color-text);transition:border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard)}.textarea{min-height:120px;padding:var(--space-md);resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--color-text-disabled)}.input:hover,.select:hover,.textarea:hover{border-color:#cbd5e1}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.input.is-error,.input.is-invalid,.field.is-error .input,.field.is-error .select,.field.is-error .textarea{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-soft)}.stat-card.is-link{color:inherit;transition:border-color var(--motion-fast) var(--ease-standard);text-decoration:none;display:block}.stat-card.is-link:hover{border-color:var(--color-primary)}.year-pill{border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary);font-size:var(--font-caption);align-items:center;gap:6px;padding:6px 12px;font-weight:600;display:inline-flex}.input:disabled,.select:disabled,.textarea:disabled{background:var(--color-surface-alt);color:var(--color-text-disabled)}.form-grid{gap:var(--space-lg);display:grid}.form-grid.cols-2{grid-template-columns:1fr}@media (width>=768px){.form-grid.cols-2{grid-template-columns:1fr 1fr}}.form-actions{gap:var(--space-md);padding-top:var(--space-md);flex-wrap:wrap;justify-content:flex-end;display:flex}.check-row,.radio-row{align-items:center;gap:var(--space-sm);min-height:var(--touch-min);display:flex}.switch{flex-shrink:0;width:48px;height:28px;position:relative}.switch input{opacity:0;width:0;height:0}.switch-track{background:var(--color-border);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--motion-fast) var(--ease-standard);position:absolute;inset:0}.switch-track:after{content:"";width:22px;height:22px;box-shadow:var(--shadow-1);transition:transform var(--motion-fast) var(--ease-standard);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.switch input:checked+.switch-track{background:var(--color-primary)}.switch input:checked+.switch-track:after{transform:translate(20px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--color-primary);outline-offset:2px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:var(--space-lg)}.card-flat{box-shadow:none}.card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.card-title{font-size:var(--font-title);font-weight:600}.stat-card{gap:var(--space-sm);flex-direction:column;display:flex}.stat-value{font-size:var(--font-h2);color:var(--color-text);font-weight:700}.stat-label{font-size:var(--font-caption);color:var(--color-text-secondary)}.stat-icon{border-radius:var(--radius-sm);background:var(--color-primary-soft);width:40px;height:40px;color:var(--color-primary);margin-bottom:var(--space-sm);place-items:center;display:grid}.badge{border-radius:var(--radius-pill);min-height:24px;font-size:var(--font-caption);white-space:nowrap;align-items:center;gap:4px;padding:0 10px;font-weight:600;display:inline-flex}.badge-novo{background:var(--color-accent-soft);color:#92610a}.badge-hoje{background:var(--color-primary-soft);color:var(--color-primary-pressed)}.badge-urgente{background:var(--color-error-soft);color:var(--color-error)}.badge-respondido,.badge-ativo{background:var(--color-success-soft);color:var(--color-success)}.badge-pendente,.badge-inativo{background:var(--color-surface-alt);color:var(--color-text-secondary)}.chips{gap:var(--space-sm);flex-wrap:wrap;display:flex}.chip{min-height:36px;padding:0 var(--space-md);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--font-body);cursor:pointer;align-items:center;font-family:inherit;font-weight:500;display:inline-flex}.chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.chip.is-active{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-pressed)}.avatar{background:var(--color-primary-soft);width:40px;height:40px;color:var(--color-primary-pressed);font-weight:600;font-size:var(--font-body);border-radius:50%;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.avatar-lg{width:56px;height:56px;font-size:var(--font-subtitle)}.avatar img{object-fit:cover;width:100%;height:100%}.alert{gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-sm);border:1px solid #0000;display:flex}.alert-info{background:var(--color-info-soft);color:#0369a1;border-color:#bae6fd}.alert-success{background:var(--color-success-soft);color:#166534;border-color:#bbf7d0}.alert-warning{background:var(--color-warning-soft);color:#92400e;border-color:#fde68a}.alert-error{background:var(--color-error-soft);color:#991b1b;border-color:#fecaca}.list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);flex-direction:column;display:flex;overflow:hidden}.list-item{align-items:center;gap:var(--space-md);min-height:72px;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);color:inherit;transition:background var(--motion-fast) var(--ease-standard);text-decoration:none;display:flex}.list-item:last-child{border-bottom:none}.list-item:hover{background:var(--color-surface-alt)}.list-item-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.list-item-title{font-size:var(--font-body-lg);font-weight:600}.list-item-meta{font-size:var(--font-caption);color:var(--color-text-secondary)}.list-item-actions{gap:var(--space-xs);display:flex}.table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);overflow-x:auto}.table{border-collapse:collapse;width:100%;min-width:640px}.table th,.table td{padding:var(--space-md) var(--space-lg);text-align:left;border-bottom:1px solid var(--color-border);vertical-align:middle}.table th{font-size:var(--font-caption);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);background:var(--color-surface-alt);font-weight:600}.table tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:#fafbfc}.person-cell{align-items:center;gap:var(--space-md);display:flex}.empty-state{text-align:center;padding:var(--space-huge) var(--space-lg);color:var(--color-text-secondary)}.empty-state .material-symbols-rounded{color:var(--color-text-disabled);margin-bottom:var(--space-md);font-size:48px}.empty-state h3{font-size:var(--font-title);color:var(--color-text);margin-bottom:var(--space-sm)}.skeleton{background:linear-gradient(90deg, var(--color-surface-alt) 25%, #e8eef5 50%, var(--color-surface-alt) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.2s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.app-shell{grid-template-columns:1fr;min-height:100vh;display:grid}.sidebar{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);padding:var(--space-lg) var(--space-md);flex-direction:column;height:100vh;display:none;position:sticky;top:0}.brand{align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-lg);display:flex}.brand-mark{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;place-items:center;width:40px;height:40px;font-weight:700;display:grid}.brand-name{font-size:var(--font-subtitle);font-weight:700}.brand-sub{font-size:var(--font-caption);color:var(--color-text-secondary)}.nav-section{font-size:var(--font-overline);letter-spacing:var(--letter-overline);text-transform:uppercase;color:var(--color-text-secondary);padding:var(--space-md) var(--space-md) var(--space-sm);font-weight:500}.nav-link{align-items:center;gap:var(--space-md);min-height:var(--touch-min);padding:0 var(--space-md);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-weight:500;font-size:var(--font-body-lg);display:flex}.nav-link:hover{background:var(--color-surface-alt);color:var(--color-text)}.nav-link.is-active{background:var(--color-primary-soft);color:var(--color-primary-pressed)}.nav-link .material-symbols-rounded{font-size:var(--icon-md)}.main{flex-direction:column;min-width:0;display:flex}.topbar{justify-content:space-between;align-items:center;gap:var(--space-md);min-height:64px;padding:var(--space-md) var(--space-lg);background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:10;display:flex;position:sticky;top:0}.page{padding:var(--space-lg);max-width:var(--content-max);width:100%;margin:0 auto}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.page-header h1{font-size:var(--font-h2);font-weight:700}.page-header p{margin-top:var(--space-xs);color:var(--color-text-secondary);font-size:var(--font-body-lg)}.toolbar{gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;align-items:center;display:flex}.search{flex:1;min-width:200px;max-width:360px;position:relative}.search .material-symbols-rounded{color:var(--color-text-secondary);font-size:var(--icon-md);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search .input{padding-left:40px}.stats-grid{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=900px){.app-shell{grid-template-columns:var(--sidebar-width) 1fr}.sidebar{display:flex}.stats-grid{grid-template-columns:repeat(4,1fr)}}.auth-layout{min-height:100vh;padding:var(--space-lg);place-items:center;display:grid}.auth-card{width:100%;max-width:420px;padding:var(--space-xl)}.auth-brand{text-align:center;margin-bottom:var(--space-xl)}.auth-brand .brand-mark{margin:0 auto var(--space-md)}.stack-md{gap:var(--space-md);flex-direction:column;display:flex}.stack-lg{gap:var(--space-lg);flex-direction:column;display:flex}.divider{background:var(--color-border);height:1px;margin:var(--space-lg) 0;border:none}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-head{text-align:center;color:var(--color-text-secondary);padding:8px 0;font-size:12px;font-weight:600}.cal-day{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;min-height:72px;padding:8px;font-size:13px}.cal-day.is-muted{color:var(--color-text-disabled);background:var(--color-surface-alt)}.cal-dot{border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.dot-evento{background:var(--color-accent)}.dot-reuniao{background:var(--color-info)}.dot-feriado{background:var(--color-secondary)}
