@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-app: #f9f9f7;--bg-sidebar: #1a0a00;--bg-sidebar-item: rgba(255, 255, 255, .05);--bg-sidebar-active: rgba(217, 119, 6, .15);--surface: #ffffff;--surface-border: #e8e4e1;--primary: #6c2f00;--primary-rgb: 108, 47, 0;--accent: #d97706;--accent-light: #fef3c7;--text-main: #1e1b18;--text-muted: #6b635c;--text-on-dark: #fbfbf9;--success: #15803d;--error: #b91c1c;--radius-xl: 24px;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--shadow-subtle: 0 4px 20px -5px rgba(0,0,0,.05);--shadow-card: 0 10px 30px -10px rgba(0,0,0,.08);--shadow-hover: 0 20px 40px -15px rgba(108, 47, 0, .12);--sidebar-width: 280px;--topbar-height: 72px}body{font-family:Outfit,system-ui,-apple-system,sans-serif;background-color:var(--bg-app);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased;overflow:hidden}.admin-layout{display:flex;height:100vh;width:100vw;background:var(--bg-app)}.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;color:var(--text-on-dark);position:relative;z-index:50}.sidebar-logo{height:var(--topbar-height);display:flex;align-items:center;gap:12px;padding:0 24px;border-bottom:1px solid rgba(255,255,255,.05)}.sidebar-logo img{width:40px;height:40px;object-fit:contain}.logo-text{display:flex;flex-direction:column;line-height:1}.logo-text span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;opacity:.6}.logo-text strong{font-size:18px;font-weight:800;letter-spacing:-.02em}.sidebar-nav{flex:1;padding:24px 16px;display:flex;flex-direction:column;gap:32px}.nav-group{display:flex;flex-direction:column;gap:4px}.nav-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#fff6;margin-left:12px;margin-bottom:8px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:none;border:none;color:#ffffffb3;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;width:100%;text-align:left}.nav-item:hover{background:var(--bg-sidebar-item);color:#fff}.nav-item.active{background:var(--bg-sidebar-active);color:var(--accent)}.nav-glow{position:absolute;left:0;top:15%;height:70%;width:4px;background:var(--accent);border-radius:0 4px 4px 0;box-shadow:0 0 15px var(--accent)}.nav-item.logout{color:#fca5a5}.nav-item.logout:hover{background:#ef44441a}.main-viewport{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh}.top-bar{height:var(--topbar-height);background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--surface-border);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:40}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px}.top-bar-actions{display:flex;align-items:center;gap:20px}.user-profile{display:flex;align-items:center;gap:12px;padding:6px 6px 6px 12px;background:#f1f5f9;border-radius:50px}.user-info{display:flex;flex-direction:column;text-align:right}.user-info strong{font-size:13px;color:var(--text-main);line-height:1.1}.user-info span{font-size:11px;color:var(--text-muted)}.user-avatar{width:32px;height:32px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center}.scroll-content{flex:1;overflow-y:auto;padding:40px}.stats-grid{display:flex;flex-direction:row;flex-wrap:nowrap;gap:16px;margin-bottom:48px;overflow-x:auto;padding-bottom:8px}.stat-card{flex:1;min-width:200px;background:var(--surface);border:1px solid var(--surface-border);border-radius:100px;padding:12px 24px;box-shadow:var(--shadow-subtle);display:flex;align-items:center;transition:all .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:var(--primary)}.stat-value{font-size:20px;font-weight:800;color:var(--primary);line-height:1}.stat-label{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.page{max-width:1400px;margin:0 auto}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.page-header h1{font-size:32px;font-weight:800;letter-spacing:-.03em;color:var(--text-main)}.card{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-card)}.card-title{font-size:18px;font-weight:800;margin-bottom:24px;color:var(--primary);display:flex;align-items:center;gap:10px;border-bottom:1px solid #f0f0f0;padding-bottom:16px}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--surface-border);margin-bottom:40px}.tab{padding:12px 4px;background:none;border:none;border-bottom:3px solid transparent;color:var(--text-muted);font-weight:700;font-size:15px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.tab:hover{color:var(--text-main)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.section{margin-bottom:48px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.section-header h2{font-size:24px;font-weight:800;color:var(--text-main);letter-spacing:-.02em}.section-header.compact{margin-bottom:16px}.section-header.compact h2{font-size:20px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.muni-card{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-card);transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:24px}.muni-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover);border-color:var(--accent)}.muni-card-header{display:flex;align-items:center;gap:16px}.muni-shield{width:40px;height:40px;object-fit:contain;background:#fdfdfd;border:1px solid #f0f0f0;padding:4px;border-radius:var(--radius-sm)}.muni-shield-placeholder{width:40px;height:40px;background:var(--primary-light);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:20px}.place-card{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-lg);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.place-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:var(--accent)}.place-card-img-container{height:140px;width:100%;background:#f1f5f9;border-bottom:1px solid var(--surface-border);position:relative}.place-card-img{width:100%;height:100%;object-fit:cover}.place-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);background:#f8fafc}.place-card-body{padding:16px;display:flex;flex-direction:column;gap:4px}.place-card-body h3{font-size:16px;font-weight:700;color:var(--text-main);margin:0}.place-slug{font-size:12px;color:var(--text-muted);font-family:monospace}.place-domain{font-size:12px;font-weight:600;color:var(--primary);margin-top:4px}.btn-primary{background:var(--primary);color:#fff;border:none;padding:12px 24px;border-radius:var(--radius-sm);font-weight:700;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s}.btn-primary:hover{background:var(--accent);box-shadow:0 8px 16px -4px #d977064d;transform:translateY(-1px)}.btn-secondary{background:#f1f5f9;color:var(--text-main);border:1px solid #e2e8f0;padding:10px 20px;border-radius:var(--radius-sm);font-weight:600;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s}.btn-secondary:hover{background:#fff;border-color:var(--primary);color:var(--primary)}.btn-ghost{background:transparent;color:var(--text-muted);border:none;font-weight:600;cursor:pointer;padding:8px 12px;border-radius:var(--radius-sm)}.btn-ghost:hover{background:#0000000d;color:var(--text-main)}.btn-danger{background:#fff;color:var(--error);border:1.5px solid #fee2e2;padding:10px 20px;border-radius:var(--radius-sm);font-weight:700;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-danger:hover{background:var(--error);color:#fff;border-color:var(--error);box-shadow:0 10px 20px -10px #b91c1c66;transform:translateY(-2px)}.btn-danger-sm{background:#fff;color:var(--error);border:1px solid #fee2e2;width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:14px}.btn-danger-sm:hover{background:var(--error);color:#fff;border-color:var(--error)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a0a0066;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;animation:modal-bg-in .3s ease-out}.modal{background:#fff;width:100%;max-width:550px;border-radius:var(--radius-xl);box-shadow:0 30px 60px -12px #00000040;display:flex;flex-direction:column;position:relative;overflow:hidden;animation:modal-scale-in .4s cubic-bezier(.34,1.56,.64,1)}.modal.wide{max-width:850px}.modal-header{padding:24px 32px;border-bottom:1px solid var(--surface-border);display:flex;align-items:center;justify-content:space-between;background:#fff}.modal-header h3{font-size:20px;font-weight:800;color:var(--primary);margin:0;letter-spacing:-.02em}.modal-body{padding:32px;max-height:80vh;overflow-y:auto;background:#fff}.modal-footer{padding:20px 32px;background:#f8fafc;border-top:1px solid var(--surface-border);display:flex;justify-content:flex-end;gap:16px}.modal-content{background:#fff;width:100%;max-width:440px;border-radius:var(--radius-xl);padding:40px;box-shadow:0 30px 60px -12px #00000040;text-align:center;position:relative;overflow:hidden;animation:modal-scale-in .4s cubic-bezier(.34,1.56,.64,1)}.modal-icon{width:80px;height:80px;background:#fee2e2;color:var(--error);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;animation:icon-bounce 1s infinite alternate cubic-bezier(.45,0,.55,1)}.modal-title{font-size:24px;font-weight:800;color:var(--text-main);margin-bottom:12px;letter-spacing:-.02em}.modal-description{color:var(--text-muted);font-size:16px;line-height:1.6;margin-bottom:32px}.modal-actions{display:flex;flex-direction:column;gap:12px}.modal-actions .btn-primary,.modal-actions .btn-secondary,.modal-actions .btn-danger{width:100%;justify-content:center;padding:16px}@keyframes modal-bg-in{0%{opacity:0}to{opacity:1}}@keyframes modal-scale-in{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes icon-bounce{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.login-page{height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background:var(--bg-sidebar);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;width:150%;height:150%;background:radial-gradient(circle at 30% 20%,rgba(217,119,6,.15) 0%,transparent 40%),radial-gradient(circle at 70% 80%,rgba(108,47,0,.15) 0%,transparent 40%);animation:bg-shift 20s infinite linear}@keyframes bg-shift{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-card{width:100%;max-width:440px;background:#fffffffa;border-radius:var(--radius-xl);padding:60px 40px;box-shadow:0 50px 100px -20px #00000080;position:relative;z-index:10;border:1px solid rgba(255,255,255,.4)}.login-logo{display:flex;flex-direction:column;align-items:center;margin-bottom:40px}.login-app-logo{width:100px;height:100px;object-fit:contain;margin-bottom:24px}.login-logo h1{font-size:28px;font-weight:800;color:var(--text-main);letter-spacing:-.03em}.login-logo p{color:var(--text-muted);font-size:15px;font-weight:500}.field-row{display:flex;gap:20px;margin-bottom:8px}.field{margin-bottom:24px}.field-row .field{flex:1;margin-bottom:0}.field label{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:8px}.field input,.field textarea,.field select{width:100%;padding:14px 16px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:var(--radius-md);font-family:inherit;font-size:15px;color:var(--text-main);transition:all .2s cubic-bezier(.4,0,.2,1)}.field input:hover,.field textarea:hover{border-color:#cbd5e1}.field input:focus,.field textarea:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px #6c2f0014}.field textarea{min-height:120px;resize:vertical;line-height:1.6}.field-hint{font-size:13px;color:var(--text-muted);margin-top:8px;font-style:italic}.field-check{display:flex!important;flex-direction:row!important;gap:32px;padding:12px 0}.field-check label{display:flex!important;align-items:center!important;gap:12px;cursor:pointer;text-transform:none!important;letter-spacing:normal!important;font-size:15px!important;font-weight:600!important;color:var(--text-main)!important;margin-bottom:0!important}.field-check input[type=checkbox]{width:20px!important;height:20px!important;padding:0!important;margin:0!important;cursor:pointer;accent-color:var(--primary)}.charts-row{display:grid;grid-template-columns:2fr 1fr;gap:40px;margin-bottom:56px}.form-layout{display:grid;grid-template-columns:1fr 340px;gap:32px}.form-main,.form-aside{display:flex;flex-direction:column;gap:32px}.form-main>.card,.form-aside>.card{height:100%;display:flex;flex-direction:column}.station-row{display:flex;align-items:center;gap:20px;background:#fff;border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:12px 16px;margin-bottom:12px;transition:all .2s}.station-row:hover{border-color:var(--primary-light);transform:translate(4px);box-shadow:var(--shadow-sm)}.station-order{width:32px;height:32px;background:var(--bg-sidebar);color:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px}.station-thumb{width:48px;height:48px;border-radius:var(--radius-md);object-fit:cover;background:#f1f5f9}.station-info{flex:1;display:flex;flex-direction:column}.station-info strong{font-size:15px;color:var(--text-main)}.station-info span{font-size:12px;color:var(--text-muted)}.station-actions{display:flex;gap:8px}.protagonists-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:24px}.protagonist-card{background:#fff;border:1px solid var(--surface-border);border-radius:var(--radius-xl);padding:16px;display:flex;align-items:center;gap:16px;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.protagonist-card:hover{border-color:var(--primary-light);box-shadow:0 10px 25px -5px #0000000d;transform:translateY(-2px)}.protagonist-card img{width:64px;height:64px;border-radius:50%;object-fit:cover;background:#f1f5f9;border:4px solid white;box-shadow:0 0 0 1px var(--surface-border);flex-shrink:0}.protagonist-info{flex:1;display:flex;flex-direction:column;gap:2px;overflow:hidden}.protagonist-info strong{font-size:16px;font-weight:800;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.protagonist-info span{font-size:13px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.protagonist-card .card-actions{display:flex;gap:8px;opacity:0;transition:opacity .2s}.protagonist-card:hover .card-actions{opacity:1}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-top:24px}.gallery-item{position:relative;aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--surface-border);background:#f1f5f9}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-item:hover img{transform:scale(1.1)}.gallery-delete{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:50%;background:#00000080;color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:all .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.gallery-item:hover .gallery-delete{opacity:1}.gallery-delete:hover{background:var(--error);transform:scale(1.1)}.gallery-caption-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000c);color:#fff;padding:12px 8px 8px;font-size:11px;font-weight:500;text-align:center;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.login-form{display:flex;flex-direction:column;gap:24px}.login-btn{background:var(--primary);color:#fff;padding:16px;border:none;border-radius:var(--radius-md);font-size:16px;font-weight:700;cursor:pointer;transition:all .2s}.login-btn:hover{background:var(--accent);transform:translateY(-2px);box-shadow:0 10px 20px -5px #d9770666}.app-loader{height:100vh;width:100vw;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;gap:20px}.spinner{width:48px;height:48px;border:4px solid var(--accent-light);border-top-color:var(--accent);border-radius:50%;animation:spin 1s infinite cubic-bezier(.5,0,.5,1)}.full-width{width:100%}.mt-4{margin-top:16px}.p-4{padding:16px}.gap-2{gap:8px}.text-center{text-align:center}.italic{font-style:italic}.btn-danger{background:var(--error);color:#fff;padding:10px 20px;border:none;border-radius:var(--radius-md);font-weight:700;cursor:pointer;transition:all .2s}.btn-danger:hover{background:#dc2626;transform:translateY(-1px)}.audio-preview-container{padding:32px;display:flex;flex-direction:column;align-items:center;gap:16px;width:100%}.period-btn.active{transform:translateY(-1px)}.modal.confirm{max-width:450px}.confirm-icon-danger{width:80px;height:80px;background:#fef2f2;color:var(--error);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.file-uploader{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.upload-zone{width:100%;min-height:180px;background:#fff;border:2px dashed #e2e8f0;border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.upload-zone:hover{border-color:var(--primary);background:var(--bg-app)}.upload-zone.uploading{cursor:wait}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-muted)}.upload-icon-circle{width:56px;height:56px;background:var(--primary-light);color:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.upload-placeholder strong{font-size:15px;color:var(--text-main)}.upload-placeholder span{font-size:12px}.image-preview{width:100%;height:100%;min-height:180px;position:relative}.image-preview img{width:100%;height:auto;max-height:300px;object-fit:contain;display:block}.preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;opacity:0;transition:opacity .2s;font-weight:700;font-size:14px}.image-preview:hover .preview-overlay{opacity:1}.audio-preview-container,.pdf-preview-container{padding:32px;display:flex;flex-direction:column;align-items:center;gap:16px;width:100%}.audio-player{width:100%;height:36px}.upload-progress-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:20;font-weight:700;color:var(--primary)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#cbd5e1}.map-picker-container{box-shadow:inset 0 2px 4px #0000000f;overflow:hidden;transition:all .3s ease;margin-bottom:32px}@media(max-width:1100px){.charts-row{grid-template-columns:1fr}}.tech-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}@media(max-width:1100px){.tech-grid{grid-template-columns:1fr}}.recent-reviews-list{display:flex;flex-direction:column;gap:12px;max-height:250px;overflow-y:auto;padding-right:8px}.review-mini-card{padding:12px;background:#fdfdfd;border-radius:var(--radius-md);border:1px solid #f0f0f0}.period-toggle{display:flex;background:#f1f5f9;padding:4px;border-radius:8px;gap:2px}.period-btn{padding:6px 12px;font-size:11px;font-weight:700;border-radius:6px;border:none;cursor:pointer;transition:all .2s;color:var(--text-muted);background:transparent}.period-btn.active{background:#fff;color:var(--primary);box-shadow:0 2px 4px #0000000d}.recharts-responsive-container{overflow:visible!important}.analytics-page,.reports-page{max-width:1400px;margin:0 auto}.analytics-header-card{background:var(--surface);padding:48px;border-radius:var(--radius-xl);border:1px solid var(--surface-border);box-shadow:var(--shadow-card);display:flex;justify-content:space-between;align-items:center;margin-bottom:64px;flex-wrap:wrap;gap:48px}.analytics-title-group h1{font-size:32px;font-weight:800;display:flex;align-items:center;gap:16px;color:var(--text-main);margin-bottom:8px}.filters-group{display:flex;gap:24px;align-items:flex-end;flex-wrap:wrap}.filter-item{display:flex;flex-direction:column;gap:10px}.filter-label{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--text-muted);letter-spacing:.1em;margin-left:2px}.filter-item select{padding:12px 44px 12px 16px;border-radius:12px;border:1px solid var(--surface-border);background:#fff;color:var(--text-main);font-size:14px;font-weight:700;min-width:220px;cursor:pointer;transition:all .2s;outline:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236b635c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}.filter-item select:hover{border-color:var(--primary);background-color:#fafaf9}.filter-item select:focus{border-color:var(--primary);box-shadow:0 0 0 4px #6c2f001a}.analytics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-bottom:64px}.analytics-stat-card{background:var(--surface);padding:32px;border-radius:var(--radius-lg);border:1px solid var(--surface-border);box-shadow:var(--shadow-card);display:flex;align-items:center;gap:20px;transition:transform .2s,box-shadow .2s}.analytics-stat-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover)}.charts-row{display:grid;grid-template-columns:2fr 1fr;gap:48px;margin-bottom:64px}.reports-info-box{margin-top:64px;padding:40px;background:#fffbeb;border-radius:var(--radius-xl);border:1px solid #fef3c7;display:flex;gap:32px;align-items:flex-start}.reports-info-icon{width:56px;height:56px;min-width:56px;background:#fef3c7;color:#b45309;border-radius:16px;display:flex;align-items:center;justify-content:center}.reports-info-content h4{color:#92400e;font-weight:900;margin-bottom:12px;font-size:20px}.reports-info-content p{color:#b45309;font-size:16px;line-height:1.8}@media(max-width:1100px){.charts-row{grid-template-columns:1fr}.analytics-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.analytics-grid{grid-template-columns:1fr}}.report-card-list{display:flex;flex-direction:column;gap:20px}.report-item-card{background:#fff;border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:32px;display:flex;align-items:center;gap:32px;transition:all .2s cubic-bezier(.4,0,.2,1)}.report-item-card:hover{border-color:var(--primary);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.report-icon-container{width:56px;height:56px;background:#6c2f000d;color:var(--primary);border-radius:14px;display:flex;align-items:center;justify-content:center}.report-main-info{flex:1}.report-title-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.report-title-row h3{font-size:20px;font-weight:800;color:var(--text-main);margin:0}.report-meta-row{display:flex;align-items:center;gap:32px;flex-wrap:wrap}.report-meta-item{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-muted);font-weight:600}.report-badge{padding:6px 16px;border-radius:20px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.report-badge.active{background:#dcfce7;color:#166534}.report-badge.paused{background:#f3f4f6;color:#4b5563}.icon-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid #f0f0f0;background:#fff;color:#6b635c;cursor:pointer;transition:all .2s}.icon-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:var(--primary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e1b1873;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal-content{background:#fff!important;width:100%;max-width:550px;padding:40px!important;border-radius:32px!important;box-shadow:0 25px 50px -12px #0000004d;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.modal-close-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:#94a3b8;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;cursor:pointer;transition:all .2s}.modal-close-icon:hover{background:#f1f5f9;color:var(--text-main);border-color:#cbd5e1}.form-group{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;width:100%}.form-group label{display:block;font-size:11px;font-weight:800;text-transform:uppercase;color:var(--text-muted);letter-spacing:.1em;text-align:left}.form-group select,.form-group input{width:100%!important;display:block;padding:14px 18px!important;border-radius:14px!important;border:1px solid #e2e8f0!important;background:#f8fafc!important;font-size:15px!important;font-weight:600!important;color:var(--text-main)!important;outline:none;transition:all .2s}.form-group select:focus,.form-group input:focus{border-color:var(--primary)!important;background:#fff!important;box-shadow:0 0 0 4px #6c2f001a}.btn-primary{background:var(--primary)!important;color:#fff!important;border:none!important;padding:16px 24px!important;border-radius:18px!important;font-weight:800!important;font-family:inherit;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none}.btn-primary:hover{background:#5a2700!important;transform:translateY(-2px);box-shadow:0 10px 20px -10px #6c2f0080}.btn-secondary{background:#f1f5f9!important;color:#475569!important;border:none!important;padding:16px 24px!important;border-radius:18px!important;font-weight:800!important;font-family:inherit;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-secondary:hover{background:#e2e8f0!important;color:#1e293b!important}.flex-1{flex:1}.flex-2{flex:2}.flex-gap-4{display:flex;gap:16px}.budget-page{animation:fadeIn .5s ease-out}.bg-card{background:var(--surface)}.text-primary{color:var(--primary)}.bg-primary{background:var(--primary)}.bg-primary\/10{background:rgba(var(--primary-rgb),.1)}.text-primary\/80{color:rgba(var(--primary-rgb),.8)}.border-primary\/10{border-color:rgba(var(--primary-rgb),.1)}.shadow-primary\/25{box-shadow:0 10px 25px -5px rgba(var(--primary-rgb),.25)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@media(min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.gap-8{gap:2rem}.gap-6{gap:1.5rem}.gap-4{gap:1rem}.gap-3{gap:.75rem}.gap-2{gap:.5rem}.space-y-6>*+*{margin-top:1.5rem}.space-y-4>*+*{margin-top:1rem}.space-y-2>*+*{margin-top:.5rem}.mb-8{margin-bottom:2rem}.mt-1{margin-top:.25rem}.p-8{padding:2rem}.p-6{padding:1.5rem}.p-4{padding:1rem}.p-3{padding:.75rem}.pl-10{padding-left:2.5rem}.pr-4{padding-right:1rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.rounded-2xl{border-radius:1.5rem}.rounded-xl{border-radius:1rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.border{border:1px solid var(--surface-border)}.border-2{border-width:2px}.border-dashed{border-style:dashed}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.uppercase{text-transform:uppercase}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1 1 0%}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.relative{position:relative}.absolute{position:absolute}.inset-0{top:0;right:0;bottom:0;left:0}.left-3{left:.75rem}.top-1\/2{top:50%}.-translate-y-1\/2{transform:translateY(-50%)}.w-full{width:100%}.w-16{width:4rem}.whitespace-pre-wrap{white-space:pre-wrap}.leading-relaxed{line-height:1.625}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.resize-none{resize:none}.bg-background{background-color:var(--bg-app)}.bg-background\/50{background-color:#f9f9f780}.bg-muted\/50{background-color:#6b635c0d}.bg-muted\/30{background-color:#6b635c08}.text-muted{color:var(--text-muted)}.text-foreground{color:var(--text-main)}.focus\:ring-2:focus{box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.bg-green-500{background-color:#22c55e}.bg-green-500\/10{background-color:#22c55e1a}.border-green-500\/20{border-color:#22c55e33}.text-green-600{color:#16a34a}.bg-destructive\/10{background-color:#b91c1c1a}.border-destructive\/20{border-color:#b91c1c33}.text-destructive{color:#ef4444}.hover\:bg-destructive\/10:hover{background-color:#b91c1c1a}.hover\:text-destructive:hover{color:#ef4444}.hover\:brightness-110:hover{filter:brightness(1.1)}.active\:scale-95:active{transform:scale(.95)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.file-uploader{position:relative;border:2px dashed rgba(var(--primary-rgb),.2);background:rgba(var(--primary-rgb),.02);transition:all .3s cubic-bezier(.4,0,.2,1);min-height:180px}.file-uploader input[type=file]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:1;cursor:pointer;z-index:10;font-size:0}.file-uploader input[type=file]{opacity:0!important}.file-uploader:hover{border-color:var(--primary)!important;background:rgba(var(--primary-rgb),.05)}.file-uploader-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,rgba(var(--primary-rgb),.08) 0%,transparent 70%);opacity:0;transition:opacity .3s ease;pointer-events:none}.file-uploader:hover .file-uploader-bg{opacity:1}.attachment-item{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:12px 16px!important;background:var(--surface)!important;border-radius:12px!important;border:1px solid rgba(var(--primary-rgb),.1)!important;box-shadow:0 2px 4px #00000005!important;transition:all .2s ease!important;margin-top:8px!important}.attachment-item:hover{transform:translateY(-2px)!important;box-shadow:0 4px 12px #0000000d!important;border-color:var(--primary)!important}.remove-btn{background:transparent!important;color:var(--text-muted)!important;border:none!important;padding:8px!important;border-radius:8px!important;cursor:pointer!important;transition:all .2s ease!important;display:flex!important;align-items:center!important;justify-content:center!important}.remove-btn:hover{background:#ef44441a!important;color:#ef4444!important}.app-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:16px;color:var(--text-muted)}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:rgba(var(--primary-rgb),.2);border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(var(--primary-rgb),.4)}.hidden{display:none!important}.campaign-upload-btn{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--surface-border);padding:8px 16px;border-radius:12px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.campaign-upload-btn:hover{background:rgba(var(--primary-rgb),.05);border-color:var(--primary);transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.campaign-upload-btn:active{transform:translateY(0)}.btn-exit-campaign{background:#ef44440d;color:#ef4444;border:1px solid rgba(239,68,68,.2);padding:6px 12px;border-radius:8px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.05em}.btn-exit-campaign:hover{background:#ef44441a;border-color:#ef4444}.btn-exit-campaign:active{transform:scale(.95)}
