@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";.lang-switcher{z-index:100;position:relative}.lang-switcher-btn{color:#ffffffe6;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1px solid #fff3;border-radius:10px;align-items:center;gap:.5rem;padding:.5rem .85rem;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.lang-switcher-btn:hover{background:#fff3;border-color:#ffffff59}.lang-flag{font-size:1.1rem;line-height:1}.lang-arrow{opacity:.7;font-size:.7rem;transition:transform .2s}.lang-arrow.open{transform:rotate(180deg)}.lang-dropdown{background:#1e1e2e;border:1px solid #ffffff1f;border-radius:12px;min-width:160px;animation:.2s langDropIn;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 12px 40px #0006}@keyframes langDropIn{0%{opacity:0;transform:translateY(-8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.lang-dropdown.up{animation:.2s langDropUp;top:auto;bottom:calc(100% + 6px)}@keyframes langDropUp{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.lang-switcher.block,.lang-switcher.block .lang-switcher-btn{width:100%}.lang-switcher.block .lang-dropdown{min-width:0;left:0;right:0}.lang-option{color:#fffc;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.6rem;width:100%;padding:.7rem 1rem;font-size:.88rem;font-weight:500;transition:all .15s;display:flex}.lang-option:hover{color:#fff;background:#667eea33}.lang-option.active{color:#8da4ef;background:#667eea26}.lang-option+.lang-option{border-top:1px solid #ffffff0f}.lang-check{color:#667eea;margin-left:auto;font-size:.85rem;font-weight:700}.login-container{min-height:100dvh;padding:2rem;padding-top:max(2rem, env(safe-area-inset-top));padding-bottom:max(2rem, env(safe-area-inset-bottom));background:#0f0f1a;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.login-lang-bar{z-index:10;position:absolute;top:1.5rem;right:1.5rem}.login-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0a;border:1px solid #ffffff14;border-radius:20px;width:100%;max-width:420px;padding:2.5rem;box-shadow:0 20px 80px #00000080,0 0 60px #667eea14}.login-header{text-align:center;margin-bottom:2rem}.login-header .admin-logo{filter:drop-shadow(0 4px 12px #667eea4d);width:160px;height:auto;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;display:block}.login-header h1{color:#ffffffeb;margin-bottom:.5rem;font-family:Inter,sans-serif;font-size:1.6rem;font-weight:700}.login-header p{color:#ffffff80;font-size:.95rem}.login-form{flex-direction:column;gap:1.25rem;display:flex}.login-form .form-group label{color:#ffffffb3;font-size:.88rem;font-weight:500}.login-form .form-group input{color:#ffffffe6;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;padding:.8rem 1rem;font-size:.95rem;transition:all .2s}.login-form .form-group input::placeholder{color:#ffffff40}.login-form .form-group input:focus{background:#ffffff12;border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea26}.login-form .form-group input:disabled{opacity:.5;cursor:not-allowed}.password-input-wrapper{display:flex;position:relative}.password-input-wrapper input{width:100%;padding-right:2.75rem}.password-toggle-btn{cursor:pointer;opacity:.7;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;font-size:1.05rem;line-height:1;transition:opacity .2s;display:flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.password-toggle-btn:hover{opacity:1}.password-toggle-btn:disabled{cursor:not-allowed;opacity:.4}.login-form .btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:10px;padding:.85rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s;box-shadow:0 4px 16px #667eea4d}.login-form .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 24px #667eea66}.login-form .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-form .btn-secondary{color:#ffffffb3;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;padding:.8rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s}.login-form .btn-secondary:hover:not(:disabled){color:#ffffffe6;background:#ffffff1a}.login-form .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.form-help-text{color:#ffffff80;text-align:center;margin:-.25rem 0 .5rem;font-size:.88rem;line-height:1.5}.totp-setup{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.totp-setup-label{color:#fff9;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:600}.totp-setup-secret{letter-spacing:.12em;color:#b3c5f7;word-break:break-all;-webkit-user-select:all;user-select:all;background:#00000040;border:1px solid #ffffff1f;border-radius:8px;padding:.6rem .75rem;font-family:Courier New,monospace;font-size:1rem;display:block}.totp-setup-hint{color:#ffffff80;margin:0;font-size:.82rem;line-height:1.5}.totp-setup-link{color:#8da4ef}.login-form .error-message{color:#ef9a9a;text-align:center;background:#ef53501f;border:1px solid #ef535033;border-radius:10px;padding:.85rem 1rem;font-size:.88rem}.success-message{color:#81c784;text-align:center;background:#4caf501f;border:1px solid #4caf5033;border-radius:10px;padding:.85rem 1rem;font-size:.88rem}.btn-link{color:#8da4ef;cursor:pointer;text-align:center;background:0 0;border:none;margin-top:.25rem;padding:.4rem;font-size:.88rem;text-decoration:none;transition:color .2s}.btn-link:hover:not(:disabled){color:#b3c5f7;text-decoration:underline}.btn-link:disabled{color:#ffffff40;cursor:not-allowed}.login-footer{border-top:1px solid #ffffff0f;margin-top:2rem;padding-top:1.5rem}.help-text{text-align:center;color:#ffffff59;font-size:.8rem;line-height:1.5}@media (width<=480px){.login-container{padding:1rem;padding-top:max(1rem, env(safe-area-inset-top));padding-bottom:max(1rem, env(safe-area-inset-bottom));justify-content:flex-start}.login-card{border-radius:16px;margin-top:3.5rem;padding:1.5rem 1.25rem}.login-header .admin-logo{width:120px;margin-bottom:1rem}.login-lang-bar{top:max(.75rem, env(safe-area-inset-top));right:.75rem}}.chart-empty{color:#ffffff4d;justify-content:center;align-items:center;height:100px;font-size:1.4rem;display:flex}.bar-chart{flex-direction:column;display:flex}.bar-chart-bars{flex:1;align-items:flex-end;gap:6px;padding:0 4px;display:flex}.bar-chart-col{flex-direction:column;flex:1;align-items:center;gap:4px;min-width:0;display:flex}.bar-chart-value{color:#ffffffb3;text-align:center;font-size:.7rem;font-weight:700}.bar-chart-bar{transform-origin:bottom;border-radius:6px 6px 2px 2px;width:100%;max-width:48px;min-height:4px;transition:height .6s cubic-bezier(.22,1,.36,1);animation:.8s cubic-bezier(.22,1,.36,1) forwards barGrow}@keyframes barGrow{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}.bar-chart-label{color:#ffffff80;text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:60px;font-size:.65rem;overflow:hidden}.area-chart{width:100%}.area-chart-svg{width:100%;display:block}.area-chart-svg path{animation:1s forwards areaFadeIn}@keyframes areaFadeIn{0%{opacity:0}to{opacity:1}}.area-chart-labels{justify-content:space-between;padding:6px 4px 0;display:flex}.area-label{color:#ffffff73;font-size:.65rem}.donut-chart{flex-direction:column;align-items:center;gap:1rem;margin:0 auto;display:flex}.donut-svg{filter:drop-shadow(0 4px 12px #667eea33);width:100%;max-width:140px}.donut-segment{cursor:pointer;transition:opacity .2s;animation:1s cubic-bezier(.22,1,.36,1) forwards donutGrow}.donut-segment:hover{opacity:.85}@keyframes donutGrow{0%{stroke-dasharray:0 999}}.donut-legend{flex-direction:column;gap:6px;width:100%;display:flex}.donut-legend-item{color:#ffffffbf;align-items:center;gap:8px;font-size:.78rem;display:flex}.donut-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.donut-legend-text{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.donut-legend-value{color:#ffffffe6;font-family:Inter,monospace;font-weight:600}.hbar-chart{flex-direction:column;gap:.75rem;display:flex}.hbar-track{background:#ffffff0f;border-radius:8px;display:flex;overflow:hidden}.hbar-segment{height:100%;transition:width .8s cubic-bezier(.22,1,.36,1);animation:.8s cubic-bezier(.22,1,.36,1) forwards hbarGrow}@keyframes hbarGrow{0%{width:0}}.hbar-legend{flex-wrap:wrap;gap:.5rem 1rem;display:flex}.hbar-legend-item{color:#ffffffa6;align-items:center;gap:6px;font-size:.75rem;display:flex}.hbar-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.hbar-count{color:#ffffffd9;margin-left:2px;font-weight:700}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-body label{color:#ffffffd9;margin:.5rem 0 .35rem;font-size:.85rem;font-weight:600;display:block}.modal-body input[type=text],.modal-body input[type=password]{color:#e8e8f0;background:#ffffff0d;border:1px solid #ffffff26;border-radius:8px;width:100%;padding:.55rem .7rem;font-size:.9rem}.modal-actions .btn-secondary,.modal-actions .btn-modal-confirm,.modal-actions .btn-delete-confirm{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.6rem 1.15rem;font-size:.92rem;font-weight:600;transition:all .18s}.modal-actions .btn-modal-confirm{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 14px #667eea4d}.modal-actions .btn-modal-confirm:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #667eea66}:root{--brand-primary:#667eea;--brand-secondary:#764ba2;--brand-gradient:linear-gradient(135deg, #667eea 0%, #764ba2 100%);--brand-light:#667eea26;--brand-shadow:#667eea4d;--success:#66bb6a;--info:#42a5f5;--warning:#ffa726;--error:#ef5350;--tier-premium-gold:gold;--tier-premium-light:#ffed4e;--tier-standard-silver:silver;--tier-standard-light:#e0e0e0;--tier-basic-bronze:#cd7f32;--tier-basic-light:#e8a05a;--text-primary:#ffffffeb;--text-secondary:#ffffff8c;--text-hint:#fff6;--border:#ffffff1a;--bg-light:#ffffff0a;--bg-white:#ffffff0f}.form-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0;overflow-y:auto}.form-container{width:100%;max-width:900px;margin:2rem auto;animation:.3s ease-out slideIn}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.form-header{background:var(--brand-gradient);box-shadow:0 4px 20px var(--brand-shadow);color:#fff;border-radius:16px 16px 0 0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:0;padding:1rem 1.5rem;display:flex}.form-header-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.form-header h1{color:#fff;flex:1;min-width:200px;margin:0;font-size:1.4rem;font-weight:600}.btn-close{color:#fff;cursor:pointer;background:#fff3;border:2px solid #ffffff4d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.2rem;transition:all .2s;display:flex}.btn-close:hover{background:#ffffff4d;transform:rotate(90deg)}@media (width<=600px){.form-header{min-height:auto;padding:.75rem 1rem}.form-header-actions{gap:.3rem;width:100%}.form-header-actions .btn-secondary,.form-header-actions .btn-primary{white-space:nowrap;text-overflow:ellipsis;flex:1;padding:.4rem .6rem;font-size:.75rem;overflow:hidden}.btn-close{position:absolute;top:.75rem;right:1rem}.form-header h1{width:calc(100% - 40px);font-size:1rem}}.event-form{background:#1a1a2e;border:1px solid #ffffff0f;border-top:none;border-radius:0 0 16px 16px;max-height:calc(100dvh - 200px);padding:2rem;overflow-y:auto;box-shadow:0 4px 20px #0006}.form-section{border-bottom:1px solid #ffffff0f;margin-bottom:2.5rem;padding-bottom:2.5rem}.form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.form-section h2{color:var(--text-primary);align-items:center;gap:.5rem;margin:0 0 1.5rem;font-size:1.4rem;font-weight:600;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-row.form-row-three{grid-template-columns:1fr 1fr 1fr}@media (width<=700px){.form-row.form-row-three{grid-template-columns:1fr}}.form-group label{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.95rem;font-weight:500;display:flex}.form-group input,.form-group textarea,.form-group select{border:2px solid var(--border);background:var(--bg-white);width:100%;color:var(--text-primary);border-radius:8px;padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:all .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-light);outline:none}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{background:var(--bg-light);cursor:not-allowed;opacity:.6}.field-hint{color:var(--text-secondary);margin-top:.5rem;font-size:.85rem;display:block}.field-hint a{color:var(--brand-primary);text-decoration:none}.field-hint a:hover{text-decoration:underline}.hint{cursor:help;color:var(--brand-primary);margin-left:4px;font-size:.85rem;transition:transform .2s;display:inline-block;position:relative}.hint:hover{transform:scale(1.2)}.hint:after{content:attr(title);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;z-index:1000;background-color:#000000e6;border-radius:6px;padding:8px 12px;font-size:.85rem;transition:all .2s ease-in-out;position:absolute;bottom:125%;left:50%;transform:translate(-50%)scale(0);box-shadow:0 4px 12px #0003}.hint:before{content:"";opacity:0;pointer-events:none;z-index:1001;border:6px solid #0000;border-top-color:#000000e6;transition:all .2s ease-in-out;position:absolute;bottom:110%;left:50%;transform:translate(-50%)scale(0)}.hint:hover:after,.hint:hover:before{opacity:1;transform:translate(-50%)scale(1)}.qr-toast{color:var(--brand-primary);text-align:center;background:#667eea1f;border:1px solid #667eea4d;border-radius:8px;margin:0 0 1rem;padding:.75rem 1rem;font-size:.92rem;font-weight:500}.role-lock-badge{color:var(--brand-primary);cursor:help;-webkit-user-select:none;user-select:none;background:#667eea1f;border:1px solid #667eea4d;border-radius:20px;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.85rem;font-weight:600;display:inline-flex}.config-source-badge{border-radius:20px;align-items:center;margin-left:.5rem;padding:.25rem .7rem;font-size:.78rem;font-weight:600;display:inline-flex}.config-source-badge.global{color:#94a3b8;background:#94a3b826;border:1px solid #94a3b859}.config-source-badge.dedicated{color:#10b981;background:#10b9811f;border:1px solid #10b98159}.connection-test{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.connection-test .test-result{font-size:.85rem;font-weight:600}.connection-test .test-result.ok{color:#10b981}.connection-test .test-result.fail{color:#ef4444}.question-item{border:1px solid var(--border);background:var(--bg-light);border-radius:8px;margin-bottom:1rem;padding:1rem}.question-item-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.question-item-header h4{color:var(--text-primary);margin:0;font-weight:600}.toggle-container{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;display:flex}.toggle-container input[type=checkbox]{display:none}.toggle-slider{background:#ccc;border-radius:26px;width:50px;height:26px;transition:background .3s;position:relative}.toggle-slider:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .3s;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #0003}.toggle-container input[type=checkbox]:checked+.toggle-slider{background:var(--brand-gradient)}.toggle-container input[type=checkbox]:checked+.toggle-slider:before{transform:translate(24px)}.toggle-label{color:var(--text-primary);font-size:.9rem;font-weight:500}.info-box{border-left:4px solid var(--info);background:#42a5f514;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.info-icon{flex-shrink:0;font-size:1.5rem}.info-box p{color:#90caf9;margin:0;font-size:.95rem}.model-select{font-family:Courier New,monospace;font-size:.9rem}.model-select.tier-premium{border-color:var(--tier-premium-gold);background:linear-gradient(to right, #ffd70014, var(--bg-white))}.model-select.tier-standard{border-color:var(--tier-standard-silver);background:linear-gradient(to right, #c0c0c014, var(--bg-white))}.model-select.tier-basic{border-color:var(--tier-basic-bronze);background:linear-gradient(to right, #cd7f3214, var(--bg-white))}.model-info{border:2px solid var(--border);background:var(--bg-light);border-radius:12px;margin-top:1rem;padding:1.25rem}.model-info.tier-premium{border-color:var(--tier-premium-gold);background:linear-gradient(135deg,#ffd7000f,#ffd70005)}.model-info.tier-standard{border-color:var(--tier-standard-silver);background:linear-gradient(135deg,#c0c0c00f,#c0c0c005)}.model-info.tier-basic{border-color:var(--tier-basic-bronze);background:linear-gradient(135deg,#cd7f320f,#cd7f3205)}.model-details{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.detail{flex-direction:column;gap:.25rem;display:flex}.detail-label{color:var(--text-secondary);font-size:.8rem;font-weight:500}.detail-value{color:var(--text-primary);font-size:1rem;font-weight:600}.tier-badge{letter-spacing:.5px;border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:700;display:inline-block}.tier-badge.tier-premium{background:linear-gradient(135deg, var(--tier-premium-gold), var(--tier-premium-light));color:#8b6914}.tier-badge.tier-standard{background:linear-gradient(135deg, var(--tier-standard-silver), var(--tier-standard-light));color:#555}.tier-badge.tier-basic{background:linear-gradient(135deg, var(--tier-basic-bronze), var(--tier-basic-light));color:#5c3d1f}.cost-estimate{color:#fff9;text-align:center;background:#ffffff08;border-radius:8px;padding:.75rem;font-size:.9rem;font-weight:500}.cost-badge{border-left:4px solid var(--success);color:#81c784;background:#4caf501a;border-radius:8px;margin-top:1rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500}.error-message{border-left:4px solid var(--error);color:#ef9a9a;background:#ef53501a;border:1px solid #ef535033;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem;font-weight:500;display:flex}.error-icon{flex-shrink:0;font-size:1.5rem}.color-input-group{align-items:center;gap:.5rem;display:flex}.color-picker{border:2px solid var(--border);cursor:pointer;background:var(--bg-white);border-radius:8px;width:60px;height:42px;padding:2px}.color-picker:hover{border-color:var(--brand-primary)}.color-text{border:2px solid var(--border);text-transform:uppercase;background:var(--bg-white);color:var(--text-primary);border-radius:8px;flex:1;padding:.75rem;font-family:Courier New,monospace;font-size:.95rem}.color-text:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-light);outline:none}.theme-preview{border:2px solid var(--border);transition:transform .2s;box-shadow:0 4px 20px #0000001a}.theme-preview:hover{transform:translateY(-2px);box-shadow:0 6px 25px #00000026}.image-upload-group{flex-direction:column;gap:1rem;display:flex}.upload-methods{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.btn-upload{background:var(--brand-gradient);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:.65rem 1.25rem;font-weight:600;transition:all .2s}.btn-upload:hover:not(:disabled){box-shadow:0 4px 12px var(--brand-shadow);transform:translateY(-2px)}.btn-upload:disabled{opacity:.6;cursor:not-allowed}.url-input{border:2px solid var(--border);background:var(--bg-white);min-width:200px;color:var(--text-primary);border-radius:8px;flex:1;padding:.65rem;font-size:.9rem}.url-input::placeholder{color:var(--text-hint)}.url-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-light);outline:none}.image-preview{background:var(--bg-light);border:2px solid var(--border);border-radius:8px;align-items:center;gap:1rem;padding:1rem;display:flex}.preview-image{object-fit:contain;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:4px;max-width:200px;max-height:150px}.btn-remove-image{background:var(--error);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:600;transition:all .2s}.btn-remove-image:hover:not(:disabled){background:#d32f2f;transform:translateY(-1px)}.btn-remove-image:disabled{opacity:.6;cursor:not-allowed}.add-btn{color:var(--text-primary,#fff);cursor:pointer;white-space:nowrap;background:#ffffff0f;border:1px dashed #ffffff40;border-radius:8px;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.add-btn:hover:not(:disabled){background:#ffffff1f;border-color:#fff6}.add-btn:disabled{opacity:.6;cursor:not-allowed}.remove-btn{color:#ef9a9a;cursor:pointer;white-space:nowrap;background:#ef53501f;border:1px solid #ef535040;border-radius:6px;padding:.4rem .8rem;font-size:.82rem;font-weight:600;transition:all .2s}.remove-btn:hover:not(:disabled){background:#ef535033}.remove-btn:disabled{opacity:.6;cursor:not-allowed}.option-rows-header,.option-row{grid-template-columns:1fr 1.6fr 2.25rem;align-items:center;gap:.5rem;display:grid}.option-rows-header{margin:.25rem 0 .4rem}.option-rows-header .field-hint{margin:0;font-weight:600}.option-row{margin-bottom:.5rem}.option-row input{border:2px solid var(--border);background:var(--bg-white);width:100%;color:var(--text-primary);border-radius:8px;padding:.6rem .8rem;font-family:inherit;font-size:.92rem;transition:all .2s}.option-row input::placeholder{color:var(--text-hint)}.option-row input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-light);outline:none}.option-row input:disabled{background:var(--bg-light);cursor:not-allowed;opacity:.6}.option-row .btn-delete-sm{justify-self:center}@media (width<=768px){.option-rows-header{display:none}.option-row{grid-template-columns:1fr auto;gap:.4rem}.option-row input:nth-child(2){grid-column:1/-1}}.form-actions{border-top:1px solid #ffffff0f;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:2rem;display:flex}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:8px;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:all .2s}.btn-primary{background:var(--brand-gradient);color:#fff;box-shadow:0 4px 12px var(--brand-shadow)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--bg-white);color:var(--text-secondary);border:2px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-light);border-color:#ccc}@media (width<=768px){.form-overlay{justify-content:stretch;align-items:stretch;padding:0}.form-container{flex-direction:column;max-width:100%;min-height:100dvh;margin:0;display:flex}.form-header{padding:1rem 1.25rem;padding-top:max(1rem, env(safe-area-inset-top));border-radius:0}.form-header h1{font-size:1.3rem}.form-header-actions{gap:.4rem}.form-header-actions .btn-primary,.form-header-actions .btn-secondary{padding:.45rem .7rem;font-size:.82rem}.form-header-actions .btn-close{padding:.35rem .55rem}.event-form{padding:1.5rem;padding-bottom:max(1.5rem, env(safe-area-inset-bottom));border:none;border-radius:0;flex:1;max-height:none}.form-row,.model-details{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}.form-subsection{border:1px solid var(--border-subtle,#ffffff1a);background:#ffffff05;border-radius:12px;margin:1.5rem 0;padding:1.25rem}.form-subsection-title{margin:0 0 1rem;font-size:1rem;font-weight:600}.limit-overrides-form{grid-template-columns:1.4fr .8fr 1.6fr auto;align-items:end;gap:.75rem;display:grid}.limit-overrides-form .btn-primary{white-space:nowrap;padding-top:calc(.75rem + 2px);padding-bottom:calc(.75rem + 2px)}.limit-overrides-table{border-collapse:collapse;width:100%;margin-top:1rem;font-size:.9rem}.limit-overrides-table th,.limit-overrides-table td{text-align:left;border-bottom:1px solid var(--border-subtle,#ffffff14);padding:.5rem .6rem}.limit-overrides-table th{text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);font-size:.78rem}.btn-delete-sm{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.2rem .4rem;font-size:1rem}.btn-delete-sm:hover{background:#ef535026}@media (width<=768px){.limit-overrides-form{grid-template-columns:1fr}.limit-overrides-table thead{display:none}.limit-overrides-table,.limit-overrides-table tbody,.limit-overrides-table tr,.limit-overrides-table td{width:100%;display:block}.limit-overrides-table tr{border:1px solid var(--border-subtle,#ffffff1a);border-radius:8px;margin-bottom:.75rem;padding:.5rem}.limit-overrides-table td{border:none;justify-content:space-between;gap:1rem;padding:.35rem .5rem;display:flex}.limit-overrides-table td:before{content:attr(data-label);color:var(--text-secondary);font-weight:600}}.admin-view{max-width:1100px;color:var(--text,#e8e8f0);margin:0 auto;padding:1.5rem 2rem}.admin-view h2{margin:0 0 .25rem;font-size:1.5rem}.admin-view>p{color:#fff9;margin:0 0 1.25rem;font-size:.9rem}.admin-view-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.view-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0a;border:1px solid #ffffff0f;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem;display:flex}.view-header-title{align-items:center;gap:1rem;display:flex}.view-header-icon{font-size:1.8rem;line-height:1}.view-header-text h1{color:#ffffffeb;margin:0 0 .2rem;font-size:1.4rem;font-weight:700}.view-header-text p{color:#ffffff80;margin:0;font-size:.85rem}.view-header-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}@media (width<=900px){.view-header{flex-direction:column;align-items:flex-start}}.admin-view .panel-link{color:#8b9cf7;cursor:pointer;background:0 0;border:none;margin-bottom:.75rem;padding:.25rem 0;font-size:.85rem}.admin-view .panel-link:hover{text-decoration:underline}.admin-view label{margin:.75rem 0 .35rem;font-size:.85rem;font-weight:600;display:block}.admin-view select,.admin-view input[type=text],.admin-view input[type=email],.admin-view input[type=tel],.admin-view input[type=number]{width:100%;max-width:360px;color:inherit;background:#ffffff0d;border:1px solid #ffffff26;border-radius:8px;padding:.5rem .7rem;font-size:.9rem}.admin-view select option{color:#e8e8f0;background:#1a1a2e}.admin-view button:not(.panel-link){color:#e8e8f0;cursor:pointer;background:#7c82f72e;border:1px solid #ffffff26;border-radius:8px;padding:.5rem .9rem;font-size:.85rem;font-weight:600;transition:background .15s}.admin-view button:not(.panel-link):hover:not(:disabled){background:#7c82f752}.admin-view button:disabled{opacity:.5;cursor:default}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;display:grid}.gallery-grid img{aspect-ratio:1;object-fit:cover;border-radius:10px;width:100%;display:block}.pipeline-row{flex-wrap:wrap}.logs-filters{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-bottom:1.25rem;display:flex}.logs-filter-group{align-items:center;gap:.5rem;display:flex}.logs-filter-group label{color:var(--text,#e8e8f0);opacity:.7;white-space:nowrap;margin:0;font-size:.78rem}.logs-filter-group select{width:auto;max-width:220px;margin:0}.logs-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.log-row{background:#ffffff08;border:1px solid #ffffff0f;border-left-width:3px;border-radius:8px;align-items:center;gap:.75rem;padding:.6rem .85rem;display:flex}.log-row.level-error{border-left-color:#ef5350}.log-row.level-success{border-left-color:#66bb6a}.log-row.level-info{border-left-color:#42a5f5}.log-badge{letter-spacing:.04em;border-radius:6px;flex-shrink:0;padding:.15rem .45rem;font-size:.66rem;font-weight:700}.log-badge-error{color:#ef9a9a;background:#ef53502e}.log-badge-success{color:#81c784;background:#4caf502e}.log-badge-info{color:#90caf9;background:#42a5f52e}.log-main{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.log-message{color:var(--text,#e8e8f0);word-break:break-word;font-size:.86rem}.log-meta{opacity:.55;font-size:.72rem}.log-time{opacity:.5;white-space:nowrap;flex-shrink:0;font-size:.72rem}.log-details-link{white-space:nowrap;flex-shrink:0;font-size:.78rem}.log-detail-grid{grid-template-columns:max-content 1fr;gap:.4rem 1rem;margin:0 0 1rem;font-size:.85rem;display:grid}.log-detail-grid dt{opacity:.7;font-weight:600}.log-detail-grid dd{word-break:break-word;margin:0}.log-detail-image{margin-top:.5rem}.log-detail-image img{border-radius:8px;max-width:100%;max-height:320px;display:block}.admin-view .success-container{background:#66bb6a1f;border-left:4px solid #66bb6a;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}@media (width<=600px){.log-row{flex-wrap:wrap}.log-time{text-align:right;width:100%}.logs-filters{flex-direction:column;align-items:stretch}.logs-filter-group{width:100%}.logs-filter-group select{flex:1;max-width:none}}.admin-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.admin-table-wrap table{min-width:560px}.user-form{max-width:520px}.user-form input,.user-form select{max-width:none}.user-form fieldset{border-radius:8px;padding:.5rem .75rem}.admin-view .error-container{color:#ffb3bb;background:#dc354526;border:1px solid #dc354566;border-radius:8px;padding:.6rem .8rem;font-size:.85rem}.admin-view .info-box{background:#7c82f71f;border:1px solid #7c82f74d;border-radius:8px;padding:.6rem .8rem;font-size:.85rem}@media (width<=600px){.admin-view{padding:1rem}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}@media (width<=900px){.admin-view{padding-top:3.75rem}}@media (width<=700px){.admin-table-wrap{overflow-x:visible}.admin-table-wrap .users-table,.admin-table-wrap .accounts-table{min-width:0}.users-table thead,.accounts-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.users-table,.users-table tbody,.users-table tr,.users-table td,.accounts-table,.accounts-table tbody,.accounts-table>tbody>tr,.accounts-table>tbody>tr>td{width:100%;display:block}.users-table tr,.accounts-table>tbody>tr{background:#ffffff08;border:1px solid #ffffff1f;border-radius:10px;margin-bottom:.75rem;padding:.4rem .85rem}.users-table td,.accounts-table>tbody>tr>td{text-align:right;word-break:break-word;border:none;justify-content:space-between;align-items:center;gap:1rem;padding:.4rem 0;display:flex}.users-table td:before,.accounts-table>tbody>tr>td:before{content:attr(data-label);color:#ffffff8c;text-align:left;flex-shrink:0;font-weight:600}.users-table td:last-child,.accounts-table>tbody>tr>td:last-child{justify-content:flex-end;padding-top:.6rem}.accounts-table>tbody>tr>td[colspan]{text-align:left;-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.accounts-table>tbody>tr>td[colspan] table{font-size:.85rem}}.events-container{max-width:1400px;margin:0 auto;padding:2rem}.events-permission-hint{color:#ffb74d;background:#ff98001a;border-radius:6px;align-items:center;gap:.3rem;margin-top:.3rem;padding:.2rem .5rem;font-size:.72rem;display:inline-flex}.loading{text-align:center;color:#ffffff80;padding:3rem;font-size:1.1rem}.empty-state{text-align:center;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:16px;padding:4rem 2rem}.empty-state p{color:#ffffff80;margin-bottom:1.5rem;font-size:1.1rem}.events-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.25rem;display:grid}.event-card{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:14px;transition:all .25s;overflow:hidden}.event-card:hover{border-color:#ffffff1f;transform:translateY(-3px);box-shadow:0 8px 32px #0000004d,0 0 20px #667eea14}.event-header{background:linear-gradient(135deg,#667eea26 0%,#764ba226 100%);border-bottom:1px solid #ffffff0f;padding:1.25rem 1.5rem}.event-header h3{color:#fffffff2;margin-bottom:.4rem;font-size:1.15rem;font-weight:700}.event-id{color:#ffffff80;background:#ffffff14;border-radius:10px;padding:.2rem .6rem;font-family:Inter,monospace;font-size:.78rem;display:inline-block}.event-body{padding:1.25rem 1.5rem}.event-description{color:#fff9;margin-bottom:1rem;font-size:.9rem;line-height:1.6}.event-info{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.65rem;font-size:.85rem;display:flex}.event-info .label{color:#ffffffbf;font-weight:600}.event-info span{color:#ffffff8c}.prompt-preview{font-style:italic;color:#8da4ef!important}.status-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:20px;padding:2px 10px;font-size:.72rem;font-weight:700;display:inline-block}.status-badge.status-active{color:#66bb6a;background-color:#4caf5026;border:1px solid #4caf5040}.status-badge.status-inactive{color:#ef5350;background-color:#ef535026;border:1px solid #ef535040}.status-badge.status-paused{color:#ffa726;background-color:#ff980026;border:1px solid #ff980040}.status-badge.status-expired{color:#9e9e9e;background-color:#9e9e9e26;border:1px solid #9e9e9e40}.status-badge.status-scheduled{color:#42a5f5;background-color:#2196f326;border:1px solid #2196f340}.status-badge.status-suspended_by_admin,.status-badge.status-suspended{color:#e53935;background-color:#b71c1c2e;border:1px solid #b71c1c59}.event-meta{border-top:1px solid #ffffff0f;flex-direction:column;gap:.2rem;margin-top:1rem;padding-top:.75rem;display:flex}.event-meta small{color:#ffffff4d;font-size:.75rem}.event-actions{background:#ffffff05;border-top:1px solid #ffffff0f;grid-template-columns:repeat(2,1fr);gap:.5rem;padding:.85rem 1.25rem;display:grid}.event-actions button{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.modal-overlay{z-index:1100;background:#0009;justify-content:center;align-items:center;padding:1.5rem;animation:.18s ease-out modal-fade;display:flex;position:fixed;inset:0}.modal-dialog{background:#1a1a2e;border:1px solid #ffffff14;border-radius:14px;width:100%;max-width:460px;animation:.2s ease-out modal-pop;box-shadow:0 18px 60px #0000008c}.modal-header{border-bottom:1px solid #ffffff0f;padding:1.25rem 1.5rem .75rem}.modal-header h2{color:#ffffffeb;margin:0;font-size:1.2rem;font-weight:600}.modal-body{color:#ffffffbf;padding:1.25rem 1.5rem;font-size:.95rem;line-height:1.45}.modal-body p{margin:0 0 .85rem}.modal-body p:last-child{margin-bottom:0}.modal-target{background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;flex-direction:column;gap:.15rem;padding:.65rem .85rem;display:flex}.modal-target strong{color:#ffffffeb;font-size:1rem}.modal-target small{color:#fff6;font-family:Courier New,monospace;font-size:.78rem}.modal-warning{color:#ffa726;font-size:.88rem}.modal-actions{justify-content:flex-end;gap:.65rem;padding:.85rem 1.5rem 1.25rem;display:flex}.modal-actions .btn-secondary,.modal-actions .btn-delete-confirm{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.6rem 1.15rem;font-size:.92rem;font-weight:600;transition:all .18s}.modal-actions .btn-secondary{color:#ffffffd9;background:#ffffff0f;border-color:#ffffff1f}.modal-actions .btn-secondary:hover:not(:disabled){background:#ffffff1a}.modal-actions .btn-delete-confirm{color:#fff;background:linear-gradient(135deg,#ef5350,#c62828);box-shadow:0 4px 14px #ef53504d}.modal-actions .btn-delete-confirm:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #ef535066}.modal-actions button:disabled{opacity:.5;cursor:not-allowed}@media (width<=900px){.events-container{padding-top:3.75rem}.events-grid{grid-template-columns:1fr}}.plan-selection{background:var(--bg-dark,#0f0f1a);color:#ffffffeb;flex-direction:column;min-height:100vh;display:flex}.plan-selection-topbar{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.plan-selection-logo{height:32px}.plan-selection-topbar-actions{align-items:center;gap:12px;display:flex}.plan-selection-logout{border-radius:var(--radius-sm,8px);color:#ef9a9a;cursor:pointer;white-space:nowrap;background:#ef535014;border:1px solid #ef53502e;align-items:center;gap:.5rem;padding:.5rem .9rem;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.plan-selection-logout:hover{background:#ef535029}.plan-selection-content{text-align:center;width:100%;max-width:1080px;margin:0 auto;padding:48px 24px}.plan-selection-content h1{margin:0 0 8px;font-size:1.9rem}.plan-selection-subtitle{color:#ffffff8c;margin:0 0 32px}.plan-selection-error,.plan-selection-notice,.plan-selection-loading{margin:16px 0}.plan-selection-error{color:#ef5350}.plan-selection-notice{color:#66bb6a}.plan-cards{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:20px;display:grid}.plan-card{border-radius:var(--radius-lg,16px);background:#ffffff0a;border:1px solid #ffffff14;flex-direction:column;align-items:center;gap:12px;padding:24px;transition:border-color .2s,transform .2s;display:flex}.plan-card:hover{border-color:#667eea;transform:translateY(-2px)}.plan-card-name{margin:0;font-size:1.2rem}.plan-card-credits{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700}.plan-card-credits span{color:#ffffff8c;-webkit-text-fill-color:#ffffff8c;font-size:.85rem;font-weight:400}.plan-card-price{font-size:1.3rem;font-weight:600}.plan-card-features{color:#ffffff8c;text-align:center;margin:0;padding:0;font-size:.85rem;list-style:none}.plan-card-features li{margin:4px 0}.plan-card .btn-primary{width:100%;margin-top:8px}.credits-explainer{border-radius:var(--radius-lg,16px);text-align:center;background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid #667eea40;margin-top:32px;padding:24px}.credits-explainer-title{margin:0 0 6px;font-size:1.05rem}.credits-explainer-intro{color:#fff9;margin:0 0 20px;font-size:.9rem}.credits-explainer-grid{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:16px;max-width:480px;margin:0 auto;display:grid}.credits-explainer-item{border-radius:var(--radius-md,12px);background:#ffffff0a;flex-direction:column;align-items:center;gap:4px;padding:14px;display:flex}.credits-explainer-icon{font-size:1.6rem}.credits-explainer-item strong{font-size:.95rem}.credits-explainer-item span:last-child{color:#fff9;font-size:.85rem}.credits-explainer-help{color:#ffffff80;margin:20px 0 0;font-size:.85rem}.credits-explainer-help a{color:#8b9bf5;font-weight:600;text-decoration:none}.credits-explainer-help a:hover{text-decoration:underline}.billing-summary{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:28px;display:grid}@media (width<=720px){.billing-summary{grid-template-columns:1fr}}.billing-balance-card,.billing-meta{border-radius:var(--radius-lg,16px);background:#ffffff0a;border:1px solid #ffffff14;padding:24px}.billing-balance-label{color:#ffffff8c;font-size:.85rem;display:block}.billing-balance-value{margin:4px 0 16px;font-size:2.6rem;font-weight:800;display:block}.billing-bar{background:#ffffff14;border-radius:6px;height:10px;overflow:hidden}.billing-bar-fill{background:linear-gradient(135deg,#667eea,#764ba2);height:100%}.billing-bar-caption{color:#ffffff8c;margin-top:8px;font-size:.8rem;display:block}.billing-meta{grid-template-columns:1fr 1fr;gap:16px;display:grid}.billing-meta-label{color:#ffffff73;font-size:.78rem;display:block}.billing-meta-value{text-transform:capitalize;font-size:1.05rem;font-weight:600;display:block}.billing-buy h2,.billing-ledger h2{margin:24px 0 12px;font-size:1.1rem}.billing-ledger{overflow-x:auto}.billing-ledger-table{border-collapse:collapse;width:100%;font-size:.9rem}.billing-ledger-table th,.billing-ledger-table td{text-align:left;border-bottom:1px solid #ffffff0f;padding:10px 12px}.billing-ledger-table th{color:#ffffff73;font-weight:500}.billing-empty{color:#ffffff73}.sidebar-credits{border-radius:var(--radius-md,12px);background:#667eea1f;border:1px solid #667eea40;align-items:center;gap:6px;margin:8px 0;padding:8px 12px;font-size:.85rem;display:flex}.sidebar-credits.low{background:#ffa7261f;border-color:#ffa7264d}.sidebar-credits-value{font-weight:700}:root{--sidebar-width:240px;--sidebar-collapsed:68px;--topbar-height:64px;--bg-dark:#0f0f1a;--bg-card:#ffffff0a;--bg-card-hover:#ffffff12;--border-subtle:#ffffff0f;--border-light:#ffffff1a;--accent:#667eea;--accent-light:#667eea26;--accent-glow:#667eea4d;--text-primary:#ffffffeb;--text-secondary:#ffffff8c;--text-muted:#ffffff59;--gradient-brand:linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-card:linear-gradient(135deg, #ffffff0d 0%, #ffffff05 100%);--shadow-card:0 4px 24px #0003;--shadow-glow:0 0 30px #667eea1f;--radius-lg:16px;--radius-md:12px;--radius-sm:8px}.admin-layout{background:var(--bg-dark);min-height:100dvh;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;display:flex;overflow-x:hidden}.admin-sidebar{width:var(--sidebar-width);border-right:1px solid var(--border-subtle);z-index:50;background:linear-gradient(#13132a 0%,#0d0d1a 100%);flex-direction:column;min-height:100dvh;transition:width .3s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;top:0;left:0}.sidebar-collapsed .admin-sidebar{width:var(--sidebar-collapsed)}.sidebar-brand{border-bottom:1px solid var(--border-subtle);align-items:center;gap:.75rem;padding:1.25rem 1rem;display:flex}.sidebar-logo{object-fit:contain;flex-shrink:0;width:36px;height:36px}.sidebar-brand-text{background:var(--gradient-brand);-webkit-text-fill-color:transparent;white-space:nowrap;-webkit-background-clip:text;background-clip:text;font-size:1.15rem;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:1rem .6rem;display:flex}.sidebar-nav-item{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:.75rem;padding:.7rem .9rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.sidebar-nav-item:hover{background:var(--accent-light);color:var(--text-primary)}.sidebar-nav-item.active{background:var(--accent-light);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);font-weight:600}.nav-icon{text-align:center;flex-shrink:0;width:24px;font-size:1.15rem}.sidebar-footer{border-top:1px solid var(--border-subtle);flex-direction:column;gap:.75rem;padding:1rem;display:flex}.sidebar-user{align-items:center;gap:.75rem;display:flex}.user-avatar{background:var(--gradient-brand);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.95rem;font-weight:700;display:flex}.user-info{flex-direction:column;min-width:0;display:flex}.user-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.user-role{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.sidebar-collapse-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-muted);cursor:pointer;background:#ffffff0a;padding:.4rem;font-size:.85rem;transition:all .2s}.sidebar-collapse-btn:hover{background:var(--accent-light);color:var(--text-primary)}.sidebar-actions{flex-direction:column;align-items:stretch;gap:.5rem;min-width:0;display:flex}.sidebar-logout{border-radius:var(--radius-sm);color:#ef9a9a;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#ef535014;border:1px solid #ef53502e;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.5rem .7rem;font-size:.85rem;font-weight:500;transition:all .2s;display:flex;overflow:hidden}.sidebar-logout:hover{background:#ef535029}.sidebar-collapsed .sidebar-actions .lang-name,.sidebar-collapsed .sidebar-logout span:not(.nav-icon){display:none}.floating-hamburger{top:max(.6rem, env(safe-area-inset-top));z-index:60;border:1px solid var(--border-light);width:42px;height:42px;color:var(--text-primary);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#141428eb;border-radius:10px;justify-content:center;align-items:center;font-size:1.3rem;display:none;position:fixed;left:.6rem}.admin-main{min-width:0;margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-height:100dvh;transition:margin-left .3s cubic-bezier(.22,1,.36,1);display:flex}.sidebar-collapsed .admin-main{margin-left:var(--sidebar-collapsed)}.admin-topbar{height:var(--topbar-height);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);z-index:40;background:#0f0f1acc;justify-content:space-between;align-items:center;padding:0 2rem;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:1.5rem;display:flex}.topbar-title{color:var(--text-primary);margin:0;font-size:1.3rem;font-weight:700}.topbar-welcome{color:var(--text-secondary);font-size:.85rem}.topbar-welcome strong{color:var(--text-primary)}.topbar-right{align-items:center;gap:.75rem;display:flex}.permission-badge{color:#ffb74d;background:#ff98001f;border:1px solid #ff980033;border-radius:20px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.75rem;font-weight:600;display:flex}.permission-badge.superadmin{color:#8da4ef;background:#667eea1f;border-color:#667eea40}.topbar-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:#ffffff0f;padding:.45rem .85rem;font-size:.85rem;transition:all .2s}.topbar-btn:hover{background:var(--accent-light);color:var(--text-primary);border-color:#667eea4d}.topbar-btn.logout{color:#ef5350;border-color:#ef535026;font-weight:500}.topbar-btn.logout:hover{background:#ef53501a;border-color:#ef53504d}.dashboard-content{flex:1;padding:1.5rem 2rem 2rem;overflow-y:auto}.dashboard-loading{height:50vh;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.dashboard-error{border-radius:var(--radius-md);color:#ef9a9a;background:#ef53501a;border:1px solid #ef535033;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.dashboard-error button{border-radius:var(--radius-sm);color:#ef9a9a;cursor:pointer;background:#ef535033;border:1px solid #ef53504d;margin-left:auto;padding:.35rem .75rem;font-size:.8rem}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.kpi-card{background:var(--gradient-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);align-items:center;gap:1rem;padding:1.25rem;transition:all .3s;display:flex;position:relative;overflow:hidden}.kpi-card:before{content:"";opacity:.55;height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.kpi-card:hover{background:var(--bg-card-hover);border-color:var(--border-light);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.kpi-card:hover:before{opacity:1}.kpi-events:before{background:var(--gradient-brand)}.kpi-activations:before{background:linear-gradient(90deg,#43e97b,#38f9d7)}.kpi-images:before{background:linear-gradient(90deg,#f093fb,#f5576c)}.kpi-cost:before{background:linear-gradient(90deg,#ffd86f,#fc6767)}.kpi-errors:before{background:linear-gradient(90deg,#ff6b6b,#ee5a24)}.kpi-speed:before{background:linear-gradient(90deg,#4facfe,#00f2fe)}.kpi-icon{border-radius:var(--radius-sm);background:#ffffff0d;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;line-height:1;display:flex}.kpi-events .kpi-icon{background:#667eea29}.kpi-activations .kpi-icon{background:#43e97b29}.kpi-images .kpi-icon{background:#f093fb29}.kpi-cost .kpi-icon{background:#ffd86f29}.kpi-errors .kpi-icon{background:#ff6b6b29}.kpi-speed .kpi-icon{background:#4facfe29}.kpi-data{flex-direction:column;gap:2px;min-width:0;display:flex}.kpi-value{letter-spacing:-.02em;color:var(--text-primary);font-size:1.6rem;font-weight:800;line-height:1.1}.kpi-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:500}.kpi-sub{color:var(--text-muted);font-size:.7rem}.charts-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.live-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}@media (width<=900px){.live-grid{grid-template-columns:1fr}}.chart-card{background:var(--gradient-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1.25rem;transition:all .3s}.chart-card:hover{border-color:var(--border-light);box-shadow:var(--shadow-card)}.chart-card.chart-wide{grid-column:span 2}.chart-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.chart-header h3{color:var(--text-primary);margin:0;font-size:.9rem;font-weight:600}.chart-period{color:var(--text-muted);border-radius:var(--radius-sm);background:#ffffff0a;padding:.2rem .5rem;font-size:.72rem}.bottom-grid{grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}.panel-card{background:var(--gradient-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1.25rem;transition:border-color .3s}.panel-card:hover{border-color:var(--border-light)}.panel-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.panel-header h3{color:var(--text-primary);margin:0;font-size:.9rem;font-weight:600}.panel-link{color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:.78rem;font-weight:500;transition:opacity .2s}.panel-link:hover{opacity:.8}.panel-empty{color:var(--text-muted);text-align:center;padding:2rem 0;font-size:.85rem}.panel-empty-success{color:#66bb6a}.activity-list{flex-direction:column;gap:2px;max-height:320px;display:flex;overflow-y:auto}.activity-item{border-radius:var(--radius-sm);align-items:center;gap:.75rem;padding:.65rem .5rem;transition:background .15s;display:flex}.activity-item:hover{background:#ffffff08}.activity-icon{flex-shrink:0;font-size:1.1rem}.activity-details{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.activity-event{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600;overflow:hidden}.activity-action{color:var(--text-muted);text-transform:capitalize;font-size:.7rem}.activity-time{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:.7rem}.health-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:20px;padding:.25rem .6rem;font-size:.72rem;font-weight:700}.health-badge.healthy{color:#66bb6a;background:#4caf5026;border:1px solid #4caf5040}.health-badge.degraded{color:#ffa726;background:#ff980026;border:1px solid #ff980040}.health-badge.down{color:#ef5350;background:#ef535026;border:1px solid #ef535040}.health-metrics{flex-direction:column;gap:.85rem;display:flex}.health-metric{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:#ffffff05;justify-content:space-between;align-items:center;padding:.6rem .75rem;display:flex}.metric-label{color:var(--text-secondary);font-size:.8rem}.metric-value{color:var(--text-primary);font-family:Inter,monospace;font-size:.85rem;font-weight:700}.metric-good{color:#66bb6a}.errors-list{flex-direction:column;gap:.5rem;max-height:320px;display:flex;overflow-y:auto}.error-item{border-radius:var(--radius-sm);background:#ffffff05;border-left:3px solid #0000;padding:.7rem .75rem;transition:background .15s}.error-item:hover{background:#ffffff0a}.error-item.severity-warning{border-left-color:#ffa726}.error-item.severity-error{border-left-color:#ef5350}.error-item.severity-critical{background:#d500000d;border-left-color:#d50000}.error-top{align-items:flex-start;gap:.5rem;margin-bottom:.3rem;display:flex}.severity-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:5px}.severity-dot.warning{background:#ffa726}.severity-dot.error{background:#ef5350}.severity-dot.critical{background:#d50000;box-shadow:0 0 6px #d5000080}.error-desc{color:var(--text-primary);font-size:.8rem;line-height:1.3}.error-bottom{justify-content:space-between;padding-left:17px;display:flex}.error-event,.error-time{color:var(--text-muted);font-size:.7rem}.top-events-section{margin-bottom:1.5rem}.top-events-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;display:grid}.top-event-card{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff05;padding:1rem;transition:all .2s}.top-event-card:hover{background:var(--bg-card-hover);border-color:var(--border-light);transform:translateY(-1px)}.top-event-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.top-event-header h4{text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:.88rem;font-weight:600;overflow:hidden}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot.status-active{background:#66bb6a;box-shadow:0 0 8px #66bb6a80}.status-dot.status-inactive{background:#ef5350}.status-dot.status-paused{background:#ffa726}.status-dot.status-expired{background:#9e9e9e}.status-dot.status-scheduled{background:#42a5f5}.top-event-stats{gap:1rem;margin-bottom:.5rem;display:flex}.top-event-stat{flex-direction:column;gap:1px;display:flex}.stat-value{color:var(--text-primary);font-size:.95rem;font-weight:700}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.65rem}.top-event-location{color:var(--text-muted);font-size:.72rem}.dashboard-footer{border-top:1px solid var(--border-subtle);color:var(--text-muted);justify-content:space-between;align-items:center;padding:1rem 0;font-size:.72rem;display:flex}.dashboard-content .spinner{border:3px solid #ffffff1a;border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.filters-bar{background:var(--gradient-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:.85rem 1.25rem;display:flex}.filter-group{align-items:center;gap:.6rem;display:flex}.filter-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:.75rem;font-weight:600}.filter-pills{gap:4px;display:flex}.filter-pill{color:var(--text-secondary);border:1px solid var(--border-subtle);cursor:pointer;background:#ffffff0a;border-radius:20px;padding:.35rem .75rem;font-size:.78rem;font-weight:500;transition:all .2s}.filter-pill:hover{background:var(--accent-light);color:var(--text-primary);border-color:#667eea40}.filter-pill.active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.filter-select{color:var(--text-primary);border:1px solid var(--border-subtle);cursor:pointer;background:#ffffff0f;border-radius:8px;max-width:200px;padding:.35rem .75rem;font-size:.78rem;font-weight:500;transition:all .2s}.filter-select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #667eea26}.filter-select option{color:var(--text-primary);background:#1a1a2e}.filter-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-left:auto;display:flex}.filter-report-btn{color:var(--text-primary);background:var(--accent-light);cursor:pointer;white-space:nowrap;border:1px solid #667eea59;border-radius:8px;align-items:center;gap:.4rem;padding:.4rem .9rem;font-size:.78rem;font-weight:600;transition:all .2s;display:inline-flex}.filter-report-btn:hover:not(:disabled){border-color:var(--accent);background:#667eea47}.filter-report-btn:disabled{opacity:.5;cursor:not-allowed}.filter-export-msg{color:var(--text-secondary);align-self:center;font-size:.75rem}.filter-live-badge{color:#66bb6a;letter-spacing:.04em;background:#4caf501a;border:1px solid #4caf5040;border-radius:20px;align-items:center;gap:.4rem;margin-left:auto;padding:.3rem .7rem;font-size:.72rem;font-weight:700;display:flex}.pulse-dot{background:#66bb6a;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.5s ease-in-out infinite pulse;display:inline-block}.pulse-dot.pulse-green{background:#66bb6a}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.topbar-autorefresh{align-items:center;gap:.35rem;display:flex;position:relative}.topbar-select{color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;background:#ffffff0f;padding:.4rem .65rem;font-size:.78rem;font-weight:500;transition:all .2s}.topbar-select:focus{border-color:var(--accent);outline:none}.topbar-select option{color:var(--text-primary);background:#1a1a2e}.autorefresh-indicator{align-items:center;display:flex}.topbar-btn.kiosk-active{color:var(--accent);border-color:var(--accent);background:#667eea40}.admin-layout.kiosk-mode .admin-sidebar{display:none}.admin-layout.kiosk-mode .admin-main{margin-left:0}.admin-layout.kiosk-mode .admin-topbar{height:48px;padding:0 1rem}.admin-layout.kiosk-mode .topbar-title{font-size:1rem}.admin-layout.kiosk-mode .topbar-welcome,.admin-layout.kiosk-mode .topbar-btn.logout{display:none}.last-photo-card{flex-direction:column;min-height:280px;display:flex}.last-photo-live{color:#66bb6a;text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.4rem;font-size:.7rem;font-weight:700;display:flex}.last-photo-content{flex-direction:column;flex:1;gap:.85rem;display:flex}.last-photo-image-wrap{aspect-ratio:16/10;background:#ffffff08;border-radius:10px;position:relative;overflow:hidden}.last-photo-image{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.last-photo-image-wrap:hover .last-photo-image{transform:scale(1.03)}.last-photo-fallback{background:#ffffff05;justify-content:center;align-items:center;width:100%;height:100%;font-size:3rem;display:flex}.last-photo-overlay{background:linear-gradient(#0000,#000000bf);padding:.5rem .75rem;position:absolute;bottom:0;left:0;right:0}.last-photo-time{color:#ffffffe6;font-family:Inter,monospace;font-size:.7rem;font-weight:600}.last-photo-meta{flex-direction:column;gap:.35rem;display:flex}.last-photo-row{align-items:center;gap:.4rem;font-size:.78rem;display:flex}.lp-icon{text-align:center;flex-shrink:0;width:18px;font-size:.85rem}.lp-label{color:var(--text-muted);flex-shrink:0;min-width:55px;font-weight:500}.lp-value{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.last-photo-whatsapp{background:#25d3660f;border:1px solid #25d36626;border-radius:8px;align-items:flex-start;gap:.4rem;margin-top:.25rem;padding:.55rem .65rem;display:flex}.lp-whatsapp-msg{color:#81c784;font-size:.72rem;font-style:italic;line-height:1.4}.last-photo-empty{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.5rem;font-size:2rem;display:flex}.last-photo-empty p{font-size:.82rem}@media (width<=1200px){.charts-grid{grid-template-columns:repeat(2,1fr)}.chart-card.chart-wide{grid-column:span 2}.bottom-grid{grid-template-columns:1fr 1fr}.errors-panel{grid-column:span 2}}.topbar-hamburger{color:var(--text,#e8e8f0);cursor:pointer;background:0 0;border:none;margin-right:.25rem;padding:.25rem .5rem;font-size:1.4rem;line-height:1;display:none}.mobile-nav-overlay{z-index:90;background:#00000080;border:none;padding:0;display:none;position:fixed;inset:0}@media (width<=900px){.floating-hamburger{display:flex}.charts-grid{grid-template-columns:1fr}.chart-card.chart-wide{grid-column:span 1}.bottom-grid{grid-template-columns:1fr}.errors-panel{grid-column:auto}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.admin-topbar{padding:env(safe-area-inset-top) 1rem 0 3.75rem;height:calc(var(--topbar-height) + env(safe-area-inset-top))}.dashboard-content{padding:1rem}.topbar-welcome{display:none}.filters-bar{flex-direction:column;align-items:flex-start}.filter-live-badge{margin-left:0}.filter-actions{flex-direction:column;align-items:stretch;width:100%;margin-left:0}.filter-actions .filter-report-btn{justify-content:center}.topbar-hamburger{align-items:center;display:inline-flex}.admin-sidebar{width:var(--sidebar-width);z-index:100;transition:transform .25s;transform:translate(-100%)}.sidebar-brand-text,.sidebar-nav-item span:not(.nav-icon){display:inline}.admin-main,.sidebar-collapsed .admin-main{margin-left:0}.sidebar-collapse-btn{display:none}.mobile-nav-open .admin-sidebar{transform:translate(0);box-shadow:4px 0 24px #0006}.mobile-nav-open .mobile-nav-overlay{display:block}.admin-sidebar{padding-top:env(safe-area-inset-top)}.admin-topbar{padding-top:env(safe-area-inset-top);height:calc(var(--topbar-height) + env(safe-area-inset-top))}}@media (width<=600px){.kpi-row{grid-template-columns:1fr 1fr}.top-events-grid{grid-template-columns:1fr}.permission-badge{display:none}.topbar-right{gap:.4rem}.topbar-btn{padding:.4rem .55rem}.topbar-title{font-size:1.05rem}.topbar-autorefresh{display:none}}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;overflow-x:hidden}.admin-app{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#ffffffeb;background:#0f0f1a;min-height:100dvh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.loading-screen{color:#ffffffb3;background:#0f0f1a;flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100dvh;display:flex}.spinner{border:4px solid #ffffff1a;border-top-color:#667eea;border-radius:50%;width:50px;height:50px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:10px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #667eea4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{color:#ffffffb3;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.btn-secondary:hover{color:#ffffffe6;background:#ffffff1a}.btn-edit{color:#ffd54f;cursor:pointer;background:#ffc10726;border:1px solid #ffc10733;border-radius:8px;padding:.5rem 1rem;font-size:.88rem;font-weight:600;transition:all .2s}.btn-edit:hover{background:#ffc10740}.btn-delete{color:#ef9a9a;cursor:pointer;background:#ef53501f;border:1px solid #ef535033;border-radius:8px;padding:.5rem 1rem;font-size:.88rem;font-weight:600;transition:all .2s}.btn-delete:hover{background:#ef535033}.btn-close{cursor:pointer;color:#ffffffb3;background:#ffffff1a;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:.5rem;font-size:1.5rem;transition:all .2s;display:flex}.btn-close:hover{color:#fff;background:#ffffff26}.form-group{margin-bottom:1.5rem}.form-group label{color:#fffc;margin-bottom:.5rem;font-weight:600;display:block}.form-group input,.form-group textarea,.form-group select{color:#ffffffe6;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;width:100%;padding:.75rem;font-size:1rem;transition:all .2s}.form-group input::placeholder,.form-group textarea::placeholder{color:#ffffff59}.form-group select option{color:#ffffffe6;background:#1a1a2e}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea26}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{opacity:.5;cursor:not-allowed}.form-group small{color:#fff6;margin-top:.25rem;font-size:.85rem;display:block}.error-message,.error-banner{color:#ef9a9a;background:#ef53501f;border:1px solid #ef535033;border-radius:8px;margin-bottom:1rem;padding:1rem}
