:root{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#18302c;background:#f3f6f4;font-size:14px}*{box-sizing:border-box}body{margin:0}aside{width:236px;position:fixed;inset:0 auto 0 0;background:#112f29;color:#fff;padding:32px 22px}.brand{display:flex;gap:12px;align-items:center;font-size:22px;font-weight:650}.brand b{background:#bddac5;color:#163e32;border-radius:12px;padding:7px 13px;font-size:27px}.brand small{display:block;color:#abc3ba;font-size:11px;font-weight:400;margin-top:5px}.project{margin:38px 0 26px;font-weight:600;font-size:16px}.project span{display:block;color:#9bb7ac;font-size:11px;margin-top:10px;font-weight:400}nav button{display:block;text-align:left;width:100%;border:0;background:none;color:#b8cdc5;padding:14px 12px;margin:7px 0}nav button.active{background:#285046;color:#fff}.aside-foot{position:absolute;bottom:27px;line-height:1.9;font-size:11px;color:#9bb7ac}main{margin-left:236px}header{height:78px;border-bottom:1px solid #e0e8e2;padding:0 34px;display:flex;align-items:center;justify-content:space-between;background:#fff;font-size:12px;color:#688078}a{color:#286b55;text-decoration:none}button{font:inherit;cursor:pointer;background:#fff;color:#274d40;border:1px solid #d8e2dc;border-radius:7px;padding:8px 12px}button:hover{background:#edf4ee}button.primary{background:#286b55;color:white;border-color:#286b55}button:disabled{opacity:.5;cursor:default}section{padding:28px 34px}.title{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}h1{font-size:27px;margin:0 0 9px;letter-spacing:-.6px}h2{font-size:17px;margin:0}h3{font-size:15px}p{line-height:1.7}.muted,small{color:#7a8d83;font-size:12px}.notice{padding:13px 17px;background:#fff8e8;border:1px solid #eddfbf;color:#81682c;font-size:12px;border-radius:8px;line-height:1.8;margin-bottom:22px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:20px 0}.metric{background:white;border:1px solid #e0e8e2;border-radius:10px;padding:20px}.metric label{font-size:12px;color:#72877b}.metric strong{display:block;font-size:25px;letter-spacing:-.7px;margin:12px 0 7px;font-weight:600}.metric small{font-size:10px}.panel{background:#fff;border:1px solid #e0e8e2;border-radius:10px;margin-top:20px;overflow:hidden}.panel-head{padding:19px;display:flex;gap:10px;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1ee}.tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}input,select,textarea{font:inherit;padding:9px 11px;border:1px solid #d6e1da;border-radius:6px;background:#fff;color:#203e31}input[type=search]{width:240px}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;background:#f7faf7;font-weight:500;color:#708477;white-space:nowrap;padding:13px}td{padding:14px 13px;border-bottom:1px solid #eef2ef;line-height:1.6;max-width:230px}td.money{font-variant-numeric:tabular-nums;font-weight:600}.scroll{overflow:auto}.tag{padding:3px 7px;background:#eaf3ed;color:#397158;border-radius:4px;font-size:11px;white-space:nowrap}.warn{background:#fff2dc;color:#96702c}.empty{text-align:center;padding:36px;color:#7d8d85}.pager{padding:14px 19px;display:flex;justify-content:space-between}.text-btn{padding:0;border:none;background:none;color:#286b55;text-align:left}dialog{border:0;border-radius:14px;box-shadow:0 20px 70px #14291c44;width:min(960px,94vw);max-height:90vh;padding:0}dialog::backdrop{background:#132c2866}#dialogbody{padding:26px}.close{float:right}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{background:#f5f8f5;padding:12px;border-radius:6px}.field small{display:block;margin-bottom:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}form label{display:flex;flex-direction:column;gap:7px;font-size:12px}form .full{grid-column:1/-1}textarea{min-height:80px;resize:vertical}.history{padding:12px 0;border-bottom:1px solid #e3eae5;line-height:1.8;font-size:13px}#toast{position:fixed;bottom:25px;left:50%;background:#183b2f;color:white;padding:14px 24px;border-radius:8px;display:none;z-index:10}.bread{display:flex;gap:9px;align-items:center}.danger{color:#b05c36}.tabs{display:flex;gap:8px;margin:16px 0}.tabs .active{background:#e2efe6;border-color:#85ad95}.footnote{line-height:1.8;font-size:11px;color:#819087;margin-top:12px}@media(max-width:1000px){aside{width:190px;padding:24px 14px}main{margin-left:190px}section{padding:22px}.metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){aside{position:static;width:100%;padding:15px}.project,.aside-foot{display:none}nav{display:flex;flex-wrap:wrap}nav button{width:auto}.brand small{display:none}main{margin:0}header{padding:14px;height:auto;gap:15px}.detail-grid,.form-grid{grid-template-columns:1fr}.title{align-items:start;gap:12px}section{padding:15px}}

.login-panel{max-width:540px;margin:60px auto}.login-form{padding:28px}

@media(max-width:700px){input,select,textarea{font-size:16px;min-height:44px}button{min-height:44px}header{flex-wrap:wrap}header>div{max-width:100%}h1{font-size:22px}.title{flex-wrap:wrap}.metric{padding:14px}.metric strong{font-size:21px;overflow-wrap:anywhere}.panel-head{flex-wrap:wrap}input[type=search]{max-width:100%;width:210px}.login-panel{margin:15px auto}.login-form{padding:18px}dialog{width:96vw}.brand{font-size:20px}.brand small{display:block}.tools{max-width:100%}nav button{padding:10px}.scroll{max-width:100%}}

#debt-confirm-form label{display:flex;align-items:center;gap:8px;margin:16px 0}#debt-confirm-form input[type=checkbox]{width:auto;flex:none}

.debt-import-bar{display:flex;align-items:center;gap:20px;padding:20px;background:#edf5f1;border-bottom:1px solid #d9e7df}.debt-baseline-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;flex:1}.debt-baseline-summary small{display:block;color:#526d61;margin-bottom:8px}.debt-baseline-summary strong{display:block;overflow-wrap:anywhere}.debt-import-bar>button{flex-shrink:0;min-height:48px}.debt-upload-hint{padding:0 20px;color:#526d61}@media(max-width:900px){.debt-import-bar{flex-wrap:wrap}.debt-baseline-summary{grid-template-columns:repeat(2,minmax(0,1fr));flex-basis:100%}.debt-import-bar>button{width:100%}}

nav a{display:block;text-align:left;width:100%;color:#e6f4ed;background:#285046;border-radius:7px;padding:14px 12px;margin:7px 0;font:inherit}nav a:hover,nav a:focus-visible{background:#396959;color:#fff;outline:2px solid #bddac5;outline-offset:2px}@media(max-width:700px){nav a{width:auto;padding:10px}}

.workload-body{padding:18px}.workload-body details{margin:16px 0}.workload-body h3{margin-top:24px}.workload-tasks{max-height:580px;overflow:auto}.workload-body [hidden]{display:none!important}.workload-body .scroll{max-width:100%}#workload-adjust .full{grid-column:1/-1}

.frequency-page main{margin-left:0;padding:24px}.frequency-page td input{width:85px}.frequency-page .workload-body{padding:18px}.frequency-page #frequency-message{white-space:pre-wrap;color:#9a4b13}.frequency-page details{margin:16px 0}
.task-context{overflow-wrap:anywhere}.workload-tasks button,.completed-task-list button{min-height:44px}
@media(max-width:700px){.workload-tasks .scroll,.completed-task-list .scroll{overflow:visible}.workload-tasks table,.workload-tasks tbody,.workload-tasks tr,.workload-tasks td,.completed-task-list table,.completed-task-list tbody,.completed-task-list tr,.completed-task-list td{display:block;width:100%;min-width:0;white-space:normal}.workload-tasks thead,.completed-task-list thead{display:none}.workload-tasks tr,.completed-task-list tr{border:1px solid #dce7e2;border-radius:10px;padding:12px;margin-bottom:14px;background:white}.workload-tasks td,.completed-task-list td{display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px;padding:7px 0;overflow-wrap:anywhere}.workload-tasks td::before,.completed-task-list td::before{content:attr(data-label);color:#61766f}.workload-tasks button,.completed-task-list button{width:100%}.workload-tasks .tools{flex-wrap:wrap}dialog .task-context{max-width:100%}}
@media(max-width:700px){.workload-tasks{max-height:none;overflow:visible}.task-cell{min-width:0;overflow-wrap:anywhere}.task-cell .tools{display:flex;flex-direction:column;align-items:stretch}}

/* Task creation stays with each customer on desktop and mobile. */
.extra-filters{display:flex;gap:16px;flex-wrap:wrap;margin:18px 0}.extra-filters label{display:grid;gap:6px;flex:1;min-width:180px}.extra-rows{display:grid;gap:12px;max-height:60vh;overflow:auto}.extra-customer{border:1px solid var(--line,#ddd);border-radius:10px;padding:16px;display:flex;justify-content:space-between;gap:12px;overflow-wrap:anywhere}.extra-customer p{margin:8px 0}.extra-customer>div:last-child{display:flex;flex-direction:column;gap:8px;justify-content:center;flex-shrink:0}.extra-block{color:#9a5218}.extra-customer button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:600px){.extra-customer{flex-direction:column}.extra-customer>div:last-child{align-items:stretch}.extra-filters label{min-width:100%}}
/* Optional follow-up reason fields remain hidden until an arrangement changes. */
#feedback [hidden]{display:none!important}
#feedback [data-followup-source]{justify-self:start;font-size:12px}
/* Monthly obligations stay below the next-action field, across the full contact form. */
.form-grid .month-plan{grid-column:1/-1;min-width:0;padding:16px;border:1px solid #d8e2dc;border-radius:8px;background:#f7faf7}
[data-extra-fields]{padding:12px;border:1px solid #d8e2dc;border-radius:8px}
[data-extra-fields] label{margin-bottom:12px}

/* Dual workbench: customer cards and scrollable shared details. */
.customer-detail{overflow-wrap:anywhere}.customer-detail details{margin:16px 0}.customer-detail .history{white-space:normal}#customer-pool button{min-height:44px}#customer-pool .tools{flex-wrap:wrap}.workload-tasks tr:target{outline:2px solid #2b705d}
@media(max-width:700px){#customer-pool .scroll{overflow:visible}#customer-pool table,#customer-pool tbody,#customer-pool tr,#customer-pool td{display:block;width:100%;min-width:0;white-space:normal}#customer-pool thead{display:none}#customer-pool tr{border:1px solid #dbe5df;border-radius:10px;padding:12px;margin:12px 0}#customer-pool td{border:0;padding:7px 0;overflow-wrap:anywhere}#customer-pool td:before{content:attr(data-label);display:block;font-size:12px;color:#64786b}#customer-pool .tools input,#customer-pool .tools select{max-width:100%;min-width:0}.customer-detail .detail-grid{grid-template-columns:1fr}dialog{max-width:calc(100vw - 20px)}#dialogbody{overflow-wrap:anywhere}}
