*{box-sizing:border-box}:root{--primary: #0ea5e9;--primary-dark: #0284c7;--primary-soft: #e0f2fe;--warn: #f97316;--warn-dark: #ea580c;--warn-soft: #fff1e7;--danger: #ef4444;--bg: #eeece7;--card: #fbfcfe;--border: #d5dee8;--text: #1e293b;--muted: #64748b;--neutral: #475569;--shadow: 0 1px 3px rgba(30, 41, 59, .08);--shadow-md: 0 12px 30px rgba(30, 41, 59, .16);--shadow-lg: 0 24px 60px rgba(2, 8, 23, .35);--ok-soft: #dcf5e9;--ok: #0b8a5f;--yellow: #854d0e;--yellow-soft: #fef3c7;--purple: #6d28d9;--purple-soft: #ede9fe;--chart-green: #22c55e;--chart-1: var(--primary);--chart-2: var(--warn);--chart-3: var(--chart-green);--chart-4: var(--danger);--login-gradient-start: #0ea5e9;--login-gradient-mid: #0369a1;--login-gradient-end: #0c4a6e;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--font-2xs: 10.5px;--font-xs: 11.5px;--font-sm: 12.5px;--font-base: 13px;--font-md: 14px;--font-lg: 15px;--font-xl: 20px;--font-2xl: 22px;--radius-sm: 7px;--radius-md: 9px;--radius-lg: 14px;--radius-xl: 16px;--radius-2xl: 20px;--radius-pill: 999px}html[data-theme=dark]{--primary: #38bdf8;--primary-dark: #7dd3fc;--primary-soft: #0c3a54;--warn: #fb923c;--warn-dark: #fdba74;--warn-soft: #4a2512;--danger: #f87171;--bg: #0f172a;--card: #1e293b;--border: #334155;--text: #e2e8f0;--muted: #94a3b8;--neutral: #334155;--shadow: 0 1px 3px rgba(0, 0, 0, .35);--shadow-md: 0 12px 30px rgba(0, 0, 0, .45);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .55);--ok-soft: #113528;--ok: #34d399;--yellow: #fde047;--yellow-soft: #3d3512;--purple: #c4b5fd;--purple-soft: #2e2350;--chart-green: #4ade80;--login-gradient-start: #0c4a6e;--login-gradient-mid: #075985;--login-gradient-end: #0c2d48}html,body{margin:0;height:100%}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:var(--font-lg);transition:background .2s,color .2s}.page{padding:var(--space-5);max-width:1150px;margin:0 auto}.page-title{font-size:var(--font-2xl);font-weight:700;margin:0 0 18px;display:flex;align-items:center;gap:10px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;margin-bottom:var(--space-4);box-shadow:var(--shadow)}.card h3{margin:0 0 14px;font-size:var(--font-lg);color:var(--text)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.stat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;box-shadow:var(--shadow)}.stat .label{font-size:var(--font-sm);color:var(--muted)}.stat .value{font-size:var(--font-xl);font-weight:700;margin-top:4px}.stat .value.pos{color:var(--primary-dark)}.stat .value.neg{color:var(--warn-dark)}.fg{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--space-3)}.fg label{font-size:var(--font-sm);font-weight:600;color:var(--muted)}input,select,textarea{padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--font-md);font-family:inherit;background:var(--card);color:var(--text);width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:-1px}.row{display:flex;gap:var(--space-3)}.row>*{flex:1}.switch{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--font-md);-webkit-user-select:none;user-select:none}.switch input{display:none}.switch .track{width:44px;height:24px;border-radius:var(--radius-pill);background:var(--border);position:relative;transition:background .2s;flex-shrink:0}.switch .track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 3px #00000040}.switch input:checked+.track{background:var(--primary)}.switch input:checked+.track:after{left:23px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border:none;border-radius:var(--radius-md);font-size:var(--font-md);font-weight:600;cursor:pointer;background:var(--primary);color:#fff;transition:all .15s;text-decoration:none}html[data-theme=dark] .btn:not(.ghost):not(.soft){color:#0f172a}.btn:hover{filter:brightness(.94)}html[data-theme=dark] .btn:hover{filter:brightness(1.12)}html[data-theme=dark] .btn.ghost:hover{background:#2b3b52;filter:none}html[data-theme=dark] .icon-btn:hover{filter:brightness(1.25)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.warn{background:var(--warn)}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn.ghost:hover{background:var(--bg);filter:none}.btn.soft{background:var(--primary-soft);color:var(--primary-dark)}.btn.sm{padding:6px 8px;font-size:var(--font-base);border-radius:var(--radius-sm)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;cursor:pointer;transition:all .15s;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn.blue{color:var(--primary-dark);border-color:var(--primary-soft)}.icon-btn.blue:hover{background:var(--primary-soft)}.icon-btn.orange{color:var(--warn-dark);border-color:var(--warn-soft)}.icon-btn.orange:hover{background:var(--warn-soft)}.icon-btn.gray{color:var(--text)}.icon-btn.gray:hover{background:var(--bg)}.icon-btn.green{color:var(--ok);border-color:var(--ok-soft)}.icon-btn.green:hover{background:var(--ok-soft)}.icon-btn.yellow{color:var(--yellow);background:var(--yellow-soft);border-color:var(--yellow-soft)}.icon-btn.yellow:hover{filter:brightness(.95)}.icon-btn.purple{color:var(--purple);background:var(--purple-soft);border-color:var(--purple-soft)}.icon-btn.purple:hover{filter:brightness(.95)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:var(--font-md)}th{text-align:left;padding:8px 10px;color:var(--muted);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.04em}thead tr{border-bottom:1px solid var(--border)}td{padding:10px;vertical-align:middle}tbody tr{border-bottom:1px solid var(--border)}tbody tr:last-child{border-bottom:none}th.col-c,td.col-c{text-align:center}th.col-r,td.col-r{text-align:right}.actions{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.actions .gap{width:14px;flex-shrink:0}.badge{display:inline-block;padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--font-sm);font-weight:600}.badge.agendado{background:var(--primary-soft);color:var(--primary-dark)}.badge.concluido{background:var(--ok-soft);color:var(--ok)}.badge.cancelado{background:var(--warn-soft);color:var(--warn-dark)}.badge.receita{background:var(--primary-soft);color:var(--primary-dark)}.badge.despesa,.badge.low{background:var(--warn-soft);color:var(--warn-dark)}.badge.inactive{background:var(--bg);color:var(--muted);border:1px solid var(--border)}.badge.ativo{background:var(--ok-soft);color:var(--ok)}.lvl{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-sm);font-weight:600}.lvl .dot{width:10px;height:10px;border-radius:3px}.lvl-3 .dot{background:var(--primary)}.lvl-2 .dot{background:var(--ok)}.lvl-1 .dot{background:var(--warn)}.lvl-0 .dot{background:var(--danger)}.lvl-3{color:var(--primary-dark)}.lvl-2{color:var(--ok)}.lvl-1{color:var(--warn-dark)}.lvl-0{color:var(--danger)}.overlay{position:fixed;inset:0;background:#02081780;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal{background:var(--card);border-radius:var(--radius-xl);padding:22px;width:min(500px,100%);max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);border:1px solid var(--border)}.modal h3{margin:0 0 16px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.muted{color:var(--muted);font-size:var(--font-base)}.empty{text-align:center;color:var(--muted);padding:28px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:var(--space-4)}.toolbar input,.toolbar select{width:auto;min-width:150px}.toolbar input[type=text],.toolbar input:not([type]){min-width:230px}.spacer{flex:1}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--card);font-size:var(--font-base);font-weight:600;color:var(--text);cursor:pointer;transition:all .15s}.chip:hover{border-color:var(--primary);color:var(--primary-dark)}.chip.on{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-dark)}@media (max-width: 640px){.page{padding:14px 14px 84px}.row{flex-direction:column;gap:0}.toolbar input,.toolbar select{flex:1 1 100%;min-width:0}}
