:root{--text:#3f4552;--text-h:#10131a;--text-muted:#6b7280;--bg:#f4f6f8;--surface:#fff;--border:#dde1e6;--accent:#0f766e;--accent-hover:#0b5c56;--accent-bg:#0f766e14;--danger:#b91c1c;--danger-bg:#b91c1c14;--shadow:#10131a0f 0 1px 3px, #10131a0a 0 1px 2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font:16px/1.5 var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#c7cbd1;--text-h:#f3f4f6;--text-muted:#9199a6;--bg:#14161b;--surface:#1c1f26;--border:#2c2f38;--accent:#2dd4bf;--accent-hover:#5eead4;--accent-bg:#2dd4bf1f;--danger:#f87171;--danger-bg:#f871711f;--shadow:#0006 0 1px 3px, #0000004d 0 1px 2px}}*{box-sizing:border-box}body{margin:0}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3{color:var(--text-h);margin:0 0 8px;font-weight:600}p{margin:0}a{color:var(--accent)}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:15px}.app-shell{flex-direction:column;min-height:100svh;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:32px;padding:14px 24px;display:flex}.topbar__brand{color:var(--text-h);white-space:nowrap;align-items:center;gap:10px;font-size:18px;font-weight:700;display:flex}.topbar__nav{flex:1;align-items:center;gap:20px;min-width:0;display:flex}.topbar__nav a{color:var(--text-muted);white-space:nowrap;font-size:14px;font-weight:500;text-decoration:none}.topbar__nav a.active,.topbar__nav a:hover{color:var(--accent)}.topbar__nav-divider{display:none}.topbar__menu-btn{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;flex-direction:column;justify-content:center;gap:4px;width:40px;height:40px;padding:0;display:none}.topbar__menu-btn span{background:var(--text-h);border-radius:2px;width:18px;height:2px;margin:0 auto;display:block}.topbar__scrim{display:none}.topbar__user{color:var(--text-muted);align-items:center;gap:12px;margin-left:auto;font-size:14px;display:flex}.topbar__user-info{flex-direction:column;align-items:flex-end;line-height:1.3;display:flex}.topbar__user-name{color:var(--text-muted)}.topbar__user-role{color:var(--text-muted);opacity:.75;font-size:12px}.main{flex:1;width:100%;max-width:960px;margin:0 auto;padding:32px 24px 64px}@media (width<=860px){.topbar{padding:12px 16px;position:relative}.topbar__menu-btn{margin-left:auto;display:flex}.topbar__nav{background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow);z-index:101;flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 16px;display:none;position:absolute;top:100%;left:0;right:0}.topbar__nav--open{display:flex}.topbar__nav a{border-bottom:1px solid var(--border);align-items:center;min-height:44px;padding:12px 4px;display:flex}.topbar__nav-divider{display:block}.topbar__user{justify-content:space-between;margin-left:0;padding-top:12px}.topbar__scrim{z-index:100;background:#0a0c1066;display:block;position:fixed;inset:65px 0 0}.main{padding:20px 16px 48px}}@media (width<=640px){.page-header{align-items:flex-start}.row-actions{flex-wrap:wrap}.row-actions .btn{flex:1;min-height:40px}.btn{min-height:40px}}.auth-shell{flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;padding:28px}.card--auth{width:100%;max-width:380px}.card--auth h1{margin-bottom:4px;font-size:22px}.subtitle{color:var(--text-muted);margin-bottom:24px;font-size:14px}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field label{color:var(--text-h);font-size:13px;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;outline:none;padding:10px 12px;transition:border-color .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=560px){.field-row{grid-template-columns:1fr}}.btn{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,opacity .15s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--block{width:100%}.btn--ghost{border-color:var(--border);color:var(--text);background:0 0}.btn--ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn--danger{color:var(--danger);border-color:var(--border);background:0 0}.btn--danger:hover:not(:disabled){border-color:var(--danger);background:var(--danger-bg)}.alert{border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:14px}.alert--error{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger)}.alert--success{background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent)}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.page-header h1{font-size:24px}.search-bar{gap:10px;margin-bottom:20px;display:flex}.search-bar input{border:1px solid var(--border);background:var(--surface);color:var(--text-h);border-radius:8px;outline:none;flex:1;padding:10px 12px}.search-bar input:focus{border-color:var(--accent)}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:auto hidden}table{border-collapse:collapse;width:100%;font-size:14px}thead th{text-align:left;background:var(--bg);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 16px;font-size:12px;font-weight:600}tbody td{border-bottom:1px solid var(--border);color:var(--text);white-space:nowrap;padding:12px 16px}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--accent-bg)}.empty-state{text-align:center;color:var(--text-muted);padding:48px 24px}.row-actions{gap:8px;display:flex}.row-actions .btn{padding:6px 12px;font-size:13px}@media (width<=640px){.table-wrap{background:0 0;border:none;border-radius:0;overflow-x:visible}.table-wrap table,.table-wrap thead,.table-wrap tbody,.table-wrap tr,.table-wrap td{width:100%;display:block}.table-wrap thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.table-wrap tbody tr{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:12px;padding:4px 14px}.table-wrap tbody tr:hover{background:var(--surface)}.table-wrap tbody td{border-bottom:1px solid var(--border);white-space:normal;text-align:right;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.table-wrap tbody td:last-child{border-bottom:none}.table-wrap tbody td[data-label]:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);text-align:left;margin-right:auto;font-size:12px;font-weight:600}.table-wrap tbody td.table-cell--actions{flex-direction:column;align-items:stretch}.table-wrap tbody td.table-cell--actions .row-actions{flex-direction:column;width:100%}.table-wrap tbody td.table-cell--actions .row-actions .btn{flex:none;width:100%}}.form-actions{gap:12px;margin-top:8px;display:flex}.spinner-text{color:var(--text-muted);text-align:center;padding:24px;font-size:14px}.modal-overlay{z-index:100;background:#0a0c1080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;width:100%;max-width:480px;max-height:90vh;padding:28px;overflow-y:auto}.modal h2{margin-bottom:4px;font-size:20px}@media (width<=640px){.modal-overlay{align-items:flex-end;padding:0}.modal{width:100%;max-width:100%;max-height:92vh;padding:20px 20px calc(20px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0}.field-row{grid-template-columns:1fr}}.checkbox-list{flex-direction:column;gap:8px;margin-top:8px;display:flex}.checkbox-item{color:var(--text);align-items:center;gap:8px;font-size:14px;display:flex}.badge{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.badge--pending{background:var(--accent-bg);color:var(--accent)}.badge--done{color:var(--text-muted);background:#6b728026}.badge--active{background:var(--accent-bg);color:var(--accent)}.badge--inactive{background:var(--danger-bg);color:var(--danger)}.attendance-list{flex-direction:column;gap:12px;display:flex}.attendance-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px}.attendance-card__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:14px;display:flex}.attendance-card__header strong{color:var(--text-h)}.attendance-card__header span{color:var(--text-muted)}.attendance-card__queixa{color:var(--text);white-space:pre-wrap;margin-top:4px;font-size:14px}.attendance-card__medico{color:var(--text-muted);margin-top:8px;font-size:12px}.record-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:16px;display:grid}.record-grid__full{grid-column:1/-1}.record-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.record-value{color:var(--text-h);font-size:15px;display:block}@media (width<=560px){.record-grid{grid-template-columns:1fr}}.print-header{display:none}@media print{.no-print,.topbar{display:none!important}.print-header{margin-bottom:24px;display:block}.print-header h1{margin-bottom:4px;font-size:22px}.print-header p{color:#444;font-size:13px}body,.main{background:#fff!important}.card,.attendance-card{break-inside:avoid;box-shadow:none!important;border:1px solid #ccc!important}.record-label,.attendance-card__header span,.attendance-card__medico,.print-header p{color:#444!important}.record-value,h1,h2,strong,.attendance-card__queixa{color:#000!important}}
