:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--color-bg: #f5f7fb;--color-bg-subtle: #eef2f7;--color-surface: #ffffff;--color-surface-subtle: #f8fafc;--color-surface-raised: #ffffff;--color-input: #ffffff;--color-border: #e1e7ef;--color-border-strong: #c8d2df;--color-divider: #edf1f6;--color-text: #0f172a;--color-text-strong: #12213f;--color-text-muted: #607087;--color-text-disabled: #94a3b8;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-pressed: #1e40af;--color-primary-soft: #eff6ff;--color-primary-border: #bfdbfe;--color-primary-text: #1d4ed8;--color-success: #15803d;--color-success-soft: #f0fdf4;--color-success-border: #bbf7d0;--color-warning: #a16207;--color-warning-soft: #fffbeb;--color-warning-border: #fde68a;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-danger-soft: #fef2f2;--color-danger-border: #fecaca;--color-info: #0369a1;--color-info-soft: #f0f9ff;--color-info-border: #bae6fd;--color-disabled: #e2e8f0;--color-overlay: rgba(15, 23, 42, .58);--color-focus: rgba(37, 99, 235, .28);--color-selection: rgba(37, 99, 235, .16);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04), 0 4px 14px rgba(15, 23, 42, .035);--shadow-md: 0 14px 36px rgba(15, 23, 42, .085);--shadow-modal: 0 24px 64px rgba(15, 23, 42, .2);--content-width: 680px;--control-height: 46px;--tabbar-height: 66px;--page-gutter: var(--space-4);--transition: .16s ease;--sg-safe-top: var(--safe-area-inset-top, env(safe-area-inset-top, 0px));--sg-safe-right: var(--safe-area-inset-right, env(safe-area-inset-right, 0px));--sg-safe-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px));--sg-safe-left: var(--safe-area-inset-left, env(safe-area-inset-left, 0px))}*,*:before,*:after{box-sizing:border-box}html,body,#root{width:100%;max-width:100%;height:100%;margin:0;overflow:hidden;background:var(--color-bg)}html{-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-text-size-adjust:100%;overscroll-behavior:none}body{color:var(--color-text);font-family:inherit;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}::-moz-selection{background:var(--color-selection);color:var(--color-text-strong)}::selection{background:var(--color-selection);color:var(--color-text-strong)}button,input,textarea,select{min-width:0;font:inherit}button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:not(:disabled){cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}button:disabled,input:disabled,textarea:disabled,select:disabled{cursor:not-allowed}h1,h2,h3,p{margin:0}h1,h2,h3,strong{overflow-wrap:normal;word-break:normal}input,textarea,select{width:100%;min-height:var(--control-height);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-input);color:var(--color-text);transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}input,textarea{padding:11px 14px}select{padding:0 38px 0 14px}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--color-text-disabled)}input::placeholder,textarea::placeholder{color:var(--color-text-disabled)}input:focus,textarea:focus,select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus);outline:none}input:disabled,textarea:disabled,select:disabled{border-color:var(--color-border);background:var(--color-surface-subtle);color:var(--color-text-disabled);opacity:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell,.app-shell--tabs{width:100%;height:100vh;height:100dvh;min-height:0;overflow:hidden;background:var(--color-bg);overscroll-behavior:none}.screen{width:100%;height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;padding:calc(var(--sg-safe-top) + var(--space-5)) max(var(--page-gutter),var(--sg-safe-right)) calc(var(--sg-safe-bottom) + var(--space-8)) max(var(--page-gutter),var(--sg-safe-left));overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.screen>:not(.modal-overlay){width:min(100%,var(--content-width));margin-inline:auto}.screen-center{display:grid;place-items:center}.screen-title,.portoes-header__title,.page-header h1{color:var(--color-text-strong);font-size:clamp(1.65rem,7vw,1.9rem);font-weight:800;line-height:1.15;letter-spacing:-.025em}.screen-subtitle,.portoes-header__subtitle,.page-header p,.subtext{margin-top:var(--space-1);color:var(--color-text-muted);font-size:.875rem;line-height:1.55;overflow-wrap:break-word}.eyebrow,.gate-detail-heading__eyebrow,.subscription-section-label{color:var(--color-primary-text);font-size:.72rem;font-weight:800;letter-spacing:.08em;line-height:1.3;text-transform:uppercase}.app-header,.portoes-header,.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.page-header{display:grid;justify-content:stretch;gap:var(--space-1)}.tab-page>.page-header,.subscription-scroll>.app-header{margin-bottom:0}.app-header>div,.portoes-header>div,.page-header>div{min-width:0}.app-header .btn-neutral{flex:0 0 auto;min-height:42px}.btn-primary,.btn-neutral,.btn-danger,.primary-button,.secondary-button,.gate-action-button,.subscription-plan-button,.gate-history-export-fixed__button{min-height:var(--control-height);padding:0 16px;border:1px solid transparent;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-text);font-size:.875rem;font-weight:750;line-height:1.2;text-align:center;text-decoration:none;transition:background var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition),transform var(--transition),opacity var(--transition)}.btn-primary,.primary-button,.subscription-plan-button,.gate-history-export-fixed__button{border-color:var(--color-primary);background:var(--color-primary);color:#fff;box-shadow:0 5px 14px #2563eb29}.btn-primary:hover:not(:disabled),.primary-button:hover:not(:disabled),.subscription-plan-button:hover:not(:disabled),.gate-history-export-fixed__button:hover:not(:disabled){border-color:var(--color-primary-hover);background:var(--color-primary-hover)}.btn-neutral,.secondary-button,.gate-action-button--outline,.gate-action-button--muted,.gate-action-button--close{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text-strong);box-shadow:none}.btn-neutral:hover:not(:disabled),.secondary-button:hover:not(:disabled),.gate-action-button--outline:hover:not(:disabled),.gate-action-button--muted:hover:not(:disabled){border-color:var(--color-primary-border);background:var(--color-primary-soft);color:var(--color-primary-text)}.btn-danger{border-color:var(--color-danger-border);background:var(--color-danger-soft);color:var(--color-danger);box-shadow:none}.btn-danger:hover:not(:disabled){border-color:var(--color-danger);background:var(--color-danger);color:#fff}.btn-primary:active:not(:disabled),.btn-neutral:active:not(:disabled),.btn-danger:active:not(:disabled),.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled),.gate-action-button:active:not(:disabled),.subscription-plan-button:active:not(:disabled){transform:translateY(1px)}.btn-primary:disabled,.btn-neutral:disabled,.btn-danger:disabled,.primary-button:disabled,.secondary-button:disabled,.gate-action-button:disabled,.subscription-plan-button:disabled,.subscription-plan-button--muted{border-color:var(--color-border);background:var(--color-disabled);color:var(--color-text-muted);box-shadow:none;opacity:.72}.gate-action-button--large{min-height:52px}.success-box,.error-box,.gate-feedback,.subscription-pending-note{padding:11px 13px;border:1px solid;border-radius:var(--radius-md);font-size:.875rem;font-weight:650;line-height:1.5;overflow-wrap:break-word}.success-box,.success-box--soft,.gate-feedback--success{border-color:var(--color-success-border);background:var(--color-success-soft);color:var(--color-success)}.error-box{border-color:var(--color-danger-border);background:var(--color-danger-soft);color:#991b1b}.gate-feedback--warning,.subscription-pending-note{border-color:var(--color-warning-border);background:var(--color-warning-soft);color:var(--color-warning)}.card,.account-panel,.plan-card,.settings-item,.setup-card,.tip-card,.gate-detail-card,.subscription-current-card,.subscription-plan-card,.subscription-section-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.card,.account-panel,.tip-card,.gate-detail-card,.subscription-current-card,.subscription-plan-card,.subscription-section-card{padding:var(--space-4);box-shadow:var(--shadow-sm)}.section-block,.form-block,.settings-list,.setup-list,.gate-list-minimal,.subscription-scroll,.subscription-plan-list,.subscription-info-list,.subscription-actions,.gate-detail-actions{display:grid;gap:var(--space-4)}.section-block+.section-block{margin-top:var(--space-4)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4)}.toolbar>button:only-child{width:100%}.field,.gate-edit-name-card__field,.reset-field,.auth-modern-field{display:grid;gap:var(--space-2);min-width:0;color:var(--color-text-strong);font-size:.875rem;font-weight:700}.empty-state{min-height:132px;padding:var(--space-6) var(--space-5);border:1px dashed var(--color-border-strong);border-radius:var(--radius-xl);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);background:var(--color-surface);color:var(--color-text-muted);text-align:center}.empty-state h3,.empty-state strong{color:var(--color-text-strong);font-size:1.05rem}.empty-state p{max-width:520px;font-size:.875rem;line-height:1.55}.empty-state--light{min-height:108px;border-style:solid;background:var(--color-surface-subtle)}.loader{width:38px;height:38px;border:3px solid var(--color-primary-border);border-top-color:var(--color-primary);border-radius:var(--radius-pill);animation:seegate-spin .8s linear infinite}.boot-box{display:grid;justify-items:center;gap:var(--space-3);color:var(--color-text-muted);text-align:center}.boot-title{color:var(--color-text-strong);font-size:1.6rem;font-weight:850}.boot-text{font-size:.9rem}@keyframes seegate-spin{to{transform:rotate(360deg)}}.auth-screen,.reset-password-screen{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--space-4)}.auth-standard{width:min(100%,440px);display:grid;gap:var(--space-4)}.auth-brand-header,.app-logo-area,.reset-header{display:grid;justify-items:center;gap:var(--space-2);text-align:center}.auth-brand-header h1,.app-title,.reset-header h1{color:var(--color-text-strong);font-size:1.8rem;font-weight:850;letter-spacing:-.025em}.auth-brand-header p,.app-subtitle,.reset-header p{color:var(--color-text-muted);font-size:.9rem}.auth-brand-logo,.app-logo{width:52px;height:52px;border-radius:var(--radius-lg);display:grid;place-items:center;background:var(--color-primary);color:#fff;font-size:1.05rem;font-weight:850;letter-spacing:.02em;box-shadow:0 8px 20px #2563eb2e}.auth-card,.reset-card,.account-summary,.reset-info-box{width:min(100%,440px);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}.auth-card,.reset-card{padding:clamp(20px,5vw,26px)}.auth-header-modern{display:grid;gap:var(--space-1);margin-bottom:var(--space-4)}.auth-header-modern h2,.forgot-success-modern h2{color:var(--color-text-strong);font-size:1.35rem;font-weight:800}.auth-header-modern p,.forgot-success-modern p{color:var(--color-text-muted);font-size:.875rem}.auth-form,.reset-form,.forgot-success-modern{display:grid;gap:var(--space-4)}.auth-field-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.auth-field-action,.auth-toggle button,.reset-login-link{min-height:40px;padding:0 var(--space-1);border:0;background:transparent;color:var(--color-primary-text);font-size:.84rem;font-weight:750;text-decoration:none}.auth-modern-input,.reset-input-wrap{min-height:var(--control-height);padding:0 10px 0 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--space-2);background:var(--color-input);color:var(--color-text-muted);transition:border-color var(--transition),box-shadow var(--transition)}.auth-modern-input:focus-within,.reset-input-wrap:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus)}.auth-modern-input input,.reset-input-wrap input{min-height:46px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;outline:none}.auth-modern-eye,.reset-eye-button{width:44px;height:44px;flex:0 0 44px;padding:0;border:0;border-radius:var(--radius-sm);display:grid;place-items:center;background:transparent;color:var(--color-text-muted)}.auth-modern-eye:hover,.reset-eye-button:hover{background:var(--color-surface-subtle);color:var(--color-text-strong)}.auth-submit-button,.reset-submit-button{width:100%}.auth-toggle{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-1) var(--space-2);color:var(--color-text-muted);font-size:.875rem;text-align:center}.password-rules,.reset-rules{padding:var(--space-3);border-radius:var(--radius-md);display:grid;gap:var(--space-1);background:var(--color-surface-subtle);color:var(--color-text-muted);font-size:.78rem}.password-rules span,.reset-rules span{display:flex;align-items:center;gap:6px}.password-rules .ok,.reset-rules .ok{color:var(--color-success)}.forgot-success-modern{justify-items:center;text-align:center}.forgot-success-modern__icon{width:48px;height:48px;border-radius:var(--radius-pill);display:grid;place-items:center;background:var(--color-success-soft);color:var(--color-success)}.auth-feedback-box,.auth-message-inline,.auth-floating-message{width:min(100%,440px)}.auth-floating-message{position:relative}.auth-screen>.auth-standard{margin-block:auto}.reset-password-screen>.auth-brand-logo{flex:0 0 auto}.reset-card{display:grid;gap:var(--space-4)}.reset-info-box{padding:var(--space-3) var(--space-4);display:flex;align-items:flex-start;gap:var(--space-3);background:var(--color-info-soft);border-color:var(--color-info-border);box-shadow:none;color:var(--color-info);font-size:.82rem}.account-summary{padding:var(--space-4)}.account-summary__label{color:var(--color-text-muted);font-size:.75rem;font-weight:750;text-transform:uppercase;letter-spacing:.05em}.account-summary__email{margin-top:var(--space-1);color:var(--color-text-strong);font-size:1rem;font-weight:800;overflow-wrap:anywhere}.account-summary__role{margin-top:var(--space-1);color:var(--color-text-muted);font-size:.82rem;overflow-wrap:break-word}.dashboard-screen--tabs{display:flex;flex-direction:column;padding:0;overflow:hidden}.tab-content{width:100%;min-height:0;flex:1 1 auto;overflow-x:hidden;overflow-y:auto;padding:calc(var(--sg-safe-top) + var(--space-5)) max(var(--page-gutter),var(--sg-safe-right)) var(--space-5) max(var(--page-gutter),var(--sg-safe-left));overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:auto;scrollbar-gutter:stable}.tab-content>:not(.modal-overlay){width:min(100%,var(--content-width));margin-inline:auto}.tab-content>.success-box,.tab-content>.error-box{margin-bottom:var(--space-3)}.tab-page{display:grid;gap:var(--space-4)}.bottom-tabs{position:relative;z-index:20;width:100%;min-height:calc(var(--tabbar-height) + var(--sg-safe-bottom));flex:0 0 auto;padding:6px max(var(--space-3),var(--sg-safe-right)) calc(6px + var(--sg-safe-bottom)) max(var(--space-3),var(--sg-safe-left));border-top:1px solid var(--color-divider);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-1);background:#fffffffa;box-shadow:0 -5px 18px #0f172a09}.bottom-tab{min-width:0;min-height:50px;padding:6px 8px;border:0;border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:transparent;color:var(--color-text-muted);transition:color var(--transition),background var(--transition)}.bottom-tab:hover:not(:disabled){background:var(--color-surface-subtle)}.bottom-tab--active{background:var(--color-primary-soft);color:var(--color-primary-text);box-shadow:inset 0 0 0 1px #2563eb0f}.bottom-tab__label{max-width:100%;font-size:.7rem;font-weight:750;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portoes-header{align-items:center}.portoes-header-actions{display:flex;align-items:center;gap:var(--space-2)}.portoes-refresh-button,.icon-back-button{width:44px;height:44px;flex:0 0 44px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;place-items:center;background:var(--color-surface);color:var(--color-text-strong);box-shadow:var(--shadow-sm);transition:background var(--transition),border-color var(--transition),color var(--transition),transform var(--transition)}.portoes-refresh-button{position:relative;border-color:var(--color-primary);background:var(--color-primary);color:#fff}.portoes-refresh-button.portoes-help-button{border-color:var(--color-primary-border);background:var(--color-surface);color:var(--color-primary-text)}.portoes-refresh-button:hover,.icon-back-button:hover{border-color:var(--color-primary-border);background:var(--color-primary-soft);color:var(--color-primary-text)}.portoes-notifications-badge{position:absolute;top:8px;right:8px;width:8px;height:8px;border:2px solid var(--color-primary);border-radius:var(--radius-pill);background:#fff}.gate-list-minimal{gap:var(--space-3)}.gate-mini-card{width:100%;min-height:92px;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);background:var(--color-surface);color:var(--color-text);text-align:left;box-shadow:var(--shadow-sm);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.gate-mini-card:hover{border-color:var(--color-primary-border);box-shadow:0 7px 20px #2563eb13}.gate-mini-card:active{transform:translateY(1px)}.gate-mini-card__left{min-width:0;display:flex;align-items:center;gap:var(--space-3)}.gate-mini-card__icon{width:48px;height:48px;flex:0 0 48px;border-radius:var(--radius-lg);display:grid;place-items:center;background:var(--color-primary-soft);color:var(--color-primary-text)}.gate-mini-card__content,.gate-mini-card__status-list{min-width:0;display:grid;gap:6px}.gate-mini-card__title{color:var(--color-text-strong);font-size:1rem;font-weight:800;line-height:1.25;overflow-wrap:break-word}.gate-mini-card__status{width:-moz-fit-content;width:fit-content;max-width:100%;display:inline-flex;align-items:center;gap:7px;color:var(--color-text-muted);font-size:.78rem;font-weight:650;line-height:1.25;overflow-wrap:break-word}.gate-mini-card__status-dot{width:8px;height:8px;flex:0 0 8px;border-radius:var(--radius-pill);background:currentColor}.gate-mini-card__status--open,.gate-mini-card__status--online{color:var(--color-success)}.gate-mini-card__status--paused{color:var(--color-warning)}.gate-mini-card__status--closed{color:var(--color-text-strong)}.gate-mini-card__status--offline,.gate-mini-card__status--unknown{color:var(--color-text-muted)}.gate-mini-card__right{flex:0 0 auto;display:flex;align-items:center;color:var(--color-text-muted)}.gate-mini-card__arrow{display:grid;place-items:center}.setup-list{gap:var(--space-3)}.setup-card{width:100%;min-height:76px;padding:var(--space-3) var(--space-4);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);color:var(--color-text);text-align:left;box-shadow:none}button.setup-card{transition:border-color var(--transition),background var(--transition),transform var(--transition)}button.setup-card:hover:not(:disabled){border-color:var(--color-primary-border);background:var(--color-primary-soft)}.setup-card--primary{border-color:var(--color-primary-border);background:var(--color-primary-soft)}.setup-card:disabled{opacity:.56}.setup-card__icon{width:42px;height:42px;border-radius:var(--radius-md);display:grid;place-items:center;background:var(--color-surface-subtle);color:var(--color-primary-text)}.setup-card--primary .setup-card__icon{background:var(--color-surface)}.setup-card__content{min-width:0;display:grid;gap:3px}.setup-card__content strong{color:var(--color-text-strong);font-size:.9rem}.setup-card__content span,.tip-card__text{color:var(--color-text-muted);font-size:.8rem;line-height:1.45;overflow-wrap:break-word}.setup-card__arrow{color:var(--color-text-muted)}.tip-card{display:grid;gap:var(--space-3);background:var(--color-info-soft);border-color:var(--color-info-border);box-shadow:none;color:var(--color-info);font-size:.875rem}.tip-card .btn-primary{width:-moz-fit-content;width:fit-content}.account-panel{margin-bottom:0}.account-panel__top{display:flex;align-items:center;gap:var(--space-4)}.account-avatar{width:52px;height:52px;flex:0 0 52px;border-radius:var(--radius-lg);display:grid;place-items:center;background:var(--color-primary);color:#fff;font-weight:850}.account-panel__identity{min-width:0}.account-panel__label{color:var(--color-text-muted);font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.05em}.account-panel__email{margin-top:3px;color:var(--color-text-strong);font-size:1rem;font-weight:800;overflow-wrap:anywhere}.account-panel__role{margin-top:2px;color:var(--color-text-muted);font-size:.8rem;overflow-wrap:break-word}.account-page{display:grid;gap:var(--space-4);padding-bottom:var(--space-4)}.account-page>.app-header{margin-bottom:0}.account-section{display:grid;gap:var(--space-2)}.account-section__title{color:var(--color-text-muted);font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.account-group{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface);box-shadow:var(--shadow-sm)}.account-row{width:100%;min-height:64px;padding:var(--space-3) var(--space-4);border:0;border-bottom:1px solid var(--color-divider);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);background:transparent;color:var(--color-text);text-align:left}.account-row:last-child{border-bottom:0}.account-row>div{min-width:0}.account-row strong{display:block;color:var(--color-text-strong);font-size:.9rem}.account-row p,.account-danger-zone p{margin-top:2px;color:var(--color-text-muted);font-size:.78rem;line-height:1.4;overflow-wrap:break-word}.account-row--action{transition:background var(--transition),color var(--transition)}.account-row--action:hover{background:var(--color-primary-soft)}.account-row__action{min-height:44px;flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-primary-text);font-size:.78rem;font-weight:800}.account-session-actions .btn-neutral{width:100%}.account-danger-zone{padding:var(--space-3) var(--space-4);border:1px solid var(--color-danger-border);border-radius:var(--radius-lg);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3);background:var(--color-danger-soft)}.settings-list{gap:var(--space-3)}.settings-item,.plan-card{width:100%;min-height:64px;padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);color:var(--color-text);text-align:left;box-shadow:none}button.settings-item,button.plan-card{transition:border-color var(--transition),background var(--transition)}button.settings-item:hover:not(:disabled),button.plan-card:hover:not(:disabled){border-color:var(--color-primary-border);background:var(--color-primary-soft)}.settings-item>div,.plan-card__content{min-width:0;flex:1 1 auto}.settings-item strong,.plan-card strong{display:block;color:var(--color-text-strong);font-size:.9rem;font-weight:780;line-height:1.35}.settings-item p,.plan-card p{margin-top:3px;color:var(--color-text-muted);font-size:.8rem;line-height:1.45;overflow-wrap:break-word}.settings-badge,.status-pill,.subscription-status-badge,.subscription-plan-price{width:-moz-fit-content;width:fit-content;max-width:100%;flex:0 0 auto;padding:6px 9px;border:1px solid var(--color-primary-border);border-radius:var(--radius-pill);display:inline-flex;align-items:center;gap:6px;background:var(--color-primary-soft);color:var(--color-primary-text);font-size:.72rem;font-weight:800;line-height:1.2;overflow-wrap:normal;word-break:normal}.settings-badge--muted,.subscription-status-badge--basic{border-color:var(--color-border);background:var(--color-surface-subtle);color:var(--color-text-muted)}.settings-badge--success,.subscription-status-badge--premium,.status-pill.claimed{border-color:var(--color-success-border);background:var(--color-success-soft);color:var(--color-success)}.status-pill.pending{border-color:var(--color-warning-border);background:var(--color-warning-soft);color:var(--color-warning)}.status-pill__dot{width:7px;height:7px;border-radius:var(--radius-pill);background:currentColor}.users-actions{flex:0 1 auto;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-2)}.users-actions .btn-danger{min-height:38px;padding-inline:12px;font-size:.78rem}.gate-detail-page{position:relative;width:100%;max-width:100%;min-width:0;height:100%;min-height:0;display:flex;flex-direction:column;gap:0;overflow:hidden}.gate-detail-topbar{min-height:44px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between}.gate-detail-topbar__spacer{flex:1}.gate-detail-tabs-shell{position:relative;z-index:1;width:100%;max-width:100%;min-width:0;flex:0 0 auto;margin-inline:0;padding:var(--space-2) 0 var(--space-3);border-bottom:1px solid var(--color-divider);overflow:hidden;background:var(--color-bg)}.gate-detail-tabs{width:100%;max-width:100%;min-width:0;display:flex;gap:var(--space-2);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x}.gate-detail-tabs::-webkit-scrollbar{display:none}.gate-detail-tab{min-height:44px;padding:0 14px;border:1px solid var(--color-border);border-radius:var(--radius-pill);flex:0 0 auto;background:var(--color-surface);color:var(--color-text-muted);font-size:.78rem;font-weight:750;white-space:nowrap;transition:border-color var(--transition),background var(--transition),color var(--transition)}.gate-detail-tab--active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.gate-detail-content{width:100%;max-width:100%;min-width:0;min-height:0;flex:1 1 auto;padding:var(--space-4) 0 var(--space-8);overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.gate-tab-panel{display:block;width:100%;max-width:100%;min-width:0;margin:0;position:static;transform:none;opacity:1}.gate-tab-panel>*+*:not(.modal-overlay){margin-top:var(--space-4)}.gate-detail-card{display:grid;grid-auto-rows:max-content;align-content:start;gap:var(--space-4)}.gate-detail-content .settings-list{align-content:start}.gate-detail-content .settings-item,.gate-detail-content .plan-card{min-height:0;padding-block:var(--space-3)}.gate-group-list,.gate-member-list,.gate-settings-list{grid-auto-rows:max-content;align-content:start}.gate-group-list{gap:var(--space-2)}.gate-group-list>*,.gate-member-list>*,.gate-settings-list>*{align-self:start}.gate-group-card,.gate-member-card,.gate-settings-item{height:auto;min-height:0}.gate-group-card{padding:var(--space-3) var(--space-4);align-items:flex-start}.gate-group-card .plan-card__content{display:grid;gap:2px}.gate-group-card p,.subscription-pending-note{overflow-wrap:break-word;word-break:normal}.gate-group-card .settings-badge{margin-top:var(--space-2)}.gate-member-list{gap:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface)}.gate-member-card{padding:var(--space-3) var(--space-4);align-items:center;border:0;border-bottom:1px solid var(--color-divider);border-radius:0}.gate-member-card:last-child{border-bottom:0}.gate-invite-button,.history-email-button{width:100%;min-height:48px;align-self:start;flex:0 0 auto}.gate-detail-heading{display:grid;gap:var(--space-2)}.gate-detail-heading__title,.gate-detail-heading h2{color:var(--color-text-strong);font-size:clamp(1.3rem,6vw,1.55rem);font-weight:820;line-height:1.2;letter-spacing:-.02em}.gate-detail-heading__subtitle,.gate-detail-heading>p:not(.gate-detail-heading__eyebrow){color:var(--color-text-muted);font-size:.85rem;line-height:1.55}.gate-detail-heading .status-pill{margin-top:var(--space-1)}.control-mode-panel{display:grid;justify-items:start;gap:var(--space-3)}.control-mode-selector{display:grid;gap:var(--space-2)}.control-mode-option{min-width:132px;min-height:42px;padding:0 13px;border:1px solid var(--color-border);border-radius:var(--radius-md);display:inline-flex;align-items:center;gap:var(--space-2);background:var(--color-surface);color:var(--color-text-muted);font-size:.85rem;font-weight:750;transition:background var(--transition),border-color var(--transition),color var(--transition),opacity var(--transition)}.control-mode-option--active{border-color:var(--color-primary-border);background:var(--color-primary-soft);color:var(--color-primary-text)}.control-mode-option:disabled{opacity:.65}.bluetooth-control-status{max-width:100%;display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-3);color:var(--color-text-muted);font-size:.82rem;font-weight:650}.bluetooth-control-status .btn-neutral{min-height:38px}.bluetooth-control-status__message{display:flex;flex-direction:column;gap:2px}.bluetooth-control-status__message small{color:inherit;font-size:.76rem;font-weight:500}.gate-state-card{padding:var(--space-4);border:1px solid var(--color-primary-border);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);background:var(--color-primary-soft);color:var(--color-primary-text)}.gate-state-card--open{border-color:var(--color-success-border);background:var(--color-success-soft);color:var(--color-success)}.gate-state-card--closed{border-color:var(--color-border);background:var(--color-surface-subtle);color:var(--color-text-strong)}.gate-state-card--online{border-color:var(--color-info-border);background:var(--color-info-soft);color:var(--color-info)}.gate-state-card--paused{border-color:var(--color-warning-border);background:var(--color-warning-soft);color:var(--color-warning)}.gate-state-card--unknown,.gate-state-card--offline{border-color:var(--color-border);background:var(--color-surface-subtle);color:var(--color-text-muted)}.gate-state-card__content{min-width:0;display:grid;gap:3px}.gate-state-card__label{font-size:.75rem;font-weight:650;overflow-wrap:break-word}.gate-state-card__value{font-size:1.35rem;font-weight:850;line-height:1.15}.gate-state-card__icon{width:44px;height:44px;flex:0 0 44px;border-radius:var(--radius-md);display:grid;place-items:center;background:#ffffffbf}.gate-detail-actions--stack,.gate-detail-actions--large,.subscription-actions--stack{grid-template-columns:1fr}.gate-detail-actions>button,.subscription-actions>button{width:100%}.gate-options-popup{position:absolute;top:0;right:0;z-index:30;width:min(230px,calc(100% - 32px));padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--space-1);background:var(--color-surface-raised);box-shadow:var(--shadow-md)}.gate-options-popup__item{min-height:44px;padding:0 12px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-size:.86rem;font-weight:700;text-align:left}.gate-options-popup__item:hover{background:var(--color-surface-subtle)}.gate-options-popup__item--danger{color:var(--color-danger)}.gate-options-popup__item--danger:hover{background:var(--color-danger-soft)}.gate-history-card{min-height:0;gap:var(--space-4)}.gate-history-scroll{overflow:visible;border:1px solid var(--color-divider);border-radius:var(--radius-md)}.gate-history-list{display:grid}.gate-history-item{padding:var(--space-3) var(--space-4);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-divider)}.gate-history-item:last-child{border-bottom:0}.gate-history-item__icon{width:38px;height:38px;border-radius:var(--radius-md);display:grid;place-items:center;background:var(--color-primary-soft);color:var(--color-primary-text)}.gate-history-item__icon--success{background:var(--color-success-soft);color:var(--color-success)}.gate-history-item__icon--danger{background:var(--color-danger-soft);color:var(--color-danger)}.gate-history-item__icon--warning{background:var(--color-warning-soft);color:var(--color-warning)}.gate-history-item__icon--neutral{background:var(--color-surface-subtle);color:var(--color-text-muted)}.gate-history-item__content{min-width:0;display:grid;gap:2px}.gate-history-item__content strong{color:var(--color-text-strong);font-size:.84rem;line-height:1.35}.gate-history-item__content span,.gate-history-item__time{color:var(--color-text-muted);font-size:.72rem;overflow-wrap:break-word}.gate-history-item__time{text-align:right}.gate-history-empty{min-height:68px;padding:var(--space-3) var(--space-4);display:grid;place-items:center;color:var(--color-text-muted);font-size:.84rem;line-height:1.55;text-align:center}.gate-history-empty--error{color:var(--color-danger)}.gate-history-export-fixed{position:static;width:100%;display:flex;justify-content:center}.gate-history-export-spacer{display:none}.gate-history-export-fixed__button{width:100%}.gate-history-export-actions{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.gate-settings-card,.gate-settings-section{display:grid;grid-auto-rows:max-content;align-content:start;gap:var(--space-4)}.gate-settings-card{padding-bottom:var(--space-4)}.gate-settings-list{gap:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface)}.gate-settings-item{min-height:52px;padding:var(--space-3) var(--space-4);align-items:center;border:0;border-bottom:1px solid var(--color-divider);border-radius:0}.gate-settings-item:last-child{border-bottom:0}.gate-settings-section{padding-top:var(--space-4);border-top:1px solid var(--color-divider)}.gate-settings-section:first-of-type{padding-top:0;border-top:0}.gate-settings-section__header{display:grid;gap:3px}.gate-settings-section__header strong{color:var(--color-text-strong);font-size:.9rem}.gate-settings-section__header span{color:var(--color-text-muted);font-size:.78rem;line-height:1.45}.subscription-scroll{gap:var(--space-4);padding-bottom:var(--space-4)}.subscription-page-header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--space-3)}.subscription-page-header .screen-title{font-size:clamp(1.35rem,6vw,1.7rem)}.subscription-page-header .screen-subtitle{max-width:560px}.subscription-gate-selector{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-3);background:var(--color-surface)}.subscription-gate-selector label{color:var(--color-text-strong);font-size:.8rem;font-weight:800}.subscription-summary-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,210px)}.account-select{min-height:44px}.subscription-current-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-4)}.subscription-plan-card{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"name" "price" "meta" "state" "action";align-items:start;row-gap:3px}.subscription-current-card,.subscription-plan-card{padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:none}.subscription-current-card>div{min-width:0}.subscription-current-card strong{display:block;color:var(--color-text-strong);font-size:1rem;font-weight:820}.subscription-current-card p,.subscription-list-header p,.subscription-section-card p{margin-top:var(--space-1);color:var(--color-text-muted);font-size:.8rem;line-height:1.5;overflow-wrap:break-word}.subscription-current-card strong,.subscription-plan-card__meta{overflow-wrap:break-word;word-break:normal}.subscription-pending-note{grid-column:1 / -1}.subscription-plan-list{gap:var(--space-3)}.subscription-list-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:0 2px}.subscription-sync-button{min-height:42px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--color-surface);color:var(--color-text-strong);font-size:.76rem;font-weight:800}.subscription-store-note{padding:var(--space-2) var(--space-3);border-left:3px solid var(--color-primary-border);color:var(--color-text-muted);font-size:.76rem;line-height:1.45}.subscription-list-header strong{color:var(--color-text-strong);font-size:1rem}.subscription-plan-card__name{grid-area:name;min-width:0;color:var(--color-text-strong);font-size:.95rem;font-weight:800;line-height:1.3;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}.subscription-plan-card__price{grid-area:price;min-width:0;max-width:100%;color:var(--color-primary-text);font-size:1.12rem;font-weight:800;line-height:1.4;overflow-wrap:normal;word-break:normal;text-align:left;white-space:normal}.subscription-plan-card__period{margin-left:2px;font-size:.7em;font-weight:750}.subscription-plan-card__meta{grid-area:meta;min-width:0;margin-top:0;color:var(--color-text-muted);font-size:.8rem;line-height:1.4;overflow-wrap:normal;word-break:normal}.subscription-plan-card--current{border-color:var(--color-primary-border);background:var(--color-primary-soft)}.subscription-plan-state{grid-area:state;width:-moz-fit-content;width:fit-content;margin-top:var(--space-1);display:inline-flex;color:var(--color-primary-text);font-size:.74rem;font-weight:800}.subscription-plan-state--pending{color:var(--color-warning)}.subscription-plan-button{grid-area:action;width:100%;min-width:0;max-width:none;min-height:46px;margin-top:var(--space-2);padding-inline:14px;justify-self:stretch}.subscription-gate-panel{gap:var(--space-4)}.subscription-gate-header,.subscription-gate-header__left,.subscription-section-card__top,.subscription-info-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.subscription-gate-header__left{min-width:0;justify-content:flex-start}.subscription-gate-header__left>div:last-child{min-width:0}.subscription-gate-header__left strong{display:block;color:var(--color-text-strong);font-size:.95rem}.subscription-gate-header__left p{color:var(--color-text-muted);font-size:.76rem}.subscription-gate-icon{width:44px;height:44px;flex:0 0 44px;border-radius:var(--radius-md);display:grid;place-items:center;background:var(--color-primary-soft);color:var(--color-primary-text)}.subscription-section-card{display:grid;gap:var(--space-4);box-shadow:none}.subscription-section-card--compact{gap:var(--space-3);padding:var(--space-3)}.subscription-section-card--compact .subscription-info-row{min-height:44px;padding:var(--space-2) var(--space-3)}.subscription-section-card h3{color:var(--color-text-strong);font-size:1.25rem;line-height:1.2}.subscription-inline-button{min-height:44px;padding:0 13px;border:1px solid var(--color-primary-border);border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary-text);font-size:.78rem;font-weight:800}.subscription-info-list{gap:0;border:1px solid var(--color-divider);border-radius:var(--radius-md);overflow:hidden}.subscription-info-row{min-height:48px;padding:var(--space-3);border-bottom:1px solid var(--color-divider);border-radius:0;background:var(--color-surface)}.subscription-info-row:last-child{border-bottom:0}.subscription-info-row span,.subscription-info-row strong{font-size:.78rem}.subscription-info-row span{color:var(--color-text-muted)}.subscription-info-row strong{color:var(--color-text-strong);text-align:right;overflow-wrap:break-word}.provision-screen{width:100%;height:100%;min-height:0;overflow:hidden}.provision-screen__scroll{width:100%;height:100%;min-height:0;padding:calc(var(--sg-safe-top) + var(--space-5)) max(var(--page-gutter),var(--sg-safe-right)) calc(var(--sg-safe-bottom) + var(--space-10)) max(var(--page-gutter),var(--sg-safe-left));overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y}.provision-screen__scroll>*{width:min(100%,var(--content-width));margin-inline:auto}.header-block{display:grid;gap:var(--space-2);margin-bottom:var(--space-4)}.section-block>.toolbar:first-child{margin-top:0}.header-block h2{color:var(--color-text-strong);font-size:1.5rem;line-height:1.2}.device-box{margin-top:var(--space-4);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);color:var(--color-text-muted);font-size:.82rem;line-height:1.5;overflow-wrap:break-word}.device-box.success-box{border-color:var(--color-success-border);background:var(--color-success-soft);color:var(--color-success)}.word-break{overflow-wrap:anywhere;word-break:break-word}.toolbar--compact{margin-bottom:var(--space-4)}.toolbar--tight{gap:var(--space-2)}.device-box__action{margin-top:var(--space-3)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;padding:calc(var(--sg-safe-top) + var(--space-4)) max(var(--space-4),var(--sg-safe-right)) calc(var(--sg-safe-bottom) + var(--space-4)) max(var(--space-4),var(--sg-safe-left));overflow-x:hidden;overflow-y:auto;display:grid;place-items:center;background:#0f172a8a;overscroll-behavior:contain;touch-action:pan-y}.modal-card{width:min(100%,520px);max-height:calc(100vh - var(--sg-safe-top) - var(--sg-safe-bottom) - 32px);max-height:calc(100dvh - var(--sg-safe-top) - var(--sg-safe-bottom) - 32px);padding:clamp(18px,5vw,24px);overflow-x:hidden;overflow-y:auto;border:1px solid rgba(255,255,255,.65);border-radius:var(--radius-lg);display:grid;gap:var(--space-4);background:var(--color-surface-raised);box-shadow:var(--shadow-modal);overscroll-behavior:contain}.modal-card__header,.gate-edit-name-card__header{display:grid;gap:var(--space-2)}.modal-card h3,.modal-card__header h3,.gate-edit-name-card__header strong{color:var(--color-text-strong);font-size:1.2rem;font-weight:820;line-height:1.25}.modal-card>p,.modal-card__header p,.gate-edit-name-card__header span{color:var(--color-text-muted);font-size:.86rem;line-height:1.55;overflow-wrap:break-word}.gate-edit-name-card__input{width:100%}.gate-edit-name-card__actions,.modal-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-3)}.gate-edit-name-card__actions>button,.modal-actions>button{min-width:120px;flex:0 1 auto}.tutorial-readiness{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:grid;place-content:center;justify-items:center;gap:var(--space-3);padding:calc(var(--sg-safe-top) + var(--space-4)) max(var(--space-4),var(--sg-safe-right)) calc(var(--sg-safe-bottom) + var(--space-4)) max(var(--space-4),var(--sg-safe-left));background:var(--color-bg);color:var(--color-text-muted);font-size:.9rem;font-weight:700}.tutorial-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:grid;place-items:center;padding:calc(var(--sg-safe-top) + var(--space-3)) max(var(--space-3),var(--sg-safe-right)) calc(var(--sg-safe-bottom) + var(--space-3)) max(var(--space-3),var(--sg-safe-left));overflow:hidden;background:var(--color-overlay);overscroll-behavior:contain}.tutorial-dialog{width:min(100%,520px);height:auto;max-height:min(590px,calc(100dvh - var(--sg-safe-top) - var(--sg-safe-bottom) - 24px));min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface-raised);box-shadow:var(--shadow-modal);animation:tutorial-enter .18s ease-out}.tutorial-progress{padding:var(--space-4) var(--space-5) var(--space-3);border-bottom:1px solid var(--color-divider);background:var(--color-surface)}.tutorial-progress__meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-2);color:var(--color-text-muted);font-size:.76rem;line-height:1.3}.tutorial-progress__label{font-weight:800;letter-spacing:.07em;text-transform:uppercase}.tutorial-progress__actions{display:flex;align-items:center;gap:10px}.tutorial-progress__actions strong{color:var(--color-primary-text);font-variant-numeric:tabular-nums;white-space:nowrap}.tutorial-close-button{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);transition:background .15s ease,color .15s ease,border-color .15s ease}.tutorial-close-button:hover,.tutorial-close-button:active{border-color:var(--color-border);background:var(--color-bg-subtle);color:var(--color-text-strong)}.tutorial-close-button:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:2px;color:var(--color-text-strong)}.tutorial-progress__track{height:5px;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-bg-subtle)}.tutorial-progress__value{display:block;height:100%;border-radius:inherit;background:var(--color-primary);transition:width .18s ease}.tutorial-content{flex:0 1 auto;min-height:0;display:grid;align-content:start;gap:clamp(10px,1.8vh,14px);padding:clamp(14px,3.5vw,18px) clamp(18px,5vw,28px) clamp(14px,3.5vw,18px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.tutorial-copy{display:grid;gap:var(--space-3);text-align:center}.tutorial-copy h2{color:var(--color-text-strong);font-size:clamp(1.4rem,6vw,1.8rem);font-weight:850;line-height:1.18;letter-spacing:-.025em}.tutorial-copy h2:focus{outline:none}.tutorial-copy p{max-width:420px;margin-inline:auto;color:var(--color-text-muted);font-size:clamp(.9rem,3.6vw,1rem);line-height:1.58;overflow-wrap:break-word}.tutorial-visual{width:min(79%,306px);min-height:156px;margin-inline:auto;display:grid;align-content:center;gap:10px;padding:clamp(11px,2.8vw,15px);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--color-surface),var(--color-surface-subtle));box-shadow:var(--shadow-sm)}.tutorial-visual--welcome,.tutorial-visual--ready{justify-items:center;text-align:center;background:linear-gradient(145deg,var(--color-primary-soft),var(--color-surface))}.tutorial-visual--welcome>strong{color:var(--color-text-strong);font-size:1.55rem;letter-spacing:-.02em}.tutorial-visual--welcome>span{color:var(--color-text-muted);font-size:.85rem}.tutorial-brand-mark,.tutorial-ready-check,.tutorial-bluetooth-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:var(--radius-xl);background:var(--color-primary);color:#fff;box-shadow:0 14px 30px #2563eb38}.tutorial-brand-mark svg{width:32px;height:32px}.tutorial-ready-check svg{width:31px;height:31px}.tutorial-mini-header,.tutorial-path,.tutorial-mode-note,.tutorial-proximity-note,.tutorial-help-hint{display:flex;align-items:center;gap:var(--space-2)}.tutorial-mini-header{color:var(--color-text-strong)}.tutorial-gate-card,.tutorial-setting-row,.tutorial-mode-note{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.tutorial-gate-card__icon{width:39px;height:39px;flex:0 0 39px;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary-text)}.tutorial-gate-card__icon svg{width:22px;height:22px}.tutorial-gate-card__content{min-width:0;flex:1 1 auto;display:grid;gap:var(--space-1)}.tutorial-gate-card__content strong,.tutorial-mode-note strong,.tutorial-setting-row strong{color:var(--color-text-strong);font-size:.88rem}.tutorial-gate-card__content small,.tutorial-mode-note small,.tutorial-setting-row small{display:flex;align-items:center;gap:6px;color:var(--color-text-muted);font-size:.74rem}.tutorial-status-dot{width:8px;height:8px;flex:0 0 8px;display:inline-block;border-radius:50%;background:var(--color-text-disabled)}.tutorial-status-dot--closed{background:var(--color-danger)}.tutorial-status-dot--offline{background:var(--color-text-disabled)}.tutorial-state-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--color-danger-border);border-radius:var(--radius-lg);background:var(--color-danger-soft);color:var(--color-danger)}.tutorial-state-card>span{display:grid;gap:var(--space-1)}.tutorial-state-card small{color:var(--color-text-muted);font-size:.72rem}.tutorial-state-card strong{font-size:1.35rem}.tutorial-state-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.tutorial-state-list span{min-width:0;display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 4px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-muted);font-size:.72rem;font-weight:750}.tutorial-visual__eyebrow{color:var(--color-primary-text);font-size:.72rem;font-weight:850;letter-spacing:.07em;text-align:center;text-transform:uppercase}.tutorial-command-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.tutorial-command{min-height:40px;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px;border:1px solid transparent;border-radius:var(--radius-md);font-size:.78rem;font-weight:800}.tutorial-command--open{background:var(--color-primary);color:#fff}.tutorial-command--stop{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text-strong)}.tutorial-command--close{background:var(--color-danger);color:#fff}.tutorial-mode-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-subtle)}.tutorial-mode-selector>span{min-height:40px;display:flex;align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:.82rem;font-weight:800}.tutorial-mode-selector>.tutorial-mode-selector__active{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.tutorial-mode-note{color:var(--color-success)}.tutorial-mode-note>span,.tutorial-setting-row>span>span,.tutorial-feature-grid>span{min-width:0;display:grid;gap:2px}.tutorial-bluetooth-icon{margin-inline:auto;border-radius:50%}.tutorial-bluetooth-icon svg{width:25px;height:25px}.tutorial-bluetooth-flow{display:flex;align-items:center;justify-content:center;gap:5px}.tutorial-bluetooth-flow>span{min-width:0;display:grid;justify-items:center;gap:4px;color:var(--color-text-muted);font-size:.72rem;font-weight:750;text-align:center}.tutorial-bluetooth-flow>span strong{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary-text);font-size:.8rem}.tutorial-path{justify-content:center;flex-wrap:wrap;color:var(--color-text-muted);font-size:.72rem}.tutorial-path strong{color:var(--color-primary-text)}.tutorial-setting-row{align-items:stretch;justify-content:space-between}.tutorial-setting-row>span:first-child{min-width:0;display:flex;align-items:center;gap:var(--space-2);color:var(--color-primary-text)}.tutorial-setting-action{align-self:center;padding:6px 8px;border:1px solid var(--color-primary-border);border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-primary-text);font-size:.72rem;font-weight:800;white-space:nowrap}.tutorial-proximity-note{justify-content:center;color:var(--color-text-muted);font-size:.75rem}.tutorial-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tutorial-feature-grid>span{justify-items:center;align-content:center;min-height:92px;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-primary-text);text-align:center}.tutorial-feature-grid strong{color:var(--color-text-strong);font-size:.82rem}.tutorial-feature-grid small{color:var(--color-text-muted);font-size:.7rem;line-height:1.4}.tutorial-ready-check{border-radius:50%;background:var(--color-success);box-shadow:0 14px 30px #15803d33}.tutorial-help-hint{padding:7px 12px;border:1px solid var(--color-primary-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-primary-text);font-size:.75rem;font-weight:800}.tutorial-footer{display:grid;justify-items:stretch;padding:var(--space-3) var(--space-5) var(--space-4);border-top:1px solid var(--color-divider);background:var(--color-surface)}.tutorial-footer__navigation{width:100%;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.tutorial-footer button{min-width:104px}.tutorial-footer__navigation>button{flex:1 1 0}@keyframes tutorial-enter{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.wifi-config-overlay{align-items:center}.wifi-config-modal{width:min(100%,480px);max-height:calc(100dvh - var(--sg-safe-top) - var(--sg-safe-bottom) - 24px);gap:var(--space-3)}.wifi-config-modal__header,.wifi-config-section-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.wifi-config-modal__header>div{min-width:0}.wifi-config-modal__header p{margin-top:3px;color:var(--color-text-muted);font-size:.8rem}.wifi-config-modal__close{width:40px;height:40px;flex:0 0 40px;border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;place-items:center;background:var(--color-surface);color:var(--color-text-muted)}.wifi-config-modal__close:disabled{opacity:.45}.wifi-config-current,.wifi-config-credentials,.wifi-config-progress,.wifi-config-success{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:4px;background:var(--color-surface-subtle)}.wifi-config-current span,.wifi-config-credentials>div span,.wifi-config-success span{color:var(--color-text-muted);font-size:.75rem}.wifi-config-current strong,.wifi-config-credentials>div strong,.wifi-config-success b{color:var(--color-text-strong);font-size:.95rem;overflow-wrap:anywhere}.wifi-config-current small{color:var(--color-primary-text);font-size:.72rem;font-weight:750}.wifi-config-progress{min-height:118px;place-items:center;align-content:center;gap:var(--space-3);color:var(--color-text-strong);text-align:center}.wifi-config-progress span:not(.loader),.wifi-config-progress p{color:var(--color-text-muted);font-size:.78rem;line-height:1.45}.wifi-config-loader{width:30px;height:30px}.wifi-config-networks,.wifi-config-network-list{display:grid;gap:var(--space-2)}.wifi-config-section-title>strong{color:var(--color-text-strong);font-size:.9rem}.wifi-config-refresh{min-height:36px;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);display:inline-flex;align-items:center;gap:6px;background:var(--color-surface);color:var(--color-primary-text);font-size:.74rem;font-weight:780}.wifi-config-network{width:100%;min-height:54px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:var(--space-2);background:var(--color-surface);color:var(--color-text-muted);text-align:left}.wifi-config-network--selected{border-color:var(--color-primary-border);background:var(--color-primary-soft);color:var(--color-primary-text)}.wifi-config-network>span{min-width:0;display:grid;gap:2px}.wifi-config-network strong{color:var(--color-text-strong);font-size:.82rem;overflow-wrap:anywhere}.wifi-config-network small,.wifi-config-network em{color:var(--color-text-muted);font-size:.68rem;font-style:normal}.wifi-config-network em{padding:3px 6px;border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary-text);font-weight:800}.wifi-config-credentials{gap:var(--space-3)}.wifi-config-password__control{position:relative;display:block}.wifi-config-password__control input{width:100%;padding-right:48px}.wifi-config-password__control button{position:absolute;top:50%;right:4px;width:40px;height:40px;transform:translateY(-50%);display:grid;place-items:center;color:var(--color-text-muted)}.wifi-config-open-network{color:var(--color-text-muted);font-size:.8rem}.wifi-config-success{min-height:180px;place-items:center;align-content:center;gap:var(--space-2);border-color:var(--color-success-border);background:var(--color-success-soft);color:var(--color-success);text-align:center}.wifi-config-success>strong{color:var(--color-success);font-size:1rem}.wifi-config-modal .error-box{display:grid;gap:3px}.wifi-config-modal .error-box span{font-weight:550}.wifi-config-actions>button{flex:1 1 160px}@media(max-width:520px){:root{--radius-xl: 18px}.screen-title,.portoes-header__title,.page-header h1{font-size:1.62rem}.settings-item,.plan-card{align-items:flex-start}.settings-item:has(.users-actions){flex-direction:column}.users-actions{width:100%;justify-content:flex-start}.subscription-summary-card{grid-template-columns:1fr}.subscription-summary-card .account-select{width:100%}.subscription-list-header{align-items:center}.subscription-plan-card{grid-template-columns:minmax(0,1fr);grid-template-areas:"name" "price" "meta" "state" "action";align-items:start;row-gap:var(--space-1)}.subscription-plan-button{width:100%;min-width:0;max-width:none;margin-top:var(--space-1);justify-self:stretch}.subscription-current-card{grid-template-columns:1fr;align-items:start;gap:var(--space-2)}.account-danger-zone{grid-template-columns:1fr}.account-danger-zone .btn-danger{width:100%}.subscription-gate-header,.subscription-section-card__top{align-items:flex-start}.gate-history-item{grid-template-columns:auto minmax(0,1fr)}.gate-history-item__time{grid-column:2;text-align:left}.gate-edit-name-card__actions,.modal-actions{align-items:stretch}.tutorial-footer{align-items:stretch;padding-inline:var(--space-4)}.tutorial-footer__navigation{width:100%}.tutorial-footer__navigation>button{min-width:0;flex:1 1 0}}@media(max-width:380px){:root{--control-height: 46px}.screen,.tab-content,.provision-screen__scroll{padding-left:max(var(--space-3),var(--sg-safe-left));padding-right:max(var(--space-3),var(--sg-safe-right))}.portoes-header{gap:var(--space-2)}.portoes-header-actions{gap:var(--space-1)}.tutorial-overlay{padding-left:max(var(--space-2),var(--sg-safe-left));padding-right:max(var(--space-2),var(--sg-safe-right))}.tutorial-dialog{max-height:calc(100dvh - var(--sg-safe-top) - var(--sg-safe-bottom) - 16px);border-radius:var(--radius-lg)}.tutorial-progress{padding:var(--space-3) var(--space-4) var(--space-2)}.tutorial-content{align-content:start;gap:10px;padding:var(--space-3)}.tutorial-visual{min-height:136px;padding:9px}.tutorial-state-list span,.tutorial-command{font-size:.68rem}.tutorial-command{flex-direction:column}.tutorial-feature-grid>span{min-height:82px}.tutorial-setting-row{align-items:stretch;flex-direction:column}.tutorial-setting-action{width:100%;text-align:center}.gate-detail-tabs-shell{margin-inline:0;padding-inline:0}.gate-mini-card{padding:var(--space-3)}.gate-mini-card__left{gap:var(--space-3)}.gate-mini-card__icon{width:48px;height:48px;flex-basis:48px}.setup-card{padding:var(--space-3)}.account-panel__top{align-items:flex-start}.subscription-gate-header,.subscription-list-header{flex-direction:column}.subscription-sync-button{width:100%}.account-row{align-items:flex-start;flex-direction:column}.account-row__action{min-height:36px}.subscription-info-row{align-items:flex-start;flex-direction:column;gap:var(--space-1)}.subscription-info-row strong{text-align:left}.toolbar{align-items:stretch;flex-direction:column}.toolbar>button{width:100%}.gate-edit-name-card__actions,.modal-actions{flex-direction:column-reverse}.wifi-config-modal{padding:var(--space-3)}.wifi-config-section-title{align-items:flex-start;flex-direction:column}.wifi-config-refresh{width:100%;justify-content:center}.gate-edit-name-card__actions>button,.modal-actions>button{width:100%;min-width:0}}@media(min-width:768px){.tab-content{padding-left:max(var(--space-6),var(--sg-safe-left));padding-right:max(var(--space-6),var(--sg-safe-right))}.bottom-tabs{width:min(100%,760px);align-self:center;border:1px solid var(--color-border);border-bottom:0;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.gate-detail-tabs-shell{margin-inline:0;padding-inline:0}.auth-card,.reset-card{padding:var(--space-8)}.gate-detail-actions--large{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms;animation-iteration-count:1}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.paused{animation-play-state:paused}
