:root{--background:#f7f8fb;--foreground:#17202a;--muted:#667085;--line:#d9dee8;--surface:#fff;--surface-soft:#eef3f8;--primary:#06c755;--primary-strong:#079845;--accent:#315b8d;--warning:#b7791f;--danger:#b42318;--radius:8px}*{box-sizing:border-box}html,body{overscroll-behavior-y:none;-moz-text-size-adjust:100%;text-size-adjust:100%;min-height:100%;margin:0}body{background:var(--background);color:var(--foreground);font-family:Arial,Noto Sans TC,Microsoft JhengHei,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.page-band{z-index:30;border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;box-shadow:0 6px 18px #17202a0a}.page-band .container{padding-top:14px;padding-bottom:12px}.page-band .stack{gap:10px}.header-row{justify-content:space-between;align-items:start;gap:16px;display:flex}.header-row h1{margin:0;font-size:24px;line-height:1.15}.header-row p{margin:4px 0 0}.container{max-width:1180px;margin:0 auto;padding:24px}.app-shell>.container{padding-top:16px;padding-bottom:18px}.stack{gap:16px;display:grid}.grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:14px}.card.stack{gap:12px}.metric{justify-content:space-between;align-items:center;min-height:96px;display:flex}.muted{color:var(--muted)}.button-row{flex-wrap:wrap;gap:10px;display:flex}.button{background:var(--primary);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-weight:700;transition:background-color .14s,border-color .14s,box-shadow .14s,color .14s,transform .12s;display:inline-flex}.button:hover{background:var(--primary-strong);transform:translateY(-1px);box-shadow:0 6px 16px #06c75538}.button:active{box-shadow:none;transform:translateY(0)}.button:focus-visible{outline-offset:2px;outline:3px solid #06c7553d}.button:disabled{cursor:not-allowed;opacity:.62;transform:none}.button:disabled:hover{background:var(--primary);box-shadow:none}.button.secondary{border-color:var(--line);background:var(--surface);color:var(--foreground)}.button.secondary:hover{border-color:var(--accent);background:var(--surface-soft);color:var(--accent);box-shadow:0 6px 16px #315b8d1f}.button.secondary:disabled:hover{border-color:var(--line);background:var(--surface);color:var(--foreground)}.button.danger{border-color:var(--danger);background:var(--danger);color:#fff}.button.danger:hover{background:#8f1d15;border-color:#8f1d15;box-shadow:0 6px 16px #b423182e}.icon-button{border:1px solid var(--line);background:var(--surface);width:42px;height:42px;color:var(--foreground);cursor:pointer;border-radius:7px;place-items:center;transition:background-color .14s,border-color .14s,box-shadow .14s,color .14s;display:inline-grid}.icon-button:hover,.icon-button[aria-expanded=true]{border-color:var(--accent);background:var(--surface-soft);color:var(--accent);box-shadow:0 6px 16px #315b8d1f}.icon-button:focus-visible{outline-offset:2px;outline:3px solid #315b8d2e}.header-menu{margin-left:auto;position:relative}.header-menu-panel{z-index:20;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:4px;width:132px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 40px #17202a24}.header-menu-panel a,.header-menu-panel button{min-height:38px;color:var(--foreground);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;padding:0 10px;display:flex}.header-menu-panel a:hover,.header-menu-panel button:hover{background:var(--surface-soft);color:var(--accent)}.nav{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.nav a{color:var(--muted);border-radius:7px;padding:7px 10px;transition:background-color .14s,color .14s}.nav a:hover{background:var(--surface-soft);color:var(--foreground)}.table{border-collapse:collapse;width:100%}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;padding:12px 10px}.table th{color:var(--muted);font-size:14px}.table tbody tr{transition:background-color .14s}.table tbody tr:hover{background:var(--surface-soft)}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.settings-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-guide-panel{border-top:1px solid var(--line);padding-top:16px}.field{gap:6px;display:grid}.field label{color:var(--muted);font-size:14px}.field input,.field select,.field textarea{border:1px solid var(--line);background:#fff;border-radius:7px;min-height:40px;padding:8px 10px;transition:border-color .14s,box-shadow .14s}.field input:hover,.field select:hover,.field textarea:hover{border-color:#aeb8c8}.field input:read-only,.field textarea:read-only,.field input:disabled,.field select:disabled,.field textarea:disabled{border-color:var(--line);color:var(--muted);cursor:not-allowed;background:#f2f4f7}.field input:read-only:hover,.field textarea:read-only:hover,.field input:disabled:hover,.field select:disabled:hover,.field textarea:disabled:hover{border-color:var(--line)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #315b8d24}.checkbox-field{min-height:40px;color:var(--foreground);align-self:end;align-items:center;gap:8px;font-weight:700;display:inline-flex}.checkbox-field input{width:18px;height:18px;accent-color:var(--primary)}.pill{background:var(--surface-soft);width:fit-content;color:var(--accent);border-radius:999px;align-items:center;padding:5px 9px;font-size:13px;font-weight:700;display:inline-flex}.form-message{border-left:3px solid var(--primary);background:var(--surface-soft);color:var(--foreground);margin:0;padding:10px 12px}.form-message.error{border-left-color:var(--danger);color:var(--danger)}.modal-form-message{background:#be181814;border-radius:8px;font-weight:700}.danger-text{color:var(--danger)}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;display:flex}.section-heading h2,.customer-card h3{margin:0}.section-heading h2{font-size:20px;line-height:1.25}.warranty-section-heading{align-items:start}.simple-list{gap:8px;display:grid}.simple-list-item{border:1px solid var(--line);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:12px;transition:background-color .14s,border-color .14s;display:flex}.simple-list-item:hover{background:var(--surface-soft);border-color:#c6cfdd}.simple-list-item span{color:var(--muted);font-size:14px}.dashboard-list-item{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:minmax(180px,1fr) minmax(120px,auto) auto;align-items:center;gap:12px;padding:12px;display:grid}.dashboard-list-main{gap:4px;min-width:0;display:grid}.dashboard-list-main strong,.dashboard-list-main span,.dashboard-list-meta{overflow-wrap:anywhere;min-width:0}.dashboard-list-main span,.dashboard-list-meta{color:var(--muted);font-size:14px}.integration-step-list{gap:12px;display:grid}.integration-step{border:1px solid var(--line);border-radius:var(--radius);background:#fff;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.integration-step p{overflow-wrap:anywhere;margin:4px 0 0}.integration-step-number{background:var(--surface-soft);width:30px;height:30px;color:var(--accent);border-radius:999px;place-items:center;font-weight:700;display:grid}.customer-toolbar{gap:16px;display:grid}.customer-summary{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.mini-metric{gap:6px;min-height:88px;display:grid}.mini-metric strong{font-size:30px}.customer-list{gap:14px;display:grid}.customer-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:16px;padding:18px;transition:border-color .14s,box-shadow .14s;display:grid}.customer-card:hover{border-color:#c6cfdd;box-shadow:0 12px 28px #17202a12}.customer-card-header{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:14px;display:flex}.customer-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.customer-title-row h3{font-size:20px}.customer-store-name{min-width:0;color:var(--muted);overflow-wrap:anywhere;font-size:14px;font-weight:700}.customer-meta{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:8px;font-size:14px;display:flex}.customer-compact-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.customer-compact-grid>div{border-top:1px solid var(--line);gap:5px;padding-top:12px;display:grid}.customer-compact-grid strong{overflow-wrap:anywhere;min-width:0}.customer-settings-panel{border-top:1px solid var(--line);grid-template-columns:minmax(220px,.8fr) minmax(320px,1.8fr);align-items:start;gap:14px;padding-top:16px;display:grid}.credential-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);gap:6px;padding:14px;display:grid}.credential-panel p{margin:0}.customer-commercial-form{grid-template-columns:1fr;align-items:start;gap:12px;max-width:520px;display:grid}.coupon-admin-section{gap:18px}.coupon-section-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.coupon-status-tabs{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;flex-wrap:wrap;gap:6px;padding:4px;display:inline-flex}.coupon-status-tabs button{min-height:34px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:7px 12px;font-weight:700;display:inline-flex}.coupon-status-tabs button.active{color:var(--text);background:#fff;box-shadow:0 1px 2px #0f172a14}.coupon-status-tabs button span{color:inherit;font-size:13px}.coupon-line-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:0;display:flex}.coupon-line-tabs button{min-height:40px;color:var(--success);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:700;display:inline-flex}.coupon-line-tabs button.active{border-color:var(--line);border-left:1px solid var(--line);border-right:1px solid var(--line);border-top:1px solid var(--line);color:var(--text);background:#fff;border-radius:8px 8px 0 0;margin-bottom:-1px}.coupon-line-tabs button span{color:inherit;font-size:12px}.coupon-admin-list{gap:14px;display:grid}.coupon-admin-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:14px;padding:16px;display:grid}.coupon-admin-card-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.coupon-admin-card-header h3{margin:4px 0}.coupon-admin-card-header p{margin:0}.coupon-admin-meta{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.coupon-admin-meta>div{border-top:1px solid var(--line);gap:5px;padding-top:12px;display:grid}.coupon-admin-meta span{color:var(--muted);font-size:14px}.coupon-admin-meta strong{overflow-wrap:anywhere;min-width:0}.coupon-campaign-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:14px;padding:16px;display:grid}.coupon-campaign-card-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.coupon-campaign-card-head h3{margin:4px 0}.coupon-campaign-card-head p{margin:0}.coupon-campaign-stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;display:grid}.coupon-campaign-stats>div{border-top:1px solid var(--line);gap:5px;padding-top:12px;display:grid}.coupon-campaign-stats span{color:var(--muted);font-size:14px}.coupon-campaign-stats strong{overflow-wrap:anywhere;min-width:0}.coupon-campaign-actions{justify-content:flex-end}.coupon-campaign-member-list{border:1px solid var(--line);border-radius:var(--radius);display:grid;overflow:hidden}.coupon-campaign-member-filters{grid-template-columns:minmax(220px,1fr) minmax(160px,220px);gap:12px;display:grid}.coupon-campaign-member-row{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.coupon-campaign-member-row:last-child{border-bottom:0}.coupon-campaign-member-row>div{gap:4px;min-width:0;display:grid}.coupon-campaign-member-row span:not(.pill){color:var(--muted);font-size:14px}.coupon-template-edit-notice{border-radius:var(--radius);color:var(--accent);background:#f0f7fd;border:1px solid #b9d8f1;gap:5px;padding:12px 14px;display:grid}.coupon-template-edit-notice span{color:var(--muted);font-size:14px}.coupon-template-row{border:1px solid var(--line);border-radius:var(--radius);background:#fff;grid-template-columns:minmax(240px,1fr) minmax(180px,auto) auto;align-items:center;gap:16px;padding:14px;display:grid}.coupon-issued-row{border:1px solid var(--line);border-radius:var(--radius);background:#fff;grid-template-columns:minmax(220px,1fr) minmax(180px,auto) minmax(180px,auto);align-items:center;gap:16px;padding:14px;display:grid}.coupon-issued-member{gap:4px;min-width:0;display:grid}.coupon-issued-member span{color:var(--muted);font-size:14px}.coupon-issued-member strong{overflow-wrap:anywhere;min-width:0}.coupon-template-main{gap:5px;min-width:0;display:grid}.coupon-template-main h3{margin:0;font-size:16px;line-height:1.25}.coupon-template-main span,.coupon-template-meta span{color:var(--muted);font-size:13px}.coupon-template-main h3,.coupon-template-main span,.coupon-template-meta strong{overflow-wrap:anywhere;min-width:0}.coupon-template-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.coupon-template-meta>div{gap:4px;display:grid}.coupon-send-template-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;grid-template-columns:minmax(0,1fr);align-items:center;gap:14px;padding:14px;display:grid}.coupon-send-template-card h3,.coupon-send-template-card p{margin:0}.coupon-send-template-card h3{margin-top:4px}.coupon-send-template-card p{color:var(--muted);margin-top:5px}.coupon-send-template-card span{color:var(--muted);font-size:14px}.coupon-send-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);gap:12px;padding:14px;display:grid}.coupon-send-preview{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;padding:14px;display:grid}.coupon-send-preview>div{gap:5px;display:grid}.coupon-send-preview span{color:var(--muted);font-size:14px}.coupon-send-preview strong{overflow-wrap:anywhere;min-width:0}.coupon-send-actions{justify-content:flex-end}.member-search-panel,.member-list-panel{gap:18px}.member-search-form{gap:12px;display:grid}.member-search-form .field{gap:5px}.member-search-form .field label{font-size:13px}.member-search-form .field input,.member-search-form .field select{min-height:36px;padding:7px 9px;font-size:14px}.member-search-form .button{min-height:36px;padding-inline:12px;font-size:14px}.member-search-form .button svg{width:16px;height:16px}.member-search-fields{grid-template-columns:minmax(240px,1.5fr) minmax(150px,.7fr) minmax(180px,.8fr);gap:12px;display:grid}.member-list-heading{justify-content:flex-start}.member-list-title-line{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.member-list-summary{flex-wrap:wrap;gap:6px;display:flex}.member-list-summary span{border:1px solid var(--line);background:var(--surface-soft);min-height:28px;color:var(--muted);border-radius:999px;align-items:center;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.member-result-list{gap:10px;display:grid}.member-result-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:10px;padding:14px;transition:border-color .14s,box-shadow .14s,transform .14s;display:grid}.member-result-card:hover{border-color:#c6cfdd;transform:translateY(-1px);box-shadow:0 12px 28px #17202a12}.member-result-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.member-result-actions{flex:none;justify-content:flex-end}.member-result-actions .button{min-height:34px;padding-inline:10px;font-size:14px}.member-result-actions .button svg{width:16px;height:16px}.member-result-title{gap:6px;min-width:0;display:grid}.member-result-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.member-result-title-row h3{margin:0;font-size:19px;line-height:1.25}.member-result-meta{color:var(--muted);flex-wrap:wrap;gap:10px;margin:0;font-size:14px;display:flex}.member-result-tags{border-top:1px solid var(--line);gap:8px;padding-top:10px;display:grid}.member-result-tags>div:first-child{gap:6px;display:grid}.member-result-tags>div:first-child>span{color:var(--muted);font-size:13px}.member-result-tags .member-tag-list,.member-result-tags .muted,.member-result-tags .member-tag-pill{font-size:13px}.member-result-tag-form{grid-template-columns:minmax(180px,1fr) auto;gap:10px;display:grid}.member-tag-list.compact{gap:6px}.member-tag-pill.readonly{padding-right:12px}.member-tag-pill.readonly .member-tag-dot{width:10px;height:10px}.member-profile-card{gap:18px}.member-profile-head{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.member-profile-title{gap:8px;min-width:0;display:grid}.member-profile-title h2{margin:0;font-size:24px;line-height:1.2}.member-profile-title p{color:var(--muted);margin:0}.member-profile-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.member-profile-actions .pill,.member-profile-actions .button{min-height:34px;font-size:14px}.member-profile-actions .button{padding-inline:10px}.member-profile-actions .button svg{width:16px;height:16px}.member-profile-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.member-profile-grid>div{border-top:1px solid var(--line);gap:5px;padding-top:12px;display:grid}.member-profile-grid span{color:var(--muted);font-size:13px}.member-profile-grid strong{overflow-wrap:anywhere;min-width:0;font-size:16px}.member-profile-main-info strong{font-size:18px}.member-detail-tabs-shell{gap:14px}.member-back-button{min-height:34px;padding-inline:10px;font-size:14px}.member-back-button svg{width:16px;height:16px}.member-detail-tabs{border-bottom:1px solid var(--line);gap:8px;display:flex}.member-detail-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:15px;font-weight:800;display:inline-flex}.member-detail-tabs button.active{border-bottom-color:var(--primary);color:var(--text)}.member-ticket-card{gap:12px}.member-ticket-card .section-heading{gap:6px}.member-ticket-card .section-heading h2{font-size:18px}.member-ticket-card .section-heading p{margin:3px 0 0;font-size:13px}.member-ticket-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.member-ticket-summary>div{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:4px;padding:10px 12px;display:grid}.member-ticket-summary span,.member-ticket-row span,.member-ticket-history-row span,.member-ticket-history-row small{color:var(--muted);font-size:13px}.member-ticket-summary strong{font-size:21px;line-height:1}.member-ticket-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.section-subtitle{margin:0;font-size:18px}.member-ticket-list,.member-ticket-history{gap:10px;display:grid}.member-ticket-row,.member-ticket-history-row{border:1px solid var(--line);border-radius:var(--radius);background:#fff;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px;display:flex}.member-ticket-row h3{margin:0 0 6px;font-size:17px}.member-ticket-row p{margin:0 0 6px;font-weight:700}.member-ticket-row-meta,.member-ticket-history-row>div:last-child{text-align:right;flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.member-ticket-history-row>div{gap:5px;display:grid}.member-ticket-history-row strong{font-size:15px}.member-tag-panel{border-top:1px solid var(--line);gap:10px;padding-top:12px;display:grid}.member-tag-panel-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.member-tag-panel-header strong{font-size:14px;display:block}.member-tag-panel-header p{margin:4px 0 0;font-size:13px}.member-tag-panel .member-tag-pill,.member-tag-panel .muted{font-size:13px}.member-tag-list{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.member-tag-pill{border:1px solid var(--line);color:var(--ink);background:#f8fafc;border-radius:999px;align-items:center;gap:6px;padding:8px 10px 8px 12px;font-size:14px;font-weight:700;line-height:1;display:inline-flex}.member-tag-pill button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.member-tag-pill button:hover{color:var(--danger)}.member-tag-form{grid-template-columns:minmax(180px,.7fr) minmax(220px,1fr) auto;gap:10px;display:grid}.member-tag-manager-form{grid-template-columns:minmax(220px,1fr) 120px auto;align-items:end;gap:14px;display:grid}.member-tag-manager-row{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:16px;padding:14px;display:grid}.member-tag-manager-preview{align-items:center;gap:12px;min-width:0;display:flex}.member-tag-manager-preview strong{overflow-wrap:anywhere;display:block}.member-tag-manager-preview p{margin:4px 0 0}.member-tag-dot{border-radius:999px;flex:none;width:14px;height:14px;box-shadow:inset 0 0 0 1px #0f172a1f}.member-detail-summary{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.member-detail-summary .metric{min-height:82px}.member-detail-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.member-detail-grid>div{border-top:1px solid var(--line);gap:5px;padding-top:12px;display:grid}.member-detail-grid span{color:var(--muted);font-size:14px}.member-detail-grid strong{overflow-wrap:anywhere;min-width:0}.warranty-list{gap:14px;display:grid}.warranty-card{border:1px solid var(--line);border-radius:var(--radius);gap:14px;padding:16px;display:grid}.warranty-card-header{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:12px;display:flex}.warranty-card-header h3{margin:0}.warranty-info-section,.warranty-after-sale-section{gap:12px;display:grid}.warranty-section-label{font-size:15px;display:block}.warranty-after-sale-section{border-top:1px solid var(--line);margin-top:4px;padding-top:16px}.warranty-after-sale-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.warranty-after-sale-heading .muted{font-size:14px}.warranty-after-sale-item{grid-template-columns:minmax(120px,.34fr) minmax(260px,1fr) auto;align-items:start;gap:18px;padding:4px 0 4px 18px;display:grid;position:relative}.warranty-after-sale-item:before{background:var(--line);content:"";width:1px;position:absolute;top:8px;bottom:8px;left:3px}.warranty-after-sale-item:after{background:var(--accent);content:"";border-radius:999px;width:7px;height:7px;position:absolute;top:10px;left:0}.warranty-after-sale-date,.warranty-after-sale-details>div{gap:5px;display:grid}.warranty-after-sale-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.warranty-after-sale-date span,.warranty-after-sale-details span{color:var(--muted);font-size:13px}.warranty-after-sale-date strong,.warranty-after-sale-details strong{overflow-wrap:anywhere;min-width:0}.liff-warranty-card{gap:16px}.liff-warranty-summary{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.liff-warranty-summary>div{border:1px solid var(--line);background:var(--surface-soft);border-radius:7px;gap:5px;padding:12px;display:grid}.liff-warranty-summary span,.liff-after-sale-item span{color:var(--muted);font-size:13px}.liff-warranty-summary strong{overflow-wrap:anywhere}.liff-after-sale-list{border-top:1px solid var(--line);gap:8px;padding-top:14px;display:grid}.liff-after-sale-list h4{margin:0}.liff-after-sale-item{background:var(--surface-soft);border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.liff-page-shell{--liff-ink:#3f3a34;--liff-muted:#3f3a3494;--liff-hairline:#695e4f24;--liff-paper:#fffffcb8;--liff-paper-solid:#fbfbf7;--liff-accent:#4f463d;overscroll-behavior:none;touch-action:pan-y;-webkit-overflow-scrolling:touch;height:100svh;min-height:100svh;color:var(--liff-ink);background:linear-gradient(128deg,#ffffff6b 0 16%,#ffffff1a 16% 36%,#0000 36%),linear-gradient(#f7f7f4,#ececea);position:fixed;inset:0;overflow:hidden auto}.liff-page-shell .container{min-height:100%;padding-inline:10px}.liff-page-shell .card{border:1px solid var(--liff-hairline);background:var(--liff-paper);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;box-shadow:0 18px 52px #5248370f}.liff-page-shell .section-heading{flex-wrap:nowrap;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.liff-page-shell .section-heading>div{min-width:0}.liff-page-shell .section-heading h2{color:var(--liff-ink);margin:0;font-size:20px;line-height:1.25}.liff-page-shell .muted{color:var(--liff-muted)}.liff-page-shell .pill{color:#6b6258;background:#fffffcb8;border:0;box-shadow:0 8px 22px #5248370a}.liff-page-shell .pill.success{color:#6b6258;background:#edede9d6}.liff-page-shell .pill.danger{color:#9b4c3d;background:#f4e2dac7}.liff-page-shell .button{background:#776b5d;border-color:#776b5d33;border-radius:12px;box-shadow:0 12px 28px #52483729}.liff-page-shell .button:hover{background:#665c50;box-shadow:0 14px 32px #52483733}.liff-page-shell .button.secondary{border-color:var(--liff-hairline);color:var(--liff-ink);box-shadow:none;background:#fffffcb8}.liff-page-shell .button.secondary:hover{color:#665c50;background:#eeeeeae6;border-color:#776b5d42}.liff-page-shell input,.liff-page-shell select,.liff-page-shell textarea{border-color:var(--liff-hairline);color:var(--liff-ink);background:#fffffcb8;border-radius:12px}.liff-page-shell input:focus,.liff-page-shell select:focus,.liff-page-shell textarea:focus{border-color:#776b5d57;outline:0;box-shadow:0 0 0 3px #776b5d1f}.liff-member-center{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.liff-page-title{text-align:center;justify-items:center;gap:8px;display:grid}.liff-page-title h1{color:var(--liff-ink);margin:0;font-size:20px;line-height:1.2}.liff-page-shell .liff-member-center>.liff-page-title>.pill,.liff-page-shell .liff-page-title>span.pill{visibility:hidden!important;pointer-events:none!important;width:0!important;height:0!important;margin:0!important;padding:0!important;display:none!important;overflow:hidden!important}.liff-member-card-panel{gap:16px}.liff-card-scene{isolation:isolate;border-radius:20px;position:relative;overflow:hidden}.liff-card-scene:before{content:none}.liff-member-card-visual{color:#3f3a34;-webkit-backdrop-filter:blur(30px)saturate(1.03);backdrop-filter:blur(30px)saturate(1.03);background:linear-gradient(140deg,#f7f6f0f0,#dad8cfc7),linear-gradient(155deg,#b2aca057,#e2dfd64d);border:1px solid #695e4f2e;border-radius:20px;align-content:space-between;gap:44px;min-height:224px;padding:26px;display:grid;position:relative;overflow:hidden;box-shadow:0 30px 76px #52483729,0 10px 26px #52483717,inset 0 1px #ffffffb8}.liff-member-card-visual:before{content:"";opacity:.72;background:linear-gradient(125deg,#ffffff61 0 18%,#ffffff1a 18% 46%,#0000 46%),linear-gradient(155deg,#0000 0 54%,#9a8f8024 68%,#0000 82%);position:absolute;inset:0}.liff-member-card-visual:after{content:"";mix-blend-mode:multiply;opacity:.08;pointer-events:none;background:url(/brand/pj-logo-watermark.png) 50%/contain no-repeat;border:0;width:226px;height:126px;position:absolute;bottom:-38px;right:-54px}.liff-member-card-top{z-index:1;justify-content:space-between;align-items:center;gap:16px;display:flex;position:relative}.liff-member-card-top>div{gap:6px;display:grid}.liff-member-card-top span,.liff-member-card-visual p{color:#3f3a348f;margin:0;font-size:12px;font-weight:800}.liff-member-card-main{z-index:1;display:block;position:relative}.liff-member-card-main>div{gap:6px;display:grid}.liff-member-card-visual h2{color:#3f3a34;margin:0;font-size:22px;font-weight:700;line-height:1.15}.liff-member-tier-line{align-items:center;gap:8px;display:flex}.liff-member-tier-line span{opacity:.78;background:currentColor;border-radius:999px;width:6px;height:6px;box-shadow:0 0 12px}.liff-member-tier-line.silver h2{color:#777f84;text-shadow:0 1px #ffffff6b}.liff-member-tier-line.champagne h2{color:#9b7d4d;text-shadow:0 1px #ffffff6b}.liff-member-tier-line.accent h2{color:#746a5f;text-shadow:0 1px #ffffff5c}.liff-member-card-main p{color:#3f3a346b;letter-spacing:0;font-size:14px;font-weight:500}.liff-info-list{background:#fffffcad;border:0;border-radius:14px;overflow:hidden;box-shadow:0 12px 32px #5248370d}.liff-info-list>div{justify-content:space-between;align-items:center;gap:16px;min-height:54px;padding:13px 16px;display:flex}.liff-info-list span{color:#3f3a348f;font-size:14px}.liff-info-list strong{color:#3f3a34;font-size:15px}.liff-page-shell .warranty-card{border-color:var(--liff-hairline);background:#fffffc9e;border-radius:14px;box-shadow:0 12px 32px #5248370a}.liff-page-shell .warranty-card-header{align-items:center}.liff-page-shell .warranty-card-header h3{color:var(--liff-ink);font-size:20px}.liff-service-card{gap:18px;padding:16px}.liff-service-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.liff-service-title{gap:6px;min-width:0;display:grid}.liff-service-title span{color:var(--liff-muted);font-size:12px;font-weight:700}.liff-service-title h3{color:var(--liff-ink);margin:0;font-size:22px;line-height:1.18}.liff-service-title p{color:#3f3a346b;overflow-wrap:anywhere;margin:0;font-size:12px}.liff-service-status{border-radius:999px;flex:none;padding:5px 9px;font-size:12px;font-weight:800}.liff-service-status.active{color:#5c554d;background:#edede9d6}.liff-service-status.inactive{color:#9b4c3d;background:#f4e2dac7}.liff-service-body{border-top:1px solid var(--liff-hairline);grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-top:16px;display:grid}.liff-service-body>div{gap:5px;min-width:0;display:grid}.liff-service-body span,.liff-after-sale-timeline-item span{color:var(--liff-muted);font-size:13px}.liff-service-body strong{color:var(--liff-ink);overflow-wrap:anywhere;font-size:16px;line-height:1.35}.liff-after-sale-timeline{border-top:1px solid var(--liff-hairline);gap:12px;padding-top:16px;display:grid}.liff-after-sale-timeline h4{color:var(--liff-ink);margin:0;font-size:15px}.liff-after-sale-timeline-item{grid-template-columns:12px 1fr;gap:10px;display:grid;position:relative}.liff-after-sale-timeline-item:not(:last-child):before{content:"";background:#695e4f24;width:1px;position:absolute;top:13px;bottom:-13px;left:5px}.liff-after-sale-dot{z-index:1;background:#fffffceb;border:2px solid #4f463db8;border-radius:999px;width:11px;height:11px;margin-top:3px;position:relative}.liff-after-sale-timeline-item>div:last-child{gap:4px;display:grid}.liff-after-sale-timeline-item p{color:#3f3a347a;flex-wrap:wrap;align-items:baseline;gap:8px;margin:0;font-size:13px;display:flex}.liff-after-sale-timeline-item p strong{color:var(--liff-ink);font-size:15px}.liff-after-sale-timeline-item p span{color:#3f3a347a;font-size:13px}.liff-page-shell .member-detail-grid>div,.liff-page-shell .liff-warranty-summary>div{background:#f6f6f2a8;border-color:#695e4f1a;border-radius:12px}.liff-page-shell .member-detail-grid span,.liff-page-shell .liff-warranty-summary span,.liff-page-shell .liff-after-sale-item span{color:var(--liff-muted)}.liff-page-shell .member-detail-grid strong,.liff-page-shell .liff-warranty-summary strong{color:var(--liff-ink)}.liff-page-shell .liff-after-sale-list{border-top-color:var(--liff-hairline)}.liff-page-shell .liff-after-sale-item{background:#eeeeeab8}.liff-warranty-panel,.liff-coupon-panel{gap:14px}.liff-ticket-tabs{border-bottom:1px solid var(--liff-hairline);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.liff-ticket-tabs button{cursor:pointer;color:#3f3a3485;min-height:46px;font:inherit;background:0 0;border:0;font-size:16px;font-weight:800;position:relative}.liff-ticket-tabs button:after{content:"";background:0 0;border-radius:999px 999px 0 0;height:3px;position:absolute;bottom:0;left:18%;right:18%}.liff-ticket-tabs button.active{color:var(--liff-ink)}.liff-ticket-tabs button.active:after{background:var(--liff-accent)}.liff-empty-state{border:1px solid var(--liff-hairline);text-align:center;background:#fffffc9e;border-radius:16px;justify-items:center;gap:8px;padding:28px 18px;display:grid}.liff-empty-state h3,.liff-empty-state p{margin:0}.liff-empty-state h3{color:var(--liff-ink);font-size:18px}.liff-empty-state p{color:var(--liff-muted);font-size:13px}.liff-coupon-modal-heading{text-align:center;padding-inline:54px;display:block;position:relative}.liff-coupon-modal-heading>div{justify-items:center;gap:8px;display:grid}.liff-coupon-modal-heading h2,.liff-coupon-modal-heading p{text-align:center}.liff-coupon-modal-heading .icon-button{position:absolute;top:0;right:0}.liff-coupon-modal-note{text-align:center;margin:-4px 0 0;padding-inline:4px}.liff-coupon-modal-actions{grid-template-columns:1fr auto 1fr;justify-content:stretch;align-items:center;display:grid}.liff-coupon-modal-actions .button:first-child{grid-column:2}.liff-coupon-modal-actions .button:last-child{grid-column:3;justify-self:end}.liff-coupon-list{gap:14px;display:grid}.liff-coupon-ticket{border:1px solid var(--liff-hairline);background:linear-gradient(135deg,#fffffcd6,#f4f4efa8),linear-gradient(#ffffff4d,#0000);border-radius:16px;grid-template-columns:1fr auto;gap:18px;padding:18px;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 32px #5248370a}.liff-coupon-ticket:before{content:"";background-image:linear-gradient(#695e4f33 45%,#0000 45%);background-size:1px 8px;width:1px;position:absolute;top:18px;bottom:18px;right:78px}.liff-coupon-ticket-main{gap:10px;min-width:0;display:grid}.liff-ticket-heading{grid-template-columns:1fr auto;align-items:start;gap:6px 10px;display:grid}.liff-ticket-heading h3{grid-column:1/-1}.liff-ticket-kicker{color:var(--liff-muted);font-size:12px;font-weight:800}.liff-ticket-count{color:#4f463d;white-space:nowrap;background:#fffffcc2;border:1px solid #695e4f2e;border-radius:999px;justify-self:end;padding:5px 9px;font-size:12px;font-weight:800;line-height:1}.liff-coupon-ticket h3,.liff-coupon-confirm h3{color:var(--liff-ink);margin:0;font-size:21px;line-height:1.2}.liff-coupon-ticket-main>strong,.liff-coupon-confirm-head>strong{color:#4f463d;font-size:18px;line-height:1.35}.liff-coupon-ticket p,.liff-coupon-confirm p{color:#3f3a3480;margin:0;font-size:13px;line-height:1.5}.liff-ticket-expiry{color:#3f3a3485;font-size:12px}.liff-ticket-action{z-index:1;color:#fff;cursor:pointer;background:#4f463deb;border:0;border-radius:12px;align-self:stretch;min-width:54px;font-size:13px;font-weight:800;transition:background-color .14s,transform .12s;position:relative}.liff-ticket-action:hover{background:#403830;transform:translateY(-1px)}.liff-coupon-confirm{border:1px solid var(--liff-hairline);background:#fffffcb8;border-radius:16px;gap:16px;padding:18px;display:grid}.liff-coupon-confirm-head{gap:8px;display:grid}.liff-coupon-confirm-info{gap:10px;display:grid}.liff-coupon-confirm-info>div{gap:5px;display:grid}.liff-coupon-confirm-info span{color:var(--liff-muted);font-size:13px}.liff-coupon-confirm-info strong{color:var(--liff-ink);font-size:15px;line-height:1.45}.liff-settings-card{gap:18px}.liff-settings-profile{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.liff-settings-profile>div{gap:6px;display:grid}.liff-settings-profile span{color:var(--liff-muted);font-size:12px;font-weight:800}.liff-settings-profile h2{color:var(--liff-ink);margin:0;font-size:24px;line-height:1.2}.liff-settings-profile p{color:#3f3a347a;margin:0;font-size:13px}.liff-settings-list{border:1px solid var(--liff-hairline);background:#fffffc8a;border-radius:14px;overflow:hidden}.liff-settings-list>div{justify-content:space-between;align-items:center;gap:16px;min-height:54px;padding:13px 16px;display:flex}.liff-settings-list>div+div{border-top:1px solid #695e4f1a}.liff-settings-list span{color:var(--liff-muted);font-size:14px}.liff-settings-list strong{color:var(--liff-ink);overflow-wrap:anywhere;text-align:right;font-size:15px}.liff-modal-panel{border:1px solid var(--liff-hairline);background:#fffffcf0;border-radius:18px;box-shadow:0 28px 72px #5248372e}.liff-page-shell .modal-backdrop{z-index:80;place-items:center}.liff-page-shell .modal-panel{border:1px solid var(--liff-hairline);background:#fffffcf5;border-radius:18px;width:min(100vw - 32px,520px);max-height:min(100svh - 96px,680px);box-shadow:0 28px 72px #52483733}.liff-edit-fields{gap:12px;display:grid}.liff-bottom-nav{z-index:55;right:0;bottom:calc(-1 * env(safe-area-inset-bottom));border-top:1px solid var(--liff-hairline);width:100vw;padding:8px max(12px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffcf0;grid-template-columns:repeat(4,1fr);gap:4px;display:grid;position:fixed;left:0;box-shadow:0 -14px 42px #5248371a}.liff-bottom-nav button{cursor:pointer;color:#3f3a3485;min-width:0;min-height:52px;font:inherit;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;gap:4px;font-size:12px;font-weight:800;display:inline-flex}.liff-bottom-nav button.active{color:var(--liff-accent);background:0 0}.liff-bottom-nav button:hover{color:var(--liff-ink);background:#eeeeeac2}.warranty-actions{grid-template-columns:minmax(140px,.45fr) minmax(140px,.45fr) minmax(240px,1fr) auto;align-items:end;gap:12px;display:grid}.modal-backdrop{z-index:40;background:#17202a61;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:18px;width:min(100%,760px);max-height:min(90vh,760px);padding:22px;display:grid;overflow:auto;box-shadow:0 24px 70px #17202a3d}.modal-title-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.modal-title-row h2,.modal-title-row p{margin:0}.modal-title-row p{margin-top:6px}.member-tag-modal{width:min(100%,560px)}.pill.success{color:var(--primary-strong);background:#06c7551f}.pill.warning{color:var(--warning);background:#b7791f1f}.pill.danger{color:var(--danger);background:#b423181a}.login-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:18px;width:min(100%,440px);padding:28px;display:grid;box-shadow:0 18px 42px #17202a14}.login-brand{align-items:center;gap:14px;display:flex}.login-mark{border-radius:var(--radius);background:var(--primary);color:#fff;place-items:center;width:48px;height:48px;display:grid}.login-kicker{color:var(--muted);margin:0 0 4px;font-size:14px;font-weight:700}.login-brand h1{margin:0;font-size:28px}.login-submit{width:100%}.staff-row{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:minmax(180px,1.3fr) repeat(4,minmax(120px,1fr)) auto;align-items:end;gap:12px;padding:14px;display:grid}.member-tier-row{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:minmax(220px,1fr) minmax(280px,auto) auto;align-items:center;gap:16px;padding:14px;display:grid}.member-tier-title{align-items:center;gap:12px;min-width:0;display:flex}.member-tier-title strong{overflow-wrap:anywhere;display:block}.member-tier-title p{margin:4px 0 0}.member-tier-swatch{border-radius:999px;flex:none;width:14px;height:14px;box-shadow:inset 0 0 0 1px #0f172a24}.member-tier-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}@media (max-width:640px){.container{padding:18px}.table{display:block;overflow-x:auto}.staff-row,.dashboard-list-item,.integration-step,.member-tier-row,.member-search-fields,.coupon-send-preview,.coupon-send-template-card,.coupon-template-row,.coupon-issued-row{grid-template-columns:1fr}.coupon-campaign-card-head,.coupon-campaign-member-filters,.coupon-campaign-member-row{grid-template-columns:1fr;display:grid}.coupon-campaign-actions{justify-content:stretch}.coupon-template-meta{justify-content:flex-start}.member-result-header{display:grid}.member-result-header .button{width:100%}.member-result-actions{justify-content:stretch;width:100%}.member-result-tag-form{grid-template-columns:1fr}.member-profile-head{display:grid}.member-profile-actions{justify-content:flex-start}.member-detail-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.member-detail-tabs button{width:100%;padding-inline:10px}.member-ticket-summary,.member-ticket-columns{grid-template-columns:1fr}.member-ticket-row,.member-ticket-history-row{display:grid}.member-ticket-row-meta,.member-ticket-history-row>div:last-child{text-align:left;justify-content:flex-start}.member-tag-form,.member-tag-manager-form,.member-tag-manager-row,.settings-form-grid,.customer-settings-panel,.customer-commercial-form{grid-template-columns:1fr}.customer-card-header{display:grid}.header-row{align-items:start}.warranty-actions,.warranty-after-sale-item,.warranty-after-sale-details,.liff-service-body,.liff-coupon-ticket{grid-template-columns:1fr}.liff-coupon-ticket:before{display:none}.liff-ticket-action{min-height:44px}.liff-settings-profile{justify-content:space-between;align-items:flex-start;display:flex}.liff-settings-profile .button{flex:none;width:auto}.modal-backdrop{align-items:end;padding:12px}.modal-panel{max-height:88vh;padding:18px}.liff-page-shell .modal-backdrop{padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));align-items:center}.liff-page-shell .modal-panel{max-height:min(100svh - 72px,620px);padding:18px}}
