:root{color-scheme:light;--primary: #dddddd;--secondary: #999999;--success: #10b981;--error: #df3f40;--bg: #f5f6f8;--paper: #ffffff;--text: #111827;--muted: #6b7280;--line: rgba(17, 24, 39, .08);--overlay: rgba(255, 255, 255, .35);--overlay-strong: rgba(255, 255, 255, .5);--shadow: 0 18px 40px rgba(15, 23, 42, .08);font-family:Segoe UI,Aptos,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--text);background:radial-gradient(circle at top left,rgba(16,185,129,.07),transparent 24%),linear-gradient(180deg,#fafafa 0%,var(--bg) 100%)}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}#root,.auth-shell,.app-shell{min-height:100vh}.auth-shell{display:grid;grid-template-columns:1.1fr .9fr}.auth-side{padding:48px;background:linear-gradient(140deg,#fffc,#ffffff8c),linear-gradient(160deg,#10b9811f,#ddddddb3)}.auth-side h1{font-size:clamp(3rem,5vw,5rem);line-height:.96;letter-spacing:-.05em;max-width:10ch;margin:20px 0}.auth-card{display:grid;gap:18px;align-self:center;width:min(480px,100%);margin:auto;padding:32px;border:1px solid var(--line);border-radius:24px;background:var(--paper);box-shadow:var(--shadow)}.pill{display:inline-flex;align-items:center;gap:8px;width:fit-content;padding:8px 14px;border-radius:999px;background:var(--overlay-strong);border:1px solid var(--line);color:#374151;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.field{display:grid;gap:8px}.field input,.field textarea,.field select{border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:12px 14px}.primary-button,.ghost-button{border:0;border-radius:14px;cursor:pointer;padding:12px 16px;font-weight:700}.primary-button{background:linear-gradient(135deg,#f0f0f0,#d4d4d4)}.ghost-button{background:#1118270f}.error-box{border-radius:14px;padding:12px 14px;background:#df3f4014;color:var(--error)}.app-shell{display:grid;grid-template-columns:280px 1fr}.sidebar{padding:24px;border-right:1px solid var(--line);background:#ffffffb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.sidebar nav{display:grid;gap:8px;margin-top:28px}.nav-link{padding:12px 14px;border-radius:14px;color:#374151}.nav-link.active{background:#11182714;font-weight:700}.content{padding:28px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.page-grid{display:grid;gap:20px}.card,.hero-card{border:1px solid var(--line);border-radius:24px;background:var(--paper);box-shadow:var(--shadow)}.card{padding:22px}.hero-card{padding:28px;background:linear-gradient(180deg,#ffffffeb,#ffffffd1),radial-gradient(circle at top right,rgba(16,185,129,.12),transparent 30%)}.stats-grid,.two-col,.three-col{display:grid;gap:16px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-value{font-size:2rem;font-weight:800;letter-spacing:-.04em}.list-table{width:100%;border-collapse:collapse}.list-table th,.list-table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.badge-row,.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag{padding:7px 10px;border-radius:999px;border:1px solid var(--line);background:#ffffffd9;font-size:.85rem}.split-actions{display:flex;gap:12px;flex-wrap:wrap}.inline-form{display:grid;gap:12px}.muted{color:var(--muted)}.empty-state{color:var(--muted);padding:20px 0}@media (max-width: 1100px){.stats-grid,.three-col{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 920px){.auth-shell,.app-shell,.two-col{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}}@media (max-width: 640px){.stats-grid,.three-col{grid-template-columns:1fr}.content,.auth-side{padding:20px}}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.badge-gray{background:#6b72801f;color:#374151}.badge-green{background:#10b9811f;color:#065f46}.badge-yellow{background:#f59e0b1f;color:#92400e}.badge-blue{background:#3b82f61f;color:#1e40af}.badge-red{background:#ef44441f;color:#991b1b}.badge-purple{background:#8b5cf61f;color:#5b21b6}.toast-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:10px;z-index:1000;pointer-events:none}.toast{pointer-events:auto;padding:14px 18px;border-radius:16px;background:var(--paper);border:1px solid var(--line);box-shadow:0 8px 24px #0f172a1f;font-size:.9rem;animation:toast-in .2s ease-out;max-width:340px}.toast-success{border-left:3px solid var(--success)}.toast-error{border-left:3px solid var(--error)}.toast-info{border-left:3px solid #3b82f6}@keyframes toast-in{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}.skeleton{border-radius:10px;background:linear-gradient(90deg,#1118270d,#1118271a,#1118270d);background-size:200% 100%;animation:shimmer 1.4s infinite linear}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.action-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 18px;border-radius:16px;background:#fff9;border:1px solid var(--line);margin-bottom:4px}.table-action{background:none;border:1px solid var(--line);border-radius:8px;cursor:pointer;padding:5px 10px;font-size:.82rem;font-weight:600;color:#374151;transition:background .1s}.table-action:hover{background:#1118270f}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px;flex-wrap:wrap}.section-header h3{margin:0}.inline-edit-row{display:flex;gap:8px;align-items:center}.inline-edit-row input{border:1px solid var(--line);border-radius:10px;padding:7px 12px;background:var(--paper);width:110px}.tab-bar{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto}.tab-item{padding:10px 16px;border-radius:10px 10px 0 0;cursor:pointer;font-size:.88rem;font-weight:600;color:var(--muted);border:none;background:none;border-bottom:2px solid transparent;white-space:nowrap}.tab-item.active{color:var(--text);border-bottom-color:var(--text);background:#1118270a}.finance-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.finance-kpi{padding:16px;border-radius:16px;border:1px solid var(--line);background:var(--paper)}.finance-kpi .label{font-size:.8rem;color:var(--muted);margin-bottom:4px}.finance-kpi .value{font-size:1.4rem;font-weight:800;letter-spacing:-.03em}.finance-kpi .value.positive{color:#065f46}.finance-kpi .value.negative{color:#991b1b}.finance-kpi .value.neutral{color:var(--text)}@media (max-width: 768px){.finance-kpi-grid{grid-template-columns:repeat(2,1fr)}}.empty-state-full{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:48px 24px;color:var(--muted);text-align:center}.empty-state-full .empty-icon{font-size:2.5rem;opacity:.3}.progress-bar{height:6px;border-radius:999px;background:#11182714;overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--success),rgba(16,185,129,.6));transition:width .4s ease}.select-field{border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:7px 12px;font:inherit;cursor:pointer;color:var(--text)}.chart-bar-list{display:grid;gap:14px}.chart-bar-row{display:grid;gap:6px}.chart-bar-label{display:flex;justify-content:space-between;align-items:baseline;font-size:.85rem}.chart-bar-label span:first-child{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70%}.chart-bar-label span:last-child{color:var(--muted);font-size:.8rem;flex-shrink:0;margin-left:8px}.chart-bar-track{height:8px;border-radius:999px;background:#11182712;overflow:hidden}.chart-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#10b981,#34d399);transition:width .6s cubic-bezier(.4,0,.2,1)}.chart-bar-fill.bar-blue{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.chart-bar-fill.bar-yellow{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.chart-bar-fill.bar-red{background:linear-gradient(90deg,#ef4444,#f87171)}.chart-bar-fill.bar-purple{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.chart-bar-fill.bar-gray{background:linear-gradient(90deg,#6b7280,#9ca3af)}.compare-bar-list{display:grid;gap:18px}.compare-bar-item{display:grid;gap:6px}.compare-bar-header{display:flex;justify-content:space-between;font-size:.85rem;font-weight:600}.compare-bar-tracks{display:grid;gap:4px}.compare-bar-track{height:7px;border-radius:999px;background:#11182712;overflow:hidden}.compare-bar-custo{background:linear-gradient(90deg,#ef4444,#f87171)}.compare-bar-receita{background:linear-gradient(90deg,#10b981,#34d399)}.compare-legend{display:flex;gap:14px;font-size:.78rem;color:var(--muted);margin-bottom:10px}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.row-positive td:first-child{border-left:3px solid var(--success)}.row-negative td:first-child{border-left:3px solid var(--error)}.value-positive{color:#065f46;font-weight:700}.value-negative{color:#991b1b;font-weight:700}.value-neutral{color:var(--text)}.audit-action{display:inline-flex;padding:3px 8px;border-radius:6px;font-size:.75rem;font-weight:700;letter-spacing:.03em;white-space:nowrap}.audit-create{background:#10b9811a;color:#065f46}.audit-update{background:#3b82f61a;color:#1e40af}.audit-delete{background:#ef44441a;color:#991b1b}.audit-auth{background:#8b5cf61a;color:#5b21b6}.audit-other{background:#6b72801a;color:#374151}.perm-group{border:1px solid var(--line);border-radius:16px;padding:16px 18px;background:var(--paper)}.perm-group-title{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:10px}.perm-tag{display:inline-flex;padding:4px 10px;border-radius:8px;background:#1118270d;font-size:.78rem;font-family:Consolas,Courier New,monospace;color:#374151;border:1px solid rgba(17,24,39,.08)}.summary-bar{display:flex;gap:1px;border-radius:12px;overflow:hidden;height:10px;background:#11182712}.summary-bar-fill-cost{background:#f87171}.summary-bar-fill-profit{background:#34d399}
