*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:#fefbf4;color:#1f0159;min-height:100vh}button{cursor:pointer;font-family:inherit}.wrap{max-width:780px;margin:0 auto;padding:20px}.hidden{display:none}.header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.logo{font-size:28px;font-weight:800;letter-spacing:-.5px;color:#1f0159;text-transform:lowercase}.subtitle{font-size:12px;color:#888;margin-top:2px}.header-actions{display:flex;align-items:center;gap:8px;font-size:11px;color:#666}.signout-btn{font-size:10px;padding:5px 10px;border-radius:6px;background:transparent;color:#1f0159;border:1.5px solid #DED7FF;font-weight:600}.signout-btn:hover{border-color:#1f0159;background:#f5f0ff}.filters-panel{background:#fff;border:1.5px solid #DED7FF;border-radius:12px;padding:18px 20px;margin-bottom:18px;box-shadow:0 1px 3px #1f01590a}.filter-divider{height:1px;background:linear-gradient(to right,transparent,#DED7FF 20%,#DED7FF 80%,transparent);margin:18px 0}.filter-block{display:flex;flex-direction:column;gap:10px}.filter-block-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.filter-block-label{font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#1f0159}.compare-pill{font-size:10.5px;color:#1f0159;background:#faf8a2;border:1px solid #EFD269;padding:3px 10px;border-radius:10px;font-weight:600}.period-buttons{display:flex;gap:6px;flex-wrap:wrap}.pill-btn{padding:8px 18px;border-radius:8px;border:1.5px solid #DED7FF;background:#fff;font-size:12px;font-weight:600;color:#1f0159;transition:all .15s;font-family:inherit}.pill-btn:hover{border-color:#1f0159;background:#f5f0ff}.pill-btn.active{background:#1f0159;color:#faf8a2;border-color:#1f0159;box-shadow:0 2px 8px #1f01592e}.date-ranges{display:flex;align-items:stretch;gap:14px;margin-top:14px;flex-wrap:wrap}.date-range-group{flex:1;min-width:260px;background:#fefbf4;border:1.5px solid #EFD269;border-radius:10px;padding:12px 14px}.range-label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:#1f0159;margin-bottom:10px}.date-pair{display:flex;gap:10px}.date-field{flex:1;display:flex;flex-direction:column;gap:4px;font-size:10px;color:#888;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.date-field input[type=date]{font-size:13px;padding:8px 10px;border:1.5px solid #DED7FF;border-radius:6px;background:#fff;color:#1f0159;font-family:inherit;font-weight:500;text-transform:none;letter-spacing:0;width:100%}.date-field input:focus{outline:none;border-color:#1f0159}.range-vs{display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#1f0159;background:#faf8a2;border-radius:50%;width:36px;height:36px;align-self:center;flex-shrink:0}.custom-range-error{background:#fcebeb;color:#c0392b;font-size:11px;padding:8px 12px;border-radius:6px;margin-top:10px;font-weight:600}.channel-buttons{display:flex;gap:8px;flex-wrap:wrap}.channel-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:10px;border:1.5px solid #DED7FF;background:#fff;font-size:12px;font-weight:600;color:#1f0159;transition:all .15s;font-family:inherit;position:relative}.channel-btn:hover:not(:disabled){border-color:#1f0159;background:#f5f0ff;transform:translateY(-1px)}.channel-btn.active{background:#1f0159;color:#faf8a2;border-color:#1f0159;box-shadow:0 2px 8px #1f01592e}.channel-btn:disabled{opacity:.55;cursor:not-allowed}.channel-icon{width:18px;height:18px;flex-shrink:0}.soon-tag{font-size:8.5px;padding:1px 6px;background:#ded7ff;color:#1f0159;border-radius:4px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.channel-btn.disabled .soon-tag{background:#f0ebff}.top-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.card{background:#fefbf4;border:1.5px solid #EFD269;border-radius:10px;padding:14px}.card-label{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:#888;margin-bottom:3px}.card-value{font-size:26px;font-weight:700;color:#1f0159}.card-sub{font-size:10px;color:#999;margin-top:3px}.card-formula{font-size:9px;color:#1f0159;background:#ded7ff;display:inline-block;padding:2px 7px;border-radius:4px;margin-top:5px}.trend{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;margin-top:5px}.trend-up{color:#27ae60}.trend-down{color:#e74c3c}.trend-neutral{color:#888}.trend-prev{font-size:9px;color:#999;font-weight:400;margin-left:4px}.int-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.int-card{background:#ded7ff;border-radius:10px;padding:12px;text-align:center}.int-card .card-label{color:#1f0159}.int-card .card-value{font-size:20px}.cpm-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.cpm-card{background:#fcebeb;border:2px solid #E74C3C;border-radius:10px;padding:14px}.cpm-card .card-value{color:#c0392b}.cpm-health{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap}.cpm-health span{font-size:8px;padding:2px 7px;border-radius:4px}.cost-input-row{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:10px;color:#888}.cost-input-row input{font-size:11px;padding:4px 8px;border:1.5px solid #DED7FF;border-radius:4px;width:100px;font-family:inherit}.cost-input-row button{font-size:9px;padding:4px 10px;border-radius:4px;background:#1f0159;color:#faf8a2;border:none;font-weight:700}.equity-card{background:#fdf6e0;border:2px solid #EFD269;border-radius:10px;padding:16px}.equity-card .card-label{color:#888}.equity-card .card-value{font-size:32px;color:#1f0159}.equity-card .card-sub{color:#1f0159;font-weight:600}.equity-card .card-formula{background:#1f0159;color:#faf8a2}.equity-health{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap}.equity-health span{font-size:8px;padding:2px 7px;border-radius:4px}.scale-section{background:#1f0159;border-radius:10px;padding:16px;margin-bottom:12px}.scale-title{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#ded7ff;margin-bottom:10px}.scale-bar{display:flex;height:28px;border-radius:6px;overflow:hidden;margin-bottom:6px}.scale-bar div{display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:600}.scale-marker{position:relative;margin-top:-34px;margin-bottom:12px;height:6px}.marker-dot{position:absolute;width:12px;height:12px;background:#faf8a2;border:2px solid #fff;border-radius:50%;top:-3px;transform:translate(-50%)}.scale-labels{display:flex}.scale-labels span{font-size:8px;color:#ded7ff;text-align:center}.table-section{margin-top:12px}.table-title{font-size:13px;font-weight:700;color:#1f0159;margin-bottom:8px}table{width:100%;border-collapse:collapse;font-size:11px;border-radius:8px;overflow:hidden}th{background:#1f0159;color:#ded7ff;text-align:left;padding:8px 10px;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.5px}td{padding:8px 10px;border-bottom:1px solid #EFD269}tr:last-child td{border-bottom:none}tr:nth-child(2n){background:#ded7ff26}.tbl-trend{font-size:9px;font-weight:700}tr.inactive{color:#bbb}.ai-section{background:#faf8a2;border:2px solid #EFD269;border-radius:12px;margin-top:16px;overflow:hidden;opacity:.6}.ai-header{display:flex;justify-content:space-between;align-items:center;padding:16px 18px 12px}.ai-title-group{display:flex;align-items:center;gap:10px}.ai-icon{width:28px;height:28px;background:#1f0159;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#faf8a2}.ai-title{font-size:14px;font-weight:700;color:#1f0159}.ai-subtitle{font-size:10px;color:#666}.gen-btn{padding:8px 18px;border-radius:8px;border:none;background:#1f0159;color:#faf8a2;font-weight:700;font-size:11px;display:flex;align-items:center;gap:6px}.gen-btn:disabled{cursor:not-allowed}.ai-divider{height:1.5px;background:#efd269;margin:16px 18px 0}.ai-chat{padding:16px 18px}.ai-chat-label{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#1f0159;font-weight:600;margin-bottom:10px}.chat-input-row{display:flex;gap:8px}.chat-input{flex:1;padding:10px 14px;border-radius:8px;border:1.5px solid #EFD269;background:#fefbf4;color:#1f0159;font-size:11px;font-family:inherit;outline:none}.chat-send{padding:10px 16px;border-radius:8px;border:none;background:#1f0159;color:#faf8a2;font-weight:700;font-size:11px}.chat-input:disabled,.chat-send:disabled{cursor:not-allowed}.ai-disabled-note{margin:0 18px 12px;padding:8px 12px;background:#fefbf4;border-radius:6px;font-size:10px;color:#888;font-style:italic;text-align:center}.formula-ref{background:#ded7ff;border-radius:10px;padding:14px;margin-top:12px}.formula-ref h4{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:#1f0159;margin-bottom:8px}.formula-ref p{font-size:10px;color:#1f0159;margin-bottom:3px}.formula-ref code{background:#1f0159;color:#faf8a2;padding:1px 5px;border-radius:3px;font-size:9px}.notes{font-size:9px;color:#999;margin-top:14px;text-align:center}.loading-card{background:#fefbf4;border:1.5px dashed #DED7FF;border-radius:8px;padding:24px;text-align:center;font-size:11px;color:#888}.error-banner{background:#fcebeb;border:1.5px solid #E74C3C;color:#c0392b;padding:10px 12px;border-radius:6px;font-size:11px;margin-bottom:12px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.login-card{background:#fff;border:1.5px solid #EFD269;border-radius:12px;padding:32px;width:360px;display:flex;flex-direction:column;gap:14px}.login-card .logo{font-size:32px;font-weight:800;letter-spacing:-.5px;text-transform:lowercase}.login-card .subtitle{font-size:12px;color:#888;margin-top:-10px}.login-card label{display:flex;flex-direction:column;font-size:11px;color:#666;gap:4px;font-weight:600}.login-card input[type=email],.login-card input[type=password]{font-size:13px;padding:8px 12px;border:1.5px solid #DED7FF;border-radius:6px;font-family:inherit;color:#1f0159}.login-card input:focus{outline:none;border-color:#1f0159}.login-card .remember{flex-direction:row;align-items:center;gap:6px}.login-card button{margin-top:6px;padding:10px 16px;border-radius:8px;border:none;background:#1f0159;color:#faf8a2;font-weight:700;font-size:12px}.login-card button:disabled{opacity:.6;cursor:not-allowed}.login-card .error{background:#fcebeb;color:#c0392b;padding:8px 12px;border-radius:6px;font-size:11px}.custom-range-error{background:#fcebeb;color:#c0392b;font-size:10px;padding:4px 10px;border-radius:6px;margin-bottom:12px;display:inline-block}.invite-card{background:#fff;border:1.5px solid #DED7FF;border-radius:12px;padding:18px 20px;margin-bottom:22px;box-shadow:0 1px 3px #1f01590a}.invite-header{margin-bottom:14px}.invite-header h2{font-size:14px;font-weight:700;color:#1f0159;margin-bottom:4px}.invite-header p{font-size:11px;color:#888}.invite-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.invite-field{display:flex;flex-direction:column;gap:4px;font-size:10px;color:#888;font-weight:600;text-transform:uppercase;letter-spacing:.5px;min-width:120px}.invite-field.flex-grow{flex:1;min-width:200px}.invite-field input,.invite-field select{font-size:13px;padding:9px 12px;border:1.5px solid #DED7FF;border-radius:6px;color:#1f0159;font-family:inherit;background:#fff;font-weight:500;text-transform:none;letter-spacing:0}.invite-field input:focus,.invite-field select:focus{outline:none;border-color:#1f0159}.primary-btn{padding:10px 20px;background:#1f0159;color:#faf8a2;border:none;border-radius:6px;font-weight:700;font-size:12px;cursor:pointer;height:38px;white-space:nowrap}.primary-btn:hover:not(:disabled){background:#2a0a6e}.primary-btn:disabled{opacity:.5;cursor:not-allowed}.users-section-header{display:flex;align-items:baseline;justify-content:space-between;margin:0 4px 10px}.users-section-header h2{font-size:13px;font-weight:700;color:#1f0159;text-transform:uppercase;letter-spacing:.8px}.user-count{font-size:10px;color:#999}.users-table{background:#fff;border:1.5px solid #DED7FF;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #1f01590a}.users-table table{font-size:12px}.users-table th{background:#1f0159;color:#ded7ff;padding:10px 14px;font-size:10px}.users-table td{padding:12px 14px;border-bottom:1px solid #F0EBFF;vertical-align:middle}.users-table tr:last-child td{border-bottom:none}.users-table tr:nth-child(2n){background:#ded7ff14}.users-table tr.self-row{background:#faf8a240}.users-table tr.self-row:nth-child(2n){background:#faf8a240}.email-cell strong{color:#1f0159;font-size:12.5px}.email-stack{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.role-chip{display:inline-block;font-size:9.5px;padding:3px 9px;border-radius:4px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.role-super_admin{background:#1f0159;color:#faf8a2}.role-admin{background:#efd269;color:#1f0159}.role-viewer{background:#ded7ff;color:#1f0159}.self-chip{display:inline-block;font-size:9px;padding:2px 7px;border-radius:4px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;background:transparent;color:#888;border:1px dashed #DED7FF}.role-select{font-size:11px;padding:5px 9px;border:1.5px solid #DED7FF;border-radius:4px;background:#fff;color:#1f0159;font-family:inherit;font-weight:600}.role-select:focus{outline:none;border-color:#1f0159}td.muted{color:#888;font-size:11px}td.actions-col,th.actions-col{text-align:right}.user-actions{display:inline-flex;gap:6px;justify-content:flex-end}.row-btn{font-size:10.5px;padding:6px 12px;border-radius:5px;background:#fff;border:1.5px solid #DED7FF;color:#1f0159;font-weight:600;cursor:pointer;white-space:nowrap;font-family:inherit}.row-btn:hover:not(:disabled){border-color:#1f0159;background:#f5f0ff}.row-btn:disabled{opacity:.5;cursor:not-allowed}.row-btn.danger{color:#c0392b;border-color:#fcebeb}.row-btn.danger:hover:not(:disabled){background:#fcebeb;border-color:#e74c3c}.inline-ok{color:#27ae60;font-size:11px;font-weight:600;margin-top:8px}.inline-err{color:#c0392b;font-size:11px;font-weight:600;margin-top:8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f015966;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-card{background:#fff;border-radius:12px;border:1.5px solid #EFD269;padding:24px;width:380px;max-width:90vw;display:flex;flex-direction:column;gap:14px;box-shadow:0 8px 30px #1f015933}.modal-card h2{font-size:16px;color:#1f0159}.modal-card label{display:flex;flex-direction:column;font-size:11px;color:#666;gap:4px;font-weight:600}.modal-card input{font-size:13px;padding:8px 12px;border:1.5px solid #DED7FF;border-radius:6px;color:#1f0159;font-family:inherit}.modal-card input:focus{outline:none;border-color:#1f0159}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.modal-actions button[type=submit],.modal-actions button:not(.row-btn){padding:8px 18px;background:#1f0159;color:#faf8a2;border:none;border-radius:6px;font-weight:700;font-size:12px;cursor:pointer;font-family:inherit}.modal-actions button:disabled{opacity:.5;cursor:not-allowed}.invite-field.full-width{flex:1 1 100%;margin-top:4px}.empty-state{background:#fff;border:1.5px dashed #DED7FF;border-radius:10px;padding:32px 20px;text-align:center;margin-top:8px}.empty-state h3{font-size:14px;color:#1f0159;margin-bottom:6px}.empty-state p{font-size:12px;color:#888}.costs-months{display:flex;flex-direction:column;gap:14px}.month-block{background:#fff;border:1.5px solid #DED7FF;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #1f01590a}.month-block-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:linear-gradient(to right,#fdf6e0,#fefbf4);border-bottom:1.5px solid #EFD269}.month-label{font-size:14px;font-weight:700;color:#1f0159}.month-meta{font-size:11px;color:#888;margin-top:2px}.month-total{font-size:18px;font-weight:800;color:#1f0159;font-variant-numeric:tabular-nums}.month-entries{width:100%;font-size:12px}.month-entries th{background:#1f0159;color:#ded7ff;padding:8px 14px;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.month-entries td{padding:10px 14px;border-bottom:1px solid #F0EBFF;vertical-align:middle}.month-entries tr:last-child td{border-bottom:none}.month-entries tr:nth-child(2n){background:#ded7ff0f}.month-entries tr.editing-row{background:#fdf6e0!important}.month-entries td.amount-col,.month-entries th.amount-col{text-align:right;font-variant-numeric:tabular-nums}.row-input{font-size:12px;padding:6px 10px;border:1.5px solid #DED7FF;border-radius:5px;font-family:inherit;color:#1f0159;width:100%;background:#fff}.row-input:focus{outline:none;border-color:#1f0159}.manage-costs-link{display:inline-block;margin-top:10px;font-size:11px;font-weight:600;color:#c0392b;text-decoration:none;padding:4px 0}.manage-costs-link:hover{text-decoration:underline}.confirm-modal{width:420px}.confirm-modal h2{font-size:17px;font-weight:700;color:#1f0159;margin-bottom:4px}.confirm-body p{font-size:13px;line-height:1.55;color:#1f0159;margin-bottom:8px}.confirm-body p:last-child{margin-bottom:0}.confirm-body .muted-body{font-size:12px;color:#666}.confirm-btn-primary,.confirm-btn-danger{padding:9px 20px;border:none;border-radius:6px;font-weight:700;font-size:12.5px;cursor:pointer;font-family:inherit}.confirm-btn-primary{background:#1f0159;color:#faf8a2}.confirm-btn-primary:hover:not(:disabled){background:#2a0a6e}.confirm-btn-danger{background:#e74c3c;color:#fff}.confirm-btn-danger:hover:not(:disabled){background:#c0392b}.confirm-btn-primary:disabled,.confirm-btn-danger:disabled{opacity:.55;cursor:not-allowed}.confirm-danger{border-top:4px solid #E74C3C}.creds-modal{width:460px}.creds-warning{background:#fdf6e0;border:1.5px solid #EFD269;border-radius:8px;padding:10px 12px;font-size:11px;color:#1f0159;line-height:1.5}.creds-grid{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;align-items:center}.creds-label{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:#888;font-weight:600}.creds-value{font-size:13px;color:#1f0159;font-weight:500;word-break:break-all}.creds-password{display:flex;align-items:center;gap:8px}.creds-password code{flex:1;background:#1f0159;color:#faf8a2;padding:8px 10px;border-radius:6px;font-size:13px;font-family:Consolas,Monaco,monospace;letter-spacing:.5px;-webkit-user-select:all;user-select:all}.creds-note{font-size:11px;color:#666;line-height:1.5;font-style:italic}
