@charset "UTF-8";:root{--color-bg: #f5f6f8;--color-surface: #ffffff;--color-border: #e1e4e8;--color-text: #1f2328;--color-border-strong: #c9ced6;--color-text-muted: #5b6472;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-soft: #eff4ff;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-warning: #b45309;--color-success: #15803d;--color-success-soft: #e7f5ec;--color-success-text: #166534;--color-warning-soft: #fef3c7;--color-warning-text: #92400e;--color-danger-soft: #fef2f2;--color-danger-text: #991b1b;--radius: 8px;--radius-lg: 12px;--header-height: 64px;--main-pad-y: 1.75rem;--focus-ring: 0 0 0 3px rgba(37, 99, 235, .3)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.45;-webkit-font-smoothing:antialiased}h1{font-size:1.65rem;font-weight:700;letter-spacing:-.01em;margin:0 0 1rem}h2{font-size:1.15rem;font-weight:700}.page-subtitle{margin:.25rem 0 0;font-size:.95rem;color:var(--color-text-muted)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}table{width:100%;border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}th,td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--color-border)}th{background:#fafbfc;font-size:.82rem;font-weight:600;color:var(--color-text-muted)}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:#fafbfc}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:44px;padding:.45rem 1rem;border-radius:var(--radius);border:1px solid transparent;font:inherit;font-size:.92rem;font-weight:600;cursor:pointer;text-decoration:none;background:var(--color-surface);color:var(--color-text);transition:background .12s ease,border-color .12s ease,color .12s ease;white-space:nowrap}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-lg{min-height:56px;padding:.6rem 1.4rem;font-size:1.05rem;border-radius:var(--radius-lg)}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-danger{color:var(--color-danger);border-color:var(--color-danger)}.btn-danger:hover{background:var(--color-danger);color:#fff}.btn-outline{border-color:var(--color-border-strong)}.btn-outline:hover{background:#f3f4f6}.btn-attention{border-color:#f59e0b;background:var(--color-warning-soft);color:var(--color-warning-text)}.btn-attention:hover{background:#fde68a}.btn-ghost{background:transparent;border-color:transparent;color:var(--color-text-muted)}.btn-ghost:hover{background:#f3f4f6;color:var(--color-text)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-icon{padding:.45rem;width:44px}.btn-icon svg{width:18px;height:18px}.error{color:var(--color-danger)}.error-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;margin-bottom:1rem;background:var(--color-danger-soft);border:1px solid #fecaca;border-radius:var(--radius-lg);color:var(--color-danger-text)}.pill{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:6px;font-size:.8rem;font-weight:600;line-height:1.4;white-space:nowrap;background:#eef0f3;color:#374151}.pill-ok{background:var(--color-success-soft);color:var(--color-success-text)}.pill-warn{background:var(--color-warning-soft);color:var(--color-warning-text)}.pill-danger{background:var(--color-danger-soft);color:var(--color-danger-text)}.pill-info{background:var(--color-primary-soft);color:var(--color-primary-hover)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1.25rem;text-align:center;background:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted)}.empty-state app-icon{color:#9aa3ae}.empty-state strong{color:var(--color-text);font-size:1.05rem}.empty-state p{margin:0;max-width:360px}.empty-state .btn{margin-top:.5rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem}.muted{color:var(--color-text-muted)}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}.field label{font-size:.88rem;font-weight:600}.field input,.field textarea,.field select{min-height:46px;padding:.5rem .75rem;border:1px solid var(--color-border-strong);border-radius:var(--radius);font:inherit;font-size:16px;width:100%;background:var(--color-surface);color:var(--color-text)}.field textarea{min-height:88px}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.field .field-error{color:var(--color-danger-text);font-size:.84rem;font-weight:500}.field .field-hint{color:var(--color-text-muted);font-size:.84rem}.password-field{position:relative}.password-field input{padding-right:2.5rem}.password-reveal-btn{position:absolute;top:0;right:0;bottom:0;width:2.5rem;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;font-size:1.05rem;line-height:1;color:var(--color-text-muted);cursor:pointer;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none}.password-reveal-btn:hover{color:var(--color-text)}.password-reveal-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;border-radius:4px}.list-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem}.list-header h1{margin:0}@media(max-width:480px){.list-header{flex-direction:column;align-items:stretch}.list-header .btn{width:100%}}.actions{display:flex;gap:.5rem;white-space:nowrap}td.actions{display:table-cell;text-align:right}td.actions>*+*{margin-left:.5rem}.text-warning{color:var(--color-warning);font-weight:600}.text-danger{color:var(--color-danger);font-weight:600}.admin-badge{display:inline-flex;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent)}.plan-tag{display:inline-flex;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700}.plan-tag--free{color:var(--color-text-muted);background:var(--color-bg)}.plan-tag--plus{background:linear-gradient(135deg,#2563eb24,#2563eb0f);color:#1d4ed8}.plan-tag--growth{background:linear-gradient(135deg,#7c3aed29,#7c3aed0f);color:#6d28d9}.plan-tag--scale{background:linear-gradient(135deg,#d977062e,#d9770612);color:#b45309}.plan-tag--enterprise{background:linear-gradient(135deg,#15803d29,#15803d0f);color:#15803d}.toolbar{margin-bottom:1rem}.page-fixed{display:flex;flex-direction:column;height:calc(100vh - var(--header-height) - 2 * var(--main-pad-y));overflow:hidden}.page-fixed>*:not(.page-scroll){flex-shrink:0}.page-fixed>.page-scroll{flex:1 1 auto;min-height:0;overflow-y:auto}@media(max-width:640px){.page-fixed{height:auto;overflow:visible}.page-fixed>.page-scroll{overflow-y:visible}}.auth-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 2rem);padding:1rem}.auth-wrap{display:flex;flex-direction:column;align-items:center;width:100%;max-width:380px}.auth-brand{display:flex;align-items:center;gap:.6rem;margin-bottom:1.5rem;color:var(--color-text);text-decoration:none}.auth-brand img{display:block;border-radius:9px}.auth-brand span{font-size:1.4rem;font-weight:700}.auth-card{width:100%;max-width:380px;padding:2rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 1px 3px #1018280f}.auth-card h1{margin-bottom:1.25rem}.auth-card form{display:flex;flex-direction:column}.auth-card .btn{width:100%;margin-top:.5rem}.auth-divider{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0;color:var(--color-text-muted);font-size:.85rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.auth-switch{margin:1.25rem 0 0;text-align:center;font-size:.9rem;color:var(--color-text-muted)}.auth-switch a{color:var(--color-primary);font-weight:500;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.profile-page{max-width:920px}.profile-page h1{margin:0}.profile-page .page-subtitle{margin-bottom:1.25rem}.profile-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;align-items:start}@media(max-width:720px){.profile-cards{grid-template-columns:1fr}.session-item{flex-direction:column;align-items:stretch}.session-item .btn{width:100%}}.profile-card{padding:1.1rem 1.25rem;margin-bottom:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px}.profile-card h2{margin:0 0 .6rem;font-size:1.02rem}.profile-card p{margin:0 0 .6rem;font-size:.85rem}.profile-card form{display:flex;flex-direction:column}.profile-card .field{gap:.2rem;margin-bottom:.6rem}.profile-card .field label{font-size:.78rem}.profile-card .field input,.profile-card .field select{min-height:44px;padding:.4rem .7rem}.profile-card .btn{align-self:flex-start;margin-top:.15rem}.profile-card-wide{grid-column:1/-1}.subscription-tier{margin:0 0 .5rem}.premium-nudge-badge{display:inline-flex;align-items:center;gap:.25rem;margin-left:.5rem;padding:.15rem .55rem;border-radius:999px;background:color-mix(in srgb,var(--color-danger) 12%,transparent);color:var(--color-danger);font-size:.68rem;font-weight:700;text-decoration:none;white-space:nowrap;vertical-align:middle}.premium-nudge-badge:hover{background:color-mix(in srgb,var(--color-danger) 20%,transparent)}.premium-nudge-callout{display:flex;align-items:flex-start;gap:.5rem;margin:0 0 .85rem;padding:.6rem .75rem;border:1px solid color-mix(in srgb,var(--color-danger) 30%,transparent);border-radius:8px;background:color-mix(in srgb,var(--color-danger) 6%,transparent)}.premium-nudge-callout p{margin:0;color:var(--color-text);font-size:.82rem}.subscription-tier-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .7rem;border-radius:999px;font-size:.78rem;font-weight:800;letter-spacing:.02em}.subscription-tier-badge.tier-plus{background:linear-gradient(135deg,#2563eb24,#2563eb0f);color:#1d4ed8}.subscription-tier-badge.tier-growth{background:linear-gradient(135deg,#7c3aed29,#7c3aed0f);color:#6d28d9}.subscription-tier-badge.tier-scale{background:linear-gradient(135deg,#d977062e,#d9770612);color:#b45309}.subscription-tier-badge.tier-enterprise{background:linear-gradient(135deg,#15803d29,#15803d0f);color:#15803d}.subscription-benefits{list-style:none;margin:0 0 .85rem;padding:0;display:flex;flex-direction:column;gap:.35rem;font-size:.85rem}.subscription-benefits li{padding-left:1.2rem;position:relative}.subscription-benefits li:before{content:"\2713";position:absolute;left:0;color:var(--color-primary);font-weight:700}.session-list{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none}.session-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .85rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px}.session-item.current{border-color:var(--color-primary)}.session-item .btn{flex-shrink:0}.session-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.session-device{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.88rem}.session-current-badge{padding:.1rem .5rem;font-size:.68rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--color-primary);background:#2563eb1a;border-radius:999px}.session-meta{font-size:.78rem}.visually-hidden{position:absolute;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.kbd,.kbd-badge{display:inline-flex;align-items:center;padding:.1rem .4rem;font-family:Consolas,Menlo,monospace;font-size:.7rem;line-height:1.4;background:#f3f4f6;border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-muted);white-space:nowrap}.kbd-badge{font-size:.72rem}.total-line{display:flex;justify-content:space-between;margin:.4rem 0}.search-input{min-height:46px;width:100%;max-width:480px;padding:.5rem .85rem .5rem 2.5rem;border:1px solid var(--color-border-strong);background:var(--color-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%235b6472' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E") no-repeat .8rem center;border-radius:var(--radius);font:inherit;font-size:16px}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}.page-size{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-text-muted)}.page-size select{min-height:40px;padding:.3rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius);font:inherit}.page-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.page-nav .btn{min-height:40px;padding:.4rem .7rem}.ellipsis{padding:0 .25rem;color:var(--color-text-muted)}@media(max-width:640px){.pagination{flex-direction:column;align-items:stretch}.page-nav{justify-content:center}}@media(max-width:640px){table.responsive-table{border:none;background:transparent}table.responsive-table thead{display:none}table.responsive-table tbody,table.responsive-table tr,table.responsive-table td{display:block;width:100%}table.responsive-table tr{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:.75rem;padding:.25rem .85rem}table.responsive-table td{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--color-border);text-align:right}table.responsive-table tr td:last-child{border-bottom:none}table.responsive-table td:before{content:attr(data-label);font-weight:600;font-size:.8rem;color:var(--color-text-muted);text-align:left}table.responsive-table td.actions{justify-content:flex-end;flex-wrap:wrap}table.responsive-table td.actions>*+*{margin-left:0}table.responsive-table td.actions:before{content:none}table.responsive-table td.actions .btn:not(.btn-icon){flex:1}}.page-heading-title{display:flex;align-items:center;gap:.6rem;min-width:0;flex-wrap:wrap}.store-badge{display:inline-flex;align-items:center;gap:.35rem}.store-badge .store-icon{flex-shrink:0}.store-badge{padding:.25rem .7rem;border-radius:999px;background:color-mix(in srgb,var(--color-primary) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 25%,transparent);color:var(--color-primary);font-size:.78rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.success-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#0f172a59;animation:success-fade-in .15s ease-out}.success-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 3rem;background:var(--color-surface);border-radius:16px;box-shadow:0 20px 50px #0f172a4d;animation:success-pop-in .25s cubic-bezier(.34,1.56,.64,1);text-align:center}.success-card h2{margin:.25rem 0 0;color:var(--color-success)}.success-card p{margin:0;color:var(--color-text-muted);font-size:.95rem}.success-check{width:72px;height:72px}.success-check-circle{stroke:var(--color-success);stroke-width:3;stroke-miterlimit:10;stroke-dasharray:151;stroke-dashoffset:151;animation:success-draw-circle .4s ease-out forwards}.success-check-mark{stroke:var(--color-success);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:36;stroke-dashoffset:36;animation:success-draw-check .3s .35s ease-out forwards}@keyframes success-fade-in{0%{opacity:0}}@keyframes success-pop-in{0%{opacity:0;transform:scale(.85)}}@keyframes success-draw-circle{to{stroke-dashoffset:0}}@keyframes success-draw-check{to{stroke-dashoffset:0}}@media print{.app-header,.app-sidebar,.no-print{display:none!important}.app-main{padding:0!important;margin:0!important;max-width:none!important}}@media(max-width:1024px){:root{--main-pad-y: 1.25rem}}.all-good{display:flex;align-items:center;gap:.5rem;margin:0;padding:.85rem 1rem;border-radius:var(--radius-lg);background:var(--color-success-soft);color:var(--color-success-text);font-weight:500}.back-link{display:inline-flex;align-items:center;gap:.35rem;min-height:32px;margin-bottom:.35rem;color:var(--color-text-muted);font-size:.9rem;font-weight:600;text-decoration:none}.back-link:hover{color:var(--color-primary-hover)}
