.language-switcher{display:flex;align-items:center}.language-select{padding:6px 12px;border:1px solid rgba(255,255,255,.3);border-radius:6px;background:#ffffff1a;color:var(--md-on-primary);font-size:14px;cursor:pointer;transition:all .2s;outline:none}.language-select:hover{background:#ffffff26;border-color:#fff6}.language-select:focus{border-color:#ffffff80;background:#ffffff26}.language-select option{background:var(--md-primary);color:var(--md-on-primary)}.org-admin-layout{display:flex;min-height:100vh;background-color:var(--md-surface);position:relative}.mobile-menu-toggle{display:none;position:fixed;top:16px;left:16px;z-index:1002;background:var(--md-primary);border:2px solid var(--md-primary);cursor:pointer;padding:10px;border-radius:6px;color:var(--md-on-primary);box-shadow:0 2px 8px #0000004d;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}@media(max-width:768px){.mobile-menu-toggle{background:#1f2937!important;border-color:#1f2937!important;box-shadow:0 4px 12px #1f293780}.mobile-menu-toggle:hover{background:#111827!important;box-shadow:0 6px 16px #1f293799}}.hamburger span{display:block;width:100%;height:2px;background:#fff;transition:all .3s;border-radius:2px;background-color:var(--md-on-primary)}.mobile-menu-overlay{position:fixed;inset:0;background:#00000080;z-index:999;display:none}.sidebar{width:260px;background:var(--md-primary);color:var(--md-on-primary);display:flex;flex-direction:column;position:fixed;height:100vh;overflow-y:auto;border-right:1px solid rgba(255,255,255,.1);box-shadow:2px 0 8px #0000001a;z-index:1000;transition:transform .3s ease}.sidebar-header{padding:24px;border-bottom:1px solid rgba(255,255,255,.1);color:var(--md-on-primary);position:relative;display:flex;flex-direction:column;align-items:flex-start}.sidebar-close-btn{display:none;position:absolute;top:16px;right:16px;background:#fff3;border:none;color:var(--md-on-primary);font-size:28px;line-height:1;width:32px;height:32px;border-radius:4px;cursor:pointer;transition:all .2s;z-index:10;padding:0;align-items:center;justify-content:center}@media(max-width:768px){.sidebar-close-btn{display:flex}}.sidebar-close-btn:hover{background:#ffffff4d}.sidebar-header h2{color:var(--md-on-primary);margin:0;padding:0;font-size:20px;font-weight:600;line-height:1.4;display:block;text-align:left;width:100%}.sidebar-header p{color:#fffc;margin:4px 0 0;padding:0;font-size:14px;line-height:1.4;display:block;text-align:left;width:100%}.org-name{font-size:18px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--md-on-primary)}.sidebar-nav{flex:1;padding:16px 0}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 24px;color:#ffffffe6;text-decoration:none;transition:background-color .2s;border-left:3px solid transparent}.nav-item:hover{background-color:#ffffff1a}.nav-item.active{background-color:#fff3;color:var(--md-on-primary);border-left:4px solid var(--md-on-primary);font-weight:600;box-shadow:inset 0 0 10px #ffffff1a}.nav-item.active .nav-icon{color:var(--md-on-primary);opacity:1}.nav-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;color:#ffffffb3}.nav-item:hover .nav-icon{color:#ffffffe6}.nav-dropdown{position:relative}.nav-dropdown-toggle{width:100%;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;background:none;border:none;text-align:left;font-size:inherit;font-family:inherit}.nav-dropdown-toggle .dropdown-arrow{margin-left:auto;font-size:10px;transition:transform .3s ease;opacity:.7}.nav-dropdown.open .nav-dropdown-toggle .dropdown-arrow{transform:rotate(180deg)}.nav-dropdown-menu{max-height:0;overflow:hidden;transition:max-height .3s ease,opacity .2s ease;opacity:0;background:#00000026}.nav-dropdown.open .nav-dropdown-menu{max-height:300px;opacity:1}.nav-dropdown-item{display:flex;align-items:center;gap:12px;padding:10px 24px 10px 56px;color:#ffffffd9;text-decoration:none;transition:background-color .2s,color .2s;border-left:3px solid transparent;font-size:14px}.nav-dropdown-item:hover{background-color:#ffffff1a;color:#fffffff2}.nav-dropdown-item.active{background-color:#ffffff26;color:var(--md-on-primary);border-left:4px solid var(--md-on-primary);font-weight:500}.nav-dropdown-item.active .nav-icon{color:var(--md-on-primary);opacity:1}.nav-dropdown-item .nav-icon{width:18px;height:18px;color:#fff9}.nav-dropdown-item:hover .nav-icon{color:#ffffffd9}.sidebar-footer{padding:16px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:12px}.logout-button{width:100%;padding:10px;background-color:#ffffff1a;color:var(--md-on-primary);border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.logout-button:hover{background-color:#fff3;border-color:#ffffff4d}.main-content{flex:1;margin-left:260px;padding:32px;min-height:100vh;transition:margin-left .3s ease}.org-admin-layout.template-editor-mode{height:100vh;overflow:hidden}.org-admin-layout.template-editor-mode .main-content{margin-left:0;padding:0;min-height:0;height:100vh;overflow:hidden;display:flex;flex-direction:column}@media(max-width:768px){.mobile-menu-toggle{display:flex}.mobile-menu-overlay{display:block}.sidebar{transform:translate(-100%);width:280px;top:76px;height:calc(100vh - 76px);padding-top:0}.sidebar.mobile-open{transform:translate(0)}.sidebar-header{padding:60px 60px 20px 20px;position:relative}.sidebar-header:before{content:"";position:absolute;top:0;left:0;right:0;height:60px;background:var(--md-primary)}.main-content{margin-left:0;padding:76px 16px 16px}.sidebar-header h2{font-size:18px;position:relative;z-index:1}.sidebar-header p{position:relative;z-index:1}.nav-item{padding:12px 20px;font-size:14px}.nav-dropdown-item{padding:10px 20px 10px 52px}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--md-primary) 0%,var(--md-primary-variant) 100%);padding:var(--md-spacing-md)}.login-box{background:var(--md-surface-container);border-radius:var(--md-radius-xl);box-shadow:var(--md-shadow-xl);padding:var(--md-spacing-xl);max-width:400px;width:100%;border:1px solid var(--md-outline-variant)}.login-header{text-align:center;margin-bottom:var(--md-spacing-lg)}.login-header .logo{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 16px;color:var(--md-primary)}.login-header .logo svg{width:100%;height:100%}.login-header h1{color:var(--md-on-surface);font-size:var(--md-text-h4);margin-bottom:var(--md-spacing-xs);font-weight:500}.login-header p{color:var(--md-on-surface-variant);font-size:14px}.login-form{display:flex;flex-direction:column;gap:var(--md-spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--md-spacing-xs)}.form-group label{color:var(--md-on-surface);font-size:14px;font-weight:500}.form-group input{padding:var(--md-spacing-sm);border:1px solid var(--md-outline);border-radius:var(--md-radius-md);font-size:14px;transition:all .2s;background:var(--md-surface);color:var(--md-on-surface)}.form-group input:focus{outline:none;border-color:var(--md-primary);box-shadow:0 0 0 2px #6750a41a}.form-group input:disabled{background-color:var(--md-surface-variant);cursor:not-allowed;opacity:.6}.error-message{background-color:var(--md-error-bg);color:var(--md-error);padding:var(--md-spacing-sm);border-radius:var(--md-radius-md);font-size:14px;border:1px solid var(--md-error)}.login-button{background:var(--md-primary);color:var(--md-on-primary);border:none;padding:var(--md-spacing-sm) var(--md-spacing-md);border-radius:var(--md-radius-md);font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:var(--md-shadow-sm)}.login-button:hover:not(:disabled){background:var(--md-primary-variant);box-shadow:var(--md-shadow-md)}.login-button:disabled{opacity:.5;cursor:not-allowed}.login-loading,.login-error{text-align:center;color:var(--md-on-surface);font-size:18px;padding:var(--md-spacing-xl)}.login-error{background-color:var(--md-error-bg);color:var(--md-error);border-radius:var(--md-radius-md);border:1px solid var(--md-error)}.btn{display:inline-flex;align-items:center;gap:var(--md-spacing-sm);padding:10px 24px;border-radius:var(--md-radius-xl);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;letter-spacing:.1px;border:none;font-family:inherit}.btn:disabled{opacity:.38;cursor:not-allowed}.btn-primary{background:var(--md-primary);color:#fff;box-shadow:var(--md-shadow-1)}.btn-primary:hover:not(:disabled){background:var(--md-primary-hover);box-shadow:var(--md-shadow-2)}.btn-secondary{background:var(--md-surface-variant);color:var(--md-primary)}.btn-secondary:hover:not(:disabled){background:var(--md-surface-container)}.btn-text{background:transparent;color:var(--md-primary)}.btn-text:hover:not(:disabled){background:var(--md-surface-variant)}.btn-outlined{background:transparent;color:var(--md-primary);border:1px solid var(--md-outline)}.btn-outlined:hover:not(:disabled){border-color:var(--md-primary)}.btn-sm{padding:8px 16px;font-size:12px}.btn-md{padding:10px 24px;font-size:14px}.btn-lg{padding:14px 32px;font-size:16px}.btn-icon-left,.btn-icon-right{display:flex;align-items:center}.help-drawer-overlay{position:fixed;inset:0;background:var(--modal-overlay-bg);-webkit-backdrop-filter:blur(var(--modal-overlay-blur));backdrop-filter:blur(var(--modal-overlay-blur));z-index:var(--modal-z-index-nicemodal);animation:fadeIn .2s ease-out}.help-drawer{position:fixed;top:0;right:0;bottom:0;width:90%;max-width:600px;background:var(--md-surface);box-shadow:var(--md-shadow-3);display:flex;flex-direction:column;z-index:calc(var(--modal-z-index-nicemodal) + 1);animation:slideInRight .3s ease-out;overflow:hidden}.help-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:var(--md-spacing-lg);border-bottom:1px solid var(--md-divider)}.help-drawer-header h2{margin:0;font-size:20px;font-weight:600;color:var(--md-on-surface)}.help-drawer-close{background:none;border:none;font-size:28px;line-height:1;color:var(--md-on-surface);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--md-radius-sm);transition:background-color .2s}.help-drawer-close:hover{background-color:var(--md-surface-variant)}.help-drawer-tabs{display:flex;border-bottom:1px solid var(--md-divider);padding:0 var(--md-spacing-lg)}.help-drawer-tabs .help-tab{padding:var(--md-spacing-md) var(--md-spacing-lg);background:none;border:none;border-bottom:2px solid transparent;color:var(--md-on-surface-variant);cursor:pointer;font-size:14px;transition:all .2s}.help-drawer-tabs .help-tab:hover{color:var(--md-on-surface);background-color:var(--md-surface-variant)}.help-drawer-tabs .help-tab.active{color:var(--md-primary);border-bottom-color:var(--md-primary);font-weight:500}.help-drawer-body{flex:1;overflow-y:auto;padding:var(--md-spacing-lg)}.help-section{min-height:200px}.help-drawer-body .help-text{color:var(--md-on-surface);font-size:16px;line-height:1.7;margin:0}.help-list{list-style:none;padding:0;margin:0}.help-list li{padding:var(--md-spacing-sm) 0;padding-left:var(--md-spacing-lg);color:var(--md-on-surface);font-size:16px;line-height:1.6;position:relative}.help-list li:before{content:"•";position:absolute;left:0;color:var(--md-primary);font-weight:700}.help-legends{display:flex;flex-direction:column;gap:var(--md-spacing-md)}.help-legend-item{display:flex;flex-direction:column;gap:var(--md-spacing-xs);padding:var(--md-spacing-md);background:var(--md-surface-container);border-radius:var(--md-radius-md)}.legend-label{font-weight:500;color:var(--md-on-surface);font-size:14px}.legend-description{color:var(--md-on-surface-variant);font-size:14px;line-height:1.5}.help-empty{color:var(--md-on-surface-variant);font-style:italic;text-align:center;padding:var(--md-spacing-xl)}.help-drawer-footer{padding:var(--md-spacing-lg);border-top:1px solid var(--md-divider);display:flex;justify-content:flex-end}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@media(max-width:768px){.help-drawer{width:100%;max-width:100%}}.dashboard-container{padding:var(--md-spacing-lg);max-width:1400px;margin:0 auto;background:var(--md-surface);min-height:100vh;width:100%;overflow-x:hidden}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--md-spacing-md);margin-bottom:var(--md-spacing-lg)}.stat-card{background:var(--md-surface-container);padding:var(--md-spacing-lg);border-radius:var(--md-radius-lg);box-shadow:var(--md-shadow-sm);border-left:4px solid var(--md-primary);transition:all .2s}.stat-label{color:var(--md-on-surface-variant);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--md-spacing-xs)}.stat-value{color:var(--md-on-surface);font-size:28px;font-weight:600;margin-bottom:var(--md-spacing-xs)}.stat-max{font-size:18px;color:var(--md-on-surface-variant);font-weight:400}.stat-limit{color:var(--md-on-surface-variant);font-size:13px;margin-top:var(--md-spacing-xs);margin-bottom:var(--md-spacing-sm)}.progress-bar{width:100%;height:8px;background:var(--md-surface-variant);border-radius:var(--md-radius-full);overflow:hidden}.progress-fill{height:100%;background:var(--md-primary);transition:width .3s ease;border-radius:var(--md-radius-full)}.progress-fill.warning{background:var(--md-warning)}.progress-fill.danger{background:var(--md-error)}.portals-table{width:100%;border-collapse:collapse}.portals-table thead{background:#f8f9fa}.portals-table th{padding:12px;text-align:left;color:#4a5568;font-weight:600;font-size:13px;text-transform:uppercase}.portals-table td{padding:16px 12px;border-bottom:1px solid #e2e8f0;color:#2d3748;font-size:14px}.portals-table tbody tr:hover{background:#f8f9fa}.portals-table code{background:#f1f5f9;padding:4px 8px;border-radius:4px;font-family:Courier New,monospace;font-size:13px}.empty-state{text-align:center;padding:var(--md-spacing-xxl) var(--md-spacing-lg);color:var(--md-on-surface-variant)}.empty-state-icon{margin-bottom:var(--md-spacing-md);opacity:.5;color:var(--md-on-surface-variant);display:flex;justify-content:center}.empty-state-text{font-size:18px;margin-bottom:var(--md-spacing-xs);color:var(--md-on-surface);font-weight:500}.empty-state p{font-size:14px;color:var(--md-on-surface-variant)}@media(max-width:768px){.dashboard-container{padding:8px;overflow-x:hidden}.page-title{font-size:20px;margin-bottom:12px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}}.stat-card{padding:12px}.stat-label{font-size:10px;margin-bottom:4px}.stat-value{font-size:20px}.stat-max{font-size:14px}.stat-limit{font-size:11px}.content-card{padding:12px;margin-bottom:12px}.card-header{flex-direction:column;align-items:flex-start;gap:8px;padding-bottom:8px;margin-bottom:12px}.card-header h3{font-size:16px}.btn-create{width:100%;justify-content:center;padding:8px 12px;font-size:12px}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -8px;padding:0 8px}.portals-table{font-size:11px;min-width:600px}.portals-table th,.portals-table td{padding:6px 4px;white-space:nowrap}.portals-table th{font-size:9px;padding:8px 4px}.portals-table td{font-size:11px}.status-badge{padding:4px 8px;font-size:14px}.empty-state{padding:24px 12px}.empty-state-text{font-size:16px}.empty-state p{font-size:13px}}.portals-container{padding:var(--md-spacing-lg);max-width:1400px;margin:0 auto;background:var(--md-surface);width:100%;overflow-x:hidden}.btn-create:hover:not(:disabled){background:var(--md-primary-hover);box-shadow:var(--md-shadow-2)}.btn-create:disabled{opacity:.38;cursor:not-allowed}.limit-warning{background:var(--md-surface);color:var(--md-warning-text);padding:14px 16px;border-radius:var(--md-radius-sm);margin-bottom:20px;font-size:14px;border:1px solid var(--md-outline-variant);display:flex;align-items:center;gap:var(--md-spacing-sm);box-shadow:var(--md-shadow-1)}.limit-error{background:var(--md-surface);color:var(--md-error-text);border-color:var(--md-outline-variant)}.portals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.portal-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:20px;transition:all .2s;display:flex;flex-direction:column;box-shadow:0 2px 8px #00000014}.portal-card:hover{box-shadow:0 8px 24px #00000026;border-color:#cbd5e0}.portal-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.portal-card-title{color:var(--md-on-surface);font-size:16px;margin:0;font-weight:500;flex:1;letter-spacing:.15px}.portal-url{color:var(--md-primary);font-size:14px;font-weight:500;margin-bottom:12px;display:block;text-decoration:none;word-break:break-all;font-family:Courier New,monospace;letter-spacing:.1px}.portal-url:hover{text-decoration:underline}.portal-url-error{color:var(--md-error-text)}.portal-methods{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.method-badge{background:var(--md-surface-variant);color:var(--md-on-surface-variant);padding:4px 12px;border-radius:var(--md-radius-md);font-size:11px;font-weight:500;letter-spacing:.5px}.portal-actions{display:flex;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid #e2e8f0}.btn-icon{padding:8px;background:transparent;color:#718096;border:1px solid #e2e8f0;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;transition:all .2s}.empty-state-icon{margin-bottom:24px;display:inline-flex;justify-content:center;color:var(--md-outline-variant)}.empty-state-text{font-size:20px;margin-bottom:8px;color:var(--md-on-surface);font-weight:500;letter-spacing:.15px}.empty-state p{font-size:14px;color:var(--md-on-surface-variant);margin-bottom:24px;letter-spacing:.25px}.template-control-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.template-select{flex:1;min-width:200px;padding:8px 12px;border:1px solid var(--md-outline);border-radius:var(--md-radius-md);font-size:14px;background:var(--md-surface);color:var(--md-on-surface)}.template-select:focus{outline:none;border-color:var(--md-primary);box-shadow:0 0 0 3px #1f29371a}.form-group input{width:100%;padding:16px;border:1px solid var(--md-outline);border-radius:var(--md-radius-sm) var(--md-radius-sm) 0 0;border-bottom:2px solid var(--md-outline);font-size:16px;transition:all .2s;font-family:inherit;box-sizing:border-box;background:transparent;color:var(--md-on-surface)}.form-group input:focus{outline:none;border-bottom-color:var(--md-primary);border-bottom-width:2px}.form-group input:disabled{background-color:var(--md-surface-container);cursor:not-allowed;opacity:.38}.auth-methods-grid{display:flex;flex-wrap:wrap;gap:var(--md-spacing-sm);margin-top:12px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid #e2e8f0}@media(max-width:768px){.portals-container{padding:8px;overflow-x:hidden}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.page-title{font-size:20px;margin-bottom:0}.btn-create{width:100%;justify-content:center;padding:10px 16px;font-size:13px}.portals-grid{grid-template-columns:1fr;gap:12px}.portal-card{padding:12px}.portal-card-header{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:8px}.portal-card-title{font-size:16px}.portal-info{font-size:12px;gap:8px}.portal-actions{width:100%;flex-direction:row;gap:8px;margin-top:8px}.modal-content{width:100%;max-width:100%;margin:0;padding:16px;max-height:95vh;overflow-y:auto}.modal-header{padding:12px 0}.modal-header h2{font-size:18px}.form-group{margin-bottom:12px}.form-group label{font-size:13px;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{font-size:14px;padding:10px}.auth-method-options{gap:8px}.auth-method-option{padding:8px;font-size:13px}.modal-actions{flex-direction:column;gap:8px;margin-top:16px}.btn-cancel,.btn-submit{width:100%;justify-content:center;padding:12px;font-size:14px}}.portal-edit-container{padding:var(--md-spacing-lg);max-width:1000px;margin:0 auto;background:var(--md-surface);min-height:100vh}.page-title{font-size:var(--md-text-h4);font-weight:600;color:var(--md-on-surface);margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:0}.header-actions{display:flex;gap:var(--md-spacing-sm)}.edit-form-wrapper{background:var(--md-surface-container);border-radius:var(--md-radius-lg);box-shadow:var(--md-shadow-sm);padding:var(--md-spacing-lg);border:1px solid var(--md-outline-variant)}.edit-form{max-width:800px}.form-group{margin-bottom:var(--md-spacing-lg)}.form-group textarea{resize:vertical;min-height:100px}.url-display-group{display:flex;gap:var(--md-spacing-sm);align-items:center}.url-display-group button{display:flex;align-items:center;gap:var(--md-spacing-xs)}.url-display{flex:1;background:var(--md-surface-variant)!important;cursor:default}.auth-methods-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--md-spacing-sm);margin-top:var(--md-spacing-xs)}.auth-method-option{display:flex;align-items:center;gap:var(--md-spacing-xs);padding:var(--md-spacing-sm);border:1px solid var(--md-outline);border-radius:var(--md-radius-md);cursor:pointer;transition:all .2s;background:var(--md-surface)}.auth-method-option:hover{border-color:var(--md-primary);background:var(--md-surface-variant)}.auth-method-option input[type=checkbox]:checked~span{color:var(--md-primary);font-weight:500}.auth-method-option svg{color:var(--md-on-surface-variant)}.auth-method-option input[type=checkbox]:checked~svg{color:var(--md-primary)}.error-message{background-color:var(--md-error-bg);color:var(--md-error);padding:var(--md-spacing-sm);border-radius:var(--md-radius-md);font-size:14px;margin-bottom:var(--md-spacing-md);border:1px solid var(--md-error)}.form-actions{display:flex;gap:var(--md-spacing-sm);margin-top:var(--md-spacing-lg);padding-top:var(--md-spacing-lg);border-top:1px solid var(--md-outline-variant);flex-wrap:wrap}.form-actions button{display:inline-flex;align-items:center;gap:var(--md-spacing-xs)}.btn-primary{background:var(--md-primary)!important;color:var(--md-on-primary)!important;border:none!important;padding:var(--md-spacing-sm) var(--md-spacing-md)!important;border-radius:var(--md-radius-md)!important;font-size:14px!important;font-weight:500!important;cursor:pointer!important;transition:all .2s!important;box-shadow:var(--md-shadow-sm)!important}.btn-primary:hover:not(:disabled){background:var(--md-primary-hover)!important;box-shadow:var(--md-shadow-md)!important;transform:translateY(-1px)!important}.btn-secondary{background:var(--md-surface-variant)!important;color:var(--md-primary)!important;border:1.5px solid var(--md-primary)!important;padding:var(--md-spacing-sm) var(--md-spacing-md)!important;border-radius:var(--md-radius-md)!important;font-size:14px!important;font-weight:500!important;cursor:pointer!important;transition:all .2s!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;gap:var(--md-spacing-xs)!important;box-shadow:0 1px 2px #0000000d!important}.btn-secondary:hover:not(:disabled){background:var(--md-surface-container)!important;border-color:var(--md-primary-hover)!important;color:var(--md-primary-hover)!important;box-shadow:0 1px 3px #0000001a!important}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.template-control-group{display:flex;align-items:center;gap:var(--md-spacing-sm);flex-wrap:wrap}.current-template-label{font-weight:500;color:var(--md-on-surface);font-size:14px;white-space:nowrap}.template-select{flex:1;min-width:200px;padding:var(--md-spacing-sm);border:1px solid var(--md-outline);border-radius:var(--md-radius-md);font-size:14px;background:var(--md-surface);color:var(--md-on-surface)}.template-select:focus{outline:none;border-color:var(--md-primary);box-shadow:0 0 0 2px #1f29371a}.btn-sm{padding:6px 12px;font-size:13px}.sessions-container{padding:var(--md-spacing-lg);max-width:1400px;margin:0 auto;background:var(--md-surface);width:100%;overflow-x:hidden}.page-title{font-size:var(--md-text-h4);font-weight:400;color:var(--md-on-surface);margin:0;letter-spacing:.25px;display:flex;align-items:center;flex-wrap:wrap;gap:0}.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--md-spacing-sm);margin-bottom:var(--md-spacing-lg)}.stat-card{background:var(--md-surface);padding:var(--md-spacing-sm) var(--md-spacing-md);border-radius:var(--md-radius-lg);box-shadow:var(--md-shadow-1);border-left:4px solid var(--md-primary);text-align:center}.stat-number{color:var(--md-on-surface);font-size:20px;font-weight:500;margin-bottom:4px;letter-spacing:.15px}.stat-label{color:var(--md-on-surface-variant);font-size:11px;text-transform:uppercase;letter-spacing:.4px;font-weight:500}.table-wrapper{overflow-x:auto;width:100%;margin-top:var(--md-spacing-md);max-width:100%;box-sizing:border-box}.card-header{margin-bottom:var(--md-spacing-lg);padding-bottom:var(--md-spacing-md);border-bottom:1px solid var(--md-surface-variant)}.card-header h3{color:var(--md-on-surface);font-size:var(--md-text-h5);font-weight:500;margin:0;letter-spacing:.15px}.filters{display:flex;gap:var(--md-spacing-sm);margin-bottom:var(--md-spacing-lg);flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:5px;min-width:150px;flex:1}.filter-group label{font-size:12px;color:var(--md-on-surface-variant);font-weight:500;text-transform:uppercase;letter-spacing:.4px}.filter-group input,.filter-group select{padding:12px 16px;border:1px solid var(--md-outline);border-radius:var(--md-radius-md);border-bottom:2px solid var(--md-outline);font-size:14px;transition:all .2s;font-family:inherit;background:transparent;color:var(--md-on-surface)}.filter-group input:focus,.filter-group select:focus{outline:none;border-bottom-color:var(--md-primary);border-bottom-width:2px}.btn-filter{padding:10px 20px;background:var(--md-primary);color:#fff;border:none;border-radius:var(--md-radius-xl);cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;letter-spacing:.1px;box-shadow:var(--md-shadow-1)}.btn-filter:hover{background:var(--md-primary-hover);box-shadow:var(--md-shadow-2)}.btn-filter-secondary{padding:10px 20px;background:transparent;color:var(--md-primary);border:1px solid var(--md-outline);border-radius:var(--md-radius-xl);cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;letter-spacing:.1px}.btn-filter-secondary:hover{border-color:var(--md-primary)}.sessions-table{width:100%;max-width:100%;border-collapse:collapse;margin-top:var(--md-spacing-md);background:var(--md-surface);border-radius:var(--md-radius-lg);overflow:hidden;box-shadow:var(--md-shadow-1);table-layout:fixed;box-sizing:border-box}.sessions-table th,.sessions-table td{padding:12px 8px;text-align:left;border-bottom:1px solid var(--md-surface-variant);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;min-width:80px}.sessions-table th.resizable-header{position:relative;-webkit-user-select:none;user-select:none}.sessions-table th.resizable-header .header-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sessions-table th.resizable-header .resizer{position:absolute;top:0;right:0;width:8px;height:100%;cursor:col-resize;background:transparent;z-index:10;transition:background-color .2s}.sessions-table th.resizable-header .resizer:hover,.sessions-table th.resizable-header:has(.resizer:hover){background-color:var(--md-surface-container)}.sessions-table th.resizable-header .resizer:after{content:"";position:absolute;top:0;right:2px;width:1px;height:100%;background:var(--md-outline);opacity:.3}.sessions-table th.resizable-header .resizer:hover:after{opacity:1;background:var(--md-primary)}.sessions-table th{background:var(--md-surface-variant);font-weight:500;color:var(--md-on-surface-variant);text-transform:uppercase;font-size:12px;letter-spacing:.4px}.sessions-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.sessions-table th.sortable:hover,.sessions-table tbody tr:hover{background:var(--md-surface-container)}.status-badge{display:inline-block;padding:6px 12px;border-radius:var(--md-radius-md);font-size:14px;font-weight:500;letter-spacing:.4px;white-space:nowrap}.status-badge.accepted{background:var(--md-info-bg, #e3f2fd);color:var(--md-info-text, #1976d2)}.status-badge.authorized,.status-badge.active{background:var(--md-success-bg);color:var(--md-success-text)}.status-badge.unknown{background:var(--md-surface-variant);color:var(--md-on-surface-variant)}.status-badge.pending{background:var(--md-warning-bg);color:var(--md-warning-text)}.status-badge.completed{background:var(--md-success-bg);color:var(--md-success-text)}.status-badge.rejected{background:var(--md-error-bg);color:var(--md-error-text)}.status-badge.canceled{background:var(--md-surface-variant);color:var(--md-on-surface-variant);border:1px dashed var(--md-outline)}.btn-terminate{padding:8px 16px;background:transparent;color:var(--md-error-text);border:none;border-radius:var(--md-radius-xl);cursor:pointer;font-size:12px;font-weight:500;transition:all .2s;letter-spacing:.1px}.btn-terminate:hover:not(:disabled){background:var(--md-error-bg)}.btn-terminate:disabled{opacity:.38;cursor:not-allowed}.loading{text-align:center;padding:40px;color:var(--md-on-surface-variant)}.error{background:var(--md-error-bg);color:var(--md-error-text);padding:15px;border-radius:var(--md-radius-md);margin:20px 0}.no-data{text-align:center;padding:40px;color:var(--md-on-surface-variant)}.pagination-controls{display:flex;justify-content:space-between;align-items:center;margin-top:30px;flex-wrap:wrap;gap:16px}.pagination-size-selector{display:flex;align-items:center;gap:8px}.pagination-size-selector label{font-size:14px;color:var(--md-on-surface-variant);font-weight:500}.pagination{display:flex;justify-content:center;gap:10px}.pagination button{padding:8px 12px;border:1px solid #e2e8f0;background:#fff;border-radius:6px;cursor:pointer;transition:all .3s ease;font-size:14px}.pagination button:hover:not(:disabled){background:#f7fafc}.pagination button.active{background:var(--md-primary);color:var(--md-on-primary);border-color:var(--md-primary)}.btn-pagination{padding:8px 16px;border:1px solid var(--md-outline);background:var(--md-surface);border-radius:var(--md-radius-md);cursor:pointer;transition:all .2s;font-size:14px;color:var(--md-on-surface)}.pagination-info{color:var(--md-on-surface-variant);font-size:14px;display:flex;align-items:center}@media(max-width:768px){.sessions-container{padding:8px;overflow-x:hidden}.page-title{font-size:20px;margin-bottom:12px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}}.stat-card{padding:12px}.stat-number{font-size:20px}.stat-label{font-size:10px}.content-card{padding:12px;margin-bottom:12px}.card-header h3{font-size:16px}.filters{flex-direction:column;gap:8px;margin-bottom:12px}.filter-group{min-width:100%}.filter-group label{font-size:11px;margin-bottom:4px}.filter-group input,.filter-group select{padding:8px;font-size:14px}.btn-filter,.btn-filter-secondary{padding:8px 16px;font-size:13px;width:100%;justify-content:center}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -8px;padding:0 8px}.sessions-table{font-size:11px;min-width:800px;width:100%;table-layout:auto}.sessions-table th.resizable-header .resizer{display:none}.sessions-table th,.sessions-table td{padding:6px 4px;white-space:nowrap}.sessions-table th{font-size:9px;padding:8px 4px}.sessions-table td{font-size:11px}.sessions-table th:nth-child(4),.sessions-table td:nth-child(4){display:none}.sessions-table th:nth-child(7),.sessions-table td:nth-child(7){display:none}.status-badge{padding:4px 8px;font-size:14px}.btn-terminate{padding:4px 8px;font-size:10px}.page-header{flex-direction:column;align-items:flex-start;gap:8px}.pagination-controls{flex-direction:column;align-items:stretch;margin-top:16px;gap:12px}.pagination-size-selector{justify-content:center;width:100%}.pagination{flex-wrap:wrap;gap:4px;justify-content:center;width:100%}.pagination button{padding:6px 8px;font-size:11px;min-width:32px}.pagination-info{width:100%;justify-content:center;margin-top:8px;font-size:11px;text-align:center}.btn-pagination{padding:6px 10px;font-size:11px}}.guests-container{padding:var(--md-spacing-lg);max-width:1400px;margin:0 auto;background:var(--md-surface);min-height:100vh;width:100%;overflow-x:hidden}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--md-spacing-lg);flex-wrap:wrap;gap:var(--md-spacing-md)}.page-title{font-size:var(--md-text-h4);font-weight:600;color:var(--md-on-surface);margin:0;display:flex;align-items:center;gap:var(--md-spacing-sm);flex-wrap:wrap}.header-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.header-actions button{display:flex;align-items:center;gap:var(--md-spacing-xs)}.btn-primary{background:var(--md-primary);color:var(--md-on-primary);border:none;padding:var(--md-spacing-sm) var(--md-spacing-md);border-radius:var(--md-radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:var(--md-shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--md-primary-variant);box-shadow:var(--md-shadow-md);transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--md-surface-variant);color:var(--md-primary);border:1px solid var(--md-primary);padding:var(--md-spacing-sm) var(--md-spacing-md);border-radius:var(--md-radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:var(--md-spacing-xs)}.btn-secondary:hover:not(:disabled){background:var(--md-surface-container);border-color:var(--md-primary-hover);color:var(--md-primary-hover);box-shadow:0 1px 3px #0000001a}.btn-danger{background:var(--md-error);color:var(--md-on-error);border:none;padding:var(--md-spacing-sm) var(--md-spacing-md);border-radius:var(--md-radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:var(--md-shadow-sm)}.btn-danger:hover:not(:disabled){background:var(--md-error-variant);box-shadow:var(--md-shadow-md)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-icon{background:var(--md-surface-variant);border:1px solid var(--md-outline-variant);padding:var(--md-spacing-xs);border-radius:var(--md-radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s;color:var(--md-on-surface)}.btn-reset{color:var(--md-warning-text);background:var(--md-surface-variant);border:1px solid var(--md-outline-variant)}.btn-reset:hover:not(:disabled){background:var(--md-warning-bg);border-color:var(--md-warning-text);color:var(--md-warning-text);box-shadow:0 1px 3px #0000001a}.btn-delete{color:var(--md-error-text);background:var(--md-surface-variant);border:1px solid var(--md-outline-variant)}.btn-delete:hover:not(:disabled){background:var(--md-error-bg);border-color:var(--md-error-text);color:var(--md-error-text);box-shadow:0 1px 3px #0000001a}.guests-table-wrapper{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;overflow-x:auto}.guests-table{width:100%;border-collapse:collapse}.guests-table thead{background:#f8f9fa}.guests-table th{padding:12px;text-align:left;color:#4a5568;font-weight:600;font-size:13px;text-transform:uppercase}.guests-table td{padding:16px 12px;border-bottom:1px solid #e2e8f0;color:#2d3748;font-size:14px}.guests-table tbody tr:hover{background:#f8f9fa}.guests-table tbody tr.inactive-row{opacity:.7}.guest-username{font-weight:600;color:#2d3748}.text-muted{color:var(--md-on-surface-variant)}.actions{display:flex;gap:var(--md-spacing-xs);align-items:center}.empty-state{text-align:center;padding:var(--md-spacing-xxl) var(--md-spacing-lg);color:var(--md-on-surface-variant);background:var(--md-surface-container);border-radius:var(--md-radius-lg);box-shadow:var(--md-shadow-sm);border:1px solid var(--md-outline-variant)}.empty-state h2{font-size:18px;margin-bottom:var(--md-spacing-xs);color:var(--md-on-surface);font-weight:500}.empty-state p{font-size:14px;color:var(--md-on-surface-variant);margin-bottom:var(--md-spacing-lg)}.loading{text-align:center;padding:var(--md-spacing-xl);color:var(--md-on-surface-variant);font-size:16px}.error{text-align:center;padding:var(--md-spacing-xl);color:var(--md-error);background:var(--md-error-bg);border-radius:var(--md-radius-md);border:1px solid var(--md-error)}.modal-content{background:#fff;border-radius:16px;padding:0;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header h2{margin:0;color:#2d3748;font-size:22px;font-weight:600}.modal-close{background:none;border:none;font-size:28px;color:#718096;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-form{padding:var(--md-spacing-lg)}.form-group{margin-bottom:var(--md-spacing-md)}.form-group label{display:block;margin-bottom:var(--md-spacing-xs);color:var(--md-on-surface);font-weight:500;font-size:14px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--md-spacing-sm);border:1px solid var(--md-outline);border-radius:var(--md-radius-md);font-size:14px;transition:all .2s;font-family:inherit;box-sizing:border-box;background:var(--md-surface);color:var(--md-on-surface)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--md-primary);box-shadow:0 0 0 2px #6750a41a}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:var(--md-surface-variant);cursor:not-allowed;opacity:.6}.form-group small{display:block;margin-top:var(--md-spacing-xs);color:var(--md-on-surface-variant);font-size:12px}.radio-group{display:flex;gap:20px;margin-top:8px;padding-left:12px}.radio-group label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}.radio-group input[type=radio]{width:auto}.guest-list{max-height:300px;overflow-y:auto;border:1px solid #ddd;padding:10px;margin:10px 0;border-radius:8px}.guest-checkbox{display:flex;align-items:center;gap:10px;padding:8px;border-bottom:1px solid #eee;cursor:pointer}.guest-checkbox:last-child{border-bottom:none}.guest-checkbox input[type=checkbox]{width:auto;cursor:pointer}.button-group{display:flex;gap:8px;margin:10px 0}.warning-box{margin:20px 0;padding:15px;background:#f8f9fa;border-left:4px solid #dc3545;border-radius:8px;color:#721c24;font-size:14px}.modal-actions{display:flex;justify-content:flex-end;gap:var(--md-spacing-sm);margin-top:var(--md-spacing-lg);padding:var(--md-spacing-lg);border-top:1px solid var(--md-outline-variant)}.modal-actions button{display:flex;align-items:center;gap:var(--md-spacing-xs)}.btn-cancel{background:transparent;color:var(--md-on-surface);border:1px solid var(--md-outline);padding:var(--md-spacing-sm) var(--md-spacing-md);border-radius:var(--md-radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel:hover:not(:disabled){background:var(--md-surface-variant);border-color:var(--md-on-surface)}.btn-submit{background:var(--md-primary);color:var(--md-on-primary);border:none;padding:var(--md-spacing-sm) var(--md-spacing-md);border-radius:var(--md-radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:var(--md-shadow-sm)}.btn-submit:hover:not(:disabled){background:var(--md-primary-variant);box-shadow:var(--md-shadow-md)}.btn-sm{padding:6px 12px;font-size:12px;border:1px solid var(--md-outline);background:var(--md-surface);color:var(--md-on-surface);border-radius:var(--md-radius-sm);cursor:pointer;transition:all .2s}.btn-sm:hover{background:var(--md-surface-variant);border-color:var(--md-primary);color:var(--md-primary)}.pagination-info{padding:12px 16px;background:var(--md-surface-variant);border-radius:8px 8px 0 0;color:var(--md-on-surface-variant);font-size:14px;font-weight:500;text-align:center;border-bottom:1px solid var(--md-outline-variant)}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:16px;background:#fff;border-radius:0 0 12px 12px;border-top:1px solid #e2e8f0}.pagination-btn{background:var(--md-primary);color:var(--md-on-primary);border:none;padding:8px 16px;border-radius:var(--md-radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;min-width:100px}.pagination-btn:hover:not(:disabled){background:var(--md-primary-variant);transform:translateY(-1px);box-shadow:0 2px 8px #6750a433}.pagination-btn:disabled{opacity:.4;cursor:not-allowed;background:var(--md-surface-variant);color:var(--md-on-surface-variant)}.pagination .pagination-info{background:transparent;border:none;padding:0;color:var(--md-on-surface);font-weight:600}.system-admin-layout{display:flex;min-height:100vh;background-color:#fff;position:relative}.system-admin-layout .mobile-menu-toggle{display:none;position:fixed;top:16px;left:16px;z-index:1002;background:var(--md-primary);border:2px solid var(--md-primary);cursor:pointer;padding:10px;border-radius:6px;color:var(--md-on-primary);box-shadow:0 2px 8px #0000004d;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}@media(max-width:768px){.system-admin-layout .mobile-menu-toggle{background:#1f2937!important;border-color:#1f2937!important;box-shadow:0 4px 12px #1f293780}.system-admin-layout .mobile-menu-toggle:hover{background:#111827!important;box-shadow:0 6px 16px #1f293799}}.system-admin-layout .hamburger{display:flex;flex-direction:column;gap:4px;width:24px;height:18px}.system-admin-layout .hamburger span{display:block;width:100%;height:2px;background:#fff;transition:all .3s;border-radius:2px}.system-admin-layout .hamburger.open span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.system-admin-layout .hamburger.open span:nth-child(2){opacity:0}.system-admin-layout .hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.system-admin-layout .mobile-menu-overlay{position:fixed;inset:0;background:#00000080;z-index:999;display:none}.system-admin-layout .sidebar{width:260px;background:var(--md-primary);color:var(--md-on-primary);display:flex;flex-direction:column;position:fixed;height:100vh;overflow-y:auto;border-right:1px solid rgba(255,255,255,.1);box-shadow:2px 0 8px #0000001a;z-index:1000;transition:transform .3s ease}.system-admin-layout .sidebar-header{padding:24px;border-bottom:1px solid rgba(255,255,255,.1);color:var(--md-on-primary);position:relative;display:flex;flex-direction:column;align-items:flex-start}.system-admin-layout .sidebar-close-btn{display:none;position:absolute;top:16px;right:16px;background:#fff3;border:none;color:var(--md-on-primary);font-size:28px;line-height:1;width:32px;height:32px;border-radius:4px;cursor:pointer;transition:all .2s;z-index:10;padding:0;align-items:center;justify-content:center}@media(max-width:768px){.system-admin-layout .sidebar-close-btn{display:flex}}.system-admin-layout .sidebar-close-btn:hover{background:#ffffff4d}.system-admin-layout .sidebar-header h2{color:var(--md-on-primary);margin:0;padding:0;font-size:20px;font-weight:600;line-height:1.4;display:block;text-align:left;width:100%}.system-admin-layout .sidebar-header p{color:#fffc;margin:4px 0 0;padding:0;font-size:14px;line-height:1.4;display:block;text-align:left;width:100%}.system-admin-layout .org-name{font-size:18px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--md-on-primary)}.system-admin-layout .sidebar-nav{flex:1;padding:16px 0}.system-admin-layout .nav-item{display:flex;align-items:center;gap:12px;padding:12px 24px;color:#ffffffe6;text-decoration:none;transition:background-color .2s;border-left:3px solid transparent}.system-admin-layout .nav-item:hover{background-color:#ffffff1a}.system-admin-layout .nav-item.active{background-color:#fff3;color:var(--md-on-primary);border-left:4px solid var(--md-on-primary);font-weight:600;box-shadow:inset 0 0 10px #ffffff1a}.system-admin-layout .nav-item.active .nav-icon{color:var(--md-on-primary);opacity:1}.system-admin-layout .nav-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;color:#ffffffb3}.system-admin-layout .nav-item:hover .nav-icon{color:#ffffffe6}.system-admin-layout .sidebar-footer{padding:16px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:12px}.system-admin-layout .logout-button{width:100%;padding:10px;background-color:#ffffff1a;color:var(--md-on-primary);border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.system-admin-layout .logout-button:hover{background-color:#fff3;border-color:#ffffff4d}.system-admin-layout .main-content{flex:1;margin-left:260px;padding:32px;min-height:100vh}@media(max-width:768px){.system-admin-layout .mobile-menu-toggle{display:flex}.system-admin-layout .mobile-menu-overlay{display:block}.system-admin-layout .sidebar{transform:translate(-100%);width:280px;top:76px;height:calc(100vh - 76px);padding-top:0}.system-admin-layout .sidebar.mobile-open{transform:translate(0)}.system-admin-layout .sidebar-header{padding:60px 60px 20px 20px;position:relative}.system-admin-layout .sidebar-header:before{content:"";position:absolute;top:0;left:0;right:0;height:60px;background:var(--md-primary)}.system-admin-layout .main-content{margin-left:0;padding:76px 16px 16px}.system-admin-layout .sidebar-header h2{font-size:18px;position:relative;z-index:1}.system-admin-layout .sidebar-header p{position:relative;z-index:1}.system-admin-layout .nav-item{padding:12px 20px;font-size:14px}}.dashboard-container{padding:24px;max-width:1400px;margin:0 auto}.page-title{font-size:28px;font-weight:700;color:#1a1f36;margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:24px}.stat-card{background:var(--md-surface-container);padding:var(--md-spacing-lg);border-radius:var(--md-radius-lg);box-shadow:var(--md-shadow-sm);border-left:4px solid #9ca3af;transition:all .2s}.stat-card:hover{box-shadow:var(--md-shadow-md);transform:translateY(-2px)}.stat-card.primary{border-left-color:var(--md-primary)}.stat-card.warning{border-left-color:var(--md-warning)}.stat-card.danger{border-left-color:var(--md-error)}.stat-header{display:flex;justify-content:space-between;align-items:flex-start}.stat-label{color:var(--md-on-surface-variant);font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--md-spacing-xs)}.stat-value{color:var(--md-on-surface);font-size:32px;font-weight:600}.stat-icon{opacity:.5;color:var(--md-on-surface-variant);display:flex;align-items:center;justify-content:center}.content-card{background:var(--md-surface-container);padding:var(--md-spacing-lg);border-radius:var(--md-radius-lg);box-shadow:var(--md-shadow-sm);margin-bottom:var(--md-spacing-md);border:1px solid var(--md-outline-variant)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--md-spacing-md);padding-bottom:var(--md-spacing-md);border-bottom:1px solid var(--md-outline-variant)}.card-header h3{color:var(--md-on-surface);font-size:18px;font-weight:500;margin:0}.btn-create{background:var(--md-primary);color:var(--md-on-primary);border:none;padding:var(--md-spacing-sm) var(--md-spacing-md);border-radius:var(--md-radius-md);cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;box-shadow:var(--md-shadow-sm);display:flex;align-items:center;gap:var(--md-spacing-xs)}.btn-create:hover{background:var(--md-primary-variant);box-shadow:var(--md-shadow-md);transform:translateY(-1px)}.table-wrapper{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:var(--md-surface-variant)}.data-table th{padding:var(--md-spacing-md);text-align:left;color:var(--md-on-surface);font-weight:500;font-size:13px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--md-outline-variant)}.data-table td{padding:var(--md-spacing-md);border-bottom:1px solid var(--md-outline-variant);color:var(--md-on-surface);font-size:14px}.data-table tbody tr:hover{background:var(--md-surface-variant)}.data-table code{background:var(--md-surface-variant);padding:4px var(--md-spacing-xs);border-radius:var(--md-radius-sm);font-family:Courier New,monospace;font-size:13px;color:var(--md-primary)}.badge{display:inline-block;padding:4px var(--md-spacing-sm);border-radius:var(--md-radius-full);font-size:12px;font-weight:500}.badge-success{background:var(--md-success-bg);color:var(--md-success)}.badge-warning{background:var(--md-warning-bg);color:var(--md-warning)}.badge-danger{background:var(--md-error-bg);color:var(--md-error)}.badge-info{background:var(--md-info-bg);color:var(--md-info)}.btn-sm{padding:6px 12px;font-size:12px;border-radius:6px;border:none;cursor:pointer;transition:all .3s}.btn-view{background:var(--md-surface-variant);color:var(--md-primary);border:1px solid var(--md-primary)}.btn-view:hover{background:var(--md-surface-container);border-color:var(--md-primary-hover);color:var(--md-primary-hover);box-shadow:0 1px 3px #0000001a}.empty-state{text-align:center;padding:40px;color:#718096}.empty-icon{margin-bottom:var(--md-spacing-md);opacity:.5;color:var(--md-on-surface-variant);display:flex;justify-content:center}.empty-state h2{color:#4a5568;font-size:18px;font-weight:600;margin:0}.loading{text-align:center;padding:40px;color:#718096;font-size:16px}.organizations-container{padding:24px;max-width:1400px;margin:0 auto;background:var(--md-surface);width:100%;overflow-x:auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-title{font-size:28px;font-weight:400;color:var(--md-on-surface);margin:0;letter-spacing:.25px;display:flex;align-items:center;flex-wrap:wrap;gap:0}.btn-create{display:inline-flex;align-items:center;gap:var(--md-spacing-sm);background:var(--md-primary);color:#fff;border:none;padding:12px 24px;border-radius:var(--md-radius-xl);cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;letter-spacing:.1px;box-shadow:var(--md-shadow-1)}.btn-create:hover{background:var(--md-primary-hover);box-shadow:var(--md-shadow-2)}.table-wrapper{background:var(--md-surface);border-radius:var(--md-radius-lg);box-shadow:var(--md-shadow-1);overflow-x:auto}.organizations-table{width:100%;border-collapse:collapse}.organizations-table thead{background:var(--md-surface-variant)}.organizations-table th{padding:12px;text-align:left;color:var(--md-on-surface-variant);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.4px}.organizations-table td{padding:16px 12px;border-bottom:1px solid var(--md-surface-variant);color:var(--md-on-surface);font-size:14px}.organizations-table tbody tr:hover{background:var(--md-surface-container)}.org-name{font-weight:500;color:var(--md-on-surface);letter-spacing:.15px}.admin-url{color:#00d4aa;text-decoration:none;font-size:12px;font-family:Courier New,monospace;background:#f1f5f9;padding:2px 8px;border-radius:4px}.admin-url:hover{color:#00b894;text-decoration:underline}.admin-url-link{color:var(--md-primary);text-decoration:none;font-size:13px;font-family:Courier New,monospace;background:#f1f5f9;padding:4px 10px;border-radius:4px;display:inline-block;transition:all .2s;word-break:break-all}.admin-url-link:hover{color:var(--md-primary-hover);background:var(--md-surface-variant);text-decoration:underline;cursor:pointer}.badge{display:inline-block;padding:6px 12px;border-radius:var(--md-radius-md);font-size:12px;font-weight:500;letter-spacing:.4px}.badge-success{background:var(--md-success-bg);color:var(--md-success-text)}.badge-warning{background:var(--md-warning-bg);color:var(--md-warning-text)}.badge-danger{background:var(--md-error-bg);color:var(--md-error-text)}.badge-info{background:var(--md-surface-variant);color:var(--md-on-surface-variant)}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--md-radius-md);font-size:14px;font-weight:500;white-space:nowrap;letter-spacing:.4px}.org-date{color:var(--md-on-surface-variant)}.actions{display:flex;gap:var(--md-spacing-xs)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--md-radius-lg);border:1px solid var(--md-outline-variant);background:var(--md-surface-variant);cursor:pointer;transition:all .2s;color:var(--md-on-surface)}.btn-icon:hover:not(:disabled){background:var(--md-surface-container);border-color:var(--md-primary);color:var(--md-primary);box-shadow:0 1px 3px #0000001a}.btn-view{background:var(--md-surface-variant);color:var(--md-primary);border:1px solid var(--md-outline-variant);padding:6px 12px;border-radius:var(--md-radius-md)}.btn-view:hover{background:var(--md-surface-container);border-color:var(--md-primary);color:var(--md-primary-hover);box-shadow:0 1px 3px #0000001a}.btn-edit{background:var(--md-surface-variant);color:var(--md-primary);border:1px solid var(--md-outline-variant);padding:6px 12px;border-radius:var(--md-radius-md)}.btn-edit:hover{background:var(--md-surface-container);border-color:var(--md-primary);color:var(--md-primary-hover);box-shadow:0 1px 3px #0000001a}.btn-block{background:var(--md-surface-variant);color:var(--md-error-text);border:1px solid var(--md-outline-variant);padding:6px 12px;border-radius:var(--md-radius-md)}.btn-block:hover{background:var(--md-error-bg);border-color:var(--md-error-text);box-shadow:0 1px 3px #0000001a}.btn-unblock{background:var(--md-surface-variant);color:var(--md-success-text);border:1px solid var(--md-outline-variant);padding:6px 12px;border-radius:var(--md-radius-md)}.btn-unblock:hover{background:var(--md-success-bg);border-color:var(--md-success-text);box-shadow:0 1px 3px #0000001a}.btn-delete{background:var(--md-surface-variant);color:var(--md-error-text);border:1px solid var(--md-outline-variant);padding:6px 12px;border-radius:var(--md-radius-md)}.btn-delete:hover{background:var(--md-error-bg);border-color:var(--md-error-text);box-shadow:0 1px 3px #0000001a}.btn-icon:disabled{opacity:.38;cursor:not-allowed}.empty-state{text-align:center;padding:80px 20px;background:var(--md-surface);border-radius:var(--md-radius-lg);border:1px dashed var(--md-outline-variant)}.empty-icon{margin-bottom:24px;display:inline-flex;justify-content:center;color:var(--md-outline-variant)}.empty-state h2{font-size:20px;margin-bottom:8px;color:var(--md-on-surface);font-weight:500;letter-spacing:.15px}.empty-state p{font-size:14px;color:var(--md-on-surface-variant);letter-spacing:.25px}.loading{text-align:center;padding:40px;color:var(--md-on-surface-variant);font-size:16px}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--md-spacing-lg);margin-top:24px}.btn-pagination{background:var(--md-surface);border:1px solid var(--md-outline);padding:8px 16px;border-radius:var(--md-radius-md);cursor:pointer;transition:all .2s;font-size:14px;color:var(--md-on-surface)}.btn-pagination:hover:not(:disabled){border-color:var(--md-primary);color:var(--md-primary)}.btn-pagination:disabled{opacity:.38;cursor:not-allowed}.pagination-info{color:var(--md-on-surface-variant);font-size:14px}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--md-surface);border-radius:var(--md-radius-lg);padding:0;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--md-shadow-3)}.modal-content.modal-large{max-width:800px}.modal-header h2{margin:0;color:var(--md-on-surface);font-size:24px;font-weight:400;letter-spacing:0}.modal-close{background:none;border:none;color:var(--md-on-surface-variant);cursor:pointer;padding:8px;border-radius:var(--md-radius-sm);transition:all .2s;display:flex;align-items:center;justify-content:center}.modal-close:hover{background-color:var(--md-surface-variant);color:var(--md-on-surface)}.form-group label{display:block;margin-bottom:4px;color:var(--md-on-surface-variant);font-weight:500;font-size:12px;letter-spacing:.4px}.form-group input,.form-group select{width:100%;padding:16px;border:1px solid var(--md-outline);border-radius:var(--md-radius-sm) var(--md-radius-sm) 0 0;border-bottom:2px solid var(--md-outline);font-size:16px;transition:all .2s;font-family:inherit;box-sizing:border-box;background:transparent;color:var(--md-on-surface)}.form-group input:focus,.form-group select:focus{outline:none;border-bottom-color:var(--md-primary);border-bottom-width:2px}.form-group input:disabled,.form-group select:disabled{background-color:var(--md-surface-container);cursor:not-allowed;opacity:.38}.form-group small{display:block;margin-top:4px;color:var(--md-on-surface-variant);font-size:12px;letter-spacing:.4px}.url-preview{font-family:Courier New,monospace;color:var(--md-primary);font-weight:500}.auth-methods-grid-modal{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:8px}.auth-method-option{display:inline-flex;align-items:center;padding:10px 16px;border:1px solid var(--md-outline);border-radius:var(--md-radius-md);cursor:pointer;transition:all .2s;background:transparent}.auth-method-option:hover{background:var(--md-surface-variant);border-color:var(--md-outline)}.auth-method-option input[type=checkbox]{width:18px;height:18px;margin-right:10px;cursor:pointer;accent-color:var(--md-primary);flex-shrink:0}.auth-method-option:has(input[type=checkbox]:checked){background:var(--md-surface-variant);border-color:var(--md-primary)}.auth-method-option input[type=checkbox]:checked~span,.auth-method-option:has(input[type=checkbox]:checked) span{color:var(--md-primary);font-weight:500}.form-divider{margin:24px 0;border:none;border-top:1px solid #e2e8f0}.form-section-title{color:#1a1f36;margin-bottom:16px;font-size:16px;font-weight:600}.error-message{background-color:#fed7d7;color:#c53030;padding:12px;border-radius:8px;font-size:14px;margin-bottom:20px}.modal-actions{display:flex;justify-content:flex-end;gap:var(--md-spacing-sm);margin-top:32px;padding:24px 32px;border-top:1px solid var(--md-surface-variant)}.btn-cancel{background:transparent;color:var(--md-primary);border:1px solid var(--md-primary);padding:14px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;gap:var(--md-spacing-xs)}.btn-cancel:hover:not(:disabled){background:var(--md-surface-variant);border-color:var(--md-primary-hover);color:var(--md-primary-hover)}.btn-submit{background:var(--md-primary);color:var(--md-on-primary);border:none;padding:14px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;gap:var(--md-spacing-xs)}.btn-submit:hover:not(:disabled){background:var(--md-primary-hover);box-shadow:var(--md-shadow-2);transform:translateY(-1px)}.btn-cancel:disabled,.btn-submit:disabled{opacity:.5;cursor:not-allowed}.organization-details{padding:20px 32px}.detail-row{display:flex;padding:12px 0;border-bottom:1px solid var(--md-surface-variant)}.detail-row:last-child{border-bottom:none}.detail-row label{font-weight:500;color:var(--md-on-surface-variant);min-width:180px;font-size:14px;letter-spacing:.15px}.detail-row span{color:var(--md-on-surface);flex:1}.methods-list{display:flex;flex-wrap:wrap;gap:var(--md-spacing-sm)}.method-tag{background:var(--md-surface-variant);color:var(--md-on-surface-variant);padding:4px 12px;border-radius:var(--md-radius-md);font-size:12px;font-weight:500;letter-spacing:.4px}.delete-warning{padding:20px 32px}.warning-icon{font-size:48px;text-align:center;margin-bottom:16px}.delete-warning h3{color:#856404;margin-bottom:12px;font-size:18px}.delete-warning p{color:#856404;margin-bottom:12px}.delete-warning ul{color:#856404;margin:12px 0 20px 20px;padding:0}.delete-warning li{margin-bottom:8px}.confirm-text{color:#1a1f36;font-size:16px;margin-top:20px}.btn-delete-confirm{background:var(--md-error-text);color:#fff;border:none;padding:10px 24px;border-radius:var(--md-radius-xl);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;letter-spacing:.1px;box-shadow:var(--md-shadow-1)}.btn-delete-confirm:hover:not(:disabled){background:#991b1b;box-shadow:var(--md-shadow-2)}.btn-delete-confirm:disabled{opacity:.38;cursor:not-allowed}@media(max-width:768px){.organizations-container{padding:8px;overflow-x:hidden}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.page-title{font-size:20px;margin-bottom:0}.btn-create{width:100%;justify-content:center;padding:10px 16px;font-size:13px}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -8px;padding:0 8px}.organizations-table{font-size:11px;min-width:900px}.organizations-table th,.organizations-table td{padding:6px 4px;white-space:nowrap}.organizations-table th{font-size:9px;padding:8px 4px}.organizations-table td{font-size:11px}.organizations-table th:nth-child(2),.organizations-table td:nth-child(2){display:none}.organizations-table th:nth-child(5),.organizations-table td:nth-child(5){display:none}.modal-content{width:100%;max-width:100%;margin:0;padding:16px;max-height:95vh;overflow-y:auto}.modal-header{padding:12px 0}.modal-header h2{font-size:18px}.form-group{margin-bottom:12px}.form-group label{font-size:13px;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{font-size:14px;padding:10px}.modal-actions{flex-direction:column;gap:8px;margin-top:16px}.btn-cancel,.btn-submit{width:100%;justify-content:center;padding:12px;font-size:14px}.organization-card{padding:12px;margin-bottom:12px}.organization-header{flex-direction:column;align-items:flex-start;gap:8px}.organization-actions{width:100%;flex-direction:row;gap:6px}.btn-icon,.btn-edit,.btn-block,.btn-delete,.btn-view,.btn-unblock{flex:1;justify-content:center;padding:6px 8px;font-size:11px;min-width:0}.status-badge{padding:4px 8px;font-size:14px}}.finish-redirect-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.success-message{background:#fff;border-radius:24px;box-shadow:0 20px 60px #0000004d;padding:60px 40px;max-width:500px;width:100%;text-align:center}.success-icon{width:80px;height:80px;border-radius:50%;background:#48bb78;color:#fff;display:flex;align-items:center;justify-content:center;font-size:48px;margin:0 auto 24px;font-weight:700}.success-message h1{color:#2d3748;font-size:28px;margin-bottom:12px}.success-message p{color:#718096;font-size:16px;margin-bottom:8px}.redirect-info{font-size:14px;color:#a0aec0;margin-top:24px;font-style:italic}.loading-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}.error{background:#fff;border-radius:24px;padding:40px;text-align:center}.error h1{color:#c53030;margin-bottom:16px}.error p{color:#718096}.live-block-wrapper{position:relative;transition:all .2s ease;z-index:inherit}.live-block-wrapper.selected,.live-block-wrapper:hover{outline:none;box-shadow:none;z-index:inherit}.live-block-wrapper:hover .block-hover-overlay{opacity:1;pointer-events:auto}.block-hover-overlay{position:absolute;top:8px;right:8px;display:flex;gap:4px;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:50;background:#fffffff2;padding:4px;border-radius:6px;box-shadow:0 2px 8px #00000026}.live-block-wrapper.selected .block-hover-overlay{opacity:1;pointer-events:auto}.block-action-btn{width:32px;height:32px;border:none;background:#fff;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s;box-shadow:0 1px 3px #0000001a}.block-action-btn:hover{transform:translateY(-2px);box-shadow:0 2px 6px #0003}.block-action-btn.settings-btn:hover{background:#4299e1}.block-action-btn.duplicate-btn:hover{background:#48bb78}.block-action-btn.delete-btn:hover{background:#e53e3e}.live-text-block{margin:8px 0;line-height:1.6;color:#2d3748;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;max-width:100%}.live-image-block{max-width:100%;max-height:100%;width:100%;height:100%;display:block;border-radius:4px;object-fit:contain;min-height:100px;box-sizing:border-box}.live-image-placeholder{min-height:100px;width:100%;display:flex;align-items:center;justify-content:center;background:#f7fafc;border:2px dashed #cbd5e0;border-radius:4px;color:#718096;padding:24px}.live-button-block{display:inline-block;padding:12px 24px;border-radius:6px;font-weight:500;transition:all .2s;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;max-width:100%}.live-button-block:hover{opacity:.9;transform:translateY(-1px)}.live-logo-block{max-width:200px;height:auto;display:block}.live-logo-placeholder{min-height:60px;display:flex;align-items:center;justify-content:center;background:#f7fafc;border:2px dashed #cbd5e0;border-radius:4px;color:#718096;padding:16px;font-weight:500}.live-video-block{max-width:100%;height:auto;display:block;border-radius:4px}.live-video-placeholder{min-height:200px;display:flex;align-items:center;justify-content:center;background:#f7fafc;border:2px dashed #cbd5e0;border-radius:4px;color:#718096;padding:24px}.live-ad-block{display:block;max-width:100%}.live-ad-placeholder{min-height:100px;display:flex;align-items:center;justify-content:center;background:#fef5e7;border:2px dashed #f6ad55;border-radius:4px;color:#c05621;padding:24px;font-weight:500}.live-container-block{border:1px dashed #cbd5e0;border-radius:4px;min-height:50px}.live-container-empty{padding:16px;text-align:center;color:#a0aec0;font-size:14px}.session-info.live-session-info{margin-top:16px;text-align:left;position:relative;z-index:inherit}.live-block-unknown{padding:16px;background:#fed7d7;border:2px dashed #fc8181;border-radius:4px;color:#c53030;text-align:center}.portal-title,.portal-description{word-wrap:break-word;overflow-wrap:break-word;white-space:normal;max-width:100%}.question-block-renderer{width:100%;margin-bottom:20px}.question-label{display:block;margin-bottom:8px}.required-mark{color:#d32f2f}.question-options{display:flex;flex-direction:column;gap:12px}.question-option{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px;border-radius:6px;transition:background .2s}.question-option:hover{background:#f5f5f5}.question-option input[type=radio],.question-option input[type=checkbox]{cursor:pointer;flex-shrink:0}.question-help-text{margin-top:4px}.flow-execution-page,.flow-step-content{width:100%;min-height:100vh}.flow-step-content .portal-section{position:relative!important;width:100%!important;max-width:90%!important;margin:0 auto!important;box-sizing:border-box!important}@media(min-width:640px){.flow-step-content .portal-section{max-width:min(90%,600px)!important}}@media(min-width:1024px){.flow-step-content .portal-section{max-width:520px!important}}@media(min-width:1440px){.flow-step-content .portal-section{max-width:550px!important}}@media(max-width:639px){.flow-step-content .portal-section{padding-bottom:40px!important}}.flow-action-button{margin-top:24px;padding:12px 24px;background:#2196f3;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s;width:100%}.flow-action-button:hover:not(:disabled){background:#1976d2}.flow-action-button:disabled{background:#ccc;cursor:not-allowed}.flow-step-portal{display:flex;align-items:center;justify-content:center;min-height:100vh;color:#666}.loading,.error{display:flex;align-items:center;justify-content:center;min-height:100vh;color:#999}.error{color:#d32f2f}.flow-absolute-block{position:absolute;box-sizing:border-box}.landing-container{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;color:#333;overflow-x:hidden}.landing-container *{box-sizing:border-box}.landing-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 0;position:fixed;top:0;left:0;right:0;width:100%;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0000001a}.landing-header .nav{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}.logo{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;flex-shrink:0}.nav-links{display:flex;gap:2rem;list-style:none;align-items:center;flex:1;justify-content:center}.nav-links a{color:#fff;text-decoration:none;transition:opacity .3s}.nav-links a:hover{opacity:.8}.mobile-menu-toggle{display:none;position:fixed;top:16px;right:16px;left:auto;background:#fff3;border:none;cursor:pointer;padding:.5rem;z-index:1001;border-radius:4px}.hamburger{display:flex;flex-direction:column;gap:4px;width:24px;height:18px}.hamburger span{display:block;width:100%;height:2px;background:#fff;transition:all .3s;border-radius:2px}.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.admin-login-btn-mobile{display:none}.desktop-only{display:block}.mobile-menu-overlay{position:fixed;inset:0;background:#00000080;z-index:998;display:none}@media(max-width:768px){.mobile-menu-overlay{display:block}}.header-actions{display:flex;align-items:center;gap:1rem;margin-left:auto;flex-shrink:0}.language-switcher-landing{position:relative}.language-switcher-button{width:44px;height:44px;border-radius:50%;background:#fff3;border:2px solid rgba(255,255,255,.3);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:1.1rem}.language-switcher-button:hover{background:#ffffff4d;transform:translateY(-2px);box-shadow:0 8px 25px #0003}.language-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:12px;box-shadow:0 8px 25px #00000026;min-width:140px;overflow:hidden;z-index:1001;animation:fadeInUp .2s ease-out}.language-option{display:block;width:100%;padding:.75rem 1rem;text-align:left;background:#fff;border:none;color:#2d3748;cursor:pointer;transition:background .2s;font-size:.95rem}.language-option:hover{background:#f7fafc}.language-option.active{background:#667eea;color:#fff;font-weight:600}.admin-login-btn{background:#fff3;border:2px solid rgba(255,255,255,.3);color:#fff;padding:.75rem 1.5rem;border-radius:50px;text-decoration:none;font-weight:600;transition:all .3s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap;display:flex;align-items:center;gap:.5rem}.admin-login-btn:hover{background:#ffffff4d;transform:translateY(-2px);box-shadow:0 8px 25px #0003}.hero{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:8rem 0 6rem;text-align:center;position:relative;overflow:hidden;margin-top:60px}.hero:before{content:"";position:absolute;inset:0;opacity:.3}.hero-content{max-width:1200px;margin:0 auto;padding:0 2rem;position:relative;z-index:1}.hero h1{font-size:3.5rem;font-weight:800;margin-bottom:1.5rem;background:linear-gradient(45deg,#fff,#e2e8f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero p{font-size:1.25rem;margin-bottom:2rem;opacity:.9;max-width:600px;margin-left:auto;margin-right:auto}.cta-buttons{display:none}.btn{padding:1rem 2rem;border-radius:50px;text-decoration:none;font-weight:600;transition:all .3s;display:inline-flex;align-items:center;gap:.5rem}.btn-primary{background:#fff;color:#667eea;box-shadow:0 4px 15px #0003}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000004d}.btn-secondary{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover{background:#ffffff4d;transform:translateY(-3px)}.features{padding:6rem 0;background:#f8fafc}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.section-title{text-align:center;margin-bottom:4rem}.section-title h2{font-size:2.5rem;color:#2d3748;margin-bottom:1rem}.section-title p{font-size:1.125rem;color:#718096;max-width:600px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.feature-card{background:#fff;padding:2rem;border-radius:20px;box-shadow:0 4px 20px #00000014;transition:transform .3s,box-shadow .3s;border:1px solid #e2e8f0}.feature-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000001f}.feature-icon{width:60px;height:60px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;font-size:1.5rem;color:#fff;min-width:60px;min-height:60px;position:relative}.feature-icon i{font-size:1.5rem;line-height:1;display:inline-block;font-style:normal;font-weight:900;font-family:"Font Awesome 6 Free","Font Awesome 6 Pro",FontAwesome,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.feature-icon i.fas,.feature-icon i.fab{font-weight:900}.feature-icon i.fab{font-family:"Font Awesome 6 Brands",FontAwesome,sans-serif}.feature-card h3{font-size:1.25rem;color:#2d3748;margin-bottom:1rem}.feature-card p{color:#718096;line-height:1.6}.stats{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4rem 0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;text-align:center}.stat-item h3{font-size:3rem;font-weight:800;margin-bottom:.5rem}.stat-item p{font-size:1.125rem;opacity:.9}.how-it-works{padding:6rem 0;background:#fff}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:3rem}.step{text-align:center;position:relative}.step-number{width:60px;height:60px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:1.5rem;font-weight:700;color:#fff}.step h3{font-size:1.25rem;color:#2d3748;margin-bottom:1rem}.step p{color:#718096;line-height:1.6}.contact{padding:6rem 0;background:#fff}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:3rem}.contact-card{background:#f8fafc;padding:2rem;border-radius:20px;text-align:center;transition:transform .3s,box-shadow .3s;border:1px solid #e2e8f0}.contact-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000001f}.contact-icon{width:60px;height:60px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:1.5rem;color:#fff}.contact-icon i{font-size:1.5rem;line-height:1;display:inline-block;font-style:normal;font-weight:900;font-family:"Font Awesome 6 Free","Font Awesome 6 Pro",FontAwesome,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.contact-card h3{font-size:1.25rem;color:#2d3748;margin-bottom:1rem}.contact-card p{color:#718096;line-height:1.8;margin:.5rem 0}.contact-card a{color:#667eea;text-decoration:none;transition:color .3s}.contact-card a:hover{color:#764ba2;text-decoration:underline}.footer{background:#2d3748;color:#fff;padding:3rem 0 2rem;text-align:center}.footer-content{max-width:1200px;margin:0 auto;padding:0 2rem}.footer p{opacity:.8;margin-bottom:1rem}.footer-links{display:flex;justify-content:center;gap:2rem;margin-top:1rem}.footer-links a{color:#fff;text-decoration:none;opacity:.8;transition:opacity .3s}.footer-links a:hover{opacity:1}@media(max-width:1024px)and (min-width:769px){.landing-header .nav,.nav-links{gap:1rem}.header-actions{gap:.75rem}.language-switcher-button{width:40px;height:40px;font-size:1rem}.admin-login-btn{padding:.5rem 1rem;font-size:.9rem}}@media(max-width:768px){.landing-header .nav{padding:0 1rem;position:relative}.logo{flex:1}.desktop-only,.header-actions{display:none!important}.mobile-menu-toggle{display:block;top:16px;right:16px;left:auto}.nav-links{position:fixed;top:60px;right:0;width:280px;height:calc(100vh - 60px);background:linear-gradient(135deg,#667eea,#764ba2);flex-direction:column;gap:0;padding:2rem 0;transform:translate(100%);transition:transform .3s ease;box-shadow:-4px 0 20px #0003;z-index:999}.nav-links.mobile-open{transform:translate(0)}.nav-links a{display:block;padding:1rem 2rem;width:100%;border-bottom:1px solid rgba(255,255,255,.1)}.nav-links a:hover{background:#ffffff1a;opacity:1}.admin-login-btn-mobile{display:flex;align-items:center;justify-content:center;gap:.5rem;background:#fff3;border:2px solid rgba(255,255,255,.3);color:#fff;padding:.75rem 1.5rem;border-radius:50px;text-decoration:none;font-weight:600;margin:1rem 2rem}.hero{padding:6rem 0 4rem;margin-top:60px}.hero h1{font-size:2rem;line-height:1.2}.hero p{font-size:1rem;padding:0 1rem}.btn{width:100%;max-width:280px;justify-content:center;padding:.875rem 1.5rem;font-size:14px}.features{padding:4rem 0}.features-grid{grid-template-columns:1fr;gap:1.5rem;padding:0 1rem}.feature-card{padding:1.5rem}.section-title h2{font-size:2rem;padding:0 1rem}.section-title p{font-size:1rem;padding:0 1rem}.stats{padding:3rem 0}.stats-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;padding:0 1rem}.stat-item h3{font-size:2rem}.how-it-works{padding:4rem 0}.steps{grid-template-columns:1fr;gap:2rem;padding:0 1rem}.contact{padding:4rem 0}.contact-grid{grid-template-columns:1fr;gap:1.5rem;padding:0 1rem}.contact-card{padding:1.5rem}.footer{padding:2rem 0 1.5rem}.footer-links{flex-direction:column;gap:1rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .6s ease-out}.error-page-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.error-content{background:#fff;border-radius:24px;box-shadow:0 20px 60px #0000004d;padding:60px 40px;max-width:500px;width:100%;text-align:center}.error-icon{font-size:80px;margin-bottom:24px}.error-content h1{color:#2d3748;font-size:28px;margin-bottom:12px}.error-content p{color:#718096;font-size:16px}.portal-preview-container{min-height:100vh;background:#f7fafc}.preview-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:20px 40px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px #0000001a}.preview-controls{display:flex;gap:12px}.preview-controls .btn-primary{display:inline-flex;align-items:center;gap:var(--md-spacing-xs);padding:var(--md-spacing-sm) var(--md-spacing-md);border-radius:var(--md-radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none;font-family:inherit;background:var(--md-primary);color:#fff;box-shadow:var(--md-shadow-sm)}.preview-controls .btn-primary:hover:not(:disabled){background:var(--md-primary-hover);box-shadow:var(--md-shadow-md);transform:translateY(-1px)}.preview-controls .btn-secondary{display:inline-flex;align-items:center;gap:var(--md-spacing-xs);padding:var(--md-spacing-sm) var(--md-spacing-md);border-radius:var(--md-radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit;background:var(--md-surface-variant);color:var(--md-primary);border:1.5px solid var(--md-primary);box-shadow:0 1px 2px #0000000d}.preview-controls .btn-secondary:hover:not(:disabled){background:var(--md-surface-container);border-color:var(--md-primary-hover);color:var(--md-primary-hover);box-shadow:0 1px 3px #0000001a}.preview-info{display:flex;align-items:center;gap:16px}.preview-info h2{margin:0;font-size:20px;color:#2d3748}.preview-badge{display:flex;align-items:center;gap:6px;background:#edf2f7;padding:6px 12px;border-radius:6px;font-size:12px;color:#4a5568;font-weight:500}.badge-icon{font-size:16px}.preview-content{padding:var(--md-spacing-md)}.preview-wrapper{max-width:1200px;margin:0 auto;border-radius:var(--md-radius-lg);overflow:visible;box-shadow:var(--md-shadow-md);width:100%}.preview-wrapper .portal-section{position:relative!important;margin:0 auto!important;box-sizing:border-box!important}.preview-notice{background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:8px;padding:12px;margin-bottom:20px;display:flex;align-items:center;gap:8px;font-size:14px}.notice-icon{font-size:18px}.portal-preview-loading,.portal-preview-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--md-spacing-md);background:var(--md-surface)}.loading-spinner{width:50px;height:50px;border:4px solid var(--md-surface-variant);border-top:4px solid var(--md-primary);border-radius:50%;animation:spin 1s linear infinite}.portal-preview-error h1{color:var(--md-error);margin-bottom:var(--md-spacing-sm)}.portal-preview-error p{color:var(--md-on-surface-variant);margin-bottom:var(--md-spacing-lg)}.auth-methods-page{padding:24px;max-width:1400px;margin:0 auto;background:var(--md-surface)}.page-header{margin-bottom:24px}.page-header h1{font-size:32px;font-weight:400;color:var(--md-on-surface);margin:0 0 8px;letter-spacing:.25px}.page-description{color:var(--md-on-surface-variant);font-size:14px;margin:0;letter-spacing:.25px}.auth-methods-loading,.auth-methods-error{text-align:center;padding:60px 20px}.loading-spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top-color:#4caf50;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}.auth-methods-error h2{color:#d32f2f;margin-bottom:8px}.auth-methods-error p{color:#718096}.methods-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px}.method-card{background:var(--md-surface);border:1px solid var(--md-surface-variant);border-radius:var(--md-radius-lg);padding:24px;transition:all .2s;position:relative;box-shadow:var(--md-shadow-1);display:flex;flex-direction:column}.method-card:hover{box-shadow:var(--md-shadow-2)}.method-card.active{border-left:4px solid var(--md-primary)}.method-header{display:flex;align-items:center;gap:var(--md-spacing-lg);margin-bottom:16px}.method-icon{width:48px;height:48px;border-radius:var(--md-radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-sms{background:#e7f5e9}.icon-sms svg{color:#4caf50}.icon-guest{background:#e3f2fd}.icon-guest svg{color:#2196f3}.icon-telegram{background:#e3f2fd}.icon-telegram svg{color:#08c}.icon-aitu-passport{background:#fff3e0}.icon-aitu-passport svg{color:#ff9800}.icon-voice-call{background:#f3e5f5}.icon-voice-call svg{color:#9c27b0}.method-info{flex:1}.method-info h3{font-size:16px;font-weight:500;color:var(--md-on-surface);margin:0 0 4px;letter-spacing:.15px}.method-code{color:var(--md-on-surface-variant);font-size:12px;font-family:Courier New,monospace;letter-spacing:.4px}.method-description{color:var(--md-on-surface-variant);font-size:14px;margin-bottom:20px;line-height:1.5;letter-spacing:.25px}.method-actions{display:flex;gap:var(--md-spacing-sm);margin-top:auto;padding-top:16px;border-top:1px solid var(--md-surface-variant);flex-wrap:wrap}.toggle-button,.settings-button{padding:10px 20px;border:none;border-radius:var(--md-radius-xl);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;letter-spacing:.1px}.toggle-button.activate{background:var(--md-primary);color:#fff;box-shadow:var(--md-shadow-1)}.toggle-button.activate:hover{background:var(--md-primary-hover);box-shadow:var(--md-shadow-2)}.toggle-button.deactivate{background:var(--md-error-bg);color:var(--md-error-text);border:1px solid var(--md-error-text)}.toggle-button.deactivate:hover{background:var(--md-error-bg);opacity:.9}.settings-button{background:transparent;color:var(--md-primary)}.settings-button:hover{background:var(--md-surface-variant)}.toggle-button:disabled,.settings-button:disabled{opacity:.38;cursor:not-allowed}.configured-indicator{margin-left:6px;font-size:14px}.method-settings{margin-top:20px;padding-top:20px;border-top:1px solid var(--md-surface-variant);display:none}.method-settings.show{display:block}.settings-form{margin-bottom:20px}.settings-form .form-group{margin-bottom:16px}.settings-form label{display:block;margin-bottom:4px;font-weight:500;color:var(--md-on-surface-variant);font-size:12px;letter-spacing:.4px}.settings-form input[type=text],.settings-form input[type=password],.settings-form input[type=url],.settings-form select{width:100%;padding:16px;border:1px solid var(--md-outline);border-radius:var(--md-radius-sm) var(--md-radius-sm) 0 0;border-bottom:2px solid var(--md-outline);font-size:16px;transition:all .2s;box-sizing:border-box;background:transparent;color:var(--md-on-surface)}.settings-form input:focus,.settings-form select:focus{outline:none;border-bottom-color:var(--md-primary);border-bottom-width:2px}.settings-form input[type=checkbox]{width:auto;margin-right:8px;cursor:pointer}.settings-form label:has(input[type=checkbox]){display:flex;align-items:center;font-weight:400}.btn-save{background:var(--md-primary);color:#fff;border:none;padding:10px 24px;border-radius:var(--md-radius-xl);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;letter-spacing:.1px;display:inline-flex;align-items:center;gap:var(--md-spacing-sm);box-shadow:var(--md-shadow-1)}.btn-save:hover:not(:disabled){background:var(--md-primary-hover);box-shadow:var(--md-shadow-2)}.btn-save:disabled{opacity:.38;cursor:not-allowed}.coa-controllers-container{padding:32px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.page-title{font-size:28px;font-weight:600;color:var(--md-on-surface);margin:0}.btn-create{background:var(--md-primary);color:var(--md-on-primary);border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000001a}.btn-create:hover:not(:disabled){background:var(--md-primary-hover, #111827);box-shadow:0 4px 8px #00000026}.btn-create:disabled{opacity:.6;cursor:not-allowed}.content-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:32px}.card-header{margin-bottom:32px}.card-header h3{font-size:20px;font-weight:600;color:var(--md-on-surface);margin:0 0 8px}.card-description{color:var(--md-on-surface-variant);font-size:14px;line-height:1.6;margin:0}.coa-controller-form-card{background:var(--md-surface-variant);border-radius:8px;padding:24px;margin-bottom:24px}.coa-controller-form-card h3{font-size:18px;font-weight:600;color:var(--md-on-surface);margin:0 0 20px}.coa-controller-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group label{font-size:14px;font-weight:500;color:var(--md-on-surface)}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid var(--md-outline-variant);border-radius:6px;font-size:14px;font-family:inherit;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--md-primary);box-shadow:0 0 0 2px #1f29371a}.form-group small{font-size:12px;color:var(--md-on-surface-variant);margin-top:-4px}.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}.form-actions{display:flex;gap:12px;margin-top:8px}.btn-primary,.btn-secondary{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid}.btn-primary{background:var(--md-primary);color:var(--md-on-primary);border-color:var(--md-primary)}.btn-primary:hover:not(:disabled){background:var(--md-primary-hover, #111827);border-color:var(--md-primary-hover, #111827)}.btn-secondary{background:var(--md-surface-variant);color:var(--md-on-surface);border-color:var(--md-outline-variant)}.btn-secondary:hover:not(:disabled){background:var(--md-surface-variant-hover)}.no-data{text-align:center;padding:60px 20px;color:var(--md-on-surface-variant)}.coa-controllers-list{display:flex;flex-direction:column;gap:16px}.coa-controller-card{background:var(--md-surface);border:1px solid var(--md-outline-variant);border-radius:8px;padding:20px;transition:all .2s}.coa-controller-card:hover{box-shadow:0 2px 8px #00000014}.coa-controller-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.coa-controller-info h3{font-size:18px;font-weight:600;color:var(--md-on-surface);margin:0 0 8px}.coa-controller-meta{display:flex;gap:8px;flex-wrap:wrap}.status-badge.expired{background:var(--md-error-bg);color:var(--md-error-text)}.org-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;background:var(--md-surface-variant);color:var(--md-on-surface-variant)}.org-badge.global{background:#dbeafe;color:#1e40af}.coa-controller-actions{display:flex;gap:8px}.btn-sm{padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid;transition:all .2s}.btn-edit{background:var(--md-surface-variant);color:var(--md-on-surface);border-color:var(--md-outline-variant)}.btn-edit:hover:not(:disabled){background:var(--md-primary);color:var(--md-on-primary);border-color:var(--md-primary)}.btn-delete{background:var(--md-surface-variant);color:#dc2626;border-color:var(--md-outline-variant)}.btn-delete:hover:not(:disabled){background:#fee2e2;border-color:#dc2626}.coa-controller-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.detail-row{display:flex;gap:8px}.detail-label{font-weight:500;color:var(--md-on-surface-variant);font-size:13px}.detail-value{color:var(--md-on-surface);font-size:13px}.coa-controllers-loading,.coa-controllers-error{text-align:center;padding:60px 20px}.loading-spinner{width:40px;height:40px;border:3px solid var(--md-outline-variant);border-top-color:var(--md-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.coa-controllers-container{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.btn-create{width:100%}.form-row{grid-template-columns:1fr}.coa-controller-header{flex-direction:column;gap:12px}.coa-controller-actions{width:100%}.btn-sm{flex:1}.coa-controller-details{grid-template-columns:1fr}}.billing-page{padding:var(--md-spacing-lg);background:var(--md-surface);min-height:100vh}.date-range-picker-container{position:relative;display:inline-block}.date-range-picker-button{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;color:#374151;font-family:sans-serif;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.date-range-picker-button:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000001a;background:#f9fafb}.date-range-picker-button:active{box-shadow:0 1px 2px #0000000d}.date-range-picker-icon{color:#6b7280;flex-shrink:0}.date-range-picker-label{white-space:nowrap;min-width:140px;text-align:left}.date-range-picker-chevron{color:#9ca3af;transition:transform .2s ease;flex-shrink:0}.date-range-picker-chevron.open{transform:rotate(180deg)}.date-range-picker-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:1000;animation:slideDown .2s ease-out;will-change:transform,opacity}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.date-range-picker-content{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 25px #00000026,0 4px 10px #0000001a;width:560px;display:flex;overflow:hidden}.date-range-presets{width:200px;border-right:1px solid #e5e7eb;background:#f9fafb;padding:16px 0}.presets-header{padding:0 16px 12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#6b7280;font-family:sans-serif}.presets-list{display:flex;flex-direction:column;gap:2px}.preset-item{padding:10px 16px;text-align:left;background:transparent;border:none;font-size:14px;color:#374151;font-family:sans-serif;cursor:pointer;transition:all .15s ease;position:relative}.preset-item:hover{background:#f3f4f6;color:#111827}.preset-item.active{background:#eff6ff;color:#2563eb;font-weight:500}.preset-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#2563eb}.date-range-custom{flex:1;padding:20px;display:flex;flex-direction:column;gap:16px}.custom-header{font-size:14px;font-weight:600;color:#111827;margin-bottom:4px;font-family:sans-serif}.custom-inputs{display:flex;flex-direction:column;gap:16px}.date-input-group{display:flex;flex-direction:column;gap:6px}.date-input-group label{font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-family:sans-serif}.date-input-group .date-input{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#111827;transition:all .2s;font-family:sans-serif}.date-input-group .date-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.date-input-group .date-input:disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed}.date-range-error{padding:10px 12px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#991b1b;font-size:13px;font-family:sans-serif}.custom-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:8px;border-top:1px solid #e5e7eb}.btn-secondary,.btn-primary{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;font-family:sans-serif;cursor:pointer;transition:all .2s;border:none}.btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}@media(max-width:768px){.date-range-picker-content{width:100%;max-width:90vw;flex-direction:column}.date-range-presets{width:100%;border-right:none;border-bottom:1px solid #e5e7eb}.presets-list{flex-direction:row;flex-wrap:wrap;padding:0 16px}.preset-item{flex:1;min-width:100px}.date-range-picker-popover{right:auto;left:0}}.chart-empty{display:flex;align-items:center;justify-content:center;padding:40px;color:#6b7280;font-size:14px;font-weight:500;font-family:sans-serif;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:12px;border:2px dashed #d1d5db}.gauge-chart-container{display:flex;flex-direction:column;width:100%;height:100%;align-items:center;justify-content:center}.gauge-chart-visual{flex:1;display:flex;align-items:center;justify-content:center;position:relative;width:100%;min-height:0}.gauge-chart-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.gauge-chart-caption{flex-shrink:0;padding-top:20px;padding-bottom:0;width:100%;text-align:center;min-height:60px;display:flex;align-items:center;justify-content:center}.gauge-caption-text{font-size:13px;font-weight:500;color:#6b7280;letter-spacing:.2px;line-height:1.4;font-family:sans-serif}.gauge-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;cursor:help}.recharts-wrapper{font-family:sans-serif}.recharts-text,.recharts-label,.recharts-legend-item-text,.recharts-tooltip-label,.recharts-tooltip-item{font-family:sans-serif!important}.recharts-legend-wrapper{padding-top:24px;padding-bottom:10px;position:relative;z-index:1}.recharts-legend-item{margin-right:24px;margin-bottom:12px;display:inline-flex;align-items:center;gap:8px}.recharts-legend-item-text{margin-left:0}.donut-chart-wrapper{padding:10px;position:relative;overflow:visible;width:100%;height:100%}.funnel-chart-container{width:100%;height:100%;min-height:400px;display:flex;align-items:center;justify-content:center;overflow:visible;position:relative}.funnel-chart-container .recharts-wrapper{overflow:visible!important}.funnel-chart-container svg{overflow:visible!important}.recharts-tooltip-wrapper{z-index:1000}.recharts-default-tooltip{background:#fffffffa!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.08)!important;border-radius:12px!important;box-shadow:0 10px 25px #0000001a,0 4px 10px #0000000d!important;padding:16px!important}.recharts-tooltip-label{font-weight:600;font-size:13px;margin-bottom:8px;color:#111827;letter-spacing:.3px}.recharts-tooltip-item{font-size:13px;color:#374151}.recharts-legend-item{margin-right:20px;margin-bottom:8px}.recharts-legend-item-text{font-size:13px;font-weight:500;color:#4b5563;letter-spacing:.2px}.recharts-text{font-size:13px;font-weight:500;fill:#374151}.recharts-cartesian-axis-tick-value{font-size:13px;font-weight:500;fill:#374151;text-transform:capitalize}.recharts-cartesian-axis-tick{font-size:13px;font-weight:500;fill:#374151}.revenue-metrics{padding:var(--md-spacing-lg)}.revenue-metrics .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--md-spacing-lg);flex-wrap:wrap;gap:var(--md-spacing-md)}.revenue-metrics .header h1{color:var(--md-on-surface);font-size:var(--md-text-h2);font-weight:600}.revenue-metrics .header select{padding:var(--md-spacing-sm) var(--md-spacing-md);border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-md);background:var(--md-surface);color:var(--md-on-surface);font-size:14px}.metric-change.positive{color:var(--md-success)}.metric-change.negative{color:var(--md-error)}.metric-card h3{color:var(--md-on-surface);font-size:16px;font-weight:600;margin-bottom:var(--md-spacing-xs)}.metric-card .metric-change{color:var(--md-primary);font-size:12px;margin-top:var(--md-spacing-xs)}.revenue-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--md-spacing-md)}.revenue-plan-card{background:var(--md-surface-container);border-radius:var(--md-radius-lg);padding:var(--md-spacing-lg);border:1px solid var(--md-outline-variant);text-align:center}.revenue-plan-card h3{color:var(--md-on-surface);font-size:18px;font-weight:600;margin-bottom:var(--md-spacing-sm)}.plan-mrr{color:var(--md-primary);font-size:24px;font-weight:600;margin:var(--md-spacing-sm) 0}.plan-orgs{color:var(--md-on-surface-variant);font-size:14px;margin:var(--md-spacing-xs) 0}.plan-percentage{color:var(--md-on-surface);font-size:16px;font-weight:500;margin-top:var(--md-spacing-sm)}.table-container{background:var(--md-surface-container);border-radius:var(--md-radius-lg);border:1px solid var(--md-outline-variant);overflow-x:auto}.consumption-table{width:100%;border-collapse:collapse}.consumption-table th{background:var(--md-surface-container-highest);color:var(--md-on-surface);font-size:14px;font-weight:600;padding:var(--md-spacing-md);text-align:left;border-bottom:1px solid var(--md-outline-variant)}.consumption-table td{color:var(--md-on-surface);font-size:14px;padding:var(--md-spacing-md);border-bottom:1px solid var(--md-outline-variant)}.consumption-table tr:last-child td{border-bottom:none}.consumption-table tr:hover{background:var(--md-surface-container-highest)}.growth-metrics{padding:var(--md-spacing-lg)}.growth-metrics .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--md-spacing-lg);flex-wrap:wrap;gap:var(--md-spacing-md)}.growth-metrics .header h1{color:var(--md-on-surface);font-size:var(--md-text-h2);font-weight:600}.growth-metrics .header select{padding:var(--md-spacing-sm) var(--md-spacing-md);border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-md);background:var(--md-surface);color:var(--md-on-surface);font-size:14px}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--md-spacing-lg);margin-bottom:var(--md-spacing-xl)}.metric-card{background:var(--md-surface-container);border-radius:var(--md-radius-lg);padding:var(--md-spacing-lg);border:1px solid var(--md-outline-variant)}.metric-card .metric-value{color:var(--md-on-surface);font-size:28px;font-weight:600;margin:0}.metric-card .metric-value.positive{color:var(--md-success)}.section{margin-top:var(--md-spacing-xl);margin-bottom:var(--md-spacing-xl)}.chart-container{background:var(--md-surface-container);border-radius:var(--md-radius-lg);padding:var(--md-spacing-lg);border:1px solid var(--md-outline-variant)}.customer-success{padding:var(--md-spacing-lg)}.metric-card{background:var(--md-surface-container);border-radius:var(--md-radius-lg);padding:var(--md-spacing-lg);border:1px solid var(--md-outline-variant);display:flex;flex-direction:column}.metric-card .metric-value{color:var(--md-on-surface);font-size:32px;font-weight:600;margin:0}.sparkline-container{margin-top:var(--md-spacing-md);height:50px}.metric-header{display:flex;align-items:center;gap:var(--md-spacing-sm);position:relative}.info-icon{position:relative;cursor:help;font-size:16px;color:var(--md-primary);display:inline-flex;align-items:center;justify-content:center}.info-icon-small{position:relative;cursor:help;font-size:12px;color:var(--md-primary);display:inline-flex;align-items:center;justify-content:center;margin-left:var(--md-spacing-xs)}.table-header-with-tooltip{display:flex;align-items:center;gap:var(--md-spacing-xs)}.tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:var(--md-spacing-xs);padding:var(--md-spacing-sm) var(--md-spacing-md);background:var(--md-inverse-surface);color:var(--md-inverse-on-surface);border-radius:var(--md-radius-md);font-size:12px;white-space:nowrap;z-index:1000;box-shadow:var(--md-shadow-md);max-width:250px;white-space:normal;text-align:left}.tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--md-inverse-surface)}.customer-success .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--md-spacing-lg);flex-wrap:wrap;gap:var(--md-spacing-md)}.customer-success .header h1{color:var(--md-on-surface);font-size:var(--md-text-h2);font-weight:600}.customer-success .header select{padding:var(--md-spacing-sm) var(--md-spacing-md);border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-md);background:var(--md-surface);color:var(--md-on-surface);font-size:14px}.summary-card{background:var(--md-surface-container);border-radius:var(--md-radius-lg);padding:var(--md-spacing-xl);border:1px solid var(--md-outline-variant);text-align:center;margin-bottom:var(--md-spacing-xl)}.summary-card .metric-label{color:var(--md-on-surface-variant);font-size:14px;font-weight:400;margin-bottom:var(--md-spacing-sm)}.charts-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:var(--md-spacing-xl);margin-top:var(--md-spacing-xl)}.chart-container{background:var(--md-surface-container);border-radius:var(--md-radius-lg);padding:var(--md-spacing-lg);border:1px solid var(--md-outline-variant);display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:450px}.chart-warning{color:var(--md-error);font-size:14px;font-weight:500;margin-bottom:var(--md-spacing-md);padding:var(--md-spacing-sm);background:var(--md-error-container);border-radius:var(--md-radius-md)}.summary-card h2{color:var(--md-on-surface-variant);font-size:16px;font-weight:500;margin-bottom:var(--md-spacing-sm)}.score-value{color:var(--md-primary);font-size:48px;font-weight:700;margin:0}.tiers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--md-spacing-md);margin-bottom:var(--md-spacing-lg)}.tier-card{background:var(--md-surface-container);border-radius:var(--md-radius-md);padding:var(--md-spacing-md);border:1px solid var(--md-outline-variant);display:flex;flex-direction:column;gap:var(--md-spacing-xs);text-align:center}.tier-name{color:var(--md-on-surface-variant);font-size:12px;text-transform:uppercase}.tier-count{color:var(--md-on-surface);font-size:24px;font-weight:600}.tier-percentage{color:var(--md-primary);font-size:14px}.health-scores-table{background:var(--md-surface-container);border-radius:var(--md-radius-lg);border:1px solid var(--md-outline-variant);overflow-x:auto}.health-scores-table table{width:100%;border-collapse:collapse}.health-scores-table th{background:var(--md-surface-container-highest);color:var(--md-on-surface);font-size:14px;font-weight:600;padding:var(--md-spacing-md);text-align:left;border-bottom:1px solid var(--md-outline-variant)}.health-scores-table td{color:var(--md-on-surface);font-size:14px;padding:var(--md-spacing-md);border-bottom:1px solid var(--md-outline-variant)}.health-scores-table tr:last-child td{border-bottom:none}.customer-success .status-badge{padding:var(--md-spacing-xs) var(--md-spacing-sm);border-radius:var(--md-radius-sm);font-size:14px;font-weight:500;color:#fff}.section-description{color:var(--md-on-surface-variant);font-size:14px;margin-bottom:var(--md-spacing-md)}.at-risk-table{background:var(--md-surface-container);border-radius:var(--md-radius-lg);border:1px solid var(--md-outline-variant);overflow-x:auto}.at-risk-table table{width:100%;border-collapse:collapse}.at-risk-table th{background:var(--md-surface-container-highest);color:var(--md-on-surface);font-size:14px;font-weight:600;padding:var(--md-spacing-md);text-align:left;border-bottom:1px solid var(--md-outline-variant)}.at-risk-table td{color:var(--md-on-surface);font-size:14px;padding:var(--md-spacing-md);border-bottom:1px solid var(--md-outline-variant)}.at-risk-table tr:last-child td{border-bottom:none}.health-change{font-weight:600;padding:var(--md-spacing-xs) var(--md-spacing-sm);border-radius:var(--md-radius-sm);display:inline-block}.health-change.positive{color:var(--md-success);background:var(--md-success-container)}.health-change.negative{color:var(--md-error);background:var(--md-error-container)}.key-issue{color:var(--md-on-surface-variant);font-style:italic;max-width:300px}.platform-health{padding:var(--md-spacing-lg)}.platform-health .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--md-spacing-lg);flex-wrap:wrap;gap:var(--md-spacing-md)}.platform-health .header h1{color:var(--md-on-surface);font-size:var(--md-text-h2);font-weight:600}.platform-health .header select{padding:var(--md-spacing-sm) var(--md-spacing-md);border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-md);background:var(--md-surface);color:var(--md-on-surface);font-size:14px}.status-card{background:var(--md-surface-container);border-radius:var(--md-radius-lg);padding:var(--md-spacing-xl);border:2px solid;text-align:center;margin-bottom:var(--md-spacing-xl)}.status-card h2{color:var(--md-on-surface-variant);font-size:16px;font-weight:500;margin-bottom:var(--md-spacing-sm)}.status-value{font-size:32px;font-weight:700;margin:0;text-transform:uppercase}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--md-spacing-lg);margin-bottom:var(--md-spacing-xl);align-items:stretch}.metric-card.primary{border:2px solid var(--md-primary)}.metric-card h3{color:var(--md-on-surface);font-size:18px;font-weight:600;margin-bottom:var(--md-spacing-xs)}.metric-card .metric-label{color:var(--md-on-surface-variant);font-size:12px;font-weight:400;margin-bottom:var(--md-spacing-sm);line-height:1.4}.status-indicator-card{background:var(--md-surface-container);border-radius:var(--md-radius-lg);padding:var(--md-spacing-lg);border:2px solid;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--md-spacing-sm);min-height:150px}.status-indicator{width:24px;height:24px;border-radius:50%;margin-bottom:var(--md-spacing-xs)}.status-indicator-card h3{color:var(--md-on-surface);font-size:16px;font-weight:600;margin:0}.status-message{color:var(--md-on-surface);font-size:14px;font-weight:500;text-align:center;margin:0}.chart-container{background:var(--md-surface-container);border-radius:var(--md-radius-lg);padding:var(--md-spacing-lg);border:1px solid var(--md-outline-variant);margin-top:var(--md-spacing-xl)}.chart-container h2{color:var(--md-on-surface);font-size:var(--md-text-h4);font-weight:600;margin-bottom:var(--md-spacing-md)}.metric-display{text-align:center;padding:var(--md-spacing-xl)}.error-rate-value{font-size:48px;font-weight:700;margin:0}.error-rate-label{color:var(--md-on-surface-variant);font-size:14px;margin-top:var(--md-spacing-sm)}.metric-card{background:var(--md-surface-container);border-radius:var(--md-radius-lg);padding:var(--md-spacing-lg);border:1px solid var(--md-outline-variant);display:flex;flex-direction:column;justify-content:center;min-height:150px}.metric-card h3{color:var(--md-on-surface-variant);font-size:14px;font-weight:500;margin-bottom:var(--md-spacing-sm)}.metric-card .metric-value{color:var(--md-on-surface);font-size:24px;font-weight:600;margin:0}.limits-table{background:var(--md-surface-container);border-radius:var(--md-radius-lg);border:1px solid var(--md-outline-variant);overflow-x:auto}.limits-table table{width:100%;border-collapse:collapse}.limits-table th{background:var(--md-surface-container-highest);color:var(--md-on-surface);font-size:14px;font-weight:600;padding:var(--md-spacing-md);text-align:left;border-bottom:1px solid var(--md-outline-variant)}.limits-table td{color:var(--md-on-surface);font-size:14px;padding:var(--md-spacing-md);border-bottom:1px solid var(--md-outline-variant)}.limits-table tr:last-child td{border-bottom:none}.usage-percentage{font-weight:600}.usage-percentage.warning{color:var(--md-warning)}.usage-percentage.critical{color:var(--md-error)}.analytics-page{padding:var(--md-spacing-lg);background:var(--md-surface);min-height:100vh;font-family:sans-serif}.logs-page{padding:var(--md-spacing-lg);background:var(--md-surface);min-height:100vh}.settings-page{padding:var(--md-spacing-lg);background:var(--md-surface);min-height:100vh}.page-header{margin-bottom:var(--md-spacing-lg)}.page-header h1{color:var(--md-on-surface);font-size:var(--md-text-h3);font-weight:600;margin-bottom:var(--md-spacing-xs);display:flex;align-items:center;gap:var(--md-spacing-sm)}.export-button-group{display:flex;gap:var(--md-spacing-xs)}.export-button{padding:var(--md-spacing-sm) var(--md-spacing-md);border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-md);background:var(--md-surface);color:var(--md-on-surface);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.export-button:hover:not(:disabled){background:var(--md-surface-container);border-color:var(--md-primary)}.export-button:disabled{opacity:.6;cursor:not-allowed}.export-button-excel{background:var(--md-primary-container);color:var(--md-on-primary-container);border-color:var(--md-primary)}.export-button-excel:hover:not(:disabled){background:var(--md-primary);color:var(--md-on-primary)}.dashboard-overview{padding:var(--md-spacing-lg);max-width:1400px;margin:0 auto;font-family:sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--md-spacing-xl);flex-wrap:wrap;gap:var(--md-spacing-md)}.header-actions{display:flex;gap:var(--md-spacing-md);align-items:center;flex-wrap:wrap}.header h1{font-size:var(--md-text-h2);font-weight:600;color:var(--md-on-surface);margin:0}.header .filters{display:flex;gap:var(--md-spacing-md);align-items:center;flex-wrap:wrap}.header select,.header input[type=date]{padding:var(--md-spacing-sm) var(--md-spacing-md);border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-md);font-size:14px;background:var(--md-surface);color:var(--md-on-surface);cursor:pointer;transition:all .2s ease}.header select:hover,.header input[type=date]:hover{border-color:var(--md-primary);box-shadow:0 2px 4px #6366f11a}.header input[type=date]{min-width:160px;font-family:sans-serif}.header input[type=date]:focus{outline:none;border-color:var(--md-primary);box-shadow:0 0 0 3px #6366f11a}.custom-date-button{padding:var(--md-spacing-sm) var(--md-spacing-md);border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-md);font-size:14px;background:var(--md-surface);color:var(--md-on-surface);cursor:pointer;transition:all .2s ease;min-width:200px;text-align:left;font-family:sans-serif}.custom-date-button:hover{border-color:var(--md-primary);box-shadow:0 2px 4px #6366f11a;background:var(--md-surface-container)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--md-spacing-md);margin-bottom:var(--md-spacing-xl)}.metric-card{background:var(--md-surface-container);border-radius:var(--md-radius-lg);padding:var(--md-spacing-lg);border:1px solid var(--md-outline-variant);transition:transform .2s,box-shadow .2s,border-color .2s}.metric-card:hover{transform:translateY(-2px);box-shadow:var(--md-shadow-md);border-color:var(--md-primary)}.metric-card h3{font-size:13px;font-weight:500;color:var(--md-on-surface-variant);margin:0 0 var(--md-spacing-sm) 0;text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:36px;font-weight:600;color:var(--md-on-surface);margin:0;line-height:1;font-variant-numeric:tabular-nums}.metric-change{font-size:14px;font-weight:600;margin:var(--md-spacing-xs) 0 0 0}.metric-change.up{color:var(--md-success, #059669)}.metric-change.down{color:var(--md-error)}.metric-change.stable{color:var(--md-on-surface-variant)}.loading,.no-data{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:16px;color:var(--md-on-surface-variant);padding:var(--md-spacing-xxl)}.section{margin-top:var(--md-spacing-xl);padding:var(--md-spacing-xl);background:var(--md-surface-container);border-radius:var(--md-radius-lg);border:1px solid var(--md-outline-variant)}.section h2{font-size:var(--md-text-h3);font-weight:600;color:var(--md-on-surface);margin:0 0 var(--md-spacing-lg) 0}.chart-container{margin-top:20px;padding:24px;background:linear-gradient(135deg,#fff,#f9fafb);border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d}.overview-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:24px}.overview-metric-card{display:flex;align-items:center;gap:16px;padding:24px;background:linear-gradient(135deg,#fff,#f9fafb);border-radius:12px;border:1px solid #e5e7eb;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000000d}.overview-metric-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001f,0 4px 8px #00000014;border-color:#6366f1}.overview-metric-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}.overview-metric-icon.users{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.overview-metric-icon.sessions{background:linear-gradient(135deg,#ec4899,#f59e0b)}.overview-metric-icon.conversion{background:linear-gradient(135deg,#10b981,#06b6d4)}.overview-metric-icon.dau{background:linear-gradient(135deg,#f59e0b,#ef4444)}.overview-metric-icon.csat{background:linear-gradient(135deg,#f59e0b,#eab308)}.overview-metric-icon.wau{background:linear-gradient(135deg,#3b82f6,#06b6d4)}.overview-metric-icon.mau{background:linear-gradient(135deg,#8b5cf6,#a855f7)}.overview-metric-change-placeholder{min-height:20px;display:flex;align-items:flex-start}.overview-metric-change{font-size:12px;font-weight:600;margin-top:4px}.overview-metric-change.up{color:#10b981}.overview-metric-change.down{color:#ef4444}.overview-metric-change.stable{color:#6b7280}.overview-metric-content{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between;min-height:80px}.overview-metric-label{font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.overview-metric-value{font-size:28px;font-weight:600;color:#111827;letter-spacing:-.5px;font-variant-numeric:tabular-nums;line-height:1.2;min-height:33.6px;display:flex;align-items:center}.user-session-analytics{padding:32px;background:#f9fafb;min-height:100vh;font-family:sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.user-session-analytics .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;padding-bottom:24px;border-bottom:2px solid #e5e7eb}.user-session-analytics .header h1{margin:0;font-size:28px;font-weight:700;color:#111827;letter-spacing:-.5px}.user-session-analytics .header-actions{display:flex;gap:16px;align-items:center}.user-session-analytics .filters{display:flex;gap:12px;align-items:center}.user-session-analytics .filters select,.user-session-analytics .filters input[type=checkbox],.user-session-analytics .filters input[type=date]{padding:10px 16px;border:1.5px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;background:#fff;color:#374151;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.user-session-analytics .filters input[type=date]{min-width:160px;cursor:pointer;font-family:sans-serif}.user-session-analytics .filters input[type=date]:hover{border-color:#6366f1;box-shadow:0 2px 4px #6366f11a}.user-session-analytics .filters input[type=date]:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.user-session-analytics .filters select:hover{border-color:#6366f1;box-shadow:0 2px 4px #6366f11a}.user-session-analytics .filters select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.user-session-analytics .filters label{display:flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}.correlation-section{margin-bottom:40px;padding:32px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:16px;box-shadow:0 10px 25px #6366f126,0 4px 10px #6366f11a;border:1px solid rgba(255,255,255,.1);color:#fff}.correlation-section h2{margin:0 0 24px;font-size:20px;font-weight:600;color:#fff}.correlation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.correlation-card{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px;border-radius:8px;border:1px solid rgba(255,255,255,.2)}.correlation-card.highlight{background:#ffffff40;border:2px solid rgba(255,255,255,.4)}.correlation-card h3{margin:0 0 12px;font-size:14px;font-weight:500;opacity:.9}.correlation-value{margin:0 0 8px;font-size:32px;font-weight:600;color:#fff;font-variant-numeric:tabular-nums}.correlation-desc{margin:0;font-size:12px;opacity:.8;line-height:1.4}.metrics-section{margin-bottom:40px;padding:32px;background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;border:1px solid #e5e7eb}.metrics-section h2{margin:0 0 24px;font-size:20px;font-weight:700;color:#111827;letter-spacing:-.3px}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.metric-card{background:linear-gradient(135deg,#fff,#f9fafb);padding:24px;border-radius:12px;border:1px solid #e5e7eb;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000000d}.metric-card h3{margin:0 0 12px;font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.metric-value{margin:0;font-size:32px;font-weight:600;color:#111827;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.metric-desc{margin:8px 0 0;font-size:13px;color:#6b7280;line-height:1.5;font-weight:500}.metric-card.highlight{border:2px solid #6366f1;background:linear-gradient(135deg,#eef2ff,#fff);box-shadow:0 4px 12px #6366f126}.metric-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001f,0 4px 8px #00000014;border-color:#6366f1}.section-description{margin:0 0 20px;font-size:14px;color:#666;line-height:1.5}.section{margin-bottom:40px;padding:24px;background:#fff;border-radius:8px;border:1px solid #e0e0e0}.section h2{margin:0 0 20px;font-size:18px;font-weight:600;color:#2c3e50}.segmentation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.segmentation-item{display:flex;flex-direction:column;padding:16px;background:#f8f9fa;border-radius:6px;border:1px solid #e0e0e0}.segment-name{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;margin-bottom:8px}.segment-count{font-size:24px;font-weight:700;color:#2c3e50;margin-bottom:4px}.segment-percentage{font-size:14px;color:#667eea;font-weight:500}.funnel{display:flex;flex-direction:column;gap:16px}.funnel-stage{display:flex;flex-direction:column;gap:8px}.funnel-stage-header{display:flex;justify-content:space-between;align-items:center}.stage-name{font-size:14px;font-weight:600;color:#2c3e50}.stage-users{font-size:16px;font-weight:700;color:#667eea}.funnel-stage-bar{height:40px;background:#f0f0f0;border-radius:4px;overflow:hidden;position:relative}.funnel-stage-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s ease}.funnel-stage-info{display:flex;justify-content:space-between;font-size:12px;color:#666}.dropoff{color:#e74c3c;font-weight:600}.bottleneck-info{margin-top:20px;padding:16px;background:#fff3cd;border-radius:6px;border-left:4px solid #ffc107}.bottleneck-info p{margin:4px 0;font-size:14px;color:#856404}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.status-item{display:flex;flex-direction:column;padding:16px;background:#f8f9fa;border-radius:6px;border:1px solid #e0e0e0}.status-name{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;margin-bottom:8px}.status-count{font-size:24px;font-weight:700;color:#2c3e50;margin-bottom:4px}.status-percentage{font-size:14px;color:#667eea;font-weight:500}.loading,.error{padding:40px;text-align:center;font-size:16px;color:#666}.error{color:#e74c3c}.chart-container{margin-top:24px;padding:24px;background:linear-gradient(135deg,#fff,#f9fafb);border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d;min-height:500px;display:flex;flex-direction:column;overflow:visible}.chart-container .funnel-chart-container{flex:1;min-height:400px;overflow:visible}.chart-container-small{padding:24px 20px 40px;min-height:380px;overflow:visible;margin-top:16px;position:relative}.chart-empty{padding:40px;text-align:center;color:#999;font-size:14px}.marketing-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:20px;align-items:stretch}.marketing-metrics-grid .metric-card{display:flex;flex-direction:column;min-height:380px;height:100%}.marketing-metrics-grid .metric-card h3{margin-bottom:0;flex-shrink:0}.gauge-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1;position:relative;min-height:0;width:100%}.gauge-chart{position:relative}.gauge-value{position:absolute;bottom:20%;left:50%;transform:translate(-50%);text-align:center}.gauge-number{font-size:42px;font-weight:600;color:#111827;letter-spacing:-1px;line-height:1.2;font-variant-numeric:tabular-nums;font-family:sans-serif}.gauge-number-empty{font-size:48px;font-weight:700;color:#9ca3af;letter-spacing:-1px;font-family:sans-serif}.gauge-label{font-size:13px;color:#6b7280;margin-top:8px;font-weight:500}.retention-card,.churn-card,.new-vs-returning-card{display:flex;flex-direction:column}.retention-card .gauge-chart-container,.churn-card .gauge-chart-container,.new-vs-returning-card .chart-container-small{flex:1;display:flex;flex-direction:column;min-height:0}.retention-card .gauge-chart-caption,.churn-card .gauge-chart-caption,.new-vs-returning-card .recharts-legend-wrapper{margin-top:auto}.gauge-chart-wrapper{position:relative}.gauge-empty{display:flex;align-items:center;justify-content:center}.gauge-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:help;width:100%;height:100%}.retention-card .gauge-wrapper,.churn-card .gauge-wrapper,.new-vs-returning-card .chart-container-small{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:0}.new-vs-returning-card{display:flex;flex-direction:column}.new-vs-returning-card h3{margin-bottom:0;flex-shrink:0}.new-vs-returning-card .chart-container-small{flex:1;display:flex;align-items:center;justify-content:center;padding:20px 0}.distribution-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.distribution-item{display:flex;flex-direction:column;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0;transition:transform .2s ease,box-shadow .2s ease}.distribution-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.distribution-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.distribution-label{font-size:14px;font-weight:600;color:#2c3e50}.distribution-count{font-size:20px;font-weight:700;color:#667eea}.distribution-bar{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:8px}.distribution-bar-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s ease}.distribution-percentage{font-size:14px;color:#667eea;font-weight:600;text-align:right}.auth-method-analytics{padding:var(--md-spacing-lg);font-family:sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.auth-method-analytics .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--md-spacing-lg);flex-wrap:wrap;gap:var(--md-spacing-md)}.auth-method-analytics .header h1{color:var(--md-on-surface);font-size:var(--md-text-h2);font-weight:600}.auth-method-analytics .header-actions,.auth-method-analytics .filters{display:flex;gap:var(--md-spacing-md);align-items:center;flex-wrap:wrap}.auth-method-analytics .filters select,.auth-method-analytics .filters input[type=date]{padding:var(--md-spacing-sm) var(--md-spacing-md);border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-md);background:var(--md-surface);color:var(--md-on-surface);font-size:14px;transition:all .2s ease}.auth-method-analytics .filters input[type=date]{min-width:160px;cursor:pointer;font-family:sans-serif}.auth-method-analytics .custom-date-button{padding:var(--md-spacing-sm) var(--md-spacing-md);border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-md);font-size:14px;background:var(--md-surface);color:var(--md-on-surface);cursor:pointer;transition:all .2s ease;min-width:200px;text-align:left;font-family:sans-serif}.auth-method-analytics .custom-date-button:hover{border-color:var(--md-primary);box-shadow:0 2px 4px #6366f11a;background:var(--md-surface-container)}.auth-method-analytics .filters input[type=date]:hover{border-color:#6366f1;box-shadow:0 2px 4px #6366f11a}.auth-method-analytics .filters input[type=date]:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.auth-method-analytics .filters label{display:flex;align-items:center;gap:var(--md-spacing-xs);color:var(--md-on-surface);font-size:14px;cursor:pointer}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--md-spacing-md);margin-bottom:var(--md-spacing-xl)}.summary-card{background:var(--md-surface-container);border-radius:var(--md-radius-lg);padding:var(--md-spacing-lg);border:1px solid var(--md-outline-variant);text-align:center}.summary-card h3{color:var(--md-on-surface-variant);font-size:14px;font-weight:500;margin-bottom:var(--md-spacing-sm)}.summary-value{color:var(--md-primary);font-size:24px;font-weight:600;margin:0}.section{margin-bottom:var(--md-spacing-xl)}.section h2{color:var(--md-on-surface);font-size:var(--md-text-h3);font-weight:600;margin-bottom:var(--md-spacing-md)}.methods-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--md-spacing-md)}.method-card{background:var(--md-surface-container);border-radius:var(--md-radius-lg);padding:var(--md-spacing-lg);border:1px solid var(--md-outline-variant);position:relative}.method-header{display:flex;justify-content:center;align-items:center;margin-bottom:var(--md-spacing-md);padding-bottom:var(--md-spacing-md);border-bottom:1px solid var(--md-outline-variant);position:relative}.method-header-left{display:flex;align-items:center;justify-content:center;flex:1;min-width:0}.method-header h3{color:var(--md-on-surface);font-size:24px;font-weight:700;margin:0;text-align:center}.method-count-badge{position:absolute;top:-12px;left:-12px;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;font-family:sans-serif;box-shadow:0 4px 12px #6366f14d;border:3px solid var(--md-surface-container);z-index:10;line-height:1;text-align:center;padding:0}.method-score{color:var(--md-primary);font-size:14px;font-weight:500;position:absolute;right:0;top:0}.method-metrics{display:flex;flex-direction:column;gap:var(--md-spacing-sm)}.method-metric{display:flex;justify-content:space-between;align-items:center}.metric-label{color:var(--md-on-surface-variant);font-size:14px}.metric-value{color:var(--md-on-surface);font-size:16px;font-weight:600}.metric-percentage{color:var(--md-primary);font-size:16px;font-weight:600}.loading,.error{padding:var(--md-spacing-xxl);text-align:center;color:var(--md-on-surface-variant)}.auth-methods-charts{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.chart-container-half{padding:24px;background:linear-gradient(135deg,#fff,#f9fafb);border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d}.chart-title{margin:0 0 20px;font-size:16px;font-weight:600;color:#374151;text-align:center}.auth-methods-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:32px}.auth-method-stat-card{display:flex;flex-direction:column;gap:12px;padding:24px;background:linear-gradient(135deg,#fff,#f9fafb);border-radius:12px;border:1px solid #e5e7eb;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000000d;min-width:0}.auth-method-stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000001a;border-color:#6366f1}.auth-method-stat-card-header{display:flex;align-items:center;gap:16px}.auth-method-icon{width:56px;height:56px;border-radius:12px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;flex-shrink:0}.auth-method-info{flex:1;min-width:0;overflow:hidden}.auth-method-name{font-size:14px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;white-space:nowrap;overflow:visible;text-overflow:clip}.auth-method-value{font-size:28px;font-weight:700;color:#111827;letter-spacing:-.5px;margin-bottom:4px;line-height:1.2}.auth-method-bar{width:100%;height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden;margin-top:8px}.auth-method-bar-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:2px;transition:width .5s ease}@media(max-width:768px){.auth-methods-charts,.auth-methods-stats{grid-template-columns:1fr}}.analytics-page{padding:var(--md-spacing-lg);max-width:1400px;margin:0 auto;background:var(--md-surface);min-height:100vh;width:100%;overflow-x:hidden;font-family:sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.analytics-page *{font-family:inherit}.analytics-page .metric-value,.analytics-page .correlation-value,.analytics-page .gauge-number,.analytics-page .gauge-number-empty{font-variant-numeric:tabular-nums;font-weight:600}.analytics-page .metric-desc,.analytics-page .correlation-desc,.analytics-page .gauge-label,.analytics-page .gauge-caption-text{font-weight:400}.analytics-header-controls{display:flex;justify-content:space-between;align-items:center;gap:var(--md-spacing-lg);margin-bottom:0;flex-wrap:wrap}.analytics-tabs{display:flex;gap:var(--md-spacing-sm);overflow-x:auto;flex:1;margin-bottom:var(--md-spacing-xl);padding-bottom:var(--md-spacing-sm)}.analytics-date-filter{display:flex;align-items:center;justify-content:flex-end}.analytics-tab{padding:10px 20px;background:transparent;border:none;color:#6b7280;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;border-radius:8px;position:relative}.analytics-tab:hover{color:#374151;background-color:#f9fafb}.analytics-tab.active{color:var(--md-primary);background-color:#f3f4f6;font-weight:600}.analytics-content{min-height:400px}.coming-soon-placeholder{padding:var(--md-spacing-xxl);text-align:center;color:var(--md-on-surface-variant);background:var(--md-surface-container);border-radius:var(--md-radius-lg);border:1px solid var(--md-outline-variant)}.billing-page{padding:var(--md-spacing-lg);max-width:1400px;margin:0 auto;background:var(--md-surface);min-height:100vh;width:100%;overflow-x:hidden}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--md-spacing-lg);gap:var(--md-spacing-md)}.page-header h1{color:var(--md-on-surface);font-size:var(--md-text-h3);font-weight:600;margin-bottom:var(--md-spacing-xs);display:flex;align-items:center;gap:var(--md-spacing-sm);flex-wrap:wrap}.page-description{color:var(--md-on-surface-variant);font-size:14px}.coming-soon-card{background:var(--md-surface-container);border-radius:var(--md-radius-lg);padding:var(--md-spacing-xxl);box-shadow:var(--md-shadow-sm);text-align:center;max-width:600px;margin:0 auto;border:1px solid var(--md-outline-variant)}.coming-soon-icon{margin-bottom:var(--md-spacing-lg);opacity:.6;color:var(--md-primary);display:flex;justify-content:center}.coming-soon-card h2{color:var(--md-on-surface);font-size:24px;font-weight:500;margin-bottom:var(--md-spacing-md)}.coming-soon-card>p{color:var(--md-on-surface-variant);font-size:16px;line-height:1.6;margin-bottom:var(--md-spacing-lg)}.coming-soon-features{display:flex;flex-direction:column;gap:var(--md-spacing-md);text-align:left;margin-top:var(--md-spacing-lg);padding-top:var(--md-spacing-lg);border-top:1px solid var(--md-outline-variant)}.feature-item{display:flex;align-items:center;gap:var(--md-spacing-sm);color:var(--md-on-surface);font-size:14px}.feature-icon{color:var(--md-primary);display:flex;align-items:center;justify-content:center}.settings-page{padding:var(--md-spacing-lg);max-width:1400px;margin:0 auto;width:100%;overflow-x:hidden}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:var(--md-spacing-md)}.page-header h1{color:#2d3748;font-size:28px;font-weight:600;margin-bottom:8px;display:flex;align-items:center;flex-wrap:wrap;gap:0}.page-description{color:#6c757d;font-size:14px}.coming-soon-card{background:#fff;border-radius:12px;padding:48px;box-shadow:0 2px 8px #0000000d;text-align:center;max-width:600px;margin:0 auto}.coming-soon-icon{font-size:64px;margin-bottom:24px}.coming-soon-card h2{color:#2d3748;font-size:24px;font-weight:600;margin-bottom:16px}.coming-soon-card>p{color:#6c757d;font-size:16px;line-height:1.6;margin-bottom:32px}.coming-soon-features{display:flex;flex-direction:column;gap:16px;text-align:left;margin-top:32px;padding-top:32px;border-top:1px solid #e9ecef}.feature-item{display:flex;align-items:center;gap:12px;color:#495057;font-size:14px}.feature-icon{font-size:20px}.designer-page{padding:var(--md-spacing-lg);max-width:1400px;margin:0 auto;width:100%;overflow-x:hidden}.designer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.designer-header h1{margin:0;font-size:28px;font-weight:600;color:#1a202c}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.template-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:20px;transition:all .2s;display:flex;flex-direction:column}.template-card:hover{box-shadow:0 4px 12px #0000001a;border-color:#cbd5e0}.template-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.template-card-header h3{margin:0;font-size:18px;font-weight:600;color:#1a202c;flex:1}.template-status{margin-left:12px}.status-badge.draft{background:var(--md-error-bg);color:var(--md-error-text)}.status-badge.published{background:var(--md-success-bg);color:var(--md-success-text)}.template-description{color:#718096;font-size:14px;margin:0 0 12px;line-height:1.5}.template-meta{display:flex;flex-direction:column;gap:4px;margin-top:auto;padding-top:12px;border-top:1px solid #e2e8f0;font-size:12px;color:#a0aec0}.template-actions{display:flex;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid #e2e8f0}.block-wrapper{position:absolute;background:transparent;border:2px solid transparent;border-radius:8px;overflow:visible;transition:border-color .2s,box-shadow .2s;cursor:move}.block-wrapper:hover{border-color:#cbd5e0;box-shadow:0 2px 8px #00000014}.block-wrapper.selected{border-color:#4299e1;box-shadow:0 0 0 3px #4299e133}.block-wrapper.locked{cursor:not-allowed;opacity:.8}.block-wrapper.collision{border-color:#f56565!important;box-shadow:0 0 0 3px #f565654d!important}.block-content{position:relative;width:100%;height:100%;pointer-events:auto;overflow:hidden;box-sizing:border-box}.drag-handle{position:absolute;top:8px;left:8px;width:24px;height:24px;background:#fffffff2;border:1px solid #e2e8f0;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:grab;font-size:12px;color:#718096;z-index:10;box-shadow:0 2px 4px #0000001a;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing;background:#fff}.react-resizable-handle{background-color:#4299e1!important;border-radius:50%;width:10px!important;height:10px!important;border:2px solid #ffffff;box-shadow:0 2px 6px #4299e14d;z-index:100;opacity:0;transition:opacity .15s ease,transform .15s ease,background-color .15s ease;transform:scale(.8);pointer-events:none}.block-wrapper:hover .react-resizable-handle{opacity:.6;transform:scale(1);pointer-events:auto;background-color:#718096!important}.block-wrapper.selected .react-resizable-handle{opacity:1;transform:scale(1);pointer-events:auto;background-color:#4299e1!important}.react-resizable-handle-se{bottom:-5px!important;right:-5px!important;cursor:nwse-resize!important}.react-resizable-handle-ne{top:-5px!important;right:-5px!important;cursor:nesw-resize!important}.react-resizable-handle-nw{top:-5px!important;left:-5px!important;cursor:nwse-resize!important}.react-resizable-handle-sw{bottom:-5px!important;left:-5px!important;cursor:nesw-resize!important}.react-resizable-handle-e{right:-5px!important;top:50%!important;transform:translateY(-50%) scale(.8);cursor:ew-resize!important}.block-wrapper:hover .react-resizable-handle-e,.block-wrapper.selected .react-resizable-handle-e{transform:translateY(-50%) scale(1)}.react-resizable-handle-w{left:-5px!important;top:50%!important;transform:translateY(-50%) scale(.8);cursor:ew-resize!important}.block-wrapper:hover .react-resizable-handle-w,.block-wrapper.selected .react-resizable-handle-w{transform:translateY(-50%) scale(1)}.react-resizable-handle-n{top:-5px!important;left:50%!important;transform:translate(-50%) scale(.8);cursor:ns-resize!important}.block-wrapper:hover .react-resizable-handle-n,.block-wrapper.selected .react-resizable-handle-n{transform:translate(-50%) scale(1)}.react-resizable-handle-s{bottom:-5px!important;left:50%!important;transform:translate(-50%) scale(.8);cursor:ns-resize!important}.block-wrapper:hover .react-resizable-handle-s,.block-wrapper.selected .react-resizable-handle-s{transform:translate(-50%) scale(1)}.captive-portal-container-default{min-height:100vh!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:20px!important;position:relative!important;overflow:hidden!important;box-sizing:border-box!important;width:100%!important;margin:0!important}.captive-portal-container-default:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:pulse 20s ease-in-out infinite;pointer-events:none}.captive-portal-container-default .captive-portal-content{background:#fffffffa!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;border-radius:32px!important;box-shadow:0 20px 60px #00000026,0 0 0 1px #ffffff80 inset!important;padding:48px!important;max-width:520px!important;width:100%!important;text-align:center!important;position:relative!important;z-index:1!important;animation:slideUp .5s ease-out!important;display:block!important;flex-direction:unset!important;align-items:unset!important}@media(max-width:639px){.captive-portal-container-default .captive-portal-content{padding:32px 24px!important;border-radius:24px!important}.captive-portal-container-default{padding:20px!important}}.captive-portal-container-default .portal-title{font-size:32px!important;margin-bottom:12px!important;color:#1a202c!important;font-weight:700!important;letter-spacing:-.5px!important;background:linear-gradient(135deg,#667eea,#764ba2)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;text-align:center!important;width:auto!important;align-self:unset!important}.captive-portal-container-default .session-info{background:linear-gradient(135deg,#f7fafc,#edf2f7)!important;border-radius:16px!important;padding:16px 20px!important;margin-bottom:32px!important;font-size:14px!important;border:1px solid rgba(226,232,240,.8)!important;box-shadow:0 2px 8px #0000000a!important;width:auto!important;max-width:none!important;text-align:center!important;align-self:unset!important;margin-left:auto!important;margin-right:auto!important}.captive-portal-container-default .auth-methods{margin-top:8px!important;width:auto!important;max-width:none!important;align-self:unset!important}.captive-portal-container-default .auth-methods h2{margin-bottom:24px!important;color:#2d3748!important;font-size:20px!important;font-weight:700!important;letter-spacing:-.3px!important;text-align:center!important;width:auto!important}.captive-portal-container-default .methods-grid{display:flex!important;flex-direction:column!important;gap:16px!important;width:100%!important;align-items:stretch!important}.captive-portal-container-default .method-button{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:16px!important;padding:20px 24px!important;background:linear-gradient(135deg,#fffffff2,#ffffffd9)!important;cursor:pointer!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;font-size:16px!important;font-weight:600!important;border:2px solid rgba(226,232,240,.6)!important;border-radius:16px!important;color:#2d3748!important;box-shadow:0 4px 12px #0000000d,0 0 #667eea00 inset!important;position:relative!important;overflow:hidden!important;will-change:transform,box-shadow!important;width:100%!important;box-sizing:border-box!important}.captive-portal-container-template{display:flex!important;align-items:center!important;justify-content:center!important;padding:12px!important;position:relative!important;overflow:hidden!important;box-sizing:border-box!important;width:100%!important;margin:0!important}@media(min-width:640px){.captive-portal-container-template{padding:20px!important}}@media(min-width:1024px){.captive-portal-container-template{padding:16px!important}}.captive-portal-container-template:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:pulse 20s ease-in-out infinite;pointer-events:none}@keyframes pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.8}}.captive-portal-container-template .captive-portal-content{background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:32px;box-shadow:0 20px 60px #00000026,0 0 0 1px #ffffff80 inset;padding:48px;max-width:520px;width:100%;text-align:center;position:relative;z-index:1;animation:slideUp .5s ease-out;display:flex;flex-direction:column;align-items:center}@media(max-width:639px){.captive-portal-container-template .captive-portal-content{padding:32px 24px;border-radius:24px}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.portal-logo{max-width:120px;max-height:120px;margin:0 auto 24px;display:block;border-radius:20px;box-shadow:0 8px 24px #0000001a;animation:fadeIn .6s ease-out .2s both}.captive-portal-container-default .portal-logo{margin:0 auto 24px!important;display:block!important}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.portal-title{font-size:32px;margin-bottom:12px;color:inherit;font-weight:700;letter-spacing:-.5px;text-align:center}@media(max-width:639px){.captive-portal-container-default .portal-title{font-size:28px}}.portal-description{font-size:16px;color:#718096;margin-bottom:32px;line-height:1.6;text-align:center}.captive-portal-container-default .portal-description{text-align:center!important;width:auto!important;align-self:unset!important}.portal-absolute-block,.captive-portal-container-template .portal-absolute-block{position:absolute;pointer-events:auto;box-sizing:border-box;overflow:hidden;max-width:100%;margin-bottom:8px}@media(max-width:639px){.captive-portal-container-template .portal-absolute-block{max-width:calc(100% - 8px)}.captive-portal-container-template .portal-absolute-block[data-block-type=TEXT],.captive-portal-container-template .portal-absolute-block[data-block-type=SESSION_SLOT],.captive-portal-container-template .portal-absolute-block[data-block-type=AUTH_SLOT]{padding:0 8px;box-sizing:border-box}.captive-portal-container-template .portal-absolute-block[data-block-type=TEXT] .portal-text-block,.captive-portal-container-template .portal-absolute-block[data-block-type=AUTH_SLOT] .auth-methods,.captive-portal-container-template .portal-absolute-block[data-block-type=AUTH_SLOT] .methods-grid{width:100%;box-sizing:border-box}.captive-portal-container-template .portal-absolute-block[data-block-type=SESSION_SLOT] .session-info{width:100%;box-sizing:border-box;margin:0}.captive-portal-container-template .portal-absolute-block[data-block-type=AUTH_SLOT] .method-button{width:100%;box-sizing:border-box}}.captive-portal-container-template .portal-section{position:relative!important;width:100%!important;max-width:90%!important;margin:0 auto!important;box-sizing:border-box!important}@media(min-width:640px){.captive-portal-container-template .portal-section{max-width:min(90%,600px)!important}}@media(min-width:1024px){.captive-portal-container-template .portal-section{max-width:520px!important}}@media(min-width:1440px){.captive-portal-container-template .portal-section{max-width:550px!important}}.portal-text-block{word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;max-width:100%;box-sizing:border-box;overflow:hidden}.session-info{border-radius:16px;padding:16px 20px;margin-bottom:32px;font-size:14px;border:1px solid rgba(226,232,240,.8);box-shadow:0 2px 8px #0000000a;position:relative}.captive-portal-container-template .session-info{background:transparent!important;width:100%;max-width:100%;box-sizing:border-box;text-align:center;align-self:center}.session-info p{margin:0;color:#4a5568}.session-info-title{font-weight:600;margin-bottom:8px}.session-info strong{color:#2d3748;font-weight:600}.session-info-details{display:flex;flex-direction:column;gap:12px}.session-info-item{display:flex;flex-direction:column;gap:4px}.session-info-item-label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;opacity:.7;color:inherit}.session-info-item-value{font-weight:600;color:inherit}.auth-methods{margin-top:8px}.captive-portal-container-template .auth-methods{width:100%;max-width:100%;align-self:center}.auth-methods h2{margin-bottom:24px;color:#2d3748;font-size:20px;font-weight:700;letter-spacing:-.3px;text-align:center;width:100%}.methods-grid{display:flex;flex-direction:column;gap:16px;width:100%;align-items:stretch}.method-button{display:flex;align-items:center;justify-content:flex-start;gap:16px;padding:20px 24px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:16px;font-weight:600;border:2px solid rgba(226,232,240,.6);border-radius:16px;color:#2d3748;box-shadow:0 4px 12px #0000000d,0 0 #667eea00 inset;position:relative;overflow:hidden;will-change:transform,box-shadow;width:100%;box-sizing:border-box}.captive-portal-container-template .method-button{background:transparent}@media(max-width:639px){.method-button{padding:16px 20px}}.method-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.method-button:hover:before{width:300px;height:300px}.method-button:hover{transform:translateY(-4px);border-color:#667eea66;background:linear-gradient(135deg,#fff,#f7fafc)}.method-button:active{transform:translateY(-2px);transition:all .1s}.method-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 12px #667eea4d;flex-shrink:0;transition:transform .3s ease;color:#fff}.method-icon svg{width:24px;height:24px;stroke:#fff}.method-button:hover .method-icon{transform:scale(1.1) rotate(5deg)}.method-name{flex:1;text-align:left;font-weight:600;letter-spacing:-.2px}.method-arrow{font-size:14px;color:#cbd5e0;transition:all .3s ease;margin-left:auto}.method-button:hover .method-arrow{color:var(--icon-color, #667eea);transform:translate(4px)}.auth-form-wrapper{text-align:left;animation:fadeIn .4s ease-out}.back-button{background:none;border:none;color:#667eea;cursor:pointer;padding:10px 0;margin-bottom:24px;font-size:15px;display:inline-flex;align-items:center;gap:8px;font-weight:600;transition:all .2s ease;border-radius:8px;position:relative;overflow:hidden}.back-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.back-button:hover:before{width:300px;height:300px}.back-button:hover{color:#764ba2;transform:translate(-4px);background:#667eea0d;padding-left:12px;padding-right:12px}.auth-form{display:flex;flex-direction:column;gap:24px}.form-group{display:flex;flex-direction:column;gap:10px}.form-group label{font-weight:600;color:#2d3748;font-size:14px;letter-spacing:-.1px}.form-group input{padding:16px;border:2px solid #e2e8f0;border-radius:12px;font-size:15px;transition:all .3s ease;background:#fff;box-shadow:0 2px 4px #00000005;font-family:inherit}.form-group input::placeholder{color:#a0aec0}.form-group input:focus{outline:none;border-color:var(--icon-color, #667eea);box-shadow:0 0 0 4px var(--icon-color-rgba-10, rgba(102, 126, 234, .1)),0 4px 12px var(--icon-color-rgba-15, rgba(102, 126, 234, .15));transform:translateY(-1px)}.submit-button{padding:16px 24px;border:none;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);margin-top:8px;border-radius:12px;letter-spacing:-.2px;position:relative;overflow:hidden}.submit-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.submit-button:hover:before{width:300px;height:300px}.submit-button:hover:not(:disabled){transform:translateY(-2px)}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.captive-portal-container-default .submit-button{background:linear-gradient(135deg,#fffffff2,#ffffffd9)!important;border:2px solid rgba(226,232,240,.6)!important;color:#2d3748!important}.captive-portal-container-template .submit-button{background:transparent!important;background-color:transparent!important;color:#2d3748;border:2px solid rgba(226,232,240,.6);box-shadow:none!important}.captive-portal-container-template .submit-button:hover:not(:disabled){box-shadow:none!important}.error-message{background:linear-gradient(135deg,#fed7d7,#feb2b2);color:#742a2a;padding:16px 20px;border-radius:12px;margin-bottom:24px;border:1px solid rgba(197,48,48,.2);box-shadow:0 4px 12px #c530301a;animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.success-message{background:linear-gradient(135deg,#c6f6d5,#9ae6b4);color:#22543d;padding:16px 20px;border-radius:12px;margin-bottom:24px;border:1px solid rgba(34,84,61,.2);box-shadow:0 4px 12px #22543d1a;animation:slideDown .4s ease-out}.captive-portal-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;background:linear-gradient(135deg,#667eea,#764ba2)}.loading-spinner{width:56px;height:56px;border:4px solid rgba(255,255,255,.2);border-top:4px solid #ffffff;border-radius:50%;animation:spin 1s linear infinite;will-change:transform;transform:translateZ(0);backface-visibility:hidden;box-shadow:0 8px 24px #0003}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@supports (-webkit-appearance: none){.loading-spinner{animation-duration:.8s}}.captive-portal-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;background:linear-gradient(135deg,#fef5e7,#fef9e7)}.captive-portal-error h1{color:#c53030;margin-bottom:16px;font-size:32px;font-weight:700}.captive-portal-error p{color:#718096;margin-bottom:12px;font-size:16px;line-height:1.6}.captive-portal-published{min-height:100vh}@media(max-width:639px){.method-icon{width:44px;height:44px;font-size:24px}.captive-portal-container-template{padding:12px!important;padding-bottom:max(12px,env(safe-area-inset-bottom,12px))!important}.captive-portal-container-template .portal-section{padding-bottom:40px!important}}html{scroll-behavior:smooth}.template-canvas{height:100%;max-height:100%;display:flex;flex-direction:column;background:#f7fafc;overflow:hidden;box-sizing:border-box;position:relative}.canvas-header{padding:16px 24px;background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px}.canvas-header h3{margin:0;font-size:18px;font-weight:600;color:#1a202c}.zoom-controls{position:absolute;top:16px;right:16px;display:flex;align-items:center;gap:8px;background:#fffffff2;padding:8px 12px;border-radius:8px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000001a;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.zoom-btn{display:flex;align-items:center;justify-content:center;padding:6px 8px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .2s;color:#4a5568;font-size:13px;font-weight:500}.zoom-btn:hover{background:#edf2f7;border-color:#cbd5e0}.zoom-btn:active{transform:scale(.95)}.zoom-btn.active{background:#4299e1;color:#fff;border-color:#4299e1}.zoom-btn.active:hover{background:#3182ce;border-color:#3182ce}.zoom-level{min-width:45px;text-align:center;font-size:13px;font-weight:600;color:#2d3748}.canvas-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.canvas-actions .btn{font-size:13px;padding:6px 12px;border-radius:8px}.canvas-content{flex:1;overflow:auto;padding:24px;display:flex;justify-content:center;align-items:flex-start;position:relative;min-height:0;max-height:100%;box-sizing:border-box}.device-frame{margin:0 auto;position:relative;background:#000;border-radius:24px;padding:8px;box-shadow:0 20px 60px #0000004d}.device-frame-mobile{width:600px;border-radius:40px;padding:12px 8px}.device-frame-desktop{width:100%;max-width:1200px;border-radius:12px;padding:8px;background:#1a1a1a}.device-screen{background:#000;border-radius:16px;overflow:auto;position:relative}.device-frame-mobile .device-screen{border-radius:28px;aspect-ratio:9 / 16.5;height:auto}.device-frame-desktop .device-screen{border-radius:4px;aspect-ratio:16 / 10;min-height:600px}.device-frame-mobile:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:120px;height:24px;background:#000;border-radius:0 0 16px 16px;z-index:10}.captive-portal-container.viewport-mobile,.captive-portal-container.viewport-desktop{width:100%;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;margin:0}.captive-portal-container.viewport-mobile .captive-portal-content,.captive-portal-container.viewport-desktop .captive-portal-content{max-width:520px;width:100%;border-radius:32px;position:relative;overflow:visible;transition:all .2s ease}.captive-portal-container.viewport-mobile .captive-portal-content{padding:36px}.captive-portal-container.viewport-desktop .captive-portal-content{padding:48px}.captive-portal-content.container-disabled{background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-radius:0!important;padding:0!important}.portal-section{position:relative;min-height:60px}.canvas-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center;color:#718096}.empty-state-icon{font-size:64px;margin-bottom:16px}.canvas-empty-state h3{margin:0 0 8px;font-size:20px;font-weight:600;color:#2d3748}.canvas-empty-state p{margin:0;font-size:14px;color:#718096}.section-empty{padding:24px;text-align:center;color:#a0aec0;font-size:14px;background:#ffffff1a;border-radius:8px;border:1px dashed rgba(255,255,255,.3)}.preview-session-info{margin-top:24px}.absolute-layout-container{position:relative;overflow:visible}.captive-portal-container{display:flex;align-items:center;justify-content:center;flex-direction:column}.canvas-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#718096;text-align:center;padding:48px 24px}.empty-state-icon{font-size:64px;margin-bottom:16px;opacity:.5}.canvas-empty-state h3{font-size:20px;font-weight:600;color:#2d3748;margin:0 0 8px}.canvas-empty-state p{font-size:14px;color:#718096;margin:0;max-width:300px}.page-container.absolute-layout-container.selected{border:3px solid #4299e1;box-shadow:0 0 0 3px #4299e133;cursor:pointer}.slider-input-group{margin-bottom:16px}.slider-label{display:block;font-size:13px;font-weight:500;color:#4a5568;margin-bottom:8px}.slider-input-wrapper{display:flex;gap:12px;align-items:center}.slider{flex:1;height:6px;border-radius:3px;background:#e2e8f0;outline:none;cursor:pointer;-webkit-appearance:none;appearance:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#4299e1;cursor:pointer;box-shadow:0 2px 4px #0003;transition:all .2s}.slider::-webkit-slider-thumb:hover{background:#3182ce;transform:scale(1.1)}.slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#4299e1;cursor:pointer;box-shadow:0 2px 4px #0003;border:none;transition:all .2s}.slider::-moz-range-thumb:hover{background:#3182ce;transform:scale(1.1)}.slider:disabled{opacity:.5;cursor:not-allowed}.slider:disabled::-webkit-slider-thumb{cursor:not-allowed}.slider:disabled::-moz-range-thumb{cursor:not-allowed}.number-input-wrapper{display:flex;align-items:center;gap:4px;min-width:80px}.number-input{width:60px;padding:6px 8px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;text-align:right;outline:none;transition:border-color .2s}.number-input:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.number-input:disabled{background:#f7fafc;color:#a0aec0;cursor:not-allowed}.unit{font-size:12px;color:#718096;font-weight:500;min-width:20px}.slider-labels{display:flex;justify-content:space-between;font-size:11px;color:#a0aec0;margin-top:4px;padding:0 2px}.background-editor{padding:16px;background:#fff}.background-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.background-editor-header h3{margin:0;font-size:16px;font-weight:600;color:#1a202c}.background-editor-header .btn{padding:6px 12px;font-size:13px}.background-editor-content{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:#4a5568}.form-group input[type=text]{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px}.form-group input[type=text]:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.color-input-group{display:flex;gap:8px;align-items:center}.color-input-group input[type=color]{width:50px;height:40px;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer}.color-input-group input[type=text]{flex:1}.form-group small,.form-hint{font-size:12px;color:#718096;margin-top:4px}.background-settings-group{background:#f7fafc;border-radius:8px;padding:16px;border:1px solid #e2e8f0}.settings-group-title{font-size:14px;font-weight:600;color:#2d3748;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #e2e8f0}.btn-clear{padding:8px 16px;background:#e2e8f0;color:#4a5568;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .2s}.btn-clear:hover{background:#cbd5e0}.background-preview{margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0}.preview-label{font-size:12px;font-weight:500;color:#4a5568;margin-bottom:8px}.preview-box{width:100%;height:100px;border-radius:6px;border:1px solid #e2e8f0;background:#fff}.questionnaire-page{padding:var(--md-spacing-lg);max-width:1400px;margin:0 auto;width:100%;overflow-x:hidden}.questionnaire-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.questionnaire-header h1{margin:0;font-size:28px;font-weight:600;color:#1a202c}.loading{text-align:center;padding:48px;color:#718096}.empty-state{text-align:center;padding:64px 24px;background:#f7fafc;border-radius:8px;border:2px dashed #cbd5e0}.empty-state p{color:#718096;font-size:16px;margin:0}.questionnaires-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.questionnaire-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:20px;transition:all .2s;display:flex;flex-direction:column}.questionnaire-card:hover{box-shadow:0 4px 12px #0000001a;border-color:#cbd5e0}.questionnaire-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.questionnaire-card-header h3{margin:0;font-size:18px;font-weight:600;color:#1a202c;flex:1}.questionnaire-status{margin-left:12px}.questionnaire-description{color:#718096;font-size:14px;margin:0 0 12px;line-height:1.5}.questionnaire-meta{display:flex;flex-direction:column;gap:4px;margin-top:auto;padding-top:12px;border-top:1px solid #e2e8f0;font-size:12px;color:#a0aec0}.questionnaire-actions{display:flex;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid #e2e8f0}.btn-icon{padding:8px;background:transparent;color:#718096;border:1px solid #e2e8f0;display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px}.btn-icon.btn-danger{color:#e53e3e}.form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:#4a5568}.form-group input,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.block-palette{padding:16px;background:#fff;border-bottom:1px solid #e2e8f0}.block-palette-header{margin-bottom:12px}.block-palette-header h3{margin:0 0 8px;font-size:16px;font-weight:600;color:#1a202c}.block-search{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px}.block-search:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.block-list{display:flex;flex-direction:column;gap:8px}.block-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s;text-align:left;width:100%}.block-item:hover{background:#f7fafc;border-color:#4299e1;transform:translate(2px)}.block-icon{font-size:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#4299e1}.block-info{display:flex;flex-direction:column;flex:1}.block-label{font-size:14px;font-weight:500;color:#1a202c}.block-type{font-size:12px;color:#718096}.block-properties-panel{height:100%;display:flex;flex-direction:column}.properties-header{padding:16px;border-bottom:1px solid #e2e8f0;background:#fff;position:sticky;top:0;z-index:10}.properties-header h3{margin:0;font-size:16px;font-weight:600;color:#1a202c}.properties-content{flex:1;overflow-y:auto;padding:16px}.properties-section{margin-top:24px;padding-top:24px;border-top:1px solid #e2e8f0}.properties-section h4{margin:0 0 16px;font-size:14px;font-weight:600;color:#4a5568;text-transform:uppercase;letter-spacing:.5px}.form-group label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:#4a5568}.form-group input[type=text],.form-group input[type=color],.form-group textarea,.form-group select{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input[type=text]:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#4299e1}.form-group input[type=checkbox]{margin-right:8px}.panel-header{padding:16px;border-bottom:1px solid #e2e8f0;background:#f7fafc}.panel-header h3{margin:0;font-size:16px;font-weight:600;color:#2d3748;display:flex;align-items:center;gap:8px}.advanced-section{margin-top:24px;border-top:2px solid #e2e8f0;padding-top:16px}.advanced-toggle{width:100%;padding:12px 16px;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;font-size:14px;color:#4a5568;transition:all .2s;text-align:left}.advanced-toggle:hover{background:#edf2f7;border-color:#cbd5e0}.advanced-toggle .icon{font-size:12px;transition:transform .2s;color:#718096}.advanced-content{margin-top:16px;padding:16px;background:#f7fafc;border-radius:8px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.properties-subsection{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}.properties-subsection:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.properties-subsection h5{font-size:13px;font-weight:600;color:#4a5568;margin:0 0 16px;display:flex;align-items:center;gap:6px}.readonly-field{margin-bottom:16px}.readonly-field label{display:block;font-size:13px;font-weight:500;color:#4a5568;margin-bottom:8px}.readonly-value{padding:10px 12px;background:#edf2f7;border:1px solid #e2e8f0;border-radius:6px;color:#718096;font-size:14px;font-style:italic}.preset-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.preset-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s;font-size:12px;font-weight:500;color:#4a5568}.preset-btn:hover{border-color:#4299e1;box-shadow:0 2px 8px #4299e126}.preset-preview{width:100%;height:40px;border-radius:6px;border:1px solid #e2e8f0}.preset-preview.white-card{background:#fffffffa;box-shadow:0 4px 12px #0000001a}.preset-preview.glass{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.preset-preview.transparent{background:transparent;border:2px dashed #cbd5e0}.preset-preview.dark{background:#1a202cf2;box-shadow:0 4px 12px #0000004d}.block-actions{margin-top:24px;padding-top:16px;border-top:2px solid #e2e8f0}.block-actions button{width:100%;margin-bottom:8px}.block-actions button:last-child{margin-bottom:0}.upload-btn{width:100%}.button-group{display:flex;gap:8px}.button-group button{flex:1;padding:8px 12px;font-size:13px}.button-group button.active{background:#4299e1;color:#fff;border-color:#4299e1}.display-fields-row{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:12px!important;align-items:flex-start!important}.display-fields-row label{display:flex!important;align-items:center!important;gap:6px!important;font-size:14px!important;margin-bottom:0!important;white-space:nowrap!important;font-weight:400!important}.methods-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.method-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;transition:all .2s}.method-item:hover{background:#edf2f7;border-color:#cbd5e0}.method-item-content{display:flex;align-items:center;gap:12px;flex:1}.method-item-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#4a5568}.method-item-icon svg{width:100%;height:100%;display:block}.method-item-name{font-size:14px;font-weight:500;color:#2d3748}.method-item-actions{display:flex;gap:4px}.btn-icon{min-width:36px;height:36px;padding:0;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .2s;color:#4a5568}.btn-icon:hover:not(:disabled){background:#edf2f7;border-color:#cbd5e0;color:#2d3748}.btn-icon:disabled{opacity:.4;cursor:not-allowed;background:#f7fafc}.methods-empty{padding:16px;text-align:center;color:#718096;font-size:13px;background:#f7fafc;border-radius:8px;border:1px dashed #e2e8f0}.methods-empty p{margin:0}.block-properties-panel .react-colorful{width:100%;height:200px}.block-properties-panel .react-colorful__saturation{border-radius:8px 8px 0 0}.block-properties-panel .react-colorful__hue,.block-properties-panel .react-colorful__alpha{height:20px;border-radius:0 0 8px 8px}.option-row input{flex:1}.error-message{color:#e53e3e;font-size:12px;margin-top:4px;font-weight:500}.form-group textarea.error,.form-group input.error{border-color:#e53e3e;box-shadow:0 0 0 1px #e53e3e}.form-group textarea.error:focus,.form-group input.error:focus{outline:none;border-color:#e53e3e;box-shadow:0 0 0 2px #e53e3e33}.questionnaire-editor-header{display:flex;align-items:center;gap:16px;padding:16px 24px;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a}.header-title{flex:1}.title-input{width:100%;font-size:20px;font-weight:600;border:none;outline:none;padding:8px 12px;background:transparent}.title-input:focus{background:#f7fafc;border-radius:4px}.header-actions{display:flex;align-items:center;gap:16px}.questions-count{font-size:14px;color:#718096;padding:6px 12px;background:#f7fafc;border-radius:6px}.active-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.save-feedback{padding:12px 24px;text-align:center;font-size:14px}.save-feedback.success{background:#c6f6d5;color:#22543d}.questionnaire-editor-content{display:flex;flex:1;overflow:hidden}.questionnaire-editor-sidebar{width:320px;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;overflow-y:auto}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #e2e8f0}.sidebar-header h3{margin:0;font-size:16px;font-weight:600}.description-editor{padding:16px;border-bottom:1px solid #e2e8f0}.description-editor label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#4a5568}.description-editor textarea{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical}.description-editor textarea:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.questions-list{flex:1;overflow-y:auto;padding:8px}.empty-questions{padding:32px 16px;text-align:center;color:#718096}.empty-questions p{margin:0;font-size:14px}.question-item{display:flex;align-items:flex-start;gap:12px;padding:12px;margin-bottom:8px;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .2s}.question-item:hover{background:#f7fafc;border-color:#cbd5e0}.question-item.selected{background:#ebf8ff;border-color:#4299e1}.question-item-number{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#e2e8f0;border-radius:50%;font-size:12px;font-weight:600;color:#4a5568}.question-item-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#718096}.question-item.selected .question-item-number{background:#4299e1;color:#fff}.question-item-content{flex:1;min-width:0}.question-item-text{font-size:14px;font-weight:500;color:#1a202c;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.question-item-meta{display:flex;gap:8px;align-items:center}.question-type{font-size:12px;color:#718096;text-transform:capitalize}.required-badge{font-size:11px;padding:2px 6px;background:#fed7d7;color:#c53030;border-radius:4px}.questionnaire-editor-main{flex:1;overflow-y:auto;padding:24px;min-width:0}.questionnaire-editor-preview{width:400px;min-width:400px;border-left:1px solid #e2e8f0;display:flex;flex-direction:column;overflow:hidden}.no-selection{display:flex;align-items:center;justify-content:center;height:100%;color:#718096}.question-editor{max-width:800px;margin:0 auto;background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.question-editor-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.question-editor-header h2{margin:0;font-size:20px;font-weight:600;color:#1a202c;flex:1}.question-type-header-icon{color:#4299e1}.question-editor-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:#4a5568}.form-group input[type=text],.form-group input[type=number],.form-group input[type=email],.form-group textarea,.form-group select{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input[type=text]:focus,.form-group input[type=number]:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.form-group input.error,.form-group textarea.error{border-color:#e53e3e}.form-group input.error:focus,.form-group textarea.error:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.error-message{font-size:12px;color:#e53e3e;margin-top:-4px}.help-text{font-size:12px;color:#718096;margin-top:4px;font-style:italic}.question-type-description{font-size:13px;color:#718096;margin-top:6px;font-style:italic;line-height:1.4}.option-row{display:flex;gap:8px;margin-bottom:8px;align-items:flex-start}.option-input-wrapper{flex:1;display:flex;flex-direction:column;gap:4px}.option-row input{width:100%}.error-message-inline{font-size:12px;color:#e53e3e;margin-top:-4px}.option-row input.error{border-color:#e53e3e}.option-row button:disabled{opacity:.3;cursor:not-allowed}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto}.btn-danger{background:#e53e3e;color:#fff}.btn-danger:hover:not(:disabled){background:#c53030}.btn-icon.btn-danger{color:#e53e3e;background:transparent}.btn-icon.btn-danger:hover:not(:disabled){background:#fed7d7;border-color:#fc8181}.loading{display:flex;align-items:center;justify-content:center;height:100%;color:#718096}.landing-page-page{padding:var(--md-spacing-lg);max-width:1400px;margin:0 auto;width:100%;overflow-x:hidden}.landing-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.landing-page-header h1{margin:0;font-size:32px;font-weight:600;color:#1a202c}.landing-pages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.landing-page-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s}.landing-page-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.landing-page-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.landing-page-card-header h3{margin:0;font-size:20px;font-weight:600;color:#1a202c;flex:1}.landing-page-status{margin-left:12px}.landing-page-description{color:#4a5568;font-size:14px;margin:0 0 16px;line-height:1.5}.landing-page-meta{display:flex;gap:16px;font-size:12px;color:#718096;margin-bottom:16px}.landing-page-actions{display:flex;gap:8px;justify-content:flex-end}.empty-state{text-align:center;padding:64px 24px;color:#718096}.empty-state p{font-size:16px;margin:0}.loading{text-align:center;padding:64px;color:#718096;font-size:16px}.modal-content{background:#fff;border-radius:12px;padding:0;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:32px 32px 0;margin-bottom:24px}.modal-header h2{margin:0;font-size:24px;font-weight:600;color:#1a202c}.modal-form{padding:0 32px 32px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#2d3748;font-size:14px}.form-group input,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#4299e1}.btn{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#e2e8f0;color:#2d3748}.btn-secondary:hover{background:#cbd5e0}.btn-icon{padding:8px;background:transparent;border:1px solid #e2e8f0;color:#4a5568;display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px}.btn-icon svg{width:20px;height:20px;flex-shrink:0}.btn-danger{color:#e53e3e;border-color:#fc8181}.btn-danger:hover:not(:disabled){background:#fed7d7;border-color:#f56565}.landing-block-palette{width:280px;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;height:100%}.block-palette-header{padding:16px;border-bottom:1px solid #e2e8f0}.block-palette-header h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#1a202c}.block-search{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;transition:border-color .2s}.block-search:focus{outline:none;border-color:#4299e1}.block-list{flex:1;overflow-y:auto;padding:8px}.block-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px;border:none;background:transparent;border-radius:8px;cursor:pointer;transition:background-color .2s;text-align:left}.block-item:hover{background:#f7fafc}.block-icon{display:flex;align-items:center;justify-content:center;color:#4a5568;flex-shrink:0}.block-info{flex:1;display:flex;flex-direction:column;gap:2px}.block-label{font-size:14px;font-weight:500;color:#2d3748}.template-editor-page{display:flex;flex-direction:column;height:100vh;max-height:100vh;overflow:hidden;width:100%;max-width:100vw;box-sizing:border-box}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;gap:16px}.editor-header-left{display:flex;align-items:center;gap:16px}.editor-header-left button{display:flex;align-items:center;gap:6px}.editor-header-left h1{margin:0;font-size:20px;font-weight:600;color:#1a202c}.dirty-indicator{padding:4px 8px;background:#fed7d7;color:#c53030;border-radius:4px;font-size:12px;font-weight:500}.save-feedback{font-size:13px;padding:4px 10px;border-radius:6px;background:#c6f6d5;color:#22543d;font-weight:500;align-self:center;white-space:nowrap}.save-feedback.error{background:#fed7d7;color:#c53030}.editor-header-center{flex:1;display:flex;justify-content:center}.viewport-switcher{display:flex;gap:8px;background:#f7fafc;padding:4px;border-radius:8px}.viewport-btn{padding:8px 16px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;color:#718096;transition:all .2s;display:flex;align-items:center;gap:6px}.viewport-btn:hover{background:#e2e8f0;color:#2d3748}.viewport-btn.active{background:#4299e1;color:#fff}.editor-header-actions{display:flex;gap:12px}.editor-layout{display:flex;flex:1;overflow:hidden;min-width:0;min-height:0;max-width:100%;box-sizing:border-box}.editor-sidebar-left{width:280px;min-width:280px;max-width:280px;background:#f7fafc;border-right:1px solid #e2e8f0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;flex-shrink:0;box-sizing:border-box}.editor-main{flex:1;overflow:hidden;background:#fff;padding:24px;min-width:0;min-height:0;max-width:100%;box-sizing:border-box;display:flex;flex-direction:column}.editor-sidebar-right{width:320px;min-width:320px;max-width:320px;background:#fff;border-left:1px solid #e2e8f0;overflow-y:auto;overflow-x:hidden;flex-shrink:0;box-sizing:border-box}@media(max-width:1400px){.editor-sidebar-right{width:280px;min-width:280px;max-width:280px}}@media(max-width:1200px){.editor-sidebar-left{width:240px;min-width:240px;max-width:240px}.editor-sidebar-right{width:260px;min-width:260px;max-width:260px}}@media(max-width:992px){.editor-sidebar-right{position:absolute;right:-320px;top:0;bottom:0;z-index:100;transition:right .3s ease;box-shadow:-2px 0 8px #0000001a}.editor-sidebar-right.open{right:0}.editor-main{padding:16px}}@media(max-width:768px){.editor-header{flex-wrap:wrap;padding:12px 16px}.editor-header-center{order:3;width:100%;margin-top:12px;justify-content:center}.mobile-menu-btn{display:flex;align-items:center;justify-content:center}@media(min-width:769px){.mobile-menu-btn{display:none}}.editor-sidebar-left{position:absolute;left:-280px;top:0;bottom:0;z-index:100;transition:left .3s ease;box-shadow:2px 0 8px #0000001a}.editor-sidebar-left.open{left:0}.editor-sidebar-right{position:absolute;right:-320px;top:0;bottom:0;z-index:100;transition:right .3s ease;box-shadow:-2px 0 8px #0000001a}.editor-sidebar-right.open{right:0}.editor-main{padding:12px}.editor-layout{position:relative}}@media(min-width:769px){.mobile-menu-btn{display:none}}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:99}@media(max-width:992px){.sidebar-overlay{display:block}}.sidebar-close-btn-mobile{display:none;position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;background:#0000001a;border-radius:6px;font-size:24px;line-height:1;cursor:pointer;z-index:10;color:#2d3748;align-items:center;justify-content:center;transition:background .2s}.sidebar-close-btn-mobile:hover{background:#0003}@media(max-width:992px){.sidebar-close-btn-mobile{display:flex}.editor-sidebar-left,.editor-sidebar-right{position:relative}.editor-sidebar-left.open,.editor-sidebar-right.open{position:absolute}}.empty-properties{padding:24px;text-align:center;color:#718096}.loading,.error{padding:48px;text-align:center;color:#718096}.error{color:#e53e3e}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background:#4299e1;color:#fff}.btn-primary:hover:not(:disabled){background:#3182ce}.btn-secondary{background:#e2e8f0;color:#4a5568}.btn-secondary:hover:not(:disabled){background:#cbd5e0}.btn-success{background:#48bb78;color:#fff}.btn-success:hover:not(:disabled){background:#38a169}.btn-danger{background:#fed7d7;color:#742a2a;border:1px solid #fc8181}.btn-danger:hover:not(:disabled){background:#feb2b2;border-color:#f56565}.btn-icon{padding:8px;background:transparent;color:#718096;border:1px solid #e2e8f0}.btn-icon:hover:not(:disabled){background:#f7fafc;border-color:#cbd5e0}.btn:disabled{opacity:.5;cursor:not-allowed}.flows-page{padding:var(--md-spacing-lg);max-width:1400px;margin:0 auto;width:100%;overflow-x:hidden}.flows-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.flows-header h1{margin:0;font-size:24px;font-weight:600}.flows-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.flow-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a;transition:box-shadow .2s}.flow-card:hover{box-shadow:0 4px 8px #00000026}.flow-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.flow-card-header h3{margin:0;font-size:18px;font-weight:600;flex:1}.flow-status{margin-left:12px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--md-radius-md);font-size:14px;font-weight:500;letter-spacing:.4px;white-space:nowrap}.status-badge.active{background:var(--md-success-bg);color:var(--md-success-text)}.status-badge.inactive{background:var(--md-error-bg);color:var(--md-error-text)}.flow-description{color:#666;font-size:14px;margin-bottom:12px;line-height:1.5}.flow-meta{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#999;margin-bottom:16px}.flow-actions{display:flex;gap:8px;justify-content:flex-end}.empty-state{text-align:center;padding:60px 20px;color:#999}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;padding:0;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;margin-bottom:20px}.modal-header h2{margin:0;font-size:20px;font-weight:600;color:#1a202c}.modal-close{background:none;border:none;color:#718096;cursor:pointer;padding:8px;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.modal-close:hover{background-color:#f7fafc;color:#2d3748}.modal-form{padding:0 24px 24px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:8px;font-weight:500;font-size:14px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.form-group textarea{resize:vertical;min-height:80px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.loading{text-align:center;padding:40px;color:#999}.btn-icon{padding:8px;background:transparent;color:#718096;border:1px solid #e2e8f0;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;min-width:32px;height:32px}.btn-icon:hover:not(:disabled){background:#f7fafc;border-color:#cbd5e0;color:#2d3748}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-icon.btn-danger{color:#e53e3e;background:transparent;border-color:#fc8181}.btn-icon.btn-danger:hover:not(:disabled){background:#fed7d7;border-color:#f56565}.btn-icon svg{width:20px;height:20px}.flow-step-node{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:16px;min-width:200px;max-width:250px;cursor:grab;transition:all .2s;box-shadow:0 2px 4px #0000001a;-webkit-user-select:none;user-select:none;flex-shrink:0}.flow-step-node:active{cursor:grabbing}.flow-step-node:hover{border-color:#2196f3;box-shadow:0 4px 8px #00000026}.flow-step-node.selected{border-color:#2196f3;background:#e3f2fd;box-shadow:0 4px 12px #2196f34d}.flow-step-node.invalid{border-color:#f44336;background:#ffebee;border-style:dashed;opacity:.8}.flow-step-node.invalid:hover{border-color:#d32f2f;background:#ffcdd2;opacity:1}.flow-step-node.invalid.selected{border-color:#d32f2f;background:#ffcdd2;box-shadow:0 4px 12px #f443364d}.step-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;position:relative}.step-delete-btn{margin-left:auto;background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#999;border-radius:4px;transition:all .2s}.step-delete-btn:hover{background:#ffebee;color:#d32f2f}.step-icon{font-size:24px}.step-type{font-weight:600;font-size:14px;color:#333}.step-content{display:flex;flex-direction:column;gap:4px}.step-name{font-size:14px;color:#666;font-weight:500}.step-order{font-size:12px;color:#999}.step-error-indicator{margin-top:8px;padding:4px 8px;background:#ffebee;color:#c62828;border-radius:4px;font-size:12px;font-weight:500;border:1px solid #ef5350}.flow-builder-canvas{width:100%;height:100%;overflow:auto;background:#f5f5f5;position:relative}.canvas-content{padding:40px;min-height:100%;display:flex;align-items:center;justify-content:center;width:100%}.empty-canvas{display:flex;align-items:center;justify-content:center;height:400px;color:#999;font-size:16px}.steps-container{display:flex;flex-direction:row;align-items:center;gap:0;flex-wrap:nowrap;justify-content:center;width:auto;margin:0 auto;overflow-x:auto;overflow-y:visible;padding:20px}.step-wrapper{display:flex;flex-direction:row;align-items:center;position:relative;flex-shrink:0}.drop-zone{position:relative;transition:all .2s}.drop-zone.drag-over:before{content:"";position:absolute;inset:-4px;border:2px dashed #2196f3;border-radius:8px;background:#2196f31a;z-index:-1}.drop-zone.drag-over{transform:scale(1.05)}.step-connector{display:flex;flex-direction:row;align-items:center;margin:0 16px;position:relative;min-width:80px;flex-shrink:0}.connector-line{width:60px;height:3px;background:linear-gradient(to right,#2196f3,#64b5f6);border-radius:2px;position:relative;box-shadow:0 2px 4px #2196f333}.connector-line:before{content:"";position:absolute;top:50%;left:0;transform:translateY(-50%);width:8px;height:8px;background:#2196f3;border-radius:50%;box-shadow:0 0 4px #2196f380}.connector-arrow{color:#2196f3;font-size:20px;line-height:1;margin-left:4px;filter:drop-shadow(0 2px 2px rgba(33,150,243,.3))}.flow-step-palette{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;min-width:200px;max-width:250px}.palette-title{margin:0 0 16px;font-size:16px;font-weight:600;color:#333}.palette-items{display:flex;flex-direction:column;gap:8px}.palette-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e0e0e0;border-radius:6px;cursor:grab;transition:all .2s;background:#fafafa}.palette-item:hover:not(.disabled){border-color:#2196f3;background:#e3f2fd;box-shadow:0 2px 4px #0000001a}.palette-item:active:not(.disabled){cursor:grabbing}.palette-item.disabled{opacity:.5;cursor:not-allowed;background:#f5f5f5}.palette-item-icon{font-size:24px;flex-shrink:0}.palette-item-content{flex:1;min-width:0}.palette-item-label{font-size:14px;font-weight:500;color:#333;margin-bottom:2px}.palette-item-description{font-size:12px;color:#666}.flow-step-selector{width:100%}.selector-title{margin:0 0 12px;font-size:14px;font-weight:600;color:#333}.selector-info{padding:12px;background:#e3f2fd;border-radius:6px;border:1px solid #90caf9}.selector-info p{margin:0 0 8px;font-size:13px;color:#1976d2}.selected-item{font-size:14px;color:#333}.selector-empty{padding:20px;text-align:center;color:#999;font-size:14px}.selector-error{padding:20px;text-align:center;background:#ffebee;border:1px solid #ef5350;border-radius:6px;color:#c62828;font-size:14px}.selector-error p{margin:0 0 8px}.selector-error .error-details{font-size:12px;color:#d32f2f;opacity:.8}.selector-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.selector-item{padding:12px;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s;background:#fff}.selector-item:hover{border-color:#2196f3;background:#f5f5f5}.selector-item.selected{border-color:#2196f3;background:#e3f2fd;box-shadow:0 2px 4px #2196f333}.selector-item-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.selector-item-name{font-size:14px;font-weight:500;color:#333;flex:1}.selector-item-badge{font-size:11px;padding:2px 8px;border-radius:12px;font-weight:500}.selector-item-badge.active{background:#e8f5e9;color:#2e7d32}.selector-item-badge.inactive{background:#f5f5f5;color:#757575}.selector-item-description{font-size:12px;color:#666;margin-top:4px;line-height:1.4}.flow-condition-editor{width:100%}.condition-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.condition-title{margin:0;font-size:14px;font-weight:600;color:#333}.btn-add-condition{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:background .2s}.btn-add-condition:hover{background:#1976d2}.condition-empty{padding:20px;text-align:center;color:#999;font-size:13px;background:#fafafa;border-radius:6px}.conditions-list{display:flex;flex-direction:column;gap:12px}.condition-item{padding:12px;border:1px solid #e0e0e0;border-radius:6px;background:#fafafa;position:relative}.condition-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.condition-row:last-child{margin-bottom:0}.condition-field{display:flex;flex-direction:column;gap:4px}.condition-field label{font-size:12px;font-weight:500;color:#666}.condition-field select,.condition-field input{padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:13px;width:100%;box-sizing:border-box}.btn-remove-condition{position:absolute;top:8px;right:8px;background:#ffebee;border:none;border-radius:4px;padding:4px;cursor:pointer;color:#d32f2f;display:flex;align-items:center;justify-content:center;transition:background .2s}.btn-remove-condition:hover{background:#ffcdd2}.flow-step-properties-panel{width:100%;height:100%;overflow-y:auto;background:#fff}.properties-title{margin:0 0 20px;font-size:18px;font-weight:600;color:#333;padding-bottom:12px;border-bottom:2px solid #e0e0e0}.properties-empty{padding:40px 20px;text-align:center;color:#999}.properties-section{margin-bottom:24px}.section-title{margin:0 0 12px;font-size:14px;font-weight:600;color:#333;text-transform:uppercase;letter-spacing:.5px}.settings-group{display:flex;flex-direction:column;gap:16px}.settings-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#333}.settings-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.settings-input-group{display:flex;flex-direction:column;gap:4px}.settings-input-group label{font-size:14px;font-weight:500;color:#333}.settings-input-group input[type=number]{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;width:100%;box-sizing:border-box}.input-hint{font-size:12px;color:#999}.info-group{display:flex;flex-direction:column;gap:12px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f0f0f0}.info-label{font-size:14px;color:#666;font-weight:500}.info-value{font-size:14px;color:#333;font-weight:600}.info-value-small{font-size:11px;font-family:monospace;color:#999;word-break:break-all}.confirm-modal-overlay{position:fixed;inset:0;background:var(--modal-overlay-bg);display:flex;align-items:center;justify-content:center;z-index:var(--modal-z-index-nicemodal);-webkit-backdrop-filter:blur(var(--modal-overlay-blur));backdrop-filter:blur(var(--modal-overlay-blur));animation:fadeIn .2s ease-out}.confirm-modal-content{background:var(--modal-content-bg);border-radius:var(--modal-content-border-radius);padding:0;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--modal-content-shadow);animation:slideUp .3s ease-out}.confirm-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--modal-header-padding);margin-bottom:var(--modal-header-margin-bottom)}.confirm-modal-header h2{margin:0;font-size:var(--modal-title-font-size);font-weight:var(--modal-title-font-weight);color:#333}.confirm-modal-close{background:none;border:none;color:#999;cursor:pointer;padding:8px;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1;width:32px;height:32px}.confirm-modal-close:hover{background-color:#f5f5f5;color:#333}.confirm-modal-body{padding:var(--modal-body-padding);color:var(--modal-body-color);line-height:1.6}.confirm-modal-body p{margin:0}.confirm-modal-actions{display:flex;gap:var(--modal-actions-gap);justify-content:flex-end;padding:var(--modal-actions-padding);padding-top:24px}.flow-builder-page{display:flex;flex-direction:column;height:100vh;background:#f5f5f5}.flow-builder-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#fff;border-bottom:1px solid #e0e0e0}.flow-builder-title{display:flex;align-items:center;gap:16px}.flow-builder-title h1{margin:0;font-size:20px;font-weight:600}.flow-description{margin:0;color:#666;font-size:14px}.flow-builder-actions{display:flex;gap:12px}.flow-builder-content{flex:1;overflow:hidden;position:relative;display:flex}.flow-builder-sidebar{width:280px;background:#fff;border-right:1px solid #e0e0e0;padding:16px;overflow-y:auto}.flow-builder-main{flex:1;overflow:hidden;position:relative}.flow-builder-properties{width:320px;background:#fff;border-left:1px solid #e0e0e0;padding:16px;overflow-y:auto}.loading{display:flex;align-items:center;justify-content:center;height:100%;color:#999}.flow-error{display:flex;align-items:center;justify-content:center;height:100%;color:#d32f2f;padding:20px;text-align:center}.save-feedback{padding:8px 12px;border-radius:4px;font-size:14px;display:inline-flex;align-items:center;gap:8px;max-width:500px;word-wrap:break-word;white-space:normal;position:relative;z-index:10}.save-feedback.success{background:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}.save-feedback.error{background:#ffebee;color:#c62828;border:1px solid #ef9a9a}*{margin:0;padding:0;box-sizing:border-box}:root{--md-primary: #1f2937;--md-primary-hover: #111827;--md-primary-variant: #374151;--md-on-primary: #ffffff;--md-surface: #ffffff;--md-surface-variant: #f5f5f5;--md-surface-container: #fafafa;--md-on-surface: #1c1b1f;--md-on-surface-variant: #49454f;--md-outline: #79747e;--md-outline-variant: #cac4d0;--md-success-bg: #e7f5e9;--md-success-text: #1e4620;--md-error-bg: #ffebee;--md-error-text: #8c0000;--md-warning-bg: #fff3e0;--md-warning-text: #7d5260;--md-shadow-sm: 0 1px 2px rgba(0,0,0,.05);--md-shadow-md: 0 3px 6px rgba(0,0,0,.1);--md-shadow-1: 0 1px 3px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.24);--md-shadow-2: 0 3px 6px rgba(0,0,0,.16), 0 3px 6px rgba(0,0,0,.23);--md-shadow-3: 0 10px 20px rgba(0,0,0,.19), 0 6px 6px rgba(0,0,0,.23);--md-radius-sm: 4px;--md-radius-md: 8px;--md-radius-lg: 12px;--md-radius-xl: 20px;--md-spacing-xs: 4px;--md-spacing-sm: 8px;--md-spacing-md: 12px;--md-spacing-lg: 16px;--md-spacing-xl: 24px;--md-spacing-2xl: 32px;--md-text-h4: 28px;--md-text-h5: 24px;--md-text-h6: 20px;--md-text-body1: 16px;--md-text-body2: 14px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--md-surface);color:var(--md-on-surface)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.toast-success{background:var(--toast-success-bg)!important;border-left:4px solid var(--toast-success-border)!important;color:var(--toast-success-text)!important}.toast-error{background:var(--toast-error-bg)!important;border-left:4px solid var(--toast-error-border)!important;color:var(--toast-error-text)!important}.toast-warning{background:var(--toast-warning-bg)!important;border-left:4px solid var(--toast-warning-border)!important;color:var(--toast-warning-text)!important}.toast-info{background:var(--toast-info-bg)!important;border-left:4px solid var(--toast-info-border)!important;color:var(--toast-info-text)!important}:root{--toast-success-bg: #e8f5e9;--toast-success-border: #4caf50;--toast-success-text: #2e7d32;--toast-success-icon: #4caf50;--toast-error-bg: #ffebee;--toast-error-border: #f44336;--toast-error-text: #c62828;--toast-error-icon: #f44336;--toast-warning-bg: #fff3e0;--toast-warning-border: #ff9800;--toast-warning-text: #e65100;--toast-warning-icon: #ff9800;--toast-info-bg: #e3f2fd;--toast-info-border: #2196f3;--toast-info-text: #1565c0;--toast-info-icon: #2196f3;--toast-min-width: 300px;--toast-max-width: 500px;--toast-padding: 16px 20px;--toast-border-radius: 8px;--toast-box-shadow: 0 4px 12px rgba(0, 0, 0, .15);--modal-overlay-bg: rgba(0, 0, 0, .6);--modal-overlay-blur: 4px;--modal-content-bg: white;--modal-content-border-radius: 12px;--modal-content-padding: 32px;--modal-content-shadow: 0 8px 32px rgba(0, 0, 0, .2);--modal-z-index: 1000;--modal-z-index-nicemodal: 10000;--modal-header-padding: 32px 32px 0;--modal-header-margin-bottom: 24px;--modal-title-font-size: 24px;--modal-title-font-weight: 400;--modal-body-padding: 0 32px;--modal-body-color: #666;--modal-actions-padding: 32px;--modal-actions-gap: 12px}.nicemodal-overlay{z-index:var(--modal-z-index-nicemodal)!important}.help-button{background:none;border:none;outline:none;cursor:pointer;padding:4px 8px;margin-left:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--md-on-surface-variant);border-radius:var(--md-radius-md);transition:all .2s;vertical-align:middle;min-width:auto;min-height:auto}.help-button:focus{outline:none;box-shadow:none}.help-button:focus-visible{outline:2px solid var(--md-primary);outline-offset:2px}.help-button:hover{background:var(--md-surface-container-highest);color:var(--md-primary)}.help-button:active{transform:scale(.95)}
