:root{--brand-blue:#1256d8;--brand-blue-deep:#0b3d91;--brand-blue-soft:#e6edfb;--brand-cyan:#0e9fd8;--brand-green:#0d9f6e;--brand-green-deep:#0a8a5a;--brand-green-soft:#e3f6ee;--brand-gradient:linear-gradient(120deg, #1256d8 0%, #0e9fd8 100%);--bg:#f5f8ff;--surface:#fff;--surface-soft:#f3f7fe;--border:#e8eefa;--border-strong:#d5e1f4;--text:#1d2939;--text-secondary:#4e5969;--text-muted:#8a94a3;--warning:#d97706;--warning-soft:#fdf1e0;--danger:#dc2626;--danger-soft:#fdeaea;--radius-small:10px;--radius:12px;--radius-large:18px;--radius-card:18px;--shadow-soft:0 2px 10px #0f1e3d0a;--shadow-float:0 14px 36px #1256d81f;--shadow-glow:0 8px 22px #1256d847;--ease-out:cubic-bezier(.2, .8, .3, 1);--focus:0 0 0 3px #1256d82e;--font-sans:-apple-system, "SF Pro Text", "SF Pro Display", Inter, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--text-display:800 26px/34px var(--font-sans);--text-title:800 24px/32px var(--font-sans);--text-card-title:700 16.5px/24px var(--font-sans);--text-body:400 14px/1.75 var(--font-sans);--text-caption:400 12.5px/18px var(--font-sans)}*{box-sizing:border-box}html,body{min-height:100%}html{background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--bg);color:var(--text);font:var(--text-body);letter-spacing:.01em;text-rendering:optimizelegibility;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible,a:focus-visible{box-shadow:var(--focus);outline:none}svg{flex:none}::selection{background:#1256d829}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.rise{animation:rise-in .26s var(--ease-out) both;animation-delay:var(--rise-delay,0s)}.page-enter>.rise:last-child{margin-bottom:32px}.is-spinning{animation:.9s linear infinite spin}@media (prefers-reduced-motion:reduce){.rise,.is-spinning,.login-panel{animation-duration:.01ms}}.accent-green{color:var(--brand-green-deep)}.accent-blue{color:var(--brand-blue)}.route-loading{min-height:100vh;color:var(--text-secondary);place-items:center;display:grid}.button{white-space:nowrap;min-height:40px;transition:transform .18s var(--ease-out), box-shadow .18s var(--ease-out), background-color .18s var(--ease-out), border-color .18s var(--ease-out), opacity .18s var(--ease-out);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:14px;font-weight:600;line-height:1;display:inline-flex}.button:not(:disabled):hover{transform:translateY(-1px)}.button:not(:disabled):active{transition-duration:80ms;transform:translateY(0)scale(.96)}.button:disabled{opacity:.55}.button-primary{background:var(--brand-gradient);color:#fff;box-shadow:var(--shadow-glow);background-size:140% 140%}.button-primary:not(:disabled):hover{box-shadow:0 12px 28px #1256d85c}.button-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.button-secondary:not(:disabled):hover{border-color:var(--brand-blue);color:var(--brand-blue-deep);box-shadow:var(--shadow-soft)}.button-ghost{color:var(--text-secondary);background:0 0;min-height:34px;padding:0 14px}.button-ghost:not(:disabled):hover{background:var(--surface-soft);color:var(--danger)}.button-danger{background:var(--danger);color:#fff;box-shadow:0 8px 20px #dc262647}.button-danger:not(:disabled):hover{box-shadow:0 12px 28px #dc262666}.badge{min-height:24px;font:var(--text-caption);background:var(--surface-soft);color:var(--text-secondary);border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;padding:0 12px;font-weight:600;display:inline-flex}.badge-success{background:var(--brand-green-soft);color:var(--brand-green-deep);border-color:#0d9f6e47}.badge-info{background:var(--brand-blue-soft);color:var(--brand-blue);border-color:#1256d83d}.badge-warning{background:var(--warning-soft);color:var(--warning);border-color:#d977063d}.badge-danger{background:var(--danger-soft);color:var(--danger);border-color:#dc26263d}.login-page{place-items:center;min-height:100vh;padding:40px 16px;display:grid;position:relative;overflow:hidden}.login-bg{pointer-events:none;position:absolute;inset:0}.login-blob{aspect-ratio:1;filter:blur(90px);opacity:.35;border-radius:50%;width:46vw;max-width:560px;position:absolute}.login-blob-green{background:radial-gradient(circle,#0e9fd86b,#0000 65%);top:-12%;left:-8%}.login-blob-blue{background:radial-gradient(circle,#1256d86b,#0000 65%);bottom:-16%;right:-10%}.login-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-card);width:min(400px,94vw);box-shadow:var(--shadow-float);background:#ffffffeb;border:1px solid #ffffffb3;padding:40px 36px 28px;position:relative}.login-brand{text-align:center;flex-direction:column;align-items:center;margin-bottom:28px;display:flex}.login-logo{width:auto;height:52px;margin-bottom:18px}.login-title{font:var(--text-display);letter-spacing:.04em;margin:0}.login-title .accent-green{margin-left:2px}.login-subtitle{font:var(--text-caption);color:var(--text-muted);letter-spacing:.12em;margin:8px 0 0}.login-form{flex-direction:column;gap:16px;display:flex}.login-tabs{background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;gap:4px;margin-bottom:20px;padding:4px;display:flex}.login-tab{min-height:36px;color:var(--text-secondary);transition:background-color .2s var(--ease-out), color .2s var(--ease-out), box-shadow .2s var(--ease-out);background:0 0;border:none;border-radius:999px;flex:1 1 0;font-size:14px;font-weight:600}.login-tab.is-active{background:var(--surface);color:var(--brand-blue-deep);box-shadow:var(--shadow-soft)}.login-panel{animation:rise-in .24s var(--ease-out) both;flex-direction:column;gap:16px;display:flex}.remember-block{flex-direction:column;gap:4px;display:flex}.remember-line{justify-content:space-between;align-items:center;gap:12px;display:flex}.remember-row{width:fit-content;font:var(--text-caption);color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;display:flex}.remember-row input{width:15px;height:15px;accent-color:var(--brand-blue);cursor:pointer;margin:0}.field-hint{font:var(--text-caption);color:var(--text-muted);margin:0;padding-left:23px}.login-back{align-self:center}.text-link{font:var(--text-caption);color:var(--brand-blue);background:0 0;border:none;padding:0}.text-link:hover{text-decoration:underline}.agreement-row{font:var(--text-caption);color:var(--text-secondary);cursor:pointer;align-items:flex-start;gap:8px;display:flex}.agreement-row input{width:15px;height:15px;accent-color:var(--brand-blue);cursor:pointer;flex:none;margin:1px 0 0}.agreement-row a{color:var(--brand-blue);text-decoration:none}.agreement-row a:hover{text-decoration:underline}.login-hint{text-align:center;font:var(--text-caption);color:var(--text-muted);margin:-4px 0 0}.field{flex-direction:column;gap:8px;display:flex}.field>span{font:var(--text-caption);color:var(--text-secondary);font-weight:600}.field input{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);height:46px;color:var(--text);letter-spacing:.03em;transition:border-color .18s var(--ease-out), box-shadow .18s var(--ease-out);padding:0 16px;font-size:15px}.field input::placeholder{color:var(--text-muted)}.field input:focus{border-color:var(--brand-blue);box-shadow:var(--focus);outline:none}.field input:disabled{background:var(--surface-soft);color:var(--text-secondary)}.code-row{gap:10px;display:flex}.code-row input{flex:auto;min-width:0}.code-button{flex:none;min-width:128px;min-height:46px}.form-error,.form-notice{border-radius:var(--radius-small);font:var(--text-caption);animation:rise-in .2s var(--ease-out) both;margin:0;padding:10px 14px;font-weight:500}.form-error{background:var(--danger-soft);color:var(--danger)}.form-notice{background:var(--brand-green-soft);color:var(--brand-green-deep)}.login-submit{letter-spacing:.08em;width:100%;min-height:48px;margin-top:4px;font-size:15px}.login-footer{text-align:center;font:var(--text-caption);color:var(--text-muted);letter-spacing:.1em;margin:24px 0 0}.shell{grid-template-columns:228px minmax(0,1fr);min-height:100vh;display:grid}.shell-sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:20px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.shell-brand{color:var(--text);letter-spacing:.02em;align-items:center;gap:10px;padding:4px 10px;font-size:16px;font-weight:700;text-decoration:none;display:flex}.shell-brand img,.shell-brand svg{object-fit:contain;width:30px;height:30px}.shell-brand em{color:var(--brand-blue);margin-left:2px;font-style:normal}.shell-nav{flex-direction:column;flex:auto;gap:4px;display:flex}.nav-item{border-radius:var(--radius);color:var(--text-secondary);transition:background-color .18s var(--ease-out), color .18s var(--ease-out), transform .18s var(--ease-out);align-items:center;gap:10px;padding:10px 14px;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-item:hover{background:var(--brand-blue-soft);color:var(--text)}.nav-item.is-active{background:var(--brand-blue-soft);color:var(--brand-blue-deep);font-weight:600}.nav-item.is-active:before{content:"";background:var(--brand-blue);border-radius:2px;width:3px;height:18px;position:absolute;top:50%;left:4px;transform:translateY(-50%)}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-group+.nav-group{margin-top:14px}.nav-group-label{letter-spacing:.14em;color:var(--text-muted);margin:0;padding:0 14px 4px;font-size:12px;font-weight:600}.nav-badge{background:var(--danger);color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.shell.is-collapsed{grid-template-columns:64px minmax(0,1fr)}.shell.is-collapsed .shell-sidebar{align-items:center;padding:20px 8px}.shell.is-collapsed .shell-brand span,.shell.is-collapsed .nav-group-label,.shell.is-collapsed .nav-item .nav-label,.shell.is-collapsed .shell-sidebar-foot{display:none}.shell.is-collapsed .nav-item{justify-content:center;width:44px;padding:10px 0}.shell.is-collapsed .nav-item.is-active:before{left:0}.shell.is-collapsed .nav-badge{min-width:16px;height:16px;padding:0 4px;font-size:10px;position:absolute;top:2px;right:0}.shell.is-collapsed .nav-group+.nav-group{margin-top:8px}.sidebar-toggle{border:1px solid var(--border);border-radius:var(--radius-small);background:var(--surface);width:34px;height:34px;color:var(--text-secondary);transition:color .18s var(--ease-out), border-color .18s var(--ease-out), background-color .18s var(--ease-out);place-items:center;display:grid}.sidebar-toggle:hover{color:var(--brand-blue-deep);background:var(--brand-blue-soft);border-color:#1256d866}.shell.is-collapsed .sidebar-toggle svg{transform:rotate(180deg)}.shell-sidebar-bottom{flex-direction:column;gap:10px;display:flex}.shell.is-collapsed .shell-sidebar-bottom{align-items:center}.shell-version{font:var(--text-caption);color:var(--text-muted);letter-spacing:.08em;font-variant-numeric:tabular-nums;margin:0;padding:0 10px}.shell-sidebar-foot{font:var(--text-caption);color:var(--text-muted);letter-spacing:.08em;margin:0;padding:0 10px}.shell-main{flex-direction:column;min-width:0;display:flex}.shell-topbar{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#ffffffd1;justify-content:space-between;align-items:center;gap:16px;min-height:60px;padding:0 28px;display:flex;position:sticky;top:0}.topbar-tenant{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:40%;font-weight:600;overflow:hidden}.topbar-user{align-items:center;gap:12px;display:flex}.topbar-phone{font:var(--text-caption);color:var(--text-secondary);background:var(--surface-soft);border:1px solid var(--border);letter-spacing:.04em;border-radius:999px;padding:5px 12px;font-weight:600}a.topbar-phone{transition:color .18s var(--ease-out), border-color .18s var(--ease-out), box-shadow .18s var(--ease-out);text-decoration:none}a.topbar-phone:hover{color:var(--brand-blue-deep);box-shadow:var(--shadow-soft);border-color:#1256d866}.topbar-logout{font-size:13px}.shell-content{flex:auto;width:100%;max-width:1040px;margin:0 auto;padding:28px 28px 40px}.page-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-title-row h1{font:var(--text-title);margin:0}.page-title-row p{font:var(--text-caption);color:var(--text-muted);margin:4px 0 0}.panel-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-large);box-shadow:var(--shadow-soft);transition:box-shadow .22s var(--ease-out), transform .22s var(--ease-out);padding:22px 24px}.panel-card:hover{box-shadow:var(--shadow-float)}.panel-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.panel-header h2{font:var(--text-card-title);margin:0}.welcome-card{background:radial-gradient(120% 160% at 100% 0%, #1256d814, transparent 55%), radial-gradient(120% 160% at 0% 100%, #0e9fd81a, transparent 55%), var(--surface);margin-bottom:20px}.welcome-copy h2{font:var(--text-title);margin:0 0 8px}.welcome-copy p{color:var(--text-secondary);max-width:560px;margin:0}.welcome-first-login{border-radius:var(--radius-small);background:var(--brand-green-soft);color:var(--brand-green-deep);animation:rise-in .24s var(--ease-out) both;margin:0 0 8px;padding:10px 14px;font-weight:500}.legal-page{justify-content:center;min-height:100vh;padding:48px 16px;display:flex}.legal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);width:min(720px,100%);height:fit-content;box-shadow:var(--shadow-soft);padding:40px 44px}.legal-card h1{font:var(--text-display);margin:0}.legal-updated{font:var(--text-caption);color:var(--text-muted);margin:8px 0 4px}.legal-card h2{font:var(--text-card-title);margin:28px 0 8px}.legal-card section p{color:var(--text-secondary);margin:0;line-height:1.9}.legal-footer{border-top:1px solid var(--border);font:var(--text-caption);color:var(--text-muted);letter-spacing:.1em;margin:36px 0 0;padding-top:20px}.legal-back{font:var(--text-caption);color:var(--brand-green-deep);margin-top:12px;text-decoration:none;display:inline-block}.legal-back:hover{text-decoration:underline}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-large);height:100%;box-shadow:var(--shadow-soft);transition:transform .22s var(--ease-out), box-shadow .22s var(--ease-out);align-items:flex-start;gap:14px;padding:20px;display:flex}.stat-card:hover{box-shadow:var(--shadow-float);transform:translateY(-2px)}.stat-icon{background:var(--surface-soft);width:42px;height:42px;color:var(--text-secondary);border-radius:14px;place-items:center;display:grid}.stat-success .stat-icon{background:var(--brand-green-soft);color:var(--brand-green-deep)}.stat-info .stat-icon{background:var(--brand-blue-soft);color:var(--brand-blue)}.stat-card p{font:var(--text-caption);color:var(--text-muted);margin:0}.stat-card strong{word-break:break-all;margin-top:4px;font-size:17px;font-weight:700;line-height:24px;display:block}.stat-card small{font:var(--text-caption);color:var(--text-muted);margin-top:4px;display:block}.placeholder-card{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);flex-direction:column;align-items:center;gap:14px;padding:72px 32px;display:flex;position:relative;overflow:hidden}.placeholder-watermark{width:200px;color:var(--brand-green-deep);opacity:.05;pointer-events:none;position:absolute;bottom:-36px;right:-36px}.placeholder-billing{background:radial-gradient(120% 160% at 100% 0%, #1256d812, transparent 55%), radial-gradient(120% 160% at 0% 100%, #0e9fd817, transparent 55%), var(--surface)}.placeholder-features{flex-wrap:wrap;justify-content:center;gap:8px 18px;margin:4px 0 0;padding:0;list-style:none;display:flex}.placeholder-features li{font:var(--text-caption);color:var(--text-secondary);align-items:center;gap:6px;display:inline-flex}.placeholder-features svg{color:var(--brand-green-deep)}.placeholder-icon{background:var(--brand-green-soft);width:60px;height:60px;color:var(--brand-green-deep);border-radius:20px;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #0d9f6e33}.placeholder-card h2{font:var(--text-title);margin:0}.placeholder-card p{max-width:460px;color:var(--text-secondary);margin:0}.skeleton-group{flex-direction:column;gap:12px;width:100%;display:flex}.skeleton{background:linear-gradient(90deg,#edf1ef 25%,#f8faf9 50%,#edf1ef 75%) 0 0/200% 100%;border-radius:8px;height:14px;animation:1.4s ease-in-out infinite skeleton-shimmer;display:block}.shell-skeleton .shell-sidebar{gap:28px}.skeleton-brand{width:70%;margin:8px 10px 0}.shell-skeleton .shell-sidebar>.skeleton-group{padding:0 10px}.shell-skeleton .shell-sidebar .skeleton{border-radius:var(--radius);height:38px}.skeleton-topbar{width:220px}.skeleton-title{width:180px;height:24px;margin-bottom:24px}.skeleton-card{border-radius:var(--radius-large);height:108px}.gate-error{place-items:center;min-height:100vh;padding:24px;display:grid}.gate-error-card{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);width:min(360px,92vw);box-shadow:var(--shadow-float);padding:32px}.gate-error-card strong{font:var(--text-card-title)}.gate-error-card p{color:var(--text-secondary);margin:10px 0 20px}@media (max-width:860px){.shell{grid-template-columns:72px minmax(0,1fr)}.shell-brand span,.nav-item{font-size:0}.nav-item{justify-content:center;padding:12px 0}.nav-item svg{width:20px;height:20px}.shell-brand{justify-content:center;padding:4px 0}.shell-sidebar-foot{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes modal-out{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.96)translateY(8px)}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes breathe{0%,to{opacity:.45}50%{opacity:1}}@keyframes check-pop{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade-in .16s var(--ease-out) both;background:#0f1e3d6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-backdrop.is-closing{animation:fade-out .16s var(--ease-out) both}.modal-card{background:var(--surface);border-radius:var(--radius-card);width:min(420px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow-float);animation:modal-in .22s var(--ease-out) both;flex-direction:column;padding:28px;display:flex;position:relative}.modal-backdrop.is-closing .modal-card{animation:modal-out .16s var(--ease-out) both}.modal-sm{width:min(420px,100%)}.modal-md{width:min(560px,100%)}.modal-lg{width:min(760px,100%)}.modal-body{max-height:70vh;margin:-4px;padding:4px;overflow-y:auto}.modal-title{font:var(--text-card-title);margin:0 0 18px;padding-right:28px;font-size:16px}.modal-close{background:var(--surface-soft);width:30px;height:30px;color:var(--text-secondary);transition:background-color .18s var(--ease-out), color .18s var(--ease-out);border:none;border-radius:999px;place-items:center;display:grid;position:absolute;top:16px;right:16px}.modal-close:not(:disabled):hover{background:var(--danger-soft);color:var(--danger)}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.modal-confirm-close{border-radius:var(--radius);background:var(--warning-soft);color:var(--text-secondary);font:var(--text-caption);animation:rise-in .18s var(--ease-out) both;border:1px solid #d977064d;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:12px 14px;display:flex}.modal-confirm-close .modal-confirm-actions{flex:none;gap:8px;display:flex}.confirm-list{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;margin:0 0 14px;padding:16px;display:flex}.confirm-list>div{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.confirm-list dt{white-space:nowrap;font:var(--text-caption);color:var(--text-muted);flex-shrink:0}.confirm-list dd{text-align:right;margin:0;font-weight:600}.confirm-price{color:var(--brand-blue-deep);font-size:17px}.confirm-agreement{font:var(--text-caption);color:var(--text-muted);margin:0}.confirm-agreement a{color:var(--brand-blue);text-decoration:none}.confirm-agreement a:hover{text-decoration:underline}.confirm-list+.confirm-agreement,.form-error+.modal-actions{margin-top:14px}.modal-card .form-error{margin-top:12px}.pay-modal{text-align:center}.pay-modal .modal-title{padding-right:0}.pay-steps{justify-content:center;align-items:center;gap:20px;margin:0 0 18px;padding:0;list-style:none;display:flex}.pay-step{font:var(--text-caption);color:var(--text-muted);align-items:center;gap:6px;display:flex;position:relative}.pay-step+.pay-step:before{content:"";border-top:1px solid var(--border-strong);width:12px;margin-right:4px;position:absolute;top:50%;right:100%}.pay-step-index{border:1px solid var(--border-strong);background:var(--surface);border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:grid}.pay-step.is-current{color:var(--brand-blue-deep);font-weight:600}.pay-step.is-current .pay-step-index{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff;box-shadow:0 0 0 3px #1256d829}.pay-step.is-done{color:var(--brand-blue-deep)}.pay-step.is-done .pay-step-index{background:var(--brand-blue-soft);color:var(--brand-blue-deep);border-color:#1256d866}.pay-step-body{animation:rise-in .22s var(--ease-out) both}.pay-amount-line{color:var(--brand-blue-deep);justify-content:center;align-items:baseline;gap:3px;margin:-8px 0 10px;display:flex}.pay-amount-line small{font-size:17px;font-weight:700}.pay-amount-line strong{letter-spacing:.01em;font-size:32px;font-weight:800;line-height:1.1}.pay-qrcode{border:1px solid var(--border);border-radius:var(--radius-large);width:fit-content;box-shadow:var(--shadow-soft);background:#fff;margin:4px auto 14px;padding:12px;position:relative}.pay-qrcode img{width:200px;height:200px;display:block}.pay-corner{border:3px solid var(--brand-blue);width:20px;height:20px;position:absolute}.pay-corner-tl{border-bottom:none;border-right:none;border-top-left-radius:6px;top:8px;left:8px}.pay-corner-tr{border-bottom:none;border-left:none;border-top-right-radius:6px;top:8px;right:8px}.pay-corner-bl{border-top:none;border-right:none;border-bottom-left-radius:6px;bottom:8px;left:8px}.pay-corner-br{border-top:none;border-left:none;border-bottom-right-radius:6px;bottom:8px;right:8px}.pay-waiting{color:var(--text-secondary);letter-spacing:.06em;justify-content:center;align-items:center;gap:8px;margin:0 0 10px;font-weight:600;animation:1.6s ease-in-out infinite breathe;display:flex}.pay-cashier-link{font:var(--text-caption);color:var(--brand-blue);margin-bottom:12px;font-weight:600;text-decoration:none;display:inline-block}.pay-cashier-link:hover{text-decoration:underline}.pay-tip{font:var(--text-caption);color:var(--text-muted);margin:0}.pay-success{flex-direction:column;align-items:center;gap:12px;padding:8px 0 4px;display:flex}.pay-success .modal-title{margin:0}.pay-success-icon{background:var(--brand-green-soft);width:72px;height:72px;color:var(--brand-green-deep);box-shadow:0 0 0 8px #0d9f6e14, var(--shadow-glow);animation:check-pop .42s var(--ease-out) both;border-radius:50%;place-items:center;display:grid}@keyframes draw-stroke{to{stroke-dashoffset:0}}.pay-success-svg{width:42px;height:42px}.pay-success-circle{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-dasharray:151;stroke-dashoffset:151px;animation:draw-stroke .5s var(--ease-out) forwards}.pay-success-check{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:36;stroke-dashoffset:36px;animation:draw-stroke .28s var(--ease-out) .42s forwards}.pay-success-icon.is-closed{background:var(--surface-soft);color:var(--text-muted);box-shadow:0 0 0 8px #102a220d}.billing-section{margin-bottom:20px}.billing-section-head{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.billing-section-head h2{font:var(--text-card-title);margin:0}.billing-section-head span{font:var(--text-caption);color:var(--text-muted)}.plan-card{background:radial-gradient(120% 160% at 100% 0%, #1256d814, transparent 55%), radial-gradient(120% 160% at 0% 100%, #0e9fd81a, transparent 55%), var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;margin-bottom:20px;padding:34px 36px;display:grid;position:relative;overflow:hidden}.plan-watermark{width:190px;height:190px;color:var(--brand-green-deep);opacity:.05;pointer-events:none;position:absolute;bottom:-32px;right:-28px}.plan-main{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.plan-title{font:var(--text-title);margin:2px 0 0}.plan-subtitle{color:var(--text-secondary);margin:0}.plan-price-row{color:var(--brand-blue-deep);align-items:baseline;gap:4px;margin:4px 0 0;display:flex}.plan-currency{font-size:20px;font-weight:700}.plan-price{letter-spacing:.01em;font-size:44px;font-weight:800;line-height:1}.plan-unit{font:var(--text-caption);color:var(--text-muted)}.plan-cta{align-items:center;gap:12px;margin-top:8px;display:flex}.plan-cta .button{min-height:44px;padding:0 26px}.plan-note{font:var(--text-caption);color:var(--text-muted)}.plan-features{border:1px solid var(--border);border-radius:var(--radius-large);background:#ffffffa8;flex-direction:column;justify-content:center;gap:12px;margin:0;padding:18px 20px;list-style:none;display:flex}.plan-features li{align-items:center;gap:10px;font-weight:500;display:flex}.plan-feature-check{background:var(--brand-green-soft);width:22px;height:22px;color:var(--brand-green-deep);border-radius:50%;flex:none;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #0d9f6e3d}.plan-banner{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-large);box-shadow:var(--shadow-soft);align-items:center;gap:14px;margin-bottom:20px;padding:14px 18px;display:flex}.plan-banner-icon{background:var(--brand-green-soft);width:36px;height:36px;color:var(--brand-green-deep);border-radius:12px;flex:none;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #0d9f6e33}.plan-banner-copy{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.plan-banner-copy strong{font-weight:600}.plan-banner-copy span{font:var(--text-caption);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:20px;display:grid}.slot-card{flex-direction:column;gap:14px;padding:18px 20px;display:flex}.slot-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.slot-name{align-items:center;gap:10px;min-width:0;font-weight:600;display:flex}.slot-icon{background:var(--brand-green-soft);width:34px;height:34px;color:var(--brand-green-deep);border-radius:12px;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #0d9f6e33}.slot-badges{flex:none;align-items:center;gap:6px;display:flex}.slot-meta{flex-direction:column;gap:8px;margin:0;display:flex}.slot-meta>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.slot-meta dt{font:var(--text-caption);color:var(--text-muted)}.slot-meta dd{margin:0;font-weight:600}.slot-days.is-warning{color:#b25000}.slot-hint{border-radius:var(--radius-small);background:var(--brand-blue-soft);color:var(--brand-blue-deep);font:var(--text-caption);border:1px solid #1256d833;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:8px 12px;font-weight:500;display:flex}.slot-hint-link{color:var(--brand-blue);flex:none;font-weight:700;text-decoration:none}.slot-hint-link:hover{text-decoration:underline}.slot-validity{flex-direction:column;gap:8px;display:flex}.slot-validity-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.slot-days strong{letter-spacing:.01em;font-size:20px;font-weight:800}.slot-expire-at{font:var(--text-caption);color:var(--text-muted)}.slot-progress{background:var(--surface-soft);border-radius:999px;height:6px;overflow:hidden}.slot-progress-bar{background:var(--brand-gradient);height:100%;transition:width .5s var(--ease-out);border-radius:999px;display:block}.slot-progress.is-warning .slot-progress-bar{background:linear-gradient(90deg,#ffb35c,#ff7d00)}.slot-progress.is-inactive .slot-progress-bar{background:var(--border-strong)}.slot-card-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding-top:12px;display:flex}.slot-id{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--text-caption);color:var(--text-muted);overflow:hidden}.slot-empty{text-align:center;background:radial-gradient(120% 160% at 100% 0%, #1256d812, transparent 55%), radial-gradient(120% 160% at 0% 100%, #0e9fd817, transparent 55%), var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-card);flex-direction:column;align-items:center;gap:12px;padding:56px 32px;display:flex}.slot-empty-icon{background:var(--brand-green-soft);width:64px;height:64px;color:var(--brand-green-deep);border-radius:22px;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #0d9f6e33,0 10px 24px #0d9f6e29}.slot-empty h3{font:var(--text-title);margin:0}.slot-empty p{max-width:420px;color:var(--text-secondary);margin:0 0 6px}.shop-card.is-attention{border-color:#d977066b}.shop-card .badge{transition:background-color .3s var(--ease-out), border-color .3s var(--ease-out), color .3s var(--ease-out);gap:5px}.shop-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.shop-reason{border-radius:var(--radius-small);color:#b25000;font:var(--text-caption);animation:rise-in .2s var(--ease-out) both;background:#fff3e6;border:1px solid #d977063d;margin:0;padding:10px 14px;font-weight:500}.shop-guide{font:var(--text-caption);color:var(--text-secondary);margin:0}.shop-note{font:var(--text-caption);color:var(--text-muted);margin:0}.shop-keeper{font:var(--text-caption);color:var(--text-muted);align-items:center;gap:7px;margin:0;display:flex}.keeper-dot{background:var(--border-strong);width:8px;height:8px;transition:background-color .3s var(--ease-out), box-shadow .3s var(--ease-out);border-radius:50%}.keeper-dot.is-online{background:var(--brand-green);box-shadow:0 0 0 3px #0d9f6e29}.shop-delete{min-height:32px;padding:0 12px;font-size:13px}.shop-form{flex-direction:column;gap:14px;display:flex}.shop-form-note{font:var(--text-caption);color:var(--text-muted);margin:0}.password-wrap{display:block;position:relative}.password-wrap input{width:100%;padding-right:48px}.password-toggle{width:32px;height:32px;color:var(--text-muted);transition:background-color .18s var(--ease-out), color .18s var(--ease-out);background:0 0;border:none;border-radius:10px;place-items:center;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-toggle:hover{background:var(--surface-soft);color:var(--text)}.modal-text{color:var(--text-secondary);margin:0}.page-enter>.form-notice{margin-bottom:16px}.billing-empty-text{text-align:center;font:var(--text-caption);color:var(--text-muted);margin:0;padding:8px 0}.order-no{min-width:0;color:var(--text-secondary);align-items:center;gap:6px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;display:flex}.order-copy{width:24px;height:24px;color:var(--text-muted);transition:background-color .18s var(--ease-out), color .18s var(--ease-out);background:0 0;border:none;border-radius:8px;flex:none;place-items:center;padding:0;display:grid}.order-copy:hover{background:var(--surface-soft);color:var(--text)}.order-copy.is-copied{color:var(--brand-green-deep)}.order-time{font:var(--text-caption);color:var(--text-muted)}.order-resume{min-height:32px;padding:0 14px;font-size:13px}.skeleton-slot{border-radius:var(--radius-large);height:150px}@media (prefers-reduced-motion:reduce){.modal-backdrop,.modal-card,.pay-success-icon,.pay-waiting,.pay-step-body{animation-duration:.01ms;animation-iteration-count:1}.pay-success-circle,.pay-success-check{stroke-dashoffset:0;animation:none}}@media (max-width:720px){.plan-card{grid-template-columns:1fr;padding:26px 24px}.plan-banner-copy span{white-space:normal}}.account-meta{flex-direction:column;gap:10px;margin:0;display:flex}.account-meta>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.account-meta dt{font:var(--text-caption);color:var(--text-muted);flex:none}.account-meta dd{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-weight:600;overflow:hidden}.account-id{color:var(--text-secondary);align-items:center;gap:6px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;font-weight:500;display:inline-flex}.account-form{flex-direction:column;gap:14px;max-width:360px;display:flex}.account-submit{align-self:flex-start;min-width:128px}.account-profile{border-bottom:1px solid var(--border);align-items:center;gap:16px;margin-bottom:18px;padding-bottom:18px;display:flex}.account-avatar{background:var(--brand-gradient);color:#fff;width:64px;height:64px;box-shadow:var(--shadow-glow);border-radius:50%;flex:none;place-items:center;display:grid}.account-profile-main{flex-direction:column;gap:8px;min-width:0;display:flex}.account-phone{letter-spacing:.03em;font-size:17px;font-weight:700}.badge-inline{align-items:center;gap:4px;display:inline-flex}.password-rules{flex-wrap:wrap;gap:6px 16px;margin:-4px 0 0;padding:0;list-style:none;display:flex}.password-rule{font:var(--text-caption);color:var(--text-muted);transition:color .18s var(--ease-out);align-items:center;gap:4px;display:inline-flex}.password-rule svg{opacity:.35;transition:opacity .18s var(--ease-out)}.password-rule.is-pass{color:var(--brand-green-deep);font-weight:600}.password-rule.is-pass svg{opacity:1}.field-live-error{font:var(--text-caption);color:var(--danger);animation:rise-in .2s var(--ease-out) both;margin:-4px 0 0}.account-success{border:1px solid #0d9f6e4d;align-items:center;gap:8px;font-weight:600;display:flex}.placeholder-icon-danger{background:var(--danger-soft);color:var(--danger);box-shadow:inset 0 0 0 1px #dc262638}.modal-wide{width:min(560px,100%)}.modal-actions-split{justify-content:space-between}.modal-actions-right{gap:10px;display:flex}.modal-actions .button-ghost,.modal-actions-split .button-ghost{text-decoration:none}.toggle{border:1px solid var(--border-strong);background:var(--surface-soft);width:44px;height:26px;transition:background-color .22s var(--ease-out), border-color .22s var(--ease-out);border-radius:999px;flex:none;position:relative}.toggle-thumb{width:20px;height:20px;transition:transform .22s var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #102a2238}.toggle.is-on{background:var(--brand-green);border-color:var(--brand-green)}.toggle.is-on .toggle-thumb{transform:translate(18px)}.toggle-row{align-items:center;gap:10px;display:flex}.toggle-caption{font:var(--text-caption);color:var(--text-secondary)}.filter-bar{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.filter-field{flex-direction:column;gap:6px;display:flex}.filter-field>span{font:var(--text-caption);color:var(--text-secondary);font-weight:600}.filter-field select,.filter-field input{border:1px solid var(--border-strong);border-radius:var(--radius-small);background:var(--surface);height:38px;color:var(--text);transition:border-color .18s var(--ease-out), box-shadow .18s var(--ease-out);padding:0 12px;font-size:13px}.filter-field select:focus,.filter-field input:focus{border-color:var(--brand-green);box-shadow:var(--focus);outline:none}.filter-reset{margin-left:auto}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;table-layout:fixed;width:100%}.data-table th{text-align:left;font:var(--text-caption);color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 10px;font-weight:600}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;padding:12px 10px;overflow:hidden}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background-color .15s var(--ease-out)}.data-table tbody tr:hover{background:var(--surface-soft)}.cell-mono{color:var(--text-secondary);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px}.cell-amount{font-weight:600}.cell-shop{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:100%;display:inline-block;overflow:hidden}.cell-success{color:var(--brand-green-deep);font-weight:600}.cell-danger{color:var(--danger);font-weight:600}.cell-summary{white-space:normal}.table-empty{text-align:center;color:var(--text-muted);font:var(--text-caption);margin:0;padding:36px 0 28px}.table-empty-inner{align-items:center;gap:8px;display:inline-flex}.pagination{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding-top:14px;display:flex}.pagination-info{font:var(--text-caption);color:var(--text-muted)}.pagination-controls{align-items:center;gap:8px;display:flex}.pagination-button{border:1px solid var(--border-strong);background:var(--surface);width:30px;height:30px;color:var(--text-secondary);transition:border-color .18s var(--ease-out), color .18s var(--ease-out), box-shadow .18s var(--ease-out);border-radius:10px;place-items:center;display:grid}.pagination-button:not(:disabled):hover{border-color:var(--brand-green);color:var(--brand-green-deep);box-shadow:var(--shadow-soft)}.pagination-button:disabled{opacity:.45}.pagination-page{text-align:center;min-width:52px;font:var(--text-caption);color:var(--text-secondary);font-weight:600}.expiry-banner{border-radius:var(--radius);border:1px solid var(--border);background:var(--brand-blue-soft);color:var(--brand-blue-deep);animation:rise-in .24s var(--ease-out) both;align-items:center;gap:10px;margin-bottom:14px;padding:12px 16px;font-weight:500;display:flex}.expiry-banner.expiry-warning{color:#b25000;background:#fff3e6;border-color:#d977064d}.expiry-banner.expiry-danger{background:var(--danger-soft);color:var(--danger);border-color:#dc26264d}.expiry-text{flex:auto;min-width:0}.expiry-action{color:inherit;transition:opacity .18s var(--ease-out);border:1px solid;border-radius:999px;flex:none;padding:4px 12px;font-size:12px;font-weight:700;text-decoration:none}.expiry-action:hover{opacity:.75}.exec-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-large);box-shadow:var(--shadow-soft);align-items:center;gap:18px;padding:18px 20px;display:flex}.exec-ring{flex:none;width:64px;height:64px;position:relative}.exec-ring-track{stroke:var(--surface-soft)}.exec-ring-bar{stroke:var(--brand-green);transition:stroke-dashoffset .5s var(--ease-out)}.exec-ring.is-indeterminate .exec-ring-bar{transform-origin:50%;animation:1.2s linear infinite spin}.exec-ring-text{color:var(--brand-green-deep);place-items:center;font-size:13px;font-weight:700;display:grid;position:absolute;inset:0}.exec-body{flex:auto;min-width:0}.exec-title{margin:0 0 8px;font-weight:600}.exec-track{background:var(--surface-soft);border-radius:999px;height:8px;overflow:hidden}.exec-bar{background:var(--brand-gradient);height:100%;transition:width .5s var(--ease-out);border-radius:999px;display:block}@keyframes exec-indeterminate{0%{width:30%;left:-30%}60%{width:40%;left:45%}to{width:30%;left:105%}}.exec-bar.is-indeterminate{width:30%;animation:exec-indeterminate 1.4s var(--ease-out) infinite;position:relative}.exec-caption{font:var(--text-caption);color:var(--text-muted);margin:8px 0 0}.dash-shop-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dash-shop-row{border-top:1px solid var(--border);align-items:center;gap:12px;padding:10px 0;display:flex}.dash-shop-row:first-child{border-top:none;padding-top:2px}.dash-shop-name{flex:auto;align-items:center;gap:8px;min-width:0;font-weight:600;display:flex}.dash-shop-expiry{font:var(--text-caption);color:var(--text-muted);flex:none}.todo-list{flex-direction:column;gap:14px;display:flex}.todo-card{align-items:center;gap:16px;padding:18px 20px;display:flex}.todo-card-main{flex:auto;min-width:0}.todo-card-head{align-items:center;gap:10px;margin-bottom:6px;display:flex}.todo-shop{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.todo-time{font:var(--text-caption);color:var(--text-muted)}.todo-title{font:var(--text-card-title);margin:0 0 4px}.todo-desc{color:var(--text-secondary);margin:0}.todo-actions{flex:none;gap:8px;display:flex}.todo-qr{border:1px solid var(--border);border-radius:var(--radius-large);width:fit-content;box-shadow:var(--shadow-soft);background:#fff;margin:14px auto;padding:12px}.qr-image{border-radius:var(--radius-small);display:block}.profile-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px 18px;display:grid}.segmented{background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;gap:4px;width:fit-content;padding:4px;display:inline-flex}.segmented-option{min-height:32px;color:var(--text-secondary);transition:background-color .2s var(--ease-out), color .2s var(--ease-out), box-shadow .2s var(--ease-out);background:0 0;border:none;border-radius:999px;padding:0 14px;font-size:13px;font-weight:600}.segmented-option.is-active{background:var(--surface);color:var(--brand-green-deep);box-shadow:var(--shadow-soft)}.profile-items{flex-direction:column;gap:8px;display:flex}.profile-item{grid-template-columns:1fr 1.2fr 1.6fr .7fr 34px;align-items:center;gap:8px;display:grid}.profile-item-head{font:var(--text-caption);color:var(--text-muted);padding:0 2px;font-weight:600}.profile-item input,.profile-item select{border:1px solid var(--border-strong);border-radius:var(--radius-small);background:var(--surface);height:38px;color:var(--text);width:100%;transition:border-color .18s var(--ease-out), box-shadow .18s var(--ease-out);padding:0 12px;font-size:13px}.profile-item input:focus,.profile-item select:focus{border-color:var(--brand-green);box-shadow:var(--focus);outline:none}.profile-item-delete{width:30px;height:30px;color:var(--text-muted);transition:background-color .18s var(--ease-out), color .18s var(--ease-out);background:0 0;border:none;border-radius:10px;place-items:center;display:grid}.profile-item-delete:not(:disabled):hover{background:var(--danger-soft);color:var(--danger)}.profile-item-add{margin-top:10px}.preset-actions{gap:8px;display:flex}.preset-actions .button{min-height:32px;padding:0 12px;font-size:12.5px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.import-actions{gap:10px;display:flex}.upload-dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-soft);width:100%;color:var(--brand-blue);cursor:pointer;transition:border-color .2s var(--ease-out), background-color .2s var(--ease-out);flex-direction:column;align-items:center;gap:6px;padding:26px 16px;display:flex}.upload-dropzone:hover:not(:disabled),.upload-dropzone.is-active{border-color:var(--brand-blue);background:var(--brand-blue-soft)}.upload-dropzone:disabled{cursor:not-allowed;opacity:.6}.upload-dropzone-title{color:var(--text);font-weight:600}.upload-dropzone-hint{color:var(--text-muted);font-size:12px}.batch-progress{flex-direction:column;gap:4px;min-width:150px;margin-top:6px;display:flex}.batch-progress-text{color:var(--text-muted);font-size:12px}.host-layout{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:20px;margin-top:20px;display:grid}@media (max-width:960px){.host-layout{grid-template-columns:minmax(0,1fr)}}.host-steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.host-step{border-radius:var(--radius-small);background:var(--surface-soft);border:1px solid var(--border);align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.host-step-index{background:var(--brand-blue);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:inline-flex}.host-step-detail{color:var(--text-muted);margin-top:2px;font-size:12px;display:block}.host-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.host-card{border-radius:var(--radius-small);border:1px solid var(--border);background:var(--surface);padding:14px 16px}.host-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.host-name{align-items:center;gap:8px;font-weight:600;display:inline-flex}.host-current{color:var(--text-muted);font-size:12px}.host-assign{gap:10px;margin-top:10px;display:flex}.host-assign select{flex:1;min-width:0}.import-result{border-radius:var(--radius-small);background:var(--surface-soft);border:1px solid var(--border);animation:rise-in .2s var(--ease-out) both;margin-top:14px;padding:12px 14px}.import-result-summary{color:var(--text-secondary);margin:0}.import-error-list{color:var(--danger);font:var(--text-caption);margin:8px 0 0;padding-left:18px}.settings-summary{border-radius:var(--radius-small);background:var(--brand-green-soft);color:var(--brand-green-deep);align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;font-weight:600;display:flex}.settings-toggle{margin-bottom:16px}.time-slots{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.time-slot{border:1px solid var(--border);background:var(--surface-soft);border-radius:999px;align-items:center;gap:6px;padding:4px 6px 4px 10px;display:inline-flex}.time-slot select{height:30px;color:var(--text);background:0 0;border:none;font-size:14px;font-weight:600}.time-slot select:focus{outline:none}.time-slot-sep{color:var(--text-muted);font-weight:700}.settings-group{font:var(--text-caption);color:var(--text-muted);margin:10px 0 0}.run-now-panel{border-radius:var(--radius);background:var(--surface-soft);border:1px solid var(--border);color:var(--brand-green-deep);align-items:flex-start;gap:12px;padding:14px;display:flex}.run-now-body{flex-direction:column;flex:auto;gap:8px;display:flex}.run-now-body small{color:var(--text-muted)}.relay-url-box{border-radius:var(--radius);background:var(--surface-soft);border:1px solid var(--border);align-items:center;gap:8px;margin:14px 0 8px;padding:10px 12px;display:flex}.relay-url{overflow-wrap:anywhere;min-width:0;color:var(--text-secondary);flex:auto;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px}.shop-card-actions{gap:4px;display:flex}.range-tabs{background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.range-tab{min-height:32px;color:var(--text-secondary);transition:background-color .2s var(--ease-out), color .2s var(--ease-out), box-shadow .2s var(--ease-out);background:0 0;border:none;border-radius:999px;padding:0 14px;font-size:13px;font-weight:600}.range-tab.is-active{background:var(--surface);color:var(--brand-green-deep);box-shadow:var(--shadow-soft)}.chart-wrap{padding:4px 0 0}.day-chart{width:100%;height:auto;display:block}.day-chart-bar{fill:var(--brand-green);opacity:.85;transition:opacity .18s var(--ease-out)}.day-chart-bar:hover{opacity:1;fill:var(--brand-blue)}.day-chart-label{fill:var(--text-muted);text-anchor:middle;font-size:9px}.chart-foot{font:var(--text-caption);color:var(--text-muted);margin:8px 0 0}.chart-skeleton{align-items:flex-end;gap:6px;height:140px;display:flex}.chart-skeleton-bar{border-radius:5px;flex:1 1 0;height:100%}.team-member-list{flex-direction:column;display:flex}.team-member{border-bottom:1px solid var(--border);align-items:flex-start;gap:14px;padding:14px 0;display:flex}.team-member:last-child{border-bottom:none;padding-bottom:0}.team-member:first-child{padding-top:0}.team-avatar{background:var(--brand-green-soft);width:38px;height:38px;color:var(--brand-green-deep);border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex}.team-avatar-pending{color:#b25000;background:#fff3e6}.team-member-info{flex-direction:column;flex:auto;gap:6px;min-width:0;display:flex}.team-member-title{align-items:center;gap:10px;font-size:15px;display:flex}.team-member-meta{font:var(--text-caption);color:var(--text-muted)}.team-chips{flex-wrap:wrap;gap:6px;display:flex}.team-no-perm{font:var(--text-caption);color:var(--text-muted)}.team-member-actions{flex:none;align-items:center;gap:4px;display:flex}.team-danger,.team-danger:hover{color:var(--danger)}.team-empty{font:var(--text-body);color:var(--text-muted);margin:0}.team-invite-form{flex-direction:column;gap:14px;display:flex}.team-invite-phone{max-width:320px}.perm-picker{flex-direction:column;gap:14px;display:flex}.perm-presets{flex-wrap:wrap;gap:8px;display:flex}.perm-preset{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-secondary);font:var(--text-caption);cursor:pointer;transition:border-color .18s var(--ease-out), background .18s var(--ease-out), color .18s var(--ease-out);border-radius:999px;padding:7px 16px;font-weight:600}.perm-preset:hover{border-color:var(--brand-green);color:var(--brand-green-deep)}.perm-preset.is-active{background:var(--brand-green-soft);color:var(--brand-green-deep);border-color:#0d9f6e66}.perm-preset:disabled{cursor:not-allowed;opacity:.6}.perm-preset-custom{cursor:default;border-style:dashed}.perm-preset-custom:hover{border-color:var(--border-strong);color:var(--text-secondary)}.perm-preset-custom.is-active{background:var(--brand-green-soft);color:var(--brand-green-deep);border-color:#0d9f6e66}.perm-options{grid-template-columns:1fr 1fr;gap:12px 20px;display:grid}.perm-option{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);align-items:flex-start;padding:10px 12px}.perm-option-text{flex-direction:column;gap:2px;display:flex}.perm-option-text strong{font:var(--text-caption);color:var(--text);font-weight:600}.perm-option-text small{font:var(--text-caption);color:var(--text-muted)}@media (max-width:720px){.team-member{flex-direction:column}.team-member-actions{align-self:flex-end}.perm-options{grid-template-columns:1fr}.todo-card{flex-direction:column;align-items:stretch}.todo-actions{justify-content:flex-end}.profile-item{grid-template-columns:1fr 1fr}.profile-item-head{display:none}}.platform-badge{align-items:center;gap:8px;min-width:0;display:inline-flex}.platform-badge-mark{background:var(--surface-soft);border:1px solid var(--border);color:#fff;border-radius:6px;flex:none;place-items:center;width:20px;height:20px;font-size:12px;font-weight:700;line-height:1;display:grid;overflow:hidden}.platform-badge-mark img{object-fit:contain;width:100%;height:100%;display:block}.platform-badge-label{font:var(--text-caption);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.plan-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-bottom:20px;display:grid}.plan-option{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);transition:transform .22s var(--ease-out), box-shadow .22s var(--ease-out), border-color .22s var(--ease-out);flex-direction:column;gap:14px;padding:26px 28px;display:flex;position:relative}.plan-option:hover{box-shadow:var(--shadow-float);transform:translateY(-3px)}.plan-option.is-recommended{border:2px solid var(--brand-blue);box-shadow:var(--shadow-float);transform:translateY(-3px)}.plan-option-tag{background:var(--brand-gradient);color:#fff;letter-spacing:.06em;box-shadow:var(--shadow-glow);border-radius:999px;padding:2px 12px;font-size:12px;font-weight:700;position:absolute;top:-11px;right:22px}.plan-option-head{flex-direction:column;gap:4px;display:flex}.plan-option-head h2{font:var(--text-card-title);margin:0;font-size:18px}.plan-option-head p{font:var(--text-caption);color:var(--text-muted);margin:0}.plan-option .plan-price-row{margin:0}.plan-option-features{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.plan-option-features li{color:var(--text-secondary);align-items:center;gap:8px;font-size:13.5px;display:flex}.plan-option-audience{font:var(--text-caption);color:var(--text-muted);margin:0}.plan-option-cta{margin-top:auto}.plan-option-cta .button{width:100%;min-height:42px}.plan-trust{text-align:center;font:var(--text-caption);color:var(--text-muted);letter-spacing:.04em;margin:0 0 20px}.plan-mini-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.plan-mini{text-align:left;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);transition:border-color .18s var(--ease-out), box-shadow .18s var(--ease-out), background-color .18s var(--ease-out);flex-direction:column;gap:6px;padding:16px;display:flex;position:relative}.plan-mini:hover{border-color:var(--brand-blue)}.plan-mini.is-selected{border:2px solid var(--brand-blue);background:var(--brand-blue-soft);box-shadow:var(--shadow-soft);padding:15px}.plan-mini-name{color:var(--text);font-weight:700}.plan-mini-price{color:var(--brand-blue-deep);font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.plan-mini-price small{color:var(--text-muted);font-size:12px;font-weight:600}.plan-mini-tagline{font:var(--text-caption);color:var(--text-muted)}.target-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.target-option{text-align:left;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);width:100%;transition:border-color .18s var(--ease-out), background-color .18s var(--ease-out);align-items:center;gap:10px;padding:12px 14px;display:flex}.target-option:hover{border-color:var(--brand-blue)}.target-option.is-selected{border:2px solid var(--brand-blue);background:var(--brand-blue-soft);padding:11px 13px}.target-option-main{flex-direction:column;gap:2px;min-width:0;display:flex}.target-option-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.target-option-main small{font:var(--text-caption);color:var(--text-muted)}.pay-countdown{font:var(--text-caption);color:var(--text-muted);font-variant-numeric:tabular-nums;margin:0 0 10px}.pay-countdown strong{color:var(--warning);font-weight:700}@media (max-width:720px){.plan-mini-grid{grid-template-columns:1fr}}
