:root{--bg:#f5f5f1;--surface:#fff;--ink:#1d2420;--muted:#6b746f;--line:#dfe3df;--green:#176b4d;--green-2:#e7f3ed;--orange:#b45309;--orange-2:#fff3df;--red:#b42318;--red-2:#fff0ee;--shadow:0 18px 50px rgba(23,38,31,.14);font-family:Inter,"Microsoft YaHei UI","PingFang SC",system-ui,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-header{height:72px;padding:0 max(24px,calc((100vw - 1440px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(250,250,247,.95);position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:38px;height:38px;border-radius:8px;background:var(--green);color:#fff;display:grid;place-items:center}.brand-mark svg{width:20px;height:20px}.brand strong{display:block;font-size:16px;letter-spacing:.02em}.brand span{display:block;font-size:12px;color:var(--muted);margin-top:2px}.header-actions{display:flex;gap:10px;align-items:center;position:relative}.btn{height:40px;border-radius:7px;padding:0 15px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:650;font-size:14px;transition:.15s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--green);color:white}.btn-primary:hover{background:#0f5a40}.btn-ghost{background:var(--surface);border-color:var(--line)}.btn-ghost:hover{border-color:#abb6af;background:#fafbf9}.icon-btn{width:38px;height:38px;padding:0;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);border-radius:7px}.mobile-only{display:none}.more-menu{display:none;position:absolute;right:0;top:48px;width:170px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;padding:6px}.more-menu.open{display:block}.more-menu button{width:100%;border:0;background:transparent;padding:10px;display:flex;gap:9px;align-items:center;border-radius:5px}.more-menu button:hover{background:var(--bg)}main{max-width:1440px;margin:0 auto;padding:34px 24px 48px}.overview{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:30px}.greeting>span{font-size:13px;color:var(--green);font-weight:700;letter-spacing:.08em}.greeting h1{font-size:28px;line-height:1.25;letter-spacing:-.025em;margin:6px 0 0}.metrics{display:grid;grid-template-columns:repeat(4,120px);border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.7);overflow:hidden}.metric{padding:13px 16px;border-right:1px solid var(--line)}.metric:last-child{border:0}.metric span{display:block;font-size:12px;color:var(--muted);white-space:nowrap}.metric strong{display:block;font-size:24px;margin-top:3px}.metric-alert strong{color:var(--red)}.workspace{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 1px 1px rgba(23,38,31,.03)}.toolbar{min-height:66px;padding:12px 16px;display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line)}.tabs{display:flex;align-items:center;gap:4px}.tab{height:38px;padding:0 13px;border:0;background:transparent;border-radius:6px;color:var(--muted);font-weight:650;font-size:14px;white-space:nowrap}.tab:hover{background:var(--bg)}.tab.active{background:var(--green-2);color:var(--green)}.tab span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#d8e9e0;font-size:11px;margin-left:5px}.tools{display:flex;gap:8px}.search-box{width:245px;height:38px;border:1px solid var(--line);border-radius:6px;background:#fafbf9;display:flex;align-items:center;gap:8px;padding:0 11px;color:var(--muted)}.search-box:focus-within{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,107,77,.1)}.search-box input{border:0;outline:0;background:transparent;width:100%;font-size:13px}.tools select{height:38px;padding:0 30px 0 11px;border:1px solid var(--line);border-radius:6px;background:#fafbf9;font-size:13px}.table-wrap{min-height:365px;overflow:auto}table{width:100%;border-collapse:collapse;min-width:1040px}th{height:44px;text-align:left;padding:0 18px;color:#727a75;font-size:12px;font-weight:650;background:#fafbf9;border-bottom:1px solid var(--line)}td{padding:14px 18px;border-bottom:1px solid #edf0ed;font-size:13px;vertical-align:middle}tbody tr:hover{background:#fbfcfa}.customer-cell{display:flex;align-items:center;gap:11px;min-width:170px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e9ede9;color:#44524a;font-weight:750}.customer-main strong{display:block;font-size:14px}.customer-main span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.plan-name{font-weight:650}.status-label{display:inline-flex;margin-top:5px;font-size:11px;color:var(--muted)}.date-main{display:block;font-weight:650}.date-sub{display:block;font-size:11px;color:var(--muted);margin-top:4px}.reminder-pill{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:5px 9px;font-size:12px;font-weight:650;white-space:nowrap}.pill-overdue{color:var(--red);background:var(--red-2)}.pill-due{color:var(--orange);background:var(--orange-2)}.pill-soon{color:#8a5b0a;background:#fff8e8}.pill-safe{color:var(--green);background:var(--green-2)}.pill-done{color:#5f6863;background:#eef0ee}.action-col{text-align:right}.row-actions{display:flex;justify-content:flex-end;gap:4px}.row-actions button{width:32px;height:32px;border:0;border-radius:5px;display:grid;place-items:center;background:transparent;color:#69736d}.row-actions button:hover{background:#eef2ef;color:var(--ink)}.row-actions .call-btn{color:var(--green)}.row-actions .undo-btn{color:var(--orange)}.row-actions .delete-btn:hover{color:var(--red);background:var(--red-2)}.empty-state{min-height:365px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}.empty-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--green-2);color:var(--green)}.empty-icon svg{width:24px;height:24px}.empty-state h2{font-size:17px;margin:14px 0 5px}.empty-state p{font-size:13px;color:var(--muted);margin:0 0 18px}.table-footer{height:51px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;background:#fafbf9}.text-btn{border:0;background:transparent;color:var(--green);font-weight:650}dialog{padding:0;border:0;border-radius:8px;box-shadow:var(--shadow);color:var(--ink);max-height:calc(100vh - 32px)}dialog::backdrop{background:rgba(16,25,20,.45);backdrop-filter:blur(2px)}.record-dialog{width:min(720px,calc(100vw - 24px))}.record-dialog form{margin:0}.dialog-header{padding:22px 24px 18px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line)}.eyebrow{text-transform:uppercase;letter-spacing:.09em;color:var(--green);font-size:11px;font-weight:750}.dialog-header h2{font-size:21px;margin:4px 0 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 18px;padding:22px 24px;overflow:auto}.form-grid label,.field-group{display:flex;flex-direction:column;gap:7px}.form-grid label>span,.field-group>span{font-size:12px;font-weight:650}.form-grid b{color:var(--red)}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #ced5d0;border-radius:6px;background:#fff;padding:0 11px;outline:0;font-size:14px}.form-grid input,.form-grid select{height:42px}.form-grid textarea{padding:10px 11px;resize:vertical;line-height:1.5}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,107,77,.1)}.duration-row{display:grid;grid-template-columns:1fr 105px;gap:8px}.date-output{height:42px;border:1px solid var(--line);border-radius:6px;background:#f6f8f6;display:flex;align-items:center;gap:9px;padding:0 11px;color:var(--green);font-weight:700}.suffix-input{position:relative}.suffix-input input{padding-right:38px}.suffix-input span{position:absolute;right:12px;top:12px;color:var(--muted);font-size:13px}.span-2{grid-column:1/-1}.dialog-footer{padding:14px 24px;background:#fafbf9;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:9px}.small-dialog{width:min(480px,calc(100vw - 24px))}.data-actions{padding:10px}.data-action{width:100%;border:0;background:transparent;display:grid;grid-template-columns:38px 1fr 18px;align-items:center;text-align:left;gap:10px;padding:13px;border-radius:7px}.data-action:hover{background:var(--bg)}.data-action>svg:first-child{width:20px;height:20px;color:var(--green)}.data-action span{display:block}.data-action strong{display:block;font-size:14px}.data-action small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.data-action .chevron{width:16px;color:#929993}.data-action.danger>svg:first-child,.data-action.danger strong{color:var(--red)}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);padding:11px 16px;background:#1f2923;color:white;border-radius:7px;box-shadow:var(--shadow);font-size:13px;opacity:0;pointer-events:none;transition:.2s;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1000px){.table-wrap{min-height:420px}.table-wrap table{min-width:0}.table-wrap thead{display:none}.table-wrap tbody{display:block;padding:0 16px}.table-wrap tr{display:grid;grid-template-columns:minmax(180px,1.25fr) minmax(160px,1fr) minmax(170px,1fr) auto;gap:8px 16px;padding:15px 0;border-bottom:1px solid var(--line);align-items:center}.table-wrap td{display:block;padding:0;border:0}.table-wrap td:nth-child(1){grid-column:1}.table-wrap td:nth-child(2){grid-column:2}.table-wrap td:nth-child(3),.table-wrap td:nth-child(4){display:none}.table-wrap td:nth-child(5){grid-column:3}.table-wrap td:nth-child(6){grid-column:1/4}.table-wrap td:nth-child(7){grid-column:4;grid-row:1/3}.row-actions{flex-direction:column}.table-wrap .delete-btn{display:none}}
@media(max-width:900px){.overview{align-items:stretch;flex-direction:column;gap:20px}.metrics{grid-template-columns:repeat(4,1fr)}.toolbar{align-items:stretch;flex-direction:column}.tools{width:100%}.search-box{flex:1}.tabs{overflow:auto}.greeting h1{font-size:24px}.table-wrap tr{grid-template-columns:1fr 1fr auto}.table-wrap td:nth-child(1){grid-column:1}.table-wrap td:nth-child(2){grid-column:2}.table-wrap td:nth-child(5){grid-column:1}.table-wrap td:nth-child(6){grid-column:2}.table-wrap td:nth-child(7){grid-column:3;grid-row:1/3}}
@media(max-width:600px){.app-header{height:64px;padding:0 16px}.desktop-only{display:none}.mobile-only{display:grid}.header-actions .btn-primary{width:40px;padding:0;font-size:0}.header-actions .btn-primary svg{width:19px;height:19px}.brand span{display:none}main{padding:23px 12px 32px}.greeting h1{font-size:22px}.metrics{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.toolbar{padding:11px 10px;gap:10px}.tabs{width:100%}.tab{flex:1;padding:0 8px}.tools{display:grid;grid-template-columns:1fr 112px}.search-box{width:auto}.table-wrap{min-height:420px}.table-wrap table{min-width:0}.table-wrap thead{display:none}.table-wrap tbody{display:block;padding:0 12px}.table-wrap tr{display:grid;grid-template-columns:1fr auto;gap:9px 12px;padding:15px 0;border-bottom:1px solid var(--line)}.table-wrap td{display:block;padding:0;border:0}.table-wrap td:nth-child(1){grid-column:1}.table-wrap td:nth-child(2){grid-column:1}.table-wrap td:nth-child(3),.table-wrap td:nth-child(4){display:none}.table-wrap td:nth-child(5){grid-column:1}.table-wrap td:nth-child(6){grid-column:1}.table-wrap td:nth-child(7){grid-column:2;grid-row:1/5;align-self:center}.plan-name{font-size:13px}.status-label{margin-left:6px}.date-sub{display:inline;margin-left:7px}.row-actions{flex-direction:column}.row-actions .delete-btn{display:none}.form-grid{grid-template-columns:1fr;padding:18px 16px}.span-2{grid-column:1}.dialog-header{padding:18px 16px 15px}.dialog-footer{padding:12px 16px}.dialog-footer .btn{flex:1}.record-dialog{max-height:calc(100vh - 14px)}.record-dialog form{max-height:calc(100vh - 14px);display:flex;flex-direction:column}.form-grid{overflow-y:auto}.empty-state{min-height:420px;padding:28px}.table-footer{padding:0 12px}}
