body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-color:#667eea;--secondary-color:#764ba2;--success-color:#10b981;--error-color:#ef4444;--warning-color:#ffc107;--info-color:#3b82f6;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--text-light:#f8fafc;--bg-primary:#f5f7fa;--bg-secondary:#fff;--bg-tertiary:#f8fafc;--bg-gradient:linear-gradient(135deg,#667eea,#764ba2);--border-light:#0000000d;--border-medium:#0000001a;--border-dark:#e1e8ed;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:12px;--border-radius-xl:20px;--shadow-sm:0 2px 8px #0000000d;--shadow-md:0 4px 20px #00000014;--shadow-lg:0 8px 30px #0000001f;--shadow-xl:0 20px 40px #0000001a;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--transition-fast:0.2s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease;--z-dropdown:1000;--z-modal:9999;--z-tooltip:10000}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);line-height:1.6}:focus{outline:none}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}ol,ul{list-style:none}button{background:none;border:none;cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}a{color:inherit;text-decoration:none}img{height:auto;max-width:100%}table{border-collapse:collapse;border-spacing:0}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-4xl{font-size:var(--text-4xl)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-light{color:var(--text-light)}.text-success{color:var(--success-color)}.text-error{color:var(--error-color)}.text-warning{color:var(--warning-color)}.text-info{color:var(--info-color)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.tracking-wide{letter-spacing:.5px}.tracking-wider{letter-spacing:1px}.leading-tight{line-height:1.25}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.75}.heading{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-semibold);margin-bottom:var(--spacing-md)}.subheading{color:var(--text-secondary);font-size:var(--text-lg);font-weight:var(--font-medium);margin-bottom:var(--spacing-sm)}.body-text{color:var(--text-primary);font-size:var(--text-base);line-height:1.6}.caption{color:var(--text-muted);font-size:var(--text-sm)}.monospace{font-family:Monaco,Menlo,Ubuntu Mono,monospace}.m-0{margin:0}.m-1{margin:var(--spacing-xs)}.m-2{margin:var(--spacing-sm)}.m-3{margin:var(--spacing-md)}.m-4{margin:var(--spacing-lg)}.m-5{margin:var(--spacing-xl)}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mt-5{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:var(--spacing-xl)}.ml-0{margin-left:0}.ml-1{margin-left:var(--spacing-xs)}.ml-2{margin-left:var(--spacing-sm)}.ml-3{margin-left:var(--spacing-md)}.ml-4{margin-left:var(--spacing-lg)}.ml-5{margin-left:var(--spacing-xl)}.mr-0{margin-right:0}.mr-1{margin-right:var(--spacing-xs)}.mr-2{margin-right:var(--spacing-sm)}.mr-3{margin-right:var(--spacing-md)}.mr-4{margin-right:var(--spacing-lg)}.mr-5{margin-right:var(--spacing-xl)}.p-0{padding:0}.p-1{padding:var(--spacing-xs)}.p-2{padding:var(--spacing-sm)}.p-3{padding:var(--spacing-md)}.p-4{padding:var(--spacing-lg)}.p-5{padding:var(--spacing-xl)}.pt-0{padding-top:0}.pt-1{padding-top:var(--spacing-xs)}.pt-2{padding-top:var(--spacing-sm)}.pt-3{padding-top:var(--spacing-md)}.pt-4{padding-top:var(--spacing-lg)}.pt-5{padding-top:var(--spacing-xl)}.pb-0{padding-bottom:0}.pb-1{padding-bottom:var(--spacing-xs)}.pb-2{padding-bottom:var(--spacing-sm)}.pb-3{padding-bottom:var(--spacing-md)}.pb-4{padding-bottom:var(--spacing-lg)}.pb-5{padding-bottom:var(--spacing-xl)}.pl-0{padding-left:0}.pl-1{padding-left:var(--spacing-xs)}.pl-2{padding-left:var(--spacing-sm)}.pl-3{padding-left:var(--spacing-md)}.pl-4{padding-left:var(--spacing-lg)}.pl-5{padding-left:var(--spacing-xl)}.pr-0{padding-right:0}.pr-1{padding-right:var(--spacing-xs)}.pr-2{padding-right:var(--spacing-sm)}.pr-3{padding-right:var(--spacing-md)}.pr-4{padding-right:var(--spacing-lg)}.pr-5{padding-right:var(--spacing-xl)}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.flex-1{flex:1 1}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.w-full{width:100%}.w-auto{width:auto}.h-full{height:100%}.h-auto{height:auto}.rounded-sm{border-radius:var(--border-radius-sm)}.rounded-md{border-radius:var(--border-radius-md)}.rounded-lg{border-radius:var(--border-radius-lg)}.rounded-xl{border-radius:var(--border-radius-xl)}.rounded-full{border-radius:9999px}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-none{box-shadow:none}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.bg-tertiary{background-color:var(--bg-tertiary)}.bg-gradient{background:var(--bg-gradient)}.border-light{border-color:var(--border-light)}.border-medium{border-color:var(--border-medium)}.border-dark{border-color:var(--border-dark)}.transition{transition:all var(--transition-normal)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.z-dropdown{z-index:var(--z-dropdown)}.z-modal{z-index:var(--z-modal)}.z-tooltip{z-index:var(--z-tooltip)}.loading-overlay{align-items:center;animation:slideIn .5s ease-out;background:var(--bg-gradient);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:var(--z-modal)}.loading-container{border-radius:var(--border-radius-xl);box-shadow:var(--shadow-xl);max-width:500px;padding:var(--spacing-2xl);text-align:center}.loading-container,.loading-container-inline{animation:slideIn .6s ease-out .1s both;background:var(--bg-secondary);width:90%}.loading-container-inline{border:1px solid var(--border-light);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);margin:var(--spacing-xl) auto;max-width:600px}.loading-content{padding:var(--spacing-2xl);text-align:center}.loading-header{margin-bottom:var(--spacing-2xl)}.loading-icon{animation:pulse 3s infinite;font-size:48px;margin-bottom:var(--spacing-xl)}.loading-header h2{color:var(--text-primary);font-size:28px;font-weight:var(--font-semibold);margin:0 0 var(--spacing-md) 0}.loading-subtitle{color:var(--text-secondary);font-size:var(--text-lg);font-weight:var(--font-medium);margin:0}.loading-period-display{background:var(--bg-gradient);border-radius:var(--border-radius-xl);color:#fff;display:inline-block;font-size:14px;padding:var(--spacing-sm) var(--spacing-md)}.loading-period-label{font-weight:var(--font-medium);margin-right:var(--spacing-sm)}.loading-period-value{font-weight:var(--font-semibold)}.progress-section{margin-bottom:var(--spacing-2xl)}.progress-bar{background:#f0f0f0;height:8px;margin-bottom:var(--spacing-md);overflow:hidden;width:100%}.progress-bar,.progress-fill{border-radius:var(--border-radius-sm)}.progress-fill{background:var(--bg-gradient);height:100%;transition:width .5s ease}.progress-text{color:var(--text-primary);font-size:18px;font-weight:var(--font-semibold)}.checklist-section{margin-bottom:var(--spacing-2xl)}.checklist-section h3{color:var(--text-primary);font-size:18px;font-weight:var(--font-semibold);margin:0 0 var(--spacing-xl) 0}.checklist-container{display:flex;flex-direction:column;gap:12px}.checklist-item{align-items:center;animation:slideInLogNew .3s ease-out;background:var(--bg-tertiary);border-left:4px solid #e9ecef;border-radius:var(--border-radius-md);display:flex;padding:var(--spacing-md);transition:var(--transition-normal)}.checklist-item.completed{background:#d4edda;border-left-color:var(--success-color);color:#155724}.checklist-item.in-progress{background:#fff3cd;border-left-color:var(--warning-color);color:#856404}.checklist-item.error{background:#f8d7da;border-left-color:var(--error-color);color:#721c24}.checklist-item.pending{background:var(--bg-tertiary);border-left-color:#6c757d;color:#6c757d;opacity:.7}.checklist-icon{font-size:18px;margin-right:var(--spacing-md);min-width:20px}.checklist-content{display:flex;flex:1 1;flex-direction:column;gap:4px}.checklist-label{font-size:14px;font-weight:var(--font-medium)}.checklist-progress{height:3px}.checklist-progress,.checklist-progress-bar{background:#ffc1074d;border-radius:2px;overflow:hidden;width:100%}.checklist-progress-bar{height:100%}.checklist-progress-fill{background:var(--warning-color);border-radius:2px;height:100%;transition:width .3s ease;width:60%}.loading-footer{margin-top:var(--spacing-xl)}.loading-dots{display:flex;gap:var(--spacing-sm);justify-content:center}.loading-dots span{animation:dots 2s ease-in-out infinite;background:var(--primary-color);border-radius:50%;height:8px;opacity:.7;width:8px}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.loading-message{color:var(--text-secondary);font-size:var(--text-lg);font-weight:var(--font-medium);padding:var(--spacing-xl)}@keyframes slideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes dots{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@keyframes slideInLogNew{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.calendar-picker{border:1px solid var(--border-medium);border-radius:var(--border-radius-lg);margin-top:var(--spacing-sm);min-width:300px;padding:var(--spacing-lg)}.calendar-picker,.calendar-picker.ga4-style{background:var(--bg-secondary);box-shadow:var(--shadow-lg);position:absolute;right:0;top:100%;z-index:var(--z-dropdown)}.calendar-picker.ga4-style{border:1px solid var(--border-dark);border-radius:var(--border-radius-md);display:flex;max-height:500px;overflow:visible;padding:0;width:600px}.calendar-left{background:var(--bg-tertiary);border-right:1px solid var(--border-dark);padding:var(--spacing-lg);width:250px}.calendar-left h3{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin:0 0 var(--spacing-md) 0}.period-menu{display:flex;flex-direction:column;gap:var(--spacing-xs);max-height:200px;overflow-y:auto}.period-option{border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);padding:var(--spacing-md);transition:var(--transition-fast)}.period-option:hover{background:#e9ecef;color:var(--text-primary)}.period-option.active{background:var(--primary-color);color:#fff}.calendar-right{flex:1 1;max-height:500px;overflow-y:auto;padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md) var(--spacing-lg)}.date-range-display{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.date-range-display .date-input{flex:1 1}.calendar-grid{margin-bottom:var(--spacing-md)}.calendar-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-md);padding:0}.cancel-btn{background:var(--bg-secondary);border:1px solid #d1d5db;border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);padding:var(--spacing-sm) var(--spacing-md);transition:var(--transition-fast)}.cancel-btn:hover{background:var(--bg-tertiary)}.apply-btn{background:var(--primary-color);border:none;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--spacing-sm) var(--spacing-md);transition:var(--transition-fast)}.apply-btn:hover{background:#5a6fd8}.period-comparison{background:var(--bg-tertiary);border:1px solid var(--border-dark);border-radius:var(--border-radius-sm);margin:var(--spacing-md) 0;padding:var(--spacing-md)}.comparison-item{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--text-sm);justify-content:space-between;margin-bottom:var(--spacing-sm)}.comparison-item:last-child{margin-bottom:0}.comparison-item strong{color:var(--text-primary);font-weight:var(--font-semibold)}.comparison-item span{color:var(--text-muted);font-family:monospace}.date-inputs{gap:var(--spacing-md)}.date-input,.date-inputs{display:flex;flex-direction:column}.date-input{gap:var(--spacing-sm);position:relative}.date-input .date-text-input{background:var(--bg-tertiary);border:2px solid var(--border-dark);transition:var(--transition-fast)}.date-input .date-text-input:focus{background:var(--bg-secondary);border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.date-input label{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium)}.date-picker-input{border:2px solid var(--border-dark);border-radius:var(--border-radius-sm);font-size:var(--text-sm);padding:var(--spacing-sm);width:100%}.date-picker-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a;outline:none}.apply-dates{background:var(--primary-color);border:none;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;font-weight:var(--font-medium);margin-top:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-md);transition:var(--transition-fast)}.apply-dates:hover{background:#5a6fd8;transform:translateY(-1px)}.calendar-period-info{border-top:1px solid var(--border-dark);margin-top:var(--spacing-md);padding-top:var(--spacing-md)}.period-info-item{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--text-sm);justify-content:space-between;margin-bottom:var(--spacing-sm)}.period-info-item strong{color:var(--text-primary);font-weight:var(--font-semibold)}.period-info-item span{color:var(--text-muted);font-family:monospace}@media (max-width:768px){.calendar-picker.ga4-style{flex-direction:column;max-height:600px;max-width:100%;min-width:100%}.calendar-left{border-bottom:1px solid var(--border-dark);border-right:none;max-height:200px;width:100%}.calendar-right{max-height:400px}.date-range-display{flex-direction:column}.calendar-left{max-height:none;overflow:visible}.calendar-picker.ga4-style{max-height:calc(100vh - 140px);overflow-y:auto}}.app{background:var(--bg-gradient);min-height:100vh}.app-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;box-shadow:var(--shadow-md);padding:var(--spacing-lg) var(--spacing-xl)}.header-main{align-items:center;display:flex;flex-direction:row;gap:var(--spacing-xl);justify-content:space-between}.app-navigation{display:flex;gap:var(--spacing-sm)}.nav-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border:1px solid var(--border-medium);border-radius:var(--border-radius-md);color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease}.nav-button:hover{background:#ffffffe6;border-color:var(--border-dark);box-shadow:var(--shadow-sm);color:var(--text-primary);transform:translateY(-1px)}.nav-button.active,.nav-button.active:hover{background:var(--primary-color);border-color:var(--primary-color);box-shadow:var(--shadow-md);color:#fff}.nav-button.active:hover{transform:none}.header-controls{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-xl);justify-content:space-between}.header-title{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-semibold);margin:0}.period-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.cache-status{align-items:center;border-radius:var(--border-radius-sm);display:inline-flex;font-size:var(--text-xs);font-weight:var(--font-medium);gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm)}.cache-status.cached{background:#22c55e1a;color:var(--success-color)}.cache-status.fresh{background:#3b82f61a;color:var(--info-color)}.cache-time{color:var(--text-muted);font-size:var(--text-xs)}.period-selector{background:#ffffffe6;border:1px solid var(--border-medium);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);padding:var(--spacing-md)}.period-display,.period-selector{align-items:center;display:flex;gap:var(--spacing-md)}.period-label{color:var(--text-secondary);font-weight:var(--font-medium)}.period-value{background:#667eea1a;border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--spacing-xs) var(--spacing-sm)}.period-dates{color:var(--text-muted);font-family:monospace;font-size:var(--text-xs);margin-top:var(--spacing-xs)}.date-text-input{border:2px solid var(--border-dark);border-radius:var(--border-radius-sm);font-family:monospace;font-size:var(--text-sm);margin-bottom:var(--spacing-sm);padding:var(--spacing-sm);transition:var(--transition-fast);width:100%}.date-text-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a;outline:none}.refresh-cache-button{align-items:center;background:var(--primary-color);border:none;border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease}.refresh-cache-button:hover{background:var(--primary-color-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.refresh-cache-button:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.refresh-cache-section{display:flex;justify-content:center;margin:var(--spacing-lg) 0;padding:var(--spacing-md)}.exchange-rates-footer{background:#ffffffe6;border:1px solid var(--border-medium);border-radius:var(--border-radius-md);color:var(--text-secondary);display:flex;flex-direction:column;font-size:var(--text-sm);gap:var(--spacing-md);margin-top:var(--spacing-xl);padding:var(--spacing-lg)}.fallback-info,.rates-info{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.fallback-info{border-top:1px solid var(--border-light);padding-top:var(--spacing-sm)}.fallback-label,.rates-label{color:var(--text-primary);font-weight:var(--font-semibold)}.fallback-source{border-radius:var(--border-radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--spacing-xs) var(--spacing-sm)}.fallback-source.auto{background:var(--success-color);color:#fff}.fallback-source.manual{background:var(--warning-color);color:#fff}.fallback-time,.fallback-version{color:var(--text-muted);font-size:var(--text-xs)}.footer-buttons{align-items:center;display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-md)}.logout-btn{background:#dc26261a;border:1px solid #dc26264d;border-radius:var(--border-radius-md);color:var(--color-red-600);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease}.logout-btn:hover{background:#dc262633;border-color:#dc262680;transform:translateY(-1px)}.period-selector label{color:var(--text-secondary);font-weight:var(--font-medium)}.period-selector select{background:#fff;border:2px solid var(--border-dark);border-radius:var(--border-radius-md);color:var(--text-primary);cursor:pointer;font-size:var(--text-sm);padding:var(--spacing-sm) var(--spacing-md);transition:var(--transition-fast)}.period-selector select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a;outline:none}.period-controls{gap:var(--spacing-md)}.calendar-toggle{background:var(--primary-color);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;font-size:var(--text-xl);padding:var(--spacing-sm) var(--spacing-md);transition:var(--transition-fast)}.calendar-toggle:hover{background:#5a6fd8;transform:translateY(-1px)}.dashboard{margin:0 auto;max-width:1400px;padding:2rem}.metrics-grid,.metrics-section{margin-bottom:2rem}.metrics-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.metric-card{background:#fff;border:1px solid #0000000d;border-radius:12px;box-shadow:0 4px 20px #00000014;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.metric-card:hover{box-shadow:0 8px 30px #0000001f}.metric-card h3{color:#64748b;font-size:.9rem;font-weight:500;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.metric-main{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.metric-value{color:#1e293b;font-size:2rem;font-weight:700}.metric-subtitle{align-items:center;color:#666;display:flex;font-size:.9rem;font-weight:500;justify-content:space-between;margin-bottom:.5rem}.subtitle-value{font-weight:500}.subtitle-change{font-size:.8rem;font-weight:600}.subtitle-change.positive{color:#10b981}.subtitle-change.negative{color:#ef4444}.metric-change{font-size:.8rem;font-weight:600;margin-bottom:.25rem}.metric-change.positive{color:#10b981}.metric-change.negative{color:#ef4444}.metric-period{color:#94a3b8;font-size:.8rem}.charts-section{margin-bottom:2rem}.chart-container{background:#fff;border:1px solid #0000000d;border-radius:12px;box-shadow:0 4px 20px #00000014;padding:2rem}.chart-container h3{color:#1e293b;font-size:1.2rem;font-weight:600;margin-bottom:1.5rem}.recharts-wrapper,.recharts-wrapper:focus{outline:none!important}.recharts-wrapper:focus-visible{outline:none!important}.recharts-wrapper *,.recharts-wrapper :focus{outline:none!important}.recharts-wrapper :focus-visible{outline:none!important}.currency-breakdown{background:#fff;border:1px solid #0000000d;border-radius:12px;box-shadow:0 4px 20px #00000014;margin-bottom:2rem;padding:2rem}.currency-section{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;min-height:400px}.currency-chart{align-items:center;display:flex;height:100%;justify-content:center;padding:0;width:100%}.currency-details{display:flex;flex-direction:column}.currency-breakdown h3{color:#1e293b;font-size:1.2rem;font-weight:600;margin-bottom:1.5rem}.currency-grid{grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(3,1fr)}.currency-item{background:#f8fafc;border:1px solid #e2e8f0;padding:.75rem}.currency-header{gap:.5rem;margin-bottom:.75rem}.currency-symbol{color:#1e293b;font-size:1.25rem;font-weight:600}.currency-code{font-weight:500}.currency-code,.currency-metrics{color:#64748b;font-size:.875rem}.currency-metrics>div{margin-bottom:.25rem}.period-info{background:#0000;border:none;box-shadow:none;margin-top:1rem;padding:0}.period-info h4{color:#1e293b;font-size:.875rem;font-weight:600;letter-spacing:.5px;margin:0 0 .5rem;text-transform:uppercase}.period-info-dates{border-top:1px solid #e2e8f0;color:#94a3b8;font-family:monospace;font-size:.875rem;margin-bottom:.5rem;padding:.5rem 0 0}.loading{color:#fff;font-weight:500}.error,.loading{align-items:center;display:flex;font-size:1.25rem;justify-content:center;min-height:100vh}.error{background:#ef44441a;color:#ef4444;padding:2rem;text-align:center}@media (max-width:768px){.app-header{flex-direction:column;padding:1rem;text-align:center}.header-main{flex-direction:column;gap:1rem}.app-navigation{justify-content:center;order:2;width:100%}.nav-button{flex:1 1;font-size:.75rem;padding:.5rem;text-align:center}.app-header h1{font-size:1.25rem}.period-selector{align-items:stretch}.header-controls,.period-selector{flex-direction:column;gap:1rem}.exchange-rates-footer{flex-direction:column;text-align:center}.dashboard{padding:1rem}.metrics-grid{gap:1rem;grid-template-columns:1fr}.chart-container,.currency-breakdown,.period-info{padding:1rem}.currency-grid{grid-template-columns:1fr}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.error-banner{align-items:center;background:#fff;border-left:4px solid #c0392b;border-radius:8px;box-shadow:0 2px 8px #0000001f;color:#8a1c13;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin:0 0 20px;padding:14px 18px}.error-banner p{flex:1 1 260px;margin:0}.error-banner .retry-button{background:#667eea;border:0;border-radius:6px;color:#fff;cursor:pointer;padding:8px 16px}.range-error{color:#8a1c13;font-size:.9rem;margin:8px 0 0}.app-header{position:relative;z-index:1100}.metric-change.neutral,.subtitle-change.neutral{color:#6b7280}.currency-metrics{display:flex;flex-direction:column;gap:8px}.revenue-section{border-bottom:1px solid #e0e0e0;display:flex;flex-direction:column;gap:2px;padding:6px 0}.revenue-original{align-items:center;display:flex;justify-content:space-between}.revenue-label{color:#666;font-size:12px;font-weight:500}.revenue-amount{color:#2c3e50;font-size:16px;font-weight:600}.revenue-amount.large-value{font-size:12px}.revenue-converted{align-items:center;display:flex;justify-content:space-between}.conversion-label{color:#888;font-size:11px;font-style:italic}.conversion-amount{color:#7f8c8d;font-size:14px;font-weight:500}.orders-section{align-items:center;display:flex;justify-content:space-between;padding:2px 0}.orders-label{color:#666;font-size:12px;font-weight:500}.orders-count{color:#27ae60;font-size:14px;font-weight:600}.currency-section{align-items:center;display:flex;gap:20px}.currency-chart{flex:0 0 50%;margin-left:-30px;max-width:50%}.currency-details{flex:0 0 50%;min-width:0}.currency-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.currency-item{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:12px}.currency-header{align-items:center;display:flex;font-weight:600;gap:8px;margin-bottom:8px}.currency-symbol{font-size:18px}.currency-code{color:#2c3e50;font-size:14px}.currency-percentage{color:#888;font-size:12px;margin-left:auto}.currency-rate-note{color:#8a5a00;font-size:13px;margin:-4px 0 12px}.currency-empty{color:#6b7280;margin:8px 0 0}.nation-sales-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin:20px 0;overflow:hidden}.nation-sales-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e5e7eb;color:#374151;display:flex;justify-content:space-between;padding:20px 24px}.nation-sales-header h2{color:#2c3e50;font-size:1.5rem;font-weight:600;margin:0}.nation-sales-controls{align-items:center;display:flex;gap:12px}.nation-filter-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:14px;min-width:200px;padding:8px 12px;transition:all .3s ease}.nation-filter-input::placeholder{color:#9ca3af}.nation-filter-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.nation-sales-table-container{max-height:600px;overflow-x:auto;overflow-y:auto}.nation-sales-table{border-collapse:collapse;font-size:14px;table-layout:fixed;width:100%}.nation-sales-table th{background:#f8fafc;border-bottom:2px solid #e5e7eb;color:#374151;font-weight:600;padding:12px 16px;position:sticky;text-align:left;top:0;z-index:10}.nation-sales-table th:first-child{width:13%}.nation-sales-table th:nth-child(2){width:14.5%}.nation-sales-table th:nth-child(3),.nation-sales-table th:nth-child(4),.nation-sales-table th:nth-child(5),.nation-sales-table th:nth-child(6){width:9%}.nation-sales-table th:nth-child(7){width:11%}.nation-sales-table th:nth-child(8){width:12%}.nation-sales-table th:nth-child(9){width:10.5%}.nation-sales-table th.sortable{cursor:pointer;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.nation-sales-table th.sortable:hover{background:#e5e7eb}.nation-sales-table td{border-bottom:1px solid #f3f4f6;padding:12px 16px;vertical-align:middle}.nation-sales-table tbody tr{transition:background-color .2s ease}.nation-sales-table tbody tr:hover{background:#f9fafb}.nation-sales-table tbody tr.even{background:#fafbfc}.nation-sales-table tbody tr.odd{background:#fff}.country-cell{display:flex;flex-direction:column;gap:2px}.country-name{color:#1f2937;font-weight:600}.country-code{color:#6b7280;font-size:12px;font-weight:400}.revenue-cell{color:#059669;font-weight:600}.orders-cell{color:#1f2937}.orders-cell,.status-badge{font-weight:600;text-align:center}.status-badge{border-radius:12px;display:inline-block;font-size:12px;min-width:30px;padding:4px 8px}.status-badge.completed{background:#dcfce7;color:#166534}.status-badge.partial{background:#fef3c7;color:#92400e}.status-badge.successful{background:#dcfce7;color:#166534}.status-badge.pending{background:#dbeafe;color:#1e40af}.status-badge.failed{background:#fee2e2;color:#991b1b}.status-badge.refunded{background:#f3e8ff;color:#7c3aed}.status-badge.free-orders{background:#fed7aa;color:#c2410c}.avg-cell{color:#7c3aed;font-weight:600}.failed-cell,.free-orders-cell,.pending-cell,.refunded-cell,.successful-cell{text-align:center}.success-rate{border-radius:12px;font-size:12px;font-weight:600;padding:4px 8px}.success-rate.high{background:#dcfce7;color:#166534}.success-rate.medium{background:#fef3c7;color:#92400e}.success-rate.low{background:#fee2e2;color:#991b1b}.nation-sales-summary{background:#f8fafc;border-top:1px solid #e5e7eb;display:flex;justify-content:space-around;padding:16px 24px}.summary-item{align-items:center;display:flex;flex-direction:column;gap:4px}.summary-label{color:#6b7280;font-size:12px;font-weight:500}.summary-value{color:#1f2937;font-size:16px;font-weight:600}.error-message,.loading-message,.no-data-message{color:#6b7280;font-size:16px;padding:40px 24px;text-align:center}@media (max-width:1024px){.nation-sales-header{align-items:stretch;flex-direction:column;gap:16px}.nation-sales-controls{justify-content:center}.nation-sales-table{font-size:12px}.nation-sales-table td,.nation-sales-table th{padding:8px 12px}.nation-sales-summary{flex-direction:column;gap:16px}}@media (max-width:768px){.nation-sales-table-container{max-height:400px}.nation-sales-table{font-size:11px}.nation-sales-table td,.nation-sales-table th{padding:6px 8px}.status-badge,.success-rate{font-size:10px;padding:2px 6px}}.product-analytics{background:#0000;margin:0 auto;max-width:1400px;min-height:100vh;padding:1.5rem}.filter-controls,.period-controls{align-items:center;display:flex}.filter-controls{width:100%}.loading-message{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:12px;color:#6b7280;display:flex;font-size:1.1rem;font-weight:500;height:200px;justify-content:center}.error-message{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1rem}.error-message button{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem}.error-message button:hover{background:#b91c1c}.product-analytics-content{grid-gap:1.5rem;display:grid;gap:1.5rem}.chart-section{background:#0000;border:none;box-shadow:none;padding:0}.table-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;overflow:hidden}.table-section h2{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:1.25rem;font-weight:600;margin:0;padding:1.5rem 1.5rem 1rem}@media (max-width:1024px){.product-analytics{padding:1rem}.product-analytics-controls{gap:1rem;grid-template-columns:1fr}.product-analytics-header h1{font-size:2rem}}@media (max-width:768px){.product-analytics{padding:.5rem}.product-analytics-header h1{font-size:1.75rem}.product-analytics-header p{font-size:1rem}.chart-section h2,.table-section h2{font-size:1.1rem;padding:1rem}}@media (max-width:480px){.product-analytics-header h1{font-size:1.5rem}.product-analytics-controls{padding:1rem}}.chart-section,.product-analytics-content>*,.table-section{min-width:0}.product-filters{background:#0000;border:none;border-radius:0;box-shadow:none;box-sizing:border-box;padding:0;width:100%}.product-filters h3{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 .75rem}.filters-grid{box-sizing:border-box;display:flex;flex-direction:row;gap:.75rem;margin-bottom:1rem;width:100%}.filter-group{display:flex;flex-direction:column;width:100%}.filter-group label{color:#374151;font-size:.8rem;font-weight:500;margin-bottom:.375rem}.filter-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:border-color .2s ease;width:100%}.filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.filter-select:hover{border-color:#9ca3af}.custom-dropdown{width:100%}.dropdown-button{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;cursor:pointer;display:flex;font-size:.875rem;justify-content:space-between;padding:.5rem .75rem;text-align:left;transition:border-color .2s ease;width:100%}.dropdown-button:hover{border-color:#9ca3af}.dropdown-button:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.dropdown-arrow{color:#6b7280;font-size:.75rem;transition:transform .2s ease}.dropdown-content{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 4px 6px -1px #0000001a;margin-top:2px;padding:.5rem}.dropdown-checkbox-label{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;padding:.25rem 0;-webkit-user-select:none;user-select:none;width:100%}.dropdown-checkbox{accent-color:#3b82f6;cursor:pointer;height:16px;margin-right:.5rem;width:16px}.dropdown-checkbox-text{flex:1 1}.us-filter{align-items:center;display:flex;justify-content:flex-start}.filter-checkbox{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.checkmark{background-color:#fff;border:2px solid #d1d5db;border-radius:4px;height:18px;margin-right:.5rem;position:relative;transition:all .2s ease;width:18px}.checkbox-label:hover .checkmark{border-color:#9ca3af}.filter-checkbox:checked~.checkmark{background-color:#3b82f6;border-color:#3b82f6}.checkmark:after{border:solid #fff;border-width:0 2px 2px 0;content:"";display:none;height:8px;left:5px;position:absolute;top:2px;transform:rotate(45deg);width:4px}.filter-checkbox:checked~.checkmark:after{display:block}.active-filters{border-top:1px solid #e5e7eb;padding-top:.75rem}.active-filters h4{color:#374151;font-size:.8rem;font-weight:600;margin:0 0 .5rem}.filter-tags{display:flex;flex-wrap:wrap;gap:.5rem}.filter-tag{background:#dbeafe;border:1px solid #bfdbfe;border-radius:16px;display:inline-flex;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.filter-tag,.remove-filter{align-items:center;color:#1e40af}.remove-filter{background:none;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:1rem;font-weight:700;height:16px;justify-content:center;line-height:1;margin-left:.5rem;padding:0;transition:background-color .2s ease;width:16px}.remove-filter:hover{background-color:#bfdbfe}.no-filters{color:#6b7280;font-size:.875rem;font-style:italic}@media (max-width:768px){.product-filters{padding:0}.filters-grid{flex-direction:column;gap:.5rem}.filter-tags{gap:.25rem}.filter-tag{font-size:.7rem;padding:.2rem .5rem}}@media (max-width:480px){.product-filters h3{font-size:1rem}.filter-group label,.filter-select{font-size:.8rem}.filter-select{padding:.5rem}}.product-sales-chart{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;overflow:hidden}.chart-filters{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:1rem 1.5rem}.chart-container{height:350px;margin-bottom:0;padding:1.5rem}.no-data{height:300px}.no-data-message{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;color:#6b7280;display:flex;flex-direction:column;height:100%;justify-content:center;padding:2rem;text-align:center}.no-data-message p{font-size:1rem;margin:.5rem 0}.no-data-message p:first-child{font-size:1.125rem;font-weight:500}.no-legend-message{align-items:center;color:#6b7280;display:flex;font-style:italic;justify-content:center;padding:1rem}.chart-legend{background:#f9fafb;border-top:1px solid #e5e7eb;padding:1rem 1.5rem}.legend-grid{flex-wrap:wrap;gap:.75rem;justify-content:center;max-width:100%}.legend-grid,.legend-item{align-items:center;display:flex}.legend-item{border-radius:6px;flex-shrink:0;gap:.5rem;padding:.5rem;transition:background-color .2s ease;width:200px}.legend-item:hover{background-color:#e5e7eb}.legend-color{border-radius:50%;flex-shrink:0;height:12px;width:12px}.legend-label{color:#374151;font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-summary{background:#f9fafb;border-top:1px solid #e5e7eb;padding:1.5rem}.summary-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px 0 #0000000d;display:flex;flex-direction:column;padding:1.25rem;text-align:center;transition:all .2s ease}.stat-item:hover{box-shadow:0 2px 4px 0 #0000001a;transform:translateY(-1px)}.stat-label{color:#6b7280;font-size:.875rem;font-weight:500;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.stat-value{color:#1f2937;font-size:1.25rem;font-weight:600}.product-sales-chart canvas{border-radius:8px}@media (max-width:1024px){.chart-container{height:300px}.legend-item{width:180px}.summary-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.product-sales-chart{padding:1rem}.chart-container{height:250px}.legend-item{padding:.375rem;width:150px}.legend-label{font-size:.8rem}.summary-stats{gap:.75rem;grid-template-columns:1fr}.stat-item{padding:.75rem}.stat-label{font-size:.8rem}.stat-value{font-size:1.1rem}}@media (max-width:480px){.chart-container{height:250px}.legend-item{padding:.25rem;width:120px}.legend-label{font-size:.75rem}.no-data{font-size:.9rem;height:200px}.stat-item{padding:.5rem}.stat-label{font-size:.75rem}.stat-value{font-size:1rem}}.product-summary-table{padding:1.5rem}.view-toggle{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:.5rem;margin-bottom:1.5rem;padding:.5rem}.toggle-button{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;display:flex;flex:1 1;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all .2s ease}.toggle-button:hover{background:#f3f4f6;border-color:#9ca3af}.toggle-button.active{background:#3b82f6;border-color:#3b82f6;box-shadow:0 1px 3px 0 #3b82f64d;color:#fff}.toggle-button.active:hover{background:#2563eb;border-color:#2563eb}.sub-child-row{background-color:#f5f5f5;font-size:.75rem}.sub-child-row:hover{background-color:#f0f0f0}.sub-power-cell{padding-left:3rem}.sub-power-info{align-items:center;display:flex;gap:.5rem}.sub-power-name{color:#6b7280;font-weight:500}.table-container{background:#fff}.table-container table{border-collapse:collapse;font-size:.875rem;width:100%}.table-container th{background:#f9fafb;border-bottom:2px solid #e5e7eb;color:#374151;font-weight:600;padding:1rem .75rem;position:sticky;text-align:left;top:0;z-index:10}.table-container th.sortable{cursor:pointer;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.table-container th.sortable:hover{background:#f3f4f6}.table-container td{border-bottom:1px solid #f3f4f6;padding:.75rem;vertical-align:top}.table-container tbody tr:hover{background:#f9fafb}.product-name{max-width:300px;min-width:200px}.product-info{display:flex;flex-direction:column}.product-title{color:#1f2937;font-weight:500;line-height:1.4;word-break:break-word}.number-cell{font-weight:500}.currency-cell,.number-cell{font-family:Monaco,Menlo,Ubuntu Mono,monospace}.currency-cell{color:#6b7280;font-size:.8rem}.badge-accessory{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.totals-row{background:#f9fafb;border-top:2px solid #e5e7eb}.totals-row td{color:#1f2937;font-weight:600}.table-summary{border-top:1px solid #e5e7eb;padding-top:1rem}.summary-info{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.filter-indicator{background:#dbeafe;color:#1e40af;font-weight:500}.no-data{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;display:flex;font-size:1rem;height:200px;justify-content:center}@media (max-width:1200px){.table-container{font-size:.8rem}.table-container td,.table-container th{padding:.5rem}.product-name{max-width:200px;min-width:150px}}@media (max-width:768px){.product-summary-table{padding:1rem}.table-container{font-size:.75rem}.table-container td,.table-container th{padding:.4rem}.product-name{max-width:150px;min-width:120px}.badge{font-size:.7rem;padding:.2rem .4rem}.summary-info{align-items:flex-start;flex-direction:column;gap:.5rem}.filter-indicator{margin-left:0;margin-top:.25rem}}@media (max-width:480px){.table-container{font-size:.7rem}.table-container td,.table-container th{padding:.3rem}.product-name{max-width:120px;min-width:100px}.badge,.currency-cell,.number-cell,.sales-cell{font-size:.65rem}.badge{padding:.15rem .3rem}}.hierarchical-table{border-collapse:collapse;font-size:.875rem}.hierarchical-table td,.hierarchical-table th{border-bottom:1px solid #e5e7eb;padding:.75rem;text-align:left}.hierarchical-table th{background-color:#f9fafb;color:#374151;font-weight:600;position:sticky;top:0;z-index:10}.parent-row{background-color:#fff;font-weight:500}.parent-row.main_product{background-color:#f0f9ff;border-left:4px solid #3b82f6}.parent-row.accessory{background-color:#fef3c7;border-left:4px solid #f59e0b}.parent-row.other{background-color:#f3f4f6;border-left:4px solid #6b7280}.parent-row:hover{background-color:#f8fafc}.child-row{background-color:#fafafa;font-size:.8rem}.child-row:hover{background-color:#f5f5f5}.model-cell{min-width:250px}.model-info{gap:.5rem}.expand-button,.model-info{align-items:center;display:flex}.expand-button{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:.75rem;height:20px;justify-content:center;min-width:20px;padding:.25rem;transition:all .2s}.expand-button:hover{background-color:#e5e7eb;color:#374151}.expand-button.expanded{color:#3b82f6}.model-name{color:#1f2937;font-weight:600}.variant-count{color:#6b7280;font-size:.75rem;font-weight:400}.power-cell{padding-left:2rem}.power-info{align-items:center;display:flex;gap:.5rem}.indent{color:#9ca3af;font-size:.75rem}.power-name{color:#4b5563;font-weight:500}.promo-indicator{background-color:#fef2f2;border:1px solid #fecaca;border-radius:4px;color:#dc2626;font-size:.75rem;font-weight:600;margin-left:.5rem;padding:.125rem .375rem}.number-cell{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.total-cell{color:#1f2937;font-weight:600}.sales-cell{color:#059669;font-weight:600}.sortable{cursor:pointer;transition:background-color .2s;-webkit-user-select:none;user-select:none}.sortable:hover{background-color:#f3f4f6}.totals-row{background-color:#1f2937;color:#fff;font-weight:600}.totals-row td{border-bottom:none}.totals-row .number-cell{color:#fff}.badge{border-radius:6px;display:inline-block;font-size:.75rem;font-weight:500;letter-spacing:.05em;padding:.25rem .5rem;text-transform:uppercase}.badge-wifi{background:#dbeafe;border:1px solid #bfdbfe;color:#1e40af}.badge-ultra{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.badge-ultra-mk2{background:#fce7f3;border:1px solid #fbcfe8;color:#be185d}.badge-pro{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}.badge-other{background:#f3f4f6;border:1px solid #e5e7eb;color:#374151}.badge-power-1{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.badge-power-2{background:#fef3c7;border:1px solid #fed7aa;color:#d97706}.badge-power-3{background:#dcfce7;border:1px solid #bbf7d0;color:#16a34a}.badge-power-unknown{background:#f3f4f6;border:1px solid #e5e7eb;color:#6b7280}.table-container{border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px 0 #0000001a;overflow-x:auto}.table-summary{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin-top:1rem;padding:1rem}.summary-info p{color:#6b7280;font-size:.875rem;margin:0}.filter-indicator{background-color:#e5e7eb;border-radius:4px;color:#374151;display:inline-block;font-size:.75rem;margin-left:.5rem;padding:.25rem .5rem}.no-data{color:#6b7280;padding:2rem;text-align:center}.no-data p{font-size:1rem;margin:0}@media (max-width:768px){.hierarchical-table{font-size:.75rem}.hierarchical-table td,.hierarchical-table th{padding:.5rem}.model-cell{min-width:200px}.power-cell{padding-left:1rem}.expand-button{font-size:.625rem;height:16px;min-width:16px}}.rank-cell{padding:.75rem;text-align:center;width:60px}.rank-info{align-items:center;display:flex;justify-content:center}.rank-number{color:#3b82f6;font-size:1rem;font-weight:700}.hierarchical-table{table-layout:fixed;width:100%}.rank-column{max-width:80px;min-width:80px;width:80px}.model-column{max-width:150px;min-width:100px;width:auto}.quantity-column{max-width:200px;min-width:200px;padding-right:1rem;text-align:center;width:200px}.sales-column{text-align:right}.discount-column,.sales-column{max-width:220px;min-width:220px;padding-right:1rem;width:220px}.discount-column{text-align:center}.discount-cell{color:#dc2626;font-weight:600}@media (max-width:768px){.discount-column,.quantity-column,.sales-column{max-width:none;min-width:0;padding-right:.5rem;width:auto}}.no-data-row{color:#6b7280;padding:16px;text-align:center}.view-toggle{flex-wrap:wrap}.product-summary-table{min-width:0;overflow-x:auto}