body{-moz-osx-font-smoothing:grayscale;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{--color-primary:#4299e1;--color-primary-dark:#2b6cb0;--color-primary-light:#ebf8ff;--color-success:#48bb78;--color-success-dark:#38a169;--color-success-light:#f0fff4;--color-warning:#ed8936;--color-warning-light:#fffaf0;--color-danger:#f56565;--color-danger-dark:#c53030;--color-danger-light:#fff5f5;--color-gray-50:#f7fafc;--color-gray-100:#edf2f7;--color-gray-200:#e2e8f0;--color-gray-300:#cbd5e0;--color-gray-400:#a0aec0;--color-gray-500:#718096;--color-gray-600:#4a5568;--color-gray-700:#2d3748;--color-gray-800:#1a202c;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 8px 24px #0000001f;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--transition:0.2s ease;--bottom-nav-height:64px}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;color:#2d3748;color:var(--color-gray-700);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.App,body{background:#f7fafc;background:var(--color-gray-50)}.App{display:flex;flex-direction:column;min-height:100vh;padding-bottom:calc(64px + env(safe-area-inset-bottom, 0px));padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom, 0px))}header{background:#fff;box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);padding:1rem;padding:var(--space-md);position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{gap:.5rem;gap:var(--space-sm);justify-content:space-between}.header-content,.header-left{align-items:center;display:flex}.header-left{flex-shrink:0}.header-logo{height:36px;width:auto}.header-center{display:flex;flex:1 1;justify-content:center}.header-title{color:#2b6cb0;color:var(--color-primary-dark);font-size:1rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-right{align-items:center;display:flex;flex-shrink:0;gap:.25rem;gap:var(--space-xs)}.country-toggle{background:#edf2f7;background:var(--color-gray-100);border-radius:9999px;border-radius:var(--radius-full);display:flex;gap:2px;padding:2px}.country-toggle-btn{align-items:center;background:#0000;border:none;border-radius:9999px;border-radius:var(--radius-full);color:#718096;color:var(--color-gray-500);cursor:pointer;display:flex;font-size:.8rem;font-weight:600;gap:4px;padding:4px 10px;transition:all .2s ease;transition:all var(--transition);white-space:nowrap}.country-toggle-btn:hover{color:#2d3748;color:var(--color-gray-700)}.country-toggle-btn.active{background:#fff;box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);color:#1a202c;color:var(--color-gray-800)}.country-flag{font-size:1rem;line-height:1}.country-code{font-size:.75rem;letter-spacing:.5px}.header-icon-btn{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#718096;color:var(--color-gray-500);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s ease;transition:all var(--transition);width:36px}.header-icon-btn:hover{background:#edf2f7;background:var(--color-gray-100);color:#2d3748;color:var(--color-gray-700)}.header-icon-btn:active{transform:scale(.95)}.header-icon-btn.refresh-spinning svg{animation:spin .6s ease}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.header-avatar{align-items:center;background:linear-gradient(135deg,#4299e1,#2b6cb0);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));border-radius:9999px;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.8rem;font-weight:700;height:32px;justify-content:center;position:relative;width:32px}.profile-menu{animation:menuSlideDown .15s ease;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--color-gray-200);border-radius:12px;border-radius:var(--radius-md);box-shadow:0 8px 24px #0000001f;box-shadow:var(--shadow-lg);min-width:220px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:200}@keyframes menuSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.profile-menu-header{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-gray-200);padding:1rem;padding:var(--space-md)}.profile-menu-name{color:#2d3748;color:var(--color-gray-700);font-size:.9rem;font-weight:600}.profile-menu-email{color:#718096;color:var(--color-gray-500);font-size:.75rem;margin-top:2px;word-break:break-all}.profile-menu-item{align-items:center;background:none;border:none;color:#4a5568;color:var(--color-gray-600);cursor:pointer;display:flex;font-size:.85rem;gap:.5rem;gap:var(--space-sm);padding:.5rem 1rem;padding:var(--space-sm) var(--space-md);transition:background .2s ease;transition:background var(--transition);width:100%}.profile-menu-item:hover{background:#f7fafc;background:var(--color-gray-50)}.profile-menu-item.danger{color:#f56565;color:var(--color-danger)}.profile-menu-item.danger:hover{background:#fff5f5;background:var(--color-danger-light)}.profile-menu-overlay{inset:0;position:fixed;z-index:150}.bottom-nav{background:#fff;border-top:1px solid #e2e8f0;border-top:1px solid var(--color-gray-200);bottom:0;height:calc(64px + env(safe-area-inset-bottom, 0px));height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom, 0px));justify-content:space-around;left:0;padding-bottom:env(safe-area-inset-bottom,0);position:fixed;right:0;z-index:100}.bottom-nav,.bottom-nav-item{align-items:center;display:flex}.bottom-nav-item{background:none;border:none;color:#a0aec0;color:var(--color-gray-400);cursor:pointer;flex-direction:column;gap:2px;min-width:56px;padding:.25rem .5rem;padding:var(--space-xs) var(--space-sm);position:relative;transition:color .2s ease;transition:color var(--transition)}.bottom-nav-item.active{color:#4299e1;color:var(--color-primary)}.bottom-nav-item.active:after{background:#4299e1;background:var(--color-primary);border-radius:0 0 3px 3px;content:"";height:3px;left:50%;position:absolute;top:-1px;transform:translateX(-50%);width:24px}.bottom-nav-label{font-size:.65rem;font-weight:600;letter-spacing:.02em}.sub-tabs{background:#fff;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-gray-200);display:flex;gap:.25rem;gap:var(--space-xs)}.sub-tab,.sub-tabs{padding:.5rem 1rem;padding:var(--space-sm) var(--space-md)}.sub-tab{background:#edf2f7;background:var(--color-gray-100);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#718096;color:var(--color-gray-500);cursor:pointer;flex:1 1;font-size:.85rem;font-weight:600;transition:all .2s ease;transition:all var(--transition)}.sub-tab.active{background:#4299e1;background:var(--color-primary);color:#fff}.filters-bar{background:#fff;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-gray-200);padding:.5rem 1rem;padding:var(--space-sm) var(--space-md)}.filters-row{align-items:center;display:flex;gap:.5rem;gap:var(--space-sm)}.filter-select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='%23718096'%3E%3Cpath d='m7 10 5 5 5-5z'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border:1px solid #e2e8f0;border:1px solid var(--color-gray-200);border-radius:8px;border-radius:var(--radius-sm);color:#2d3748;color:var(--color-gray-700);cursor:pointer;flex:1 1;font-size:.85rem;padding:.5rem 1rem;padding:var(--space-sm) var(--space-md);padding-right:28px}.filter-select:focus{border-color:#4299e1;border-color:var(--color-primary);box-shadow:0 0 0 3px #4299e126;outline:none}.period-pills{-webkit-overflow-scrolling:touch;display:flex;gap:.25rem;gap:var(--space-xs);overflow-x:auto;padding:.25rem 0;padding:var(--space-xs) 0}.period-pills::-webkit-scrollbar{display:none}.period-pill{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--color-gray-200);border-radius:9999px;border-radius:var(--radius-full);color:#4a5568;color:var(--color-gray-600);cursor:pointer;font-size:.8rem;font-weight:600;padding:6px 14px;transition:all .2s ease;transition:all var(--transition);white-space:nowrap}.period-pill:hover{color:#4299e1;color:var(--color-primary)}.period-pill.active,.period-pill:hover{border-color:#4299e1;border-color:var(--color-primary)}.period-pill.active{background:#4299e1;background:var(--color-primary);color:#fff}.active-filters{background:#fff;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-gray-200);display:flex;flex-wrap:wrap;gap:.25rem;gap:var(--space-xs);padding:.25rem 1rem .5rem;padding:var(--space-xs) var(--space-md) var(--space-sm)}.filter-chip{align-items:center;background:#ebf8ff;background:var(--color-primary-light);border-radius:9999px;border-radius:var(--radius-full);color:#2b6cb0;color:var(--color-primary-dark);display:flex;font-size:.75rem;font-weight:600;gap:4px;padding:4px 10px}.filter-chip-remove{align-items:center;background:none;border:none;color:#4299e1;color:var(--color-primary);cursor:pointer;display:flex;font-size:1rem;line-height:1;padding:0}main{flex:1 1;padding:1rem;padding:var(--space-md)}.stats{grid-gap:1rem;grid-gap:var(--space-md);display:grid;gap:1rem;gap:var(--space-md)}.stat-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--color-gray-200);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);padding:1.5rem;padding:var(--space-lg)}.stat-card h3{color:#718096;color:var(--color-gray-500);font-size:.8rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;margin-bottom:var(--space-sm);text-transform:uppercase}.stat-number{color:#2b6cb0;color:var(--color-primary-dark);font-size:2.5rem;font-weight:800;line-height:1}.stat-row{align-items:center;border-bottom:1px solid #edf2f7;border-bottom:1px solid var(--color-gray-100);display:flex;justify-content:space-between;padding:.5rem 0;padding:var(--space-sm) 0}.stat-row:last-child{border-bottom:none}.stat-row-label{color:#4a5568;color:var(--color-gray-600);flex:1 1;font-size:.9rem;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-row-bar{background:#edf2f7;background:var(--color-gray-100);flex:1 1;height:6px;margin:0 .5rem;margin:0 var(--space-sm);overflow:hidden}.stat-row-bar,.stat-row-bar-fill{border-radius:9999px;border-radius:var(--radius-full)}.stat-row-bar-fill{background:linear-gradient(90deg,#4299e1,#2b6cb0);background:linear-gradient(90deg,var(--color-primary),var(--color-primary-dark));height:100%;transition:width .4s ease}.stat-row-value{background:#ebf8ff;background:var(--color-primary-light);border-radius:9999px;border-radius:var(--radius-full);color:#2b6cb0;color:var(--color-primary-dark);font-size:.8rem;font-weight:700;min-width:36px;padding:2px 10px;text-align:center}@media (min-width:768px){.stats{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}.contracts{grid-gap:1rem;grid-gap:var(--space-md);display:grid;gap:1rem;gap:var(--space-md)}.contract-card{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #cbd5e0;border:1px solid var(--color-gray-200);border-left:4px solid var(--color-gray-300);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);padding:1rem;padding:var(--space-md);transition:box-shadow .2s ease;transition:box-shadow var(--transition)}.contract-card:hover{box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow-md)}.contract-card.risk-low{border-left-color:#48bb78;border-left-color:var(--color-success)}.contract-card.risk-medium{border-left-color:#ed8936;border-left-color:var(--color-warning)}.contract-card.risk-high{border-left-color:#f56565;border-left-color:var(--color-danger)}.contract-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem;margin-bottom:var(--space-sm)}.contract-customer{color:#1a202c;color:var(--color-gray-800);font-size:1rem;font-weight:700}.contract-mandante{color:#718096;color:var(--color-gray-500);font-size:.8rem;margin-top:2px}.badge{border-radius:9999px;border-radius:var(--radius-full);flex-shrink:0;font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:3px 10px;text-transform:uppercase}.badge-risk-low{background:#f0fff4;background:var(--color-success-light);color:#38a169;color:var(--color-success-dark)}.badge-risk-medium{background:#fffaf0;background:var(--color-warning-light);color:#ed8936;color:var(--color-warning)}.badge-risk-high{background:#fff5f5;background:var(--color-danger-light);color:#c53030;color:var(--color-danger-dark)}.badge-default{background:#edf2f7;background:var(--color-gray-100);color:#4a5568;color:var(--color-gray-600)}.contract-meta{color:#718096;color:var(--color-gray-500);display:flex;flex-wrap:wrap;font-size:.8rem;gap:.25rem 1rem;gap:var(--space-xs) var(--space-md)}.contract-meta-item{align-items:center;display:flex;gap:4px}.contract-details-toggle{background:none;border:none;color:#4299e1;color:var(--color-primary);cursor:pointer;font-size:.8rem;font-weight:600;margin-top:.25rem;margin-top:var(--space-xs);padding:.25rem 0;padding:var(--space-xs) 0}.contract-details-expanded{grid-gap:.25rem;grid-gap:var(--space-xs);border-top:1px solid #edf2f7;border-top:1px solid var(--color-gray-100);display:grid;gap:.25rem;gap:var(--space-xs);margin-top:.5rem;margin-top:var(--space-sm);padding-top:.5rem;padding-top:var(--space-sm)}.contract-detail-row{display:flex;font-size:.8rem;justify-content:space-between}.contract-detail-label{color:#718096;color:var(--color-gray-500)}.contract-detail-value{color:#2d3748;color:var(--color-gray-700);font-weight:500}.operational-list{grid-gap:1rem;grid-gap:var(--space-md);display:grid;gap:1rem;gap:var(--space-md)}.operational-card{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #4299e1;border:1px solid var(--color-gray-200);border-left:4px solid var(--color-primary);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);padding:1rem;padding:var(--space-md)}.operational-header{align-items:flex-start;display:flex;gap:.5rem;gap:var(--space-sm);justify-content:space-between;margin-bottom:.5rem;margin-bottom:var(--space-sm)}.operational-header strong{color:#1a202c;color:var(--color-gray-800);font-size:.95rem}.operational-category{color:#718096;color:var(--color-gray-500);display:inline-block;font-size:.7rem;font-weight:600;margin-left:.5rem;margin-left:var(--space-sm);text-transform:uppercase}.operational-severity{border-radius:9999px;border-radius:var(--radius-full);color:#fff;flex-shrink:0;font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:3px 10px;text-transform:uppercase}.operational-details p{color:#4a5568;color:var(--color-gray-600);font-size:.85rem;line-height:1.5}.operational-timestamp{color:#a0aec0;color:var(--color-gray-400);font-size:.75rem;margin-top:.5rem;margin-top:var(--space-sm)}.settings{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--color-gray-200);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);padding:1.5rem;padding:var(--space-lg)}.settings h2{color:#1a202c;color:var(--color-gray-800);font-size:1.1rem;margin-bottom:1rem;margin-bottom:var(--space-md)}.settings h3{color:#2d3748;color:var(--color-gray-700);font-size:.95rem;margin-bottom:.5rem;margin-bottom:var(--space-sm);margin-top:1.5rem;margin-top:var(--space-lg)}.notification-setup{background:#ebf8ff;background:var(--color-primary-light);border:1px solid #4299e133;border-radius:12px;border-radius:var(--radius-md);margin-bottom:1rem;margin-bottom:var(--space-md);padding:1rem;padding:var(--space-md);text-align:center}.notification-setup p{color:#4a5568;color:var(--color-gray-600);font-size:.9rem;margin-bottom:.5rem;margin-bottom:var(--space-sm)}.notification-setup .status-ok{align-items:center;color:#38a169;color:var(--color-success-dark);display:flex;font-size:.9rem;font-weight:600;gap:.25rem;gap:var(--space-xs);justify-content:center}.notification-denied{background:#fff5f5;background:var(--color-danger-light);border:1px solid #f5656533;border-radius:12px;border-radius:var(--radius-md);color:#c53030;color:var(--color-danger-dark);font-size:.9rem;margin-bottom:1rem;margin-bottom:var(--space-md);padding:1rem;padding:var(--space-md)}.btn-primary{background:#4299e1;background:var(--color-primary);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1.5rem;padding:var(--space-sm) var(--space-lg);transition:all .2s ease;transition:all var(--transition)}.btn-primary:hover{background:#2b6cb0;background:var(--color-primary-dark)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-danger{background:#f56565;background:var(--color-danger);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;padding:.5rem 1rem;padding:var(--space-sm) var(--space-md);transition:all .2s ease;transition:all var(--transition)}.btn-danger:hover{background:#c53030;background:var(--color-danger-dark)}.btn-small{font-size:.8rem;padding:4px 12px}.section-group{border:1px solid #e2e8f0;border:1px solid var(--color-gray-200);border-radius:12px;border-radius:var(--radius-md);margin-top:1rem;margin-top:var(--space-md);overflow:hidden}.section-header{align-items:center;background:#f7fafc;background:var(--color-gray-50);cursor:pointer;display:flex;justify-content:space-between;padding:1rem;padding:var(--space-md);transition:background .2s ease;transition:background var(--transition);-webkit-user-select:none;user-select:none}.section-header:hover{background:#edf2f7;background:var(--color-gray-100)}.section-header h4{color:#2d3748;color:var(--color-gray-700);font-size:.9rem;margin:0}.section-header-actions{align-items:center;display:flex;gap:.5rem;gap:var(--space-sm)}.section-chevron{color:#a0aec0;color:var(--color-gray-400);font-size:.8rem;transition:transform .2s ease;transition:transform var(--transition)}.section-chevron.open{transform:rotate(180deg)}.section-body{border-top:1px solid #e2e8f0;border-top:1px solid var(--color-gray-200);padding:1rem;padding:var(--space-md)}.section-body-hint{color:#718096;color:var(--color-gray-500);font-size:.8rem;margin-bottom:.5rem;margin-bottom:var(--space-sm)}.checkbox-label{align-items:center;background:#f7fafc;background:var(--color-gray-50);border-radius:8px;border-radius:var(--radius-sm);color:#2d3748;color:var(--color-gray-700);cursor:pointer;display:flex;font-size:.85rem;margin:.25rem 0;margin:var(--space-xs) 0;padding:.5rem 1rem;padding:var(--space-sm) var(--space-md);transition:background .2s ease;transition:background var(--transition)}.checkbox-label:hover{background:#edf2f7;background:var(--color-gray-100)}.checkbox-label input[type=checkbox]{accent-color:#4299e1;accent-color:var(--color-primary);cursor:pointer;height:18px;margin-right:.5rem;margin-right:var(--space-sm);width:18px}.admin{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--color-gray-200);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);padding:1.5rem;padding:var(--space-lg)}.admin h2{color:#1a202c;color:var(--color-gray-800);font-size:1.1rem;margin-bottom:.5rem;margin-bottom:var(--space-sm)}.admin-filter{border:1px solid #e2e8f0;border:1px solid var(--color-gray-200);border-radius:8px;border-radius:var(--radius-sm);font-size:.85rem;margin-bottom:1rem;margin-bottom:var(--space-md);max-width:400px;padding:.5rem 1rem;padding:var(--space-sm) var(--space-md);width:100%}.admin-filter:focus{border-color:#4299e1;border-color:var(--color-primary);box-shadow:0 0 0 3px #4299e126;outline:none}.subscriptions-list{grid-gap:1rem;grid-gap:var(--space-md);display:grid;gap:1rem;gap:var(--space-md)}.subscription-card{align-items:flex-start;background:#f7fafc;background:var(--color-gray-50);border:1px solid #e2e8f0;border:1px solid var(--color-gray-200);border-radius:12px;border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:1rem;gap:var(--space-md);justify-content:space-between;padding:1rem;padding:var(--space-md)}.subscription-card.current-device{background:#f0fff4;background:var(--color-success-light);border-color:#48bb78;border-color:var(--color-success)}.subscription-info{flex:1 1;min-width:0}.subscription-info p{word-wrap:break-word;color:#4a5568;color:var(--color-gray-600);font-size:.85rem;margin:.25rem 0;margin:var(--space-xs) 0}.subscription-actions{display:flex;flex-direction:column;gap:.5rem;gap:var(--space-sm);min-width:120px}.toggle-all-btn{border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;padding:.5rem 1rem;padding:var(--space-sm) var(--space-md);transition:opacity .2s ease;transition:opacity var(--transition)}.toggle-all-btn:hover{opacity:.85}.skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#edf2f7 25%,#f7fafc 50%,#edf2f7 75%);background:linear-gradient(90deg,var(--color-gray-100) 25%,var(--color-gray-50) 50%,var(--color-gray-100) 75%);background-size:200% 100%;border-radius:8px;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--color-gray-200);border-radius:16px;border-radius:var(--radius-lg);padding:1.5rem;padding:var(--space-lg)}.skeleton-line{border-radius:8px;border-radius:var(--radius-sm);height:14px;margin-bottom:.5rem;margin-bottom:var(--space-sm)}.skeleton-line.short{width:40%}.skeleton-line.medium{width:65%}.skeleton-line.long{width:90%}.skeleton-line.number{height:40px;width:80px}.empty-state{color:#a0aec0;color:var(--color-gray-400);padding:2rem 1rem;padding:var(--space-xl) var(--space-md);text-align:center}.empty-state-icon{font-size:3rem;margin-bottom:.5rem;margin-bottom:var(--space-sm);opacity:.5}.empty-state-text{color:#718096;color:var(--color-gray-500);font-size:.9rem}.empty-state-hint{color:#a0aec0;color:var(--color-gray-400);font-size:.8rem;margin-top:.25rem;margin-top:var(--space-xs)}.wizard-overlay{align-items:center;animation:fadeIn .2s ease;background:#0009;display:flex;inset:0;justify-content:center;padding:1rem;padding:var(--space-md);position:fixed;z-index:9999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.wizard-modal{animation:slideUp .25s ease;background:#fff;border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 8px 24px #0000001f;box-shadow:var(--shadow-lg);max-height:85vh;max-width:420px;overflow-y:auto;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.wizard-close{background:#0000;border:none;border-radius:9999px;border-radius:var(--radius-full);color:#a0aec0;color:var(--color-gray-400);cursor:pointer;padding:.25rem;padding:var(--space-xs);position:absolute;right:1rem;right:var(--space-md);top:1rem;top:var(--space-md);z-index:1}.wizard-close:hover{background:#edf2f7;background:var(--color-gray-100);color:#2d3748;color:var(--color-gray-700)}.wizard-content{padding:1.5rem;padding:var(--space-lg)}.wizard-content h2{color:#1a202c;color:var(--color-gray-800);font-size:1.2rem;margin-bottom:.5rem;margin-bottom:var(--space-sm)}.wizard-content>p{color:#718096;color:var(--color-gray-500);font-size:.9rem;line-height:1.5}.wizard-content>p,.wizard-steps{margin-bottom:1rem;margin-bottom:var(--space-md)}.wizard-steps{display:flex;flex-direction:column;gap:1rem;gap:var(--space-md)}.wizard-step{background:#f7fafc;background:var(--color-gray-50);border:1px solid #e2e8f0;border:1px solid var(--color-gray-200);border-radius:12px;border-radius:var(--radius-md);padding:1rem;padding:var(--space-md)}.step-icon{color:#4299e1;color:var(--color-primary);display:flex;justify-content:center}.step-icon,.wizard-step h3{margin-bottom:.5rem;margin-bottom:var(--space-sm)}.wizard-step h3{color:#2d3748;color:var(--color-gray-700);font-size:.95rem}.wizard-step p{color:#4a5568;color:var(--color-gray-600);font-size:.85rem;line-height:1.5}.wizard-install-btn{background:#4299e1;background:var(--color-primary);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;margin-top:.5rem;margin-top:var(--space-sm);padding:.5rem 1.5rem;padding:var(--space-sm) var(--space-lg);transition:background .2s ease;transition:background var(--transition);width:100%}.wizard-install-btn:hover{background:#2b6cb0;background:var(--color-primary-dark)}.wizard-skip-btn{background:#0000;border:none;color:#718096;color:var(--color-gray-500);cursor:pointer;font-size:.9rem;padding:.5rem;padding:var(--space-sm);width:100%}.wizard-skip-btn:hover{color:#2d3748;color:var(--color-gray-700)}.config-textarea{border:1px solid #e2e8f0;border:1px solid var(--color-gray-200);border-radius:8px;border-radius:var(--radius-sm);font-family:monospace;font-size:.9rem;margin-top:.5rem;margin-top:var(--space-sm);min-height:180px;padding:1rem;padding:var(--space-md);resize:vertical;width:100%}.config-textarea:focus{border-color:#4299e1;border-color:var(--color-primary);box-shadow:0 0 0 3px #4299e126;outline:none}.config-message{border-radius:8px;border-radius:var(--radius-sm);font-size:.85rem;margin-top:1rem;margin-top:var(--space-md);padding:1rem;padding:var(--space-md)}.config-message.success{background:#f0fff4;background:var(--color-success-light);color:#38a169;color:var(--color-success-dark)}.config-message.error{background:#fff5f5;background:var(--color-danger-light);color:#c53030;color:var(--color-danger-dark)}@media (max-width:480px){.header-logo{height:24px}.subscription-card{align-items:stretch;flex-direction:column}.subscription-actions{flex-direction:row;min-width:auto}}.login-container{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);display:flex;justify-content:center;min-height:100vh;padding:var(--space-md)}.login-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:380px;padding:var(--space-xl) var(--space-lg);text-align:center;width:100%}.login-logo{height:50px;margin-bottom:var(--space-lg);max-width:100%;width:auto}.login-card h1{color:var(--color-primary-dark);font-size:1.5rem;margin-bottom:var(--space-xs)}.login-card p{color:var(--color-gray-500);font-size:.9rem;margin-bottom:var(--space-lg)}.login-btn{align-items:center;background:var(--color-primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:700;gap:var(--space-sm);justify-content:center;padding:var(--space-md) var(--space-lg);transition:background var(--transition);width:100%}.login-btn:hover{background:var(--color-primary-dark)}.login-btn:disabled{cursor:not-allowed;opacity:.5}
/*# sourceMappingURL=main.1039021f.css.map*/