:root{--brand-50: #eff6ff;--brand-100: #dbeafe;--brand-200: #bfdbfe;--brand-300: #93c5fd;--brand-400: #60a5fa;--brand-500: #3b82f6;--brand-600: #2563eb;--brand-700: #1d4ed8;--brand-800: #1e40af;--brand-900: #1e3a8a;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--success: #0d9488;--warning: #f59e0b;--danger: #dc2626;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--shadow-sm: 0 1px 3px rgba(50, 50, 93, .08), 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(50, 50, 93, .11), 0 1px 3px rgba(0, 0, 0, .08);--shadow-lg: 0 15px 35px rgba(50, 50, 93, .1), 0 5px 15px rgba(0, 0, 0, .07);font-family:Inter,Segoe UI,Roboto,sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-family, "Inter", "Segoe UI", Roboto, sans-serif);color:var(--gray-900);background:var(--gray-50);-webkit-font-smoothing:antialiased}a{color:var(--brand-600);text-decoration:none}a:hover{color:var(--brand-700);text-decoration:underline}h1,h2,h3,h4{color:var(--gray-900);margin:0 0 .4rem}p{margin:0 0 1rem;color:var(--gray-600)}button,input,select{font-family:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column}header.app-header{background:#fff;border-bottom:1px solid var(--gray-200);padding:1rem 2.5rem;display:flex;align-items:center;gap:1.5rem;position:sticky;top:0;z-index:20;box-shadow:var(--shadow-sm)}.brand{display:flex;align-items:center;gap:.75rem;font-size:1.125rem;font-weight:600;color:var(--gray-900)}.logo{width:40px;height:40px;border-radius:10px;background-image:url(/assets/img/symbol.png);background-size:cover;background-position:center;background-repeat:no-repeat}.logo-full{height:20px;width:auto;object-fit:contain}.nav-links{display:flex;gap:.75rem;align-items:center;flex:1}.header-nav{display:flex;align-items:center;gap:1.5rem;flex:1}.hamburger-btn{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:transparent;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:6px;cursor:pointer;margin-left:auto;flex-shrink:0}.hamburger-btn span{display:block;width:100%;height:2px;background:var(--gray-600);border-radius:2px;transition:all .25s ease;transform-origin:center}.hamburger-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger-btn.open span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-links a{color:var(--gray-600);font-weight:500;padding:.45rem .9rem;border-radius:6px;transition:all .2s ease}.nav-links a.active,.nav-links a:hover{background:var(--brand-50);color:var(--brand-700);text-decoration:none}.company-menu{position:relative}.nav-company-btn{background:var(--gray-100);color:var(--gray-700);padding:.45rem .85rem;border-radius:6px;font-weight:600;cursor:pointer;border:1px solid var(--gray-200)}.nav-company-btn.open{background:var(--gray-200);border-color:var(--gray-300)}.company-dropdown{position:absolute;right:0;top:calc(100% + .6rem);min-width:220px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.5rem;z-index:40}.company-dropdown ul{list-style:none;margin:0;padding:.25rem 0;max-height:260px;overflow:auto}.company-item{padding:.1rem 0}.company-select-btn{width:100%;text-align:left;background:transparent;border:none;padding:.45rem .6rem;border-radius:8px;cursor:pointer;color:var(--gray-700);font-weight:600}.company-select-btn:hover{background:var(--brand-50);color:var(--brand-700)}.company-dropdown hr{border:none;border-top:1px solid var(--gray-200);margin:.4rem 0}.company-dropdown a.company-dropdown-link{display:block;padding:.55rem .6rem;border-radius:8px;font-weight:600;color:var(--gray-700)}.company-dropdown a.company-dropdown-link:hover{background:var(--brand-50);color:var(--brand-700);text-decoration:none}.company-dropdown a#createCompany{display:block;padding:.55rem .6rem;color:var(--brand-600);font-weight:700;border-radius:8px}.settings-page{gap:1.5rem}.settings-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;padding:.5rem 0 .25rem}.settings-header-text{display:flex;flex-direction:column;gap:.5rem;max-width:640px}.settings-header-text h1{font-size:clamp(1.6rem,2.4vw,2.1rem);margin:0;letter-spacing:-.01em}.settings-header-text p{margin:0;color:var(--gray-600);font-size:1rem;line-height:1.5}.settings-card{padding:1.75rem 2rem}.settings-section-header{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--gray-100)}.settings-section-header h2{font-size:1.25rem;font-weight:700;margin:0;color:var(--gray-900)}.settings-section-header p{margin:0;color:var(--gray-500);font-size:.95rem}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem;align-items:stretch}.settings-fieldset{border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:1.25rem 1.25rem 1.5rem;background:var(--gray-50);margin:0;display:flex;flex-direction:column;gap:1rem}.settings-fieldset legend{padding:0 .5rem;font-weight:700;color:var(--gray-700);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.settings-preview{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border:1px dashed var(--brand-300);border-radius:var(--radius-md);padding:.75rem 1rem;margin-top:auto}.settings-preview-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gray-500);font-weight:700}.settings-preview-value{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.15rem;color:var(--brand-700);font-weight:700}.settings-actions{display:flex;gap:.75rem;padding-top:1.25rem;margin-top:1.5rem;border-top:1px solid var(--gray-100)}.members-section{display:flex;flex-direction:column;gap:1.5rem}.members-add{border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:1.25rem 1.5rem 1.5rem;background:var(--gray-50);display:flex;flex-direction:column;gap:1rem}.members-add h3,.members-list h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-600);margin:0;font-weight:700}.members-add-form{display:grid;grid-template-columns:minmax(220px,1fr);gap:1rem}.group-checklist{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:.85rem 1rem;display:flex;flex-direction:column;gap:.65rem}.group-checklist-header{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);font-weight:700;padding-bottom:.5rem;border-bottom:1px solid var(--gray-100)}.group-checklist-toggle{font-size:.8rem;color:var(--brand-600);background:none;border:none;font-weight:600;cursor:pointer;padding:0;text-transform:none;letter-spacing:0}.group-checklist-toggle:hover{text-decoration:underline}.group-checklist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.4rem 1rem}.group-checklist-grid label{flex-direction:row;align-items:center;gap:.5rem;font-weight:500;font-size:.9rem;color:var(--gray-800);cursor:pointer}.group-checklist-grid input[type=checkbox]{width:auto;margin:0;accent-color:var(--brand-600)}.group-checklist-empty{margin:0;font-size:.9rem;color:var(--gray-500);font-style:italic}.members-table-wrap{border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;background:#fff}.members-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem}.members-table thead th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500);padding:.85rem 1rem;border-bottom:1px solid var(--gray-200);background:var(--gray-50);font-weight:700}.members-table tbody td{padding:1rem;border-bottom:1px solid var(--gray-100);vertical-align:top;color:var(--gray-700)}.members-table tbody tr:last-child td{border-bottom:none}.members-table tbody tr:hover td{background:var(--gray-50)}.member-username{font-weight:600;color:var(--gray-900)}.role-badge{display:inline-flex;align-items:center;padding:.2rem .65rem;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.role-badge.owner{background:var(--brand-100);color:var(--brand-700);border:1px solid var(--brand-200)}.role-badge.guest{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-200)}.group-tags{display:flex;flex-wrap:wrap;gap:.35rem}.group-tag{background:var(--brand-50);color:var(--brand-700);border:1px solid var(--brand-100);border-radius:999px;padding:.2rem .65rem;font-size:.78rem;font-weight:500}.group-tag-muted{color:var(--gray-500);font-style:italic;font-size:.85rem}.members-empty{text-align:center;padding:2.25rem 1rem;color:var(--gray-500);background:var(--gray-50);border:1px dashed var(--gray-200);border-radius:var(--radius-md);margin:0}.member-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn-sm{padding:.45rem .85rem;font-size:.85rem}.btn-link{background:none;border:none;color:var(--brand-600);font-weight:600;padding:0;cursor:pointer;font-size:.9rem}.btn-link:hover{text-decoration:underline}.btn-link.danger{color:var(--danger)}.container{width:100%;max-width:1200px;padding:0 2.5rem;margin:1.5rem auto 2rem;display:flex;flex-direction:column;gap:1.8rem}.container--fluid{max-width:none}.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2.5rem;align-items:center;padding:1rem 0}.hero-copy{display:flex;flex-direction:column;gap:1.25rem}.hero-copy h1{font-size:clamp(2.25rem,3.5vw,3.25rem);line-height:1.1;font-weight:700;letter-spacing:-.02em;margin-bottom:.25rem}.hero-copy p{color:var(--gray-600);font-size:1.125rem;line-height:1.6;max-width:560px}.hero-copy .badge{width:fit-content;font-size:.8rem;padding:.35rem .8rem;background:linear-gradient(135deg,var(--brand-50) 0%,var(--brand-100) 100%);border:1px solid var(--brand-300);box-shadow:0 2px 4px #2563eb1a}.hero-copy .flex-between{margin-top:.5rem;gap:.75rem}.hero-copy .flex-between .badge{font-size:.75rem;padding:.3rem .7rem;background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300);box-shadow:none}.card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-md);transition:all .3s ease}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--brand-200)}.card h2{font-size:1.75rem;font-weight:700;margin-bottom:.5rem;color:var(--gray-900)}.card-flat{border-radius:var(--radius-md);box-shadow:none;border:1px solid var(--gray-200)}.stack{display:flex;flex-direction:column;gap:1.25rem}.grid{display:grid;gap:1.25rem}.grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.form-grid{display:grid;gap:1rem}.form-grid.two{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}label{font-size:.875rem;color:var(--gray-700);font-weight:600;display:flex;flex-direction:column;gap:.5rem}input,select{width:100%;border-radius:var(--radius-md);border:1.5px solid var(--gray-300);padding:.75rem 1rem;font-size:1rem;background:#fff;color:var(--gray-900);transition:all .2s ease}input:hover,select:hover{border-color:var(--gray-400)}input:focus,select:focus{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 4px #3b82f61f}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}button{border:none;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.75rem 1.25rem;border-radius:var(--radius-md);font-weight:600;font-size:1rem;transition:all .2s ease;border:1.5px solid transparent}.btn-primary{background:var(--brand-600);color:#fff;border-color:var(--brand-600);box-shadow:0 4px 12px #2563eb40}.btn-primary:hover{background:var(--brand-700);border-color:var(--brand-700);transform:translateY(-2px);box-shadow:0 8px 20px #2563eb59}.btn-primary:active{transform:translateY(0)}.btn-ghost{background:var(--gray-100);color:var(--gray-800);border:1px solid var(--gray-200)}.btn-ghost:hover{background:var(--gray-200);border-color:var(--gray-300)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger);box-shadow:0 4px 12px #dc262640}.btn-danger:hover{background:#b91c1c;border-color:#b91c1c;transform:translateY(-2px);box-shadow:0 8px 20px #dc262659}.btn-danger:active{transform:translateY(0)}.subtitle{color:var(--gray-500);font-size:.95rem;margin-bottom:1.5rem;line-height:1.5}.small{color:var(--gray-500);font-size:.875rem;text-align:center;margin-top:1.25rem}.msg{border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.95rem;font-weight:500;display:none}.msg.show{display:block}.msg.success{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.msg.error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.kpi-card{background:linear-gradient(135deg,#ffffff 0%,var(--gray-50) 100%);border-radius:var(--radius-md);padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.75rem;border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);transition:all .3s ease;position:relative;overflow:hidden}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand-500) 0%,var(--brand-600) 100%);opacity:0;transition:opacity .3s ease}.kpi-card:hover{border-color:var(--brand-300);box-shadow:0 8px 20px #3b82f61f;transform:translateY(-2px)}.kpi-card:hover:before{opacity:1}.kpi-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.kpi-title{font-size:.875rem;font-weight:600;color:var(--gray-600);letter-spacing:.01em;text-transform:uppercase}.kpi-info{background:transparent;border:none;padding:.2rem;cursor:help;color:var(--gray-400);transition:all .2s ease;display:flex;align-items:center;justify-content:center;border-radius:50%}.kpi-info:hover{color:var(--brand-600);background:var(--brand-50)}.kpi-info i[data-lucide]{width:14px;height:14px;display:block}.kpi-value{font-size:2.75rem;font-weight:700;background:linear-gradient(135deg,var(--brand-600) 0%,var(--brand-700) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;letter-spacing:-.02em}.section-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--gray-200);background:var(--gray-50)}.table-actions{display:flex;gap:.5rem;align-items:center;justify-content:flex-end;padding:.75rem 1rem;border-bottom:1px solid var(--gray-200);background:var(--gray-50)}.section-title{font-size:1rem;font-weight:600;color:var(--gray-700);margin:0;letter-spacing:-.01em}.section-actions,.section-filters{display:flex;gap:.5rem;align-items:center}.filter-label{font-size:.8rem;color:var(--gray-600);font-weight:500;margin:0}.filter-select{padding:.35rem .6rem;font-size:.85rem;border-radius:var(--radius-sm);border:1px solid var(--gray-300);background:#fff;color:var(--gray-700);font-weight:500;cursor:pointer;transition:all .2s ease;width:auto;min-width:80px}#filterCategory{min-width:120px}.filter-select:hover{border-color:var(--brand-400)}.filter-select:focus{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 2px #3b82f61a}.filter-bar{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:center;padding:.875rem 1.25rem;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1.5rem;border:1px solid var(--gray-100)}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group .filter-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--gray-500);font-weight:600}.filter-pills{display:flex;gap:.25rem;background:var(--gray-100);padding:.2rem;border-radius:var(--radius-md)}.filter-pill{padding:.35rem .75rem;font-size:.8rem;font-weight:500;color:var(--gray-600);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;white-space:nowrap}.filter-pill:hover{color:var(--gray-800);background:var(--gray-50)}.filter-pill.active{background:#fff;color:var(--brand-600);box-shadow:0 1px 2px #0000000f}.filter-toggles{display:flex;flex-wrap:wrap;gap:.35rem}.filter-toggle{padding:.3rem .65rem;font-size:.78rem;font-weight:500;color:var(--gray-500);background:var(--gray-50);border:1px solid var(--gray-200);border-radius:999px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.filter-toggle:hover{border-color:var(--brand-300);color:var(--brand-600);background:var(--brand-50)}.filter-toggle.active{background:var(--brand-50);border-color:var(--brand-400);color:var(--brand-700)}.filter-bar .filter-select{padding:.4rem 1.75rem .4rem .65rem;font-size:.8rem;font-weight:500;border-radius:var(--radius-md);border:1px solid var(--gray-200);background:var(--gray-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .5rem center;color:var(--gray-700);appearance:none;-webkit-appearance:none;min-width:auto}.filter-bar .filter-select:hover{border-color:var(--brand-300);background-color:var(--brand-50)}.filter-bar .filter-select:focus{outline:none;border-color:var(--brand-400);box-shadow:0 0 0 2px #3b82f61a}.filter-separator{width:1px;height:1.5rem;background:var(--gray-200);margin:0 .25rem}.btn-icon{padding:.4rem;min-width:0;background:transparent;border:1px solid var(--gray-300);color:var(--gray-600);transition:all .2s ease}.btn-icon:hover{background:var(--brand-50);border-color:var(--brand-300);color:var(--brand-700);transform:none;box-shadow:none}.btn-icon i[data-lucide]{width:16px;height:16px;display:block}.table-card{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);overflow:hidden;box-shadow:var(--shadow-sm);transition:all .2s ease}.table-card:hover,.chart-card:hover{border-color:var(--gray-300);box-shadow:var(--shadow-md)}.table{width:100%;border-collapse:collapse}.table thead{background:var(--gray-50);border-bottom:2px solid var(--gray-200)}.table th{text-align:left;font-size:.85rem;font-weight:600;letter-spacing:.02em;padding:.9rem 1.2rem;color:var(--gray-500)}.table td{padding:1rem 1.2rem;border-bottom:1px solid var(--gray-200);font-size:.95rem}.table tr:hover td{background:var(--gray-50)}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--brand-50);color:var(--brand-700);border:1px solid var(--brand-200)}.pill-group{display:flex;flex-wrap:wrap;gap:.6rem}.pill{padding:.55rem 1.05rem;border-radius:999px;border:1px solid var(--gray-300);background:#fff;color:var(--gray-700);font-weight:500;transition:all .2s ease}.pill.active,.pill:hover{border-color:var(--brand-400);color:var(--brand-700);background:var(--brand-50)}.flex-between{display:flex;justify-content:space-between;align-items:center;gap:1rem}.stacked-table td:first-child{display:table-cell;flex-direction:column;gap:.35rem;white-space:nowrap}.stacked-table td.value-cell{text-align:right;vertical-align:middle;white-space:nowrap}.value-cell-content{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}.value-cell-content .value-display{font-weight:400}.value-cell-content .wow-change{margin-left:0;display:block}.chart-card{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);overflow:hidden;transition:all .2s ease}.chart-container{position:relative;height:400px;width:100%;padding:1.5rem 1.25rem}.table-card{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{min-width:600px}@media(max-width:720px){header.app-header{padding:.75rem 1.25rem}.hamburger-btn{display:flex}.header-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:.25rem;padding:.75rem 1.25rem 1rem;background:#fff;border-bottom:1px solid var(--gray-200);box-shadow:var(--shadow-md);z-index:30}.header-nav.open{display:flex}.nav-links{flex-direction:column;align-items:flex-start;gap:.25rem;width:100%;flex:none}.nav-links a{width:100%;padding:.6rem .75rem}.company-menu{width:100%}.nav-company-btn{width:100%;text-align:left}.company-dropdown{position:static;width:100%;box-shadow:var(--shadow-sm);border-color:var(--gray-200);margin-top:.25rem}.container{padding:0 1.25rem;margin-top:1.25rem}.container--fluid{max-width:none}.flex-between{flex-direction:column;align-items:flex-start}.table-card{margin-left:-1rem;margin-right:-1rem;border-radius:0;border-left:none;border-right:none}}.msg.warning{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.metric-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.35rem}.metric-tag{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.04em}.metric-tag.biz{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.metric-tag.buzz{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.modal{position:fixed;top:0;left:0;width:100%;height:100%;display:grid;place-items:center;padding:1.5rem;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:1000}.modal-backdrop{position:absolute;inset:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-panel{position:relative;background:#fff;padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:min(520px,92vw);max-width:520px;max-height:calc(100vh - 3rem);overflow:auto;-webkit-overflow-scrolling:touch;z-index:1001;border:1px solid var(--gray-200)}.modal-panel h3{margin:0 0 1.5rem;color:var(--gray-900);font-size:1.5rem;font-weight:600}.modal-panel form{display:flex;flex-direction:column;gap:1.25rem}.modal-panel form label{display:flex;flex-direction:column;gap:.5rem;font-size:.9rem;font-weight:500;color:var(--gray-700)}.modal-panel form label br{display:none}.modal-panel form input,.modal-panel form select{margin-top:0}.modal-panel form>div{display:flex;gap:.75rem;margin-top:.5rem;justify-content:flex-end}.modal-panel .btn{min-width:100px}.btn-sm{padding:.3rem .5rem;font-size:.85rem}.btn svg{vertical-align:middle;display:inline-block}.actions-col{width:1.5rem;text-align:center;white-space:nowrap;padding:.25rem}.actions-col .btn{min-width:0;padding:0}.actions-col i[data-lucide]{display:inline-block;vertical-align:middle;width:1em;height:1em}.wow-change{font-size:.7rem;font-weight:600;margin-left:.25rem;white-space:nowrap}.wow-change.positive{color:var(--success)}.wow-change.negative{color:var(--danger)}.btn.active{background:var(--brand-100);color:var(--brand-700);border-color:var(--brand-300)}.formula-input-container{display:flex;flex-direction:column;gap:.5rem}.formula-input-wrapper{position:relative}.formula-input-wrapper textarea{width:100%;min-height:4rem;resize:vertical;font-family:SF Mono,Consolas,Monaco,monospace;font-size:.9rem;line-height:1.5}.formula-suggestions{position:absolute;left:0;right:0;max-height:200px;overflow-y:auto;background:#fff;border:1px solid var(--gray-300);border-radius:.375rem;box-shadow:0 4px 12px #00000026;z-index:100;list-style:none;margin:0;padding:.25rem 0}.formula-suggestion{padding:.5rem .75rem;cursor:pointer;font-size:.9rem;color:var(--gray-700);transition:background .1s ease}.formula-suggestion:hover,.formula-suggestion.selected{background:var(--brand-50);color:var(--brand-700)}.formula-suggestion small{display:block;font-size:.75rem;color:var(--gray-500);margin-top:.125rem}.formula-help{font-size:.75rem;color:var(--gray-500)}.formula-help code{background:var(--gray-100);padding:.125rem .25rem;border-radius:.25rem;font-family:SF Mono,Consolas,Monaco,monospace;font-size:.7rem}.formula-preview{padding:.75rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:.375rem;font-size:.9rem;line-height:1.6;min-height:2.5rem}.formula-preview:empty:before{content:"A prévia da fórmula aparecerá aqui...";color:var(--gray-400);font-style:italic}.formula-token{display:inline-block;padding:.125rem .375rem;border-radius:.25rem;margin:0 .125rem;font-weight:500}.formula-token.metric{background:var(--brand-100);color:var(--brand-700);border:1px solid var(--brand-200)}.formula-token.operator{color:var(--gray-600);font-weight:600}.formula-token.number{color:var(--gray-700);background:var(--gray-100)}.formula-token.paren{color:var(--gray-500);font-weight:700}.formula-token.invalid{background:var(--danger-light, #fee2e2);color:var(--danger);border:1px dashed var(--danger)}.formula-suggestion{display:flex;align-items:center;justify-content:space-between}.suggestion-name{font-weight:500}.suggestion-category{font-size:.75rem;color:var(--gray-400);margin-left:1rem}.formula-placeholder{color:var(--gray-400);font-style:italic}.formula-text{color:var(--gray-600)}.reorder-table{border-collapse:collapse}.reorder-table .category-row{background:var(--gray-100)}.reorder-table .category-row td{font-weight:600;color:var(--gray-700)}.reorder-table .metric-row{background:#fff}.reorder-table .metric-row:hover{background:var(--gray-50)}.reorder-handle-cell{width:70px;text-align:center;vertical-align:middle;padding:.5rem!important}.reorder-controls{display:flex;flex-direction:column;align-items:center;gap:2px}.reorder-controls .grip-icon{color:var(--gray-400);cursor:grab}.reorder-btn{padding:2px!important;min-width:24px!important;height:24px!important;border-radius:var(--radius-sm)!important;display:flex;align-items:center;justify-content:center;color:var(--gray-500);background:transparent;border:1px solid var(--gray-200)!important;box-shadow:none!important;transition:all .15s ease}.reorder-btn:hover:not(:disabled){background:var(--brand-50);color:var(--brand-600);border-color:var(--brand-200)!important}.reorder-btn:disabled{opacity:.3;cursor:not-allowed}.category-controls .grip-icon{color:var(--brand-500)}.metric-controls .grip-icon{color:var(--gray-400)}.btn-sm{font-size:.8rem;padding:.4rem .8rem}.table-actions .btn-sm{display:inline-flex;align-items:center;gap:4px}.metric-name-link{cursor:pointer;color:var(--gray-900);transition:color .15s ease}.metric-name-link:hover{color:var(--brand-600);text-decoration:underline}.analysis-layout{display:grid;grid-template-columns:280px 1fr;gap:1.5rem;align-items:start}.analysis-sidebar{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);overflow:hidden;position:sticky;top:80px;max-height:calc(100vh - 100px);display:flex;flex-direction:column}.analysis-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem .5rem;border-bottom:1px solid var(--gray-200);flex-shrink:0}.analysis-sidebar-header .section-title{margin:0;font-size:.95rem}.analysis-metric-list{overflow-y:auto;padding:.5rem 0;flex:1}.analysis-category-group{margin-bottom:.25rem}.analysis-category-label{padding:.5rem 1rem .25rem;font-size:.75rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em}.analysis-metric-item{display:flex;align-items:center;gap:.4rem;width:100%;padding:.5rem 1rem;border:none;background:transparent;cursor:pointer;text-align:left;font-size:.85rem;color:var(--gray-700);transition:background .15s ease}.analysis-metric-item:hover{background:var(--gray-50)}.analysis-metric-item.selected{background:var(--brand-50);color:var(--brand-700)}.analysis-metric-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analysis-color-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.analysis-main{min-width:0}.analysis-placeholder{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;min-height:400px}.analysis-placeholder p{color:var(--gray-400);font-size:1rem;margin:0}.analysis-filters{margin-bottom:1rem}@media(max-width:720px){.analysis-layout{grid-template-columns:1fr}.analysis-sidebar{position:static;max-height:none}}
