:root{--ion-color-primary:#126652;--ion-color-primary-rgb:18,102,82;--ion-color-primary-contrast:#fff;--ion-color-primary-contrast-rgb:255,255,255;--ion-color-primary-shade:#105a48;--ion-color-primary-tint:#2a7563;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#193a32;background:#f4f8f6}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}#app{height:100%;overflow:auto}.auth-shell{min-height:100%;padding:32px 24px;display:flex;flex-direction:column;background:linear-gradient(145deg,#edf6f1,#f9fbf9)}.brand{display:flex;align-items:center;gap:12px;color:#164b3d}.brand strong,.brand small{display:block}.brand strong{font-size:20px}.brand small{font-size:12px;color:#709186;margin-top:3px}.brand-mark{width:42px;height:42px;border-radius:14px;background:#126652;color:white;display:grid;place-items:center;font-weight:700;font-size:20px}.auth-main{flex:1;display:grid;place-items:center;padding:36px 0}.card,.panel{background:#fff;border:1px solid #e1eee7;border-radius:24px;padding:32px;box-shadow:0 12px 36px #1a58400c}.card{width:min(100%,480px)}.page-heading{margin-bottom:24px}.page-heading h1{margin:0 0 8px;font-size:28px;letter-spacing:-.03em}.page-heading p,.hint{margin:0;color:#728b81;line-height:1.6;font-size:14px}p{line-height:1.65}.field{display:flex;flex-direction:column;gap:8px;margin:18px 0;color:#39594f;font-size:14px;font-weight:600}.field input,.field textarea,.field select{width:100%;border:1px solid #cbded4;background:#fbfdfb;color:#193a32;border-radius:12px;padding:13px 14px;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:#126652;box-shadow:0 0 0 3px #1266521c}.field textarea{min-height:105px;resize:vertical}.btn{border:0;cursor:pointer;background:transparent;color:#42685b;border-radius:12px;padding:12px 16px;font-weight:650}.btn:disabled{opacity:.55;cursor:not-allowed}.primary,.secondary,.vault-choice{display:block;width:100%;margin:10px 0}.primary{background:#126652;color:white}.secondary,.vault-choice{background:#eaf4ee;color:#126652}.link{display:block;width:100%;font-weight:500}.error{color:#ad3434;min-height:1em;font-size:14px}.success{color:#126652;font-size:14px}.recovery-code{font-family:ui-monospace,monospace;font-size:24px;font-weight:700;letter-spacing:.08em;overflow-wrap:anywhere;background:#eef7f1;border:1px solid #c7e1d2;border-radius:14px;padding:20px;margin:20px 0}.check{display:flex;gap:10px;align-items:center;margin:24px 0;font-size:14px}.check input{width:20px;height:20px;accent-color:#126652}.app-shell{height:100%;background:#f5f8f6}.app-shell ion-split-pane{height:100%}.sidebar{width:260px;background:#fff;border-right:1px solid #e0ebe4;padding:30px 22px}.nav-items{margin-top:60px;display:grid;gap:8px}.nav-items .btn{text-align:left}.nav-active{background:#e7f3eb;color:#126652}.workspace{width:100%;height:100%;overflow:auto;background:#f5f8f6}.topbar{height:72px;background:#fff;border-bottom:1px solid #e5eee8;display:flex;align-items:center;justify-content:space-between;padding:0 32px}.topbar .btn{width:auto;margin:0}.content{max-width:900px;margin:auto;padding:42px 36px 110px}.customers-list{display:grid;gap:10px}.customer-row{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid #e2ede6;border-radius:16px;padding:18px}.avatar{width:44px;height:44px;flex:none;border-radius:15px;display:grid;place-items:center;background:#deefe5;color:#126652;font-weight:700}.customer-row h3{margin:0 0 5px;font-size:16px}.customer-row p{margin:0;font-size:13px;color:#82978e}.empty{text-align:center;color:#80958b;padding:70px 0}.fab{position:fixed;right:max(36px,calc((100vw - 900px)/2));bottom:38px;width:58px;height:58px;border-radius:50%;font-size:30px;line-height:1;color:white;background:#126652;box-shadow:0 8px 24px #12665255}.panel{margin-bottom:24px}.summary,.confirm-card{background:#eef7f1;border-radius:14px;padding:18px;margin:18px 0}.summary h3,.confirm-card h2{margin:0;font-size:16px}.summary p,.confirm-card p{margin:8px 0 0;overflow-wrap:anywhere}.modal-content{padding:32px;overflow:auto;background:white;height:100%}ion-modal{--width:min(92vw,520px);--height:min(90vh,620px);--border-radius:24px}.mobile-nav{display:none}.lock-warning{text-align:center;color:#8c6a32;font-size:12px;margin:8px}.boot-status{padding:40px}.vault-choice{text-align:left}
@media(max-width:991px){.app-shell ion-split-pane > .workspace{flex:1 1 auto;width:100%;min-width:0}.auth-shell{padding:24px 18px}.auth-main{padding:24px 0}.card{padding:26px 22px}.sidebar{display:none}.topbar{height:62px;padding:0 20px}.content{padding:28px 20px 120px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e4eee8;z-index:5;padding:8px 18px calc(8px + env(safe-area-inset-bottom))}.mobile-nav .btn{flex:1}.fab{right:24px;bottom:90px}.app-shell>.lock-warning{position:fixed;bottom:65px;left:0;right:0;z-index:6;background:#fff}.panel{padding:24px 20px}.page-heading h1{font-size:25px}}

.file-picker{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.file-picker .btn{width:auto;margin:0}.file-name{font-size:14px;color:#728b81;overflow-wrap:anywhere}.file-input{display:none}
.customer-row{width:100%;font:inherit;text-align:left;cursor:pointer;color:inherit}.customer-row:focus-visible,.btn:focus-visible{outline:3px solid #62a88c;outline-offset:2px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-title h2,.panel>h2{margin:0 0 16px;font-size:20px}.compact{width:auto;margin:0}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:20px 0 0}.detail-grid div{min-width:0}.detail-grid dt{font-size:13px;color:#728b81}.detail-grid dd{margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.member-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid #e5eee8}.member-info{min-width:0;overflow-wrap:anywhere}.member-info p{margin:4px 0 0;color:#728b81;font-size:14px}.member-actions{display:flex;flex-shrink:0}.danger-link{color:#b33535}.danger-button{display:block;width:100%;margin:10px 0;background:#b33535;color:white}.confirm-item+.confirm-item{border-top:1px solid #d5e8dc;margin-top:12px;padding-top:8px}.field ion-select{width:100%;border:1px solid #cbded4;background:#fbfdfb;color:#193a32;border-radius:12px;padding:13px 14px;min-height:48px}ion-toast.app-toast{--border-radius:12px}
@media(max-width:991px){.detail-grid{grid-template-columns:1fr 1fr;gap:18px}.member-actions .btn{padding:8px}}
.policy-row{display:flex;flex-wrap:wrap;gap:8px 16px;width:100%;padding:16px 0;text-align:left;cursor:pointer;color:inherit;background:transparent;border:0;border-bottom:1px solid #e5eee8}.policy-row strong{flex-basis:100%;overflow-wrap:anywhere}.policy-row span{font-size:14px;color:#728b81;overflow-wrap:anywhere}.policy-row:focus-visible{outline:3px solid #62a88c;outline-offset:2px}.coverage-input{padding:4px 0 16px;border-bottom:1px solid #e5eee8}.coverage-input .danger-link{width:auto}.modal-content h2{font-size:18px;margin:24px 0 8px}
.beneficiary-rank{padding:16px 0;border-bottom:1px solid #e5eee8}.beneficiary-rank h3{margin:0;font-size:17px}.beneficiary-row{display:flex;flex-wrap:wrap;gap:8px 18px;padding:10px 0;overflow-wrap:anywhere}.beneficiary-row span{color:#728b81;font-size:14px}.beneficiary-total{display:flex;gap:12px;flex-wrap:wrap;font-weight:600}.beneficiary-warning{color:#ad3434;font-weight:600}.beneficiary-complete{color:#126652}.beneficiary-input{padding:4px 0 16px;border-bottom:1px solid #e5eee8}.beneficiary-input .danger-link{width:auto}.beneficiary-share{display:flex;align-items:center;gap:10px}.beneficiary-share .field{flex:1}.beneficiary-section>.danger-link{width:auto}
.field input:not([type=checkbox]),.field select,.field ion-select{height:48px;min-height:48px;border:1px solid #cbded4;background:#fbfdfb;color:#193a32;border-radius:12px;padding:13px 14px}.field ion-select{--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0}.field ion-select:focus-within{border-color:#126652;box-shadow:0 0 0 3px #1266521c}.followup-row{display:flex;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid #e5eee8}.followup-info{min-width:0;overflow-wrap:anywhere}.followup-info p{margin:5px 0;color:#728b81;font-size:14px}.followup-info .followup-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;white-space:pre-wrap;color:#193a32}.due-row{display:block;width:100%;text-align:left;padding:14px 0;border:0;border-bottom:1px solid #e5eee8;background:transparent;color:inherit;cursor:pointer}.due-row strong,.due-row span{margin-right:16px}.due-row span,.due-row p{color:#728b81;font-size:14px}.due-row p{margin:6px 0;overflow-wrap:anywhere}.due-row:focus-visible{outline:3px solid #62a88c;outline-offset:2px}
.ai-chat-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.ai-chat-top .btn{width:auto;flex:none}.ai-messages{display:flex;flex-direction:column;gap:12px;margin:24px 0}.ai-message{max-width:85%;padding:14px 16px;border-radius:16px;background:#f0f6f2;overflow-wrap:anywhere}.ai-user{align-self:flex-end;background:#dff1e6}.ai-assistant{align-self:flex-start}.ai-message-content{white-space:pre-wrap;margin:6px 0}.ai-message .error{display:block}.ai-chat textarea{min-height:110px}.ai-quota{margin-top:16px}.ai-account .confirm-card .btn{margin-right:8px}
[hidden]{display:none !important}
@media(max-width:991px){.mobile-nav .btn{min-width:0;padding:12px 4px;white-space:nowrap;font-size:14px;line-height:1.25}}

.billing-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:20px 0}.billing-card{border:1px solid #d5e8dc;border-radius:16px;padding:18px;background:#f8fcf9;overflow-wrap:anywhere}.billing-card h2{margin:0;font-size:18px}.billing-card p{margin:10px 0 0}.billing-note{white-space:pre-wrap;overflow-wrap:anywhere}.ai-billing a.btn{text-align:center;text-decoration:none}

.ai-account-tabs{display:flex;gap:10px}.ai-account-tabs .btn{flex:1;min-width:0}.ai-referral{border-top:1px solid #e1eee7;margin-top:24px;padding-top:12px}.ai-referral-code{font-size:24px;font-weight:700;letter-spacing:.08em;overflow-wrap:anywhere}.ai-referral .btn{margin:8px 0}
.filter-panel{margin:14px 0;padding:20px}.filter-panel .field{margin:12px 0}.filter-check{display:flex;align-items:center;gap:10px;margin:16px 0}.filter-check input{width:20px;height:20px;accent-color:#126652}.filter-tags,.customer-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.customer-tag{display:inline-block;border-radius:999px;background:#eaf4ee;color:#126652;padding:3px 9px;font-size:12px}.overdue-tag{background:#fff0e9;color:#a54c28}.customer-count{color:#728b81;font-size:14px}.customer-row-content{min-width:0;overflow-wrap:anywhere}.followup-tabs{display:flex;gap:8px;margin-bottom:20px}.followup-tabs .btn{flex:1;min-width:0}.calendar-panel{min-width:0}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar-header h2{font-size:20px;margin:0}.calendar-arrow{font-size:24px;padding:8px 14px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;width:100%;min-width:0;margin:16px 0}.calendar-weekday{text-align:center;color:#728b81;font-size:13px}.calendar-day{min-width:0;padding:8px 2px;border:1px solid transparent;border-radius:10px;display:flex;flex-direction:column;align-items:center;gap:3px}.calendar-day.selected{background:#e7f3eb;border-color:#126652}.calendar-count{font-size:11px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-records h3{font-size:16px}.calendar-records p{overflow-wrap:anywhere}
@media(max-width:991px){.calendar-grid{gap:2px}.calendar-panel{padding:20px 12px}.calendar-day{font-size:14px;padding:8px 0}.calendar-count{font-size:10px}}

.record-steps { color: var(--ion-color-medium, #667085); font-size: .9rem; margin-bottom: 1rem; }
.record-tabs, .record-controls { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin: 1rem 0; }
.record-time { font-size: 1.5rem; font-variant-numeric: tabular-nums; }
.record-field { padding: .75rem 0; border-bottom: 1px solid #e5e7eb; }
.record-field input:not([type=checkbox]), .record-field textarea { width: 100%; }
.ai-generated { display: inline-block; margin-left: .5rem; padding: .1rem .45rem; border-radius: .5rem; background: #e8f3ef; color: #286657; font-size: .8rem; }

.customer-category-tabs{display:flex;gap:8px;margin-bottom:20px}.customer-category-tabs .btn{flex:1;min-width:0}.page-heading h1 .recruit-tag{vertical-align:middle;margin-left:10px;letter-spacing:normal}.due-row .recruit-tag{color:#126652;font-size:12px}

.record-tabs{flex-wrap:nowrap;gap:8px}.record-tabs .btn{flex:1;min-width:0}.record-check{display:flex;align-items:center;gap:10px;margin:18px 0;font-size:14px;font-weight:600}.record-check input{width:20px;height:20px;flex:none;accent-color:#126652}.field ion-select{display:flex;align-items:center}
