:root{--primary:#071736;--primary-light:#2b1a4a;--accent:#ff6a00;--bg:#f5f5f5;--card:#fff;--text:#212121;--text-light:#757575;--danger:#e53935;--success:#43a047;--warning:#ff6a00;--border:#e0e0e0;input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}}*{box-sizing:border-box;margin:0;padding:0}body{background:#f5f5f5;background:var(--bg);color:#212121;color:var(--text);font-family:Inter,sans-serif}.layout{display:flex;min-height:100vh}.sidebar{background:#071736;background:var(--primary);color:#fff;display:flex;flex-direction:column;height:100vh;overflow:hidden;padding:20px 0;position:fixed;transition:width .25s ease;width:220px;z-index:150}.sidebar.collapsed{width:60px}.sidebar .logo{border-bottom:1px solid hsla(0,0%,100%,.1);font-size:1.3em;font-weight:700;overflow:hidden;padding:10px 20px 20px;text-align:center;white-space:nowrap}.sidebar.collapsed .logo{padding:10px 0 14px}.sidebar.collapsed .logo img.logo-full{display:none}.sidebar.collapsed .logo .logo-mini{display:flex}.sidebar .logo .logo-mini{align-items:center;cursor:pointer;display:none;height:40px;justify-content:center;width:60px}.sidebar .logo .logo-mini img{height:32px;width:32px}.sidebar nav{flex:1 1;overflow-x:hidden;overflow-y:auto}.sidebar nav::-webkit-scrollbar{width:4px}.sidebar nav::-webkit-scrollbar-track{background:transparent}.sidebar nav::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.2);border-radius:4px}.sidebar nav a{align-items:center;color:hsla(0,0%,100%,.8);display:flex;font-size:.9em;gap:10px;overflow:hidden;padding:12px 24px;text-decoration:none;transition:.2s;white-space:nowrap}.sidebar.collapsed nav a{justify-content:center;padding:12px 0}.sidebar.collapsed nav a .nav-label{display:none}.sidebar nav a.active,.sidebar nav a:hover{background:#ff6a00;background:var(--accent);color:#fff}.sidebar .module-header{align-items:center;color:hsla(0,0%,100%,.5);cursor:pointer;display:flex;font-size:.75em;justify-content:space-between;letter-spacing:1;margin-top:8;overflow:hidden;padding:8px 24px;white-space:nowrap}.sidebar.collapsed .module-header{justify-content:center;padding:8px 0}.sidebar.collapsed .module-header .mod-arrow,.sidebar.collapsed .module-header .mod-label{display:none}.sidebar .user-info{border-top:1px solid hsla(0,0%,100%,.1);font-size:.8em;overflow:hidden;padding:12px 20px;white-space:nowrap}.sidebar.collapsed .user-info{padding:12px 8px;text-align:center}.sidebar.collapsed .user-info .user-buttons,.sidebar.collapsed .user-info .user-details{display:none}.sidebar .user-info button{background:none;border:1px solid hsla(0,0%,100%,.3);border-radius:4px;color:#fff;cursor:pointer;font-size:.85em;margin-top:6px;padding:4px 10px}.sidebar .collapse-btn{background:none;border:none;color:hsla(0,0%,100%,.4);cursor:pointer;font-size:1em;padding:8px;transition:.2s}.sidebar .collapse-btn:hover{color:#fff}.main{flex:1 1;margin-left:220px;padding:24px;transition:margin-left .25s ease}.main.expanded{margin-left:60px}.main h1{color:#071736;color:var(--primary);font-size:1.5em;margin-bottom:20px}.card{background:#fff;background:var(--card);border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.1);margin-bottom:16px;padding:20px}.btn{border:none;border-radius:4px;cursor:pointer;font-size:.9em;padding:8px 16px;transition:.2s}.btn-primary{background:#071736;background:var(--primary);color:#fff}.btn-primary:hover{background:#2b1a4a;background:var(--primary-light)}.btn-accent{background:#ff6a00;background:var(--accent);color:#fff}.btn-accent:hover{background:#e55d00}.btn-danger{background:#e53935;background:var(--danger);color:#fff}.btn-success{background:#43a047;background:var(--success);color:#fff}.btn-sm{font-size:.8em;padding:4px 10px}.btn-google{align-items:center;background:#fff;border:1px solid #ddd;color:#333;display:flex;font-size:.95em;gap:8px;justify-content:center;margin-top:12px;padding:10px;width:100%}.btn-google:hover{background:#f5f5f5}.form-group{margin-bottom:14px}.form-group label{color:#757575;color:var(--text-light);display:block;font-size:.85em;margin-bottom:4px}.form-group input,.form-group select,.form-group textarea{border:1px solid #e0e0e0;border:1px solid var(--border);border-radius:4px;font-size:.9em;padding:8px 10px;width:100%}.form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}table{border-collapse:collapse;width:100%}table th{background:#071736;background:var(--primary);color:#fff;text-align:left}table td,table th{font-size:.85em;padding:10px}table td{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border)}table tr:hover{background:#f0f0f0}.badge{border-radius:12px;font-size:.75em;font-weight:700;padding:3px 8px}.badge-active{background:#e8f5e9;color:#43a047;color:var(--success)}.badge-inactive{background:#ffebee;color:#e53935;color:var(--danger)}.badge-warning{background:#fff3e0;color:#e65100}.badge-mensal{background:#e3f2fd;color:#1565c0}.badge-anual{background:#f3e5f5;color:#7b1fa2}.badge-demanda{background:#fff3e0;color:#e65100}.financial-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:20px}.financial-summary .item{background:#f5f5f5;border-radius:8px;padding:12px;text-align:center}.financial-summary .item .value{font-size:1.3em;font-weight:700}.financial-summary .item .label{color:#757575;color:var(--text-light);font-size:.8em}.profit-positive{color:#43a047;color:var(--success)}.profit-negative{color:#e53935;color:var(--danger)}.filters{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.filters input,.filters select{border:1px solid #e0e0e0;border:1px solid var(--border);border-radius:4px;padding:6px 10px}.login-page{align-items:center;background:#071736;background:var(--primary);display:flex;justify-content:center;min-height:100vh}.login-box{background:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.3);padding:40px;width:380px}.login-box h2{color:#071736;color:var(--primary);margin-bottom:24px;text-align:center}.login-box .btn-primary{background:#ff6a00;background:var(--accent);margin-top:10px;padding:10px;width:100%}.login-box .btn-primary:hover{background:#e55d00}.divider{color:#757575;color:var(--text-light);font-size:.85em;margin:16px 0;position:relative;text-align:center}.divider:after,.divider:before{background:#e0e0e0;background:var(--border);content:"";height:1px;position:absolute;top:50%;width:40%}.divider:before{left:0}.divider:after{right:0}.error{color:#e53935;color:var(--danger);font-size:.85em;margin-top:8px;text-align:center}.tabs{border-bottom:2px solid #e0e0e0;border-bottom:2px solid var(--border);display:flex;gap:0;margin-bottom:20px}.tabs button{background:none;border:none;border-bottom:2px solid transparent;color:#757575;color:var(--text-light);cursor:pointer;font-size:.9em;margin-bottom:-2px;padding:10px 20px}.tabs button.active{border-bottom-color:#071736;border-bottom-color:var(--primary);color:#071736;color:var(--primary);font-weight:700}.modal-overlay{align-items:center;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:100}.modal{background:#fff;border-radius:8px;max-height:80vh;overflow-y:auto;padding:24px;width:500px}.modal h3{color:#071736;color:var(--primary);margin-bottom:16px}.actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.menu-toggle{background:#071736;background:var(--primary);border:none;border-radius:4px;color:#fff;cursor:pointer;display:none;font-size:1.2em;left:10px;padding:8px 12px;position:fixed;top:10px;z-index:200}.menu-overlay{display:none}.table-responsive{overflow-x:auto}@media (max-width:768px){.sidebar{transform:translateX(-100%);transition:.3s;width:220px!important;z-index:150}.sidebar.open{transform:translateX(0)}.sidebar.collapsed{transform:translateX(-100%)}.sidebar.collapsed.open{transform:translateX(0);width:220px!important}.menu-toggle{display:block}.menu-overlay{background:rgba(0,0,0,.4);bottom:0;display:block;left:0;position:fixed;right:0;top:0;z-index:140}.main{margin-left:0!important;padding:60px 12px 12px}.form-row{grid-template-columns:1fr}.financial-summary{grid-template-columns:repeat(2,1fr)}.filters{flex-direction:column}.filters input,.filters select{width:100%}.modal{margin:10px;width:95%}.login-box{padding:24px;width:90%}}@media (max-width:480px){.financial-summary{grid-template-columns:1fr}.tabs{overflow-x:auto}.tabs button{font-size:.8em;padding:10px 12px;white-space:nowrap}}.stream-filter{appearance:none;-webkit-appearance:none;background:#fff;background:var(--card);border:1px solid #e0e0e0;border:1px solid var(--border);border-radius:8px;color:#212121;color:var(--text);cursor:pointer;font-size:.85em;outline:none;padding:8px 14px;transition:all .2s}.stream-filter:focus,.stream-filter:hover{border-color:#ff6a00;border-color:var(--accent);box-shadow:0 0 0 2px rgba(255,106,0,.15)}select.stream-filter{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23757575' d='M6 8 1 3h10z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}.stream-toolbar{align-items:center;background:#fff;background:var(--card);border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.08);display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:12px 16px}.stream-months{display:flex;flex-wrap:wrap;gap:4px}.stream-months .btn-sm{border-radius:8px;font-weight:500;min-width:44px}.stream-year{align-items:center;display:flex;gap:6px;margin-right:8px}.stream-year span{font-size:1.1em;font-weight:700;min-width:50px;text-align:center}.btn{border-radius:8px}.btn-sm{border-radius:6px}body.privacy-mode .money,body.privacy-mode [data-money]{filter:blur(7px);transition:filter .2s;-webkit-user-select:none;-ms-user-select:none;user-select:none}body.dark-mode{--primary:#071736;--primary-light:#2b1a4a;--accent:#ff6a00;--bg:#040a1a;--card:#071736;--text:#f8fafc;--text-light:#94a3b8;--danger:#ef4444;--success:#10b981;--warning:#f59e0b;--border:rgba(148,163,184,.15);--msg-out:#054640;--msg-in:#1e293b;--msg-text:#f8fafc;background:linear-gradient(180deg,#030814,#040a1a 48%,#071220);color:var(--text)}body.dark-mode .sidebar{background:#050c1e;border-right:1px solid rgba(255,106,0,.1)}body.dark-mode .main{background:transparent}body.dark-mode .card,body.dark-mode .stat-card{background:rgba(7,23,54,.88);border-color:var(--border)}body.dark-mode table thead th{background:rgba(7,23,54,.94);color:#cbd5e1}body.dark-mode table tbody td{border-bottom-color:rgba(148,163,184,.08);color:#f8fafc}body.dark-mode table tbody tr:hover{background:rgba(18,38,72,.55)}body.dark-mode input,body.dark-mode select,body.dark-mode textarea{background:rgba(7,18,42,.92);border-color:var(--border);color:#f8fafc;color-scheme:dark}body.dark-mode select option{background:#1e293b;color:#f8fafc}body.dark-mode .modal input,body.dark-mode .modal select,body.dark-mode .modal textarea,body.dark-mode .modal-overlay input,body.dark-mode .modal-overlay select,body.dark-mode .modal-overlay textarea{background:rgba(7,18,42,.92)!important;border-color:var(--border)!important;color:#f8fafc!important;color-scheme:dark}body.dark-mode .btn{background:rgba(7,23,54,.95);border-color:var(--border);color:#f8fafc}body.dark-mode .modal{background:rgba(7,23,54,.96);border-color:rgba(255,140,58,.16)}body.dark-mode .modal-overlay{background:rgba(2,6,23,.72)}body.dark-mode ::-webkit-scrollbar-track{background:rgba(7,23,54,.55)}body.dark-mode ::-webkit-scrollbar-thumb{background:rgba(255,106,0,.4)}body.dark-mode .logo-full,body.dark-mode .sidebar .logo img{filter:brightness(0) invert(1)}body.dark-mode .profile-dropdown{background:#0c1e3d!important;border:1px solid var(--border)!important;box-shadow:0 4px 20px rgba(0,0,0,.5)!important}body.dark-mode h1,body.dark-mode h2,body.dark-mode h3,body.dark-mode h4{color:#f8fafc!important}body.dark-mode div,body.dark-mode label,body.dark-mode p,body.dark-mode span{--text-override:#f8fafc}body.dark-mode .profile-dropdown div:hover{background:rgba(18,38,72,.55)!important}body.dark-mode .financial-summary .item{background:rgba(148,163,184,.08)!important;border:1px solid rgba(148,163,184,.15)}body.dark-mode .financial-summary .item .value{color:#f8fafc}body.dark-mode .financial-summary .item .label,body.dark-mode .tabs button{color:#94a3b8}body.dark-mode .tabs button.active{border-bottom-color:#ff6a00;border-bottom-color:var(--accent,#ff6a00);color:#f8fafc}body.dark-mode .tabs button:hover{color:#f8fafc}body.dark-mode .btn-primary{border:1px solid rgba(255,106,0,.4)!important}body.dark-mode .btn-sm{color:#f8fafc}body.dark-mode .recharts-cartesian-axis-tick-value{fill:#94a3b8!important}body.dark-mode .recharts-cartesian-grid line{stroke:rgba(148,163,184,.15)!important}body.dark-mode .recharts-legend-item-text{color:#cbd5e1!important}body.dark-mode .recharts-tooltip-wrapper .recharts-default-tooltip{background:#1e293b!important;border-color:#334155!important}body.dark-mode .recharts-text{fill:#94a3b8!important}body.dark-mode .recharts-surface,body.dark-mode .recharts-wrapper{background:transparent!important}body.dark-mode .recharts-pie-label-text{fill:#f8fafc!important}body.dark-mode .form-group label{color:var(--text-light)!important}body.dark-mode .form-group input,body.dark-mode .form-group select,body.dark-mode .form-group textarea{background:var(--bg)!important;border-color:var(--border)!important;color:var(--text)!important}body.dark-mode .form-row{color:var(--text)}body.dark-mode .actions{border-color:var(--border)!important}body.dark-mode .actions .btn{background:var(--card);border-color:var(--border);color:var(--text)}body.dark-mode .actions .btn-primary{background:#3b82f6!important;color:#fff!important}