*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#19324d;background:#f3f8fc}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}.topbar{height:74px;background:rgba(255,255,255,.94);border-bottom:1px solid #dce9f3;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.brand,.brand-link{display:flex;align-items:center;gap:12px}.brand-mark{width:43px;height:43px;border-radius:13px;background:#70b9dc;color:#fff;display:grid;place-items:center;font-size:21px;font-weight:800;box-shadow:0 8px 18px rgba(91,164,203,.2)}.brand-title{font-weight:800;font-size:19px}.brand-sub{font-size:12px;color:#91a4b5;margin-top:3px}.top-actions{display:flex;align-items:center;gap:10px}.search{height:42px;width:300px;border:1px solid #d7e5ef;border-radius:22px;background:#f8fbfd;display:flex;align-items:center;padding:0 15px;gap:8px}.search input{border:0;outline:0;background:transparent;width:100%;color:#23415d}.icon-btn{width:42px;height:42px;border:1px solid #d7e5ef;border-radius:12px;display:grid;place-items:center;background:#fff}.icon-btn.primary{background:#e9f6fc;color:#438db4;font-size:25px}.shell{display:flex;min-height:calc(100vh - 74px)}.sidebar{width:280px;background:#fff;border:1px solid #dfeaf2;margin:20px 0 20px 22px;border-radius:20px;padding:25px 16px;box-shadow:0 12px 30px rgba(55,93,119,.05);align-self:flex-start;position:sticky;top:94px}.side-title{font-size:13px;color:#9aaebb;font-weight:700;padding:0 12px 11px}.nav-item{height:47px;border-radius:13px;display:flex;align-items:center;gap:12px;padding:0 13px;color:#486176;font-weight:600;margin-bottom:5px}.nav-item.active{background:#e4f4fb;color:#3689b3}.nav-icon{width:24px;text-align:center}.side-section{border-top:1px dashed #d9e7ef;margin-top:23px;padding-top:22px}.progress-row{height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px dashed #e2edf3;color:#728799;font-size:13px}.progress-row b{color:#294760}.side-bottom{border-top:1px dashed #d9e7ef;margin-top:18px;padding-top:20px}.mini-link{display:block;padding:10px 12px;color:#7890a2;font-size:13px}.main{flex:1;max-width:1500px;padding:38px 40px 100px}.welcome{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.eyebrow{font-size:11px;letter-spacing:2px;color:#62a6ca;font-weight:800}.welcome h1,.page-head h1,.form-card h1{font-size:30px;margin:8px 0;color:#183650}.welcome p,.page-head p{margin:0;color:#7f93a4;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:11px 17px;cursor:pointer;font-weight:700}.button.primary{background:#63b4dc;color:#fff;box-shadow:0 7px 17px rgba(99,180,220,.2)}.button.danger{background:#fff0f0;color:#d45b5b}.button.full{width:100%;margin-top:8px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.stat-card{background:#fff;border:1px solid #e0edf4;border-radius:17px;padding:20px 22px;box-shadow:0 9px 25px rgba(56,94,120,.04)}.stat-card span,.stat-card small{display:block;color:#8a9eae;font-size:13px}.stat-card strong{display:block;font-size:30px;margin:7px 0;color:#24445e}.grid-2{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-bottom:18px}.panel,.data-panel,.form-card{background:#fff;border:1px solid #deebf3;border-radius:18px;box-shadow:0 10px 28px rgba(56,94,120,.04)}.panel{padding:22px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-head h2{font-size:17px;margin:0 0 4px}.panel-head p{font-size:12px;color:#9aabb8;margin:0}.panel-head>a{font-size:13px;color:#4d9bc2;font-weight:700}.task-list{display:grid;gap:8px}.task-card{display:flex;align-items:center;gap:12px;padding:13px 12px;border:1px solid #e8f0f5;border-radius:13px}.task-card:hover,.note-card:hover{border-color:#bcddec;background:#fbfdfe}.task-card.done{opacity:.62}.check{width:23px;height:23px;border-radius:50%;border:2px solid #acd4e6;display:grid;place-items:center;color:#4aa4cf;font-size:13px;flex:none}.task-content{display:flex;flex-direction:column;gap:3px;flex:1}.task-content b{font-size:14px}.task-content small{color:#94a6b3;font-size:12px}.tag{font-size:10px;border-radius:8px;padding:5px 8px;background:#eef5f8;color:#7390a0}.tag.high{background:#fff0eb;color:#d97a5f}.blue-panel{background:linear-gradient(145deg,#fff,#f0f9fd)}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick-grid a{border:1px solid #e1edf3;background:rgba(255,255,255,.72);border-radius:13px;padding:14px;display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;column-gap:8px}.quick-grid span{grid-row:1/3;font-size:21px}.quick-grid b{font-size:13px}.quick-grid small{color:#9aaab7;font-size:11px;margin-top:4px}.notes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.note-card{border:1px solid #e4eef4;border-radius:14px;padding:15px;min-height:140px}.note-cat{font-size:10px;color:#54a0c6;background:#edf8fc;border-radius:8px;padding:4px 7px}.note-card h3{font-size:15px;margin:12px 0 7px}.note-card p{font-size:12px;color:#8497a7;line-height:1.6;margin:0 0 9px}.note-card small{color:#a6b2bb;font-size:10px}.empty{padding:35px;text-align:center;color:#9aabb7;font-size:13px}.mobile-nav{display:none}.auth-body{min-height:100vh;background:linear-gradient(145deg,#f1f9fd,#fff);display:grid;place-items:center}.auth-wrap{width:min(420px,calc(100% - 32px))}.auth-brand{display:flex;align-items:center;gap:11px;justify-content:center;margin-bottom:18px}.auth-brand div:last-child{display:flex;flex-direction:column}.auth-brand span{font-size:12px;color:#91a3b2;margin-top:2px}.auth-card{background:#fff;border:1px solid #dceaf2;border-radius:22px;padding:31px;box-shadow:0 18px 55px rgba(54,96,124,.10)}.auth-kicker{font-size:10px;letter-spacing:2px;color:#64a9cb;font-weight:800}.auth-card h1{font-size:25px;margin:8px 0}.muted{color:#8a9dab;font-size:13px}.auth-card label,.form-card label{display:block;font-size:13px;font-weight:700;color:#4a6479;margin:17px 0}.auth-card input,.form-card input,.form-card textarea,.form-card select{display:block;width:100%;border:1px solid #d7e6ef;border-radius:11px;padding:11px 12px;margin-top:7px;outline:0;background:#fbfdfe;color:#25445d}.auth-card input:focus,.form-card input:focus,.form-card textarea:focus,.form-card select:focus{border-color:#8bc7e1;box-shadow:0 0 0 3px #eaf7fc}.alert,.success{border-radius:10px;padding:10px 12px;font-size:12px;margin:14px 0}.alert{background:#fff2f2;color:#c75d5d}.success{background:#eefaf4;color:#4a9b70}.auth-tip{text-align:center;color:#91a1ad;font-size:12px;margin:17px 0 0}.auth-tip a{color:#4b9bc2;font-weight:700}.top-back{font-size:13px;color:#688094}.form-page,.list-page,.content-page{max-width:1100px;margin:0 auto;padding:45px 25px 80px}.form-card{padding:30px}.form-card.wide{max-width:850px;margin:auto}.form-card.compact{padding:24px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px}.data-panel{overflow:hidden}.data-row{display:flex;align-items:center;gap:20px;padding:17px 20px;border-bottom:1px solid #edf3f7}.data-row:last-child{border-bottom:0}.data-main{min-width:240px;flex:1}.data-main b{display:block;font-size:14px}.data-main small,.data-cell span{display:block;color:#9aabb8;font-size:11px;margin-top:5px}.data-cell{min-width:120px}.data-cell b{font-size:13px}.row-actions{color:#5a9fbe;font-size:12px}.split{display:grid;grid-template-columns:360px 1fr;gap:18px}.panel-title{padding:18px 20px;font-weight:800;border-bottom:1px solid #edf3f7}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-actions{display:flex;gap:10px;margin-top:20px}.search.big{width:100%;margin-bottom:18px;border-radius:13px}.editor{line-height:1.8;resize:vertical;min-height:360px}.brand-link b{font-size:16px}@media(max-width:1050px){.sidebar{width:230px}.main{padding:28px}.stats{grid-template-columns:repeat(2,1fr)}.notes-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.split{grid-template-columns:1fr}.data-cell{display:none}}@media(max-width:760px){.topbar{padding:0 14px;height:64px}.brand-sub{display:none}.top-actions .search{display:none}.shell{display:block}.sidebar{display:none}.main{padding:25px 14px 90px}.welcome{align-items:flex-start;gap:15px}.welcome h1{font-size:24px}.stats{gap:10px}.stat-card{padding:16px}.stat-card strong{font-size:24px}.notes-grid{grid-template-columns:1fr}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.97);border-top:1px solid #dceaf2;z-index:20;overflow-x:auto;padding:7px 3px}.mobile-nav a{min-width:82px;text-align:center;font-size:18px;color:#6e8596;padding:5px}.mobile-nav span{display:block;font-size:9px;margin-top:3px}.mobile-nav a.active{color:#4b9ec5}.page-head{align-items:flex-start;gap:15px}.page-head h1{font-size:26px}.form-page,.list-page,.content-page{padding:28px 14px 80px}.form-card{padding:22px}.form-grid{grid-template-columns:1fr}.data-row{padding:15px}.data-main{min-width:0}.row-actions{font-size:11px}.top-back{display:none}.quick-grid{grid-template-columns:1fr 1fr}}

.captcha-line{display:flex;gap:8px;align-items:center}.captcha-line input{flex:1;margin-top:0!important}.captcha-line img{width:155px;height:58px;border:1px solid #d7e6ef;border-radius:10px;cursor:pointer}.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(25,50,77,.25);backdrop-filter:blur(4px);z-index:100;align-items:center;justify-content:center;padding:20px}.modal-backdrop.show{display:flex}.complete-modal{position:relative;width:min(520px,100%);background:#fff;border:1px solid #d8e9f2;border-radius:20px;padding:28px;box-shadow:0 25px 70px rgba(37,78,106,.2)}.complete-modal h2{margin:8px 0;font-size:22px}.modal-close{position:absolute;right:15px;top:12px;border:0;background:transparent;font-size:25px;color:#8aa0af;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:9px}.modal-actions .button:not(.primary){background:#f2f7fa;color:#597287}.task-card{cursor:pointer}.edit-task{font-size:11px;color:#7ea4b8;padding:4px}.admin-list{display:grid;gap:15px}.admin-card{background:#fff;border:1px solid #deebf3;border-radius:18px;padding:20px;box-shadow:0 10px 28px rgba(56,94,120,.04)}.admin-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.admin-meta b{font-size:15px}.admin-meta span{display:block;color:#8ca0af;font-size:12px;margin-top:3px}.status{font-size:11px;border-radius:8px;padding:5px 9px}.status.on{background:#edf9f3;color:#4a9b70}.status.off{background:#fff1f1;color:#c96d6d}.admin-form{display:grid;grid-template-columns:1.2fr .8fr 1.2fr auto auto;gap:10px;align-items:end}.admin-form label{margin:0!important}.admin-form .check-label{display:flex;align-items:center;gap:5px;white-space:nowrap;padding-bottom:12px}.admin-form .check-label input{width:auto}.admin-foot{margin-top:12px;color:#9aabb8;font-size:11px}@media(max-width:800px){.admin-form{grid-template-columns:1fr 1fr}.admin-form .button{grid-column:1/-1}.captcha-line img{width:135px}}

body.modal-open{overflow:hidden}
.task-modal-backdrop{z-index:200;cursor:default}
.task-modal{position:relative;width:min(560px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow:auto;background:#fff;border:1px solid #d8e9f2;border-radius:22px;padding:30px;box-shadow:0 28px 90px rgba(37,78,106,.24);cursor:default}
.task-modal h2{margin:8px 0 6px;font-size:23px}.task-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.task-modal .modal-actions{margin-top:20px}.task-modal-backdrop{background:rgba(18,42,62,.38);backdrop-filter:blur(5px)}
@media(max-width:600px){.task-modal{padding:22px}.task-modal-grid{grid-template-columns:1fr}}

/* v4 unified in-page management modal */
body.modal-open{overflow:hidden}
.workbench-modal-backdrop{display:none;position:fixed;inset:0;z-index:500;background:rgba(17,43,63,.48);backdrop-filter:blur(7px);align-items:center;justify-content:center;padding:clamp(14px,2.5vw,34px)}
.workbench-modal-backdrop.show{display:flex}
.workbench-modal{width:min(1180px,94vw);height:min(820px,91vh);background:#f7fbfd;border:1px solid rgba(207,229,239,.95);border-radius:24px;box-shadow:0 35px 100px rgba(26,66,91,.28);overflow:hidden;display:flex;flex-direction:column}
.workbench-modal-head{height:78px;min-height:78px;padding:16px 22px 15px 25px;background:linear-gradient(180deg,#fff,#f8fcfe);border-bottom:1px solid #dcebf2;display:flex;align-items:center;justify-content:space-between}
.workbench-modal-head h2{margin:3px 0 0;font-size:21px;color:#294d62}
.workbench-close{width:42px;height:42px;border:0;border-radius:13px;background:#eef7fb;color:#6c8ea1;font-size:29px;line-height:1;cursor:pointer;transition:.18s}
.workbench-close:hover{background:#dceff7;color:#376c87;transform:scale(1.04)}
.workbench-frame-wrap{flex:1;min-height:0;padding:0;background:#f7fbfd}
.workbench-frame-wrap iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.task-modal{width:min(760px,92vw);max-height:min(760px,90vh);padding:34px}
.complete-modal{width:min(700px,92vw);padding:34px}
.task-modal h2,.complete-modal h2{font-size:25px;color:#294d62}
.task-modal input,.task-modal textarea,.task-modal select,.complete-modal textarea{border-radius:12px;border:1px solid #d4e6ef;background:#fbfdfe;transition:.18s}
.task-modal input:focus,.task-modal textarea:focus,.task-modal select:focus,.complete-modal textarea:focus{outline:0;border-color:#8fc3db;box-shadow:0 0 0 4px rgba(112,181,211,.12);background:#fff}
.task-modal .button,.complete-modal .button{border-radius:11px;padding:10px 17px}
@media(max-width:900px){.workbench-modal{width:96vw;height:94vh;border-radius:18px}.workbench-modal-head{height:68px;min-height:68px}}

/* WorkBuddy v5 - true index.php workspace modals */
body.modal-open{overflow:hidden}
.page-alert{margin:0 0 16px}
.hero-add{min-width:150px}
.panel-link{border:0;background:transparent;color:#6a9bb3;font:inherit;cursor:pointer;padding:5px 0}.panel-link:hover{color:#347695}
.note-card-button{width:100%;text-align:left;font:inherit;cursor:pointer;border:0}
.edit-task{border:0;background:transparent;color:#79a7bb;cursor:pointer;font-size:11px;padding:5px}
.wb-modal-backdrop{display:none;position:fixed;inset:0;z-index:900;background:rgba(18,47,68,.52);backdrop-filter:blur(7px);align-items:center;justify-content:center;padding:clamp(14px,2.5vw,34px)}
.wb-modal-backdrop.show{display:flex}
.wb-modal{background:#f8fcfe;border:1px solid #d4e7ef;border-radius:24px;box-shadow:0 30px 90px rgba(28,72,98,.27);overflow:hidden;width:min(760px,94vw);max-height:92vh;display:flex;flex-direction:column}
.wb-task-modal{width:min(780px,94vw)}
.wb-small-modal{width:min(680px,92vw)}
.wb-modal-head{padding:23px 27px 20px;background:linear-gradient(180deg,#ffffff 0%,#f5fbfe 100%);border-bottom:1px solid #dcecf3;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.wb-modal-head h2{margin:4px 0 5px;font-size:25px;line-height:1.25;color:#294e63}
.wb-modal-head p{margin:0;color:#8199a8;font-size:13px}
.wb-close{width:42px;height:42px;flex:none;border:1px solid #d8e9f0;border-radius:13px;background:#f0f8fb;color:#7190a0;font-size:28px;line-height:1;cursor:pointer;transition:.18s}
.wb-close:hover{background:#e0f2f8;color:#3b7088;transform:scale(1.04)}
.wb-form-body{padding:25px 28px;overflow:auto}
.wb-form-body label,.workspace-editor label{display:block;margin-bottom:17px;color:#587284;font-size:13px;font-weight:600}
.wb-form-body input,.wb-form-body textarea,.wb-form-body select,.workspace-editor input,.workspace-editor textarea,.workspace-editor select{width:100%;box-sizing:border-box;margin-top:7px;border:1px solid #d3e5ed;border-radius:13px;background:#fff;padding:12px 14px;color:#294b5e;font:inherit;font-weight:400;outline:none;transition:.18s;box-shadow:0 1px 3px rgba(39,78,99,.025)}
.wb-form-body input:focus,.wb-form-body textarea:focus,.wb-form-body select:focus,.workspace-editor input:focus,.workspace-editor textarea:focus,.workspace-editor select:focus{border-color:#8fc5dc;box-shadow:0 0 0 4px rgba(108,183,215,.13)}
.wb-form-body textarea,.workspace-editor textarea{resize:vertical;line-height:1.7}
.wb-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.wb-modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 28px;border-top:1px solid #dcecf3;background:#f9fcfd}
.wb-modal-foot .button{border-radius:11px;padding:10px 18px}
.wb-workspace-modal{width:min(1240px,95vw);height:min(850px,92vh);max-height:92vh}
.workspace-head{min-height:77px}
.workspace-content{display:none;flex:1;min-height:0;overflow:auto;padding:22px}
.workspace-content.active{display:block}
.workspace-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px}
.workspace-toolbar b{font-size:15px;color:#31576b}.workspace-toolbar span{margin-left:9px;color:#93a6b1;font-size:12px}
.workspace-list{display:grid;gap:9px}
.workspace-row{background:#fff;border:1px solid #deebf1;border-radius:15px;padding:15px 17px;display:flex;align-items:center;justify-content:space-between;gap:15px;box-shadow:0 3px 12px rgba(48,86,106,.025)}
.workspace-row-main{display:flex;align-items:center;gap:12px;min-width:0}.workspace-row-main>div:last-child{min-width:0}.workspace-row-main b{display:block;color:#31566a;font-size:14px}.workspace-row-main small{display:block;margin-top:5px;color:#92a4af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:680px}
.row-check{width:27px;height:27px;flex:none;border-radius:9px;border:1px solid #cfe3eb;background:#f5fafc;color:#63a6bf;display:grid;place-items:center;font-size:15px}.row-check.checked{background:#e9f7f1;border-color:#bfe2d2;color:#55a27a}
.workspace-row-meta{display:flex;align-items:center;gap:9px;flex:none}.row-button{border:0;background:#eef7fa;color:#6795a9;border-radius:9px;padding:7px 10px;cursor:pointer}.row-button:hover{background:#e0f1f6}.danger-text{background:#fff1f1;color:#c57a7a}.inline-form{display:inline}.workspace-empty{padding:55px 20px;text-align:center;color:#9badb7;background:#fff;border:1px dashed #d5e7ee;border-radius:15px}
.workspace-columns{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);gap:20px;min-height:100%}
.workspace-editor,.workspace-records{background:#fff;border:1px solid #deebf1;border-radius:18px;padding:21px;box-shadow:0 5px 20px rgba(47,88,108,.035)}
.workspace-editor{display:flex;flex-direction:column}.workspace-editor form{flex:1}.workspace-editor .wb-modal-foot{margin:5px -21px -21px}.workspace-records{overflow:auto}.workspace-record{width:100%;display:flex;justify-content:space-between;gap:15px;text-align:left;border:1px solid #e1edf2;background:#fbfdfe;border-radius:13px;padding:14px;margin-bottom:9px;cursor:pointer;color:inherit}.workspace-record:hover{border-color:#b9dce9;background:#f4fbfd}.workspace-record b{display:block;color:#31576a}.workspace-record small{display:block;color:#91a3ad;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:430px}.workspace-record>span{color:#6ca0b6;font-size:12px;white-space:nowrap}.workspace-editor-textarea{min-height:360px}
@media(max-width:800px){.wb-workspace-modal{width:96vw;height:94vh}.workspace-columns{grid-template-columns:1fr}.workspace-records{max-height:none;overflow:visible}.wb-form-grid{grid-template-columns:1fr}.wb-modal-head{padding:19px 20px}.wb-form-body{padding:20px}.wb-modal-foot{padding:14px 20px}.workspace-content{padding:15px}.workspace-row{align-items:flex-start;flex-direction:column}.workspace-row-meta{width:100%;justify-content:flex-end}}

/* v6 finance + expanded workspace */
.stats-finance{grid-template-columns:repeat(6,minmax(0,1fr))}
.finance-stat{position:relative}
.finance-stat span{display:flex;align-items:center;gap:7px}
.eye-btn{border:0;background:#eef7fb;color:#7197a8;width:22px;height:22px;border-radius:7px;cursor:pointer;font-size:12px}
.delta.up{color:#d37a7a}.delta.down{color:#59a27b}
.finance-summary-strip{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:12px;align-items:center;margin-bottom:18px}
.finance-summary-strip>div{background:#fff;border:1px solid #dcebf1;border-radius:14px;padding:13px 16px}
.finance-summary-strip span{display:block;color:#8aa0ad;font-size:12px;margin-bottom:5px}.finance-summary-strip b{font-size:18px;color:#31586c}
.analysis-link{display:flex;align-items:center;justify-content:center;min-height:55px;padding:0 18px;border-radius:14px;background:#eaf6fb;color:#4b89a4;text-decoration:none;font-size:13px;font-weight:600}
.analysis-link:hover{background:#dff0f7}
.income-text{color:#4f9d79}.expense-text{color:#c87878}.account-record strong{font-size:13px;white-space:nowrap}
@media(max-width:1100px){.stats-finance{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.stats-finance{grid-template-columns:repeat(2,1fr)}.finance-summary-strip{grid-template-columns:1fr 1fr}.analysis-link{grid-column:1/-1}}

/* v6 admin polish */
.list-page{max-width:1180px;margin:0 auto;padding:34px 28px 70px}
.admin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.admin-card{background:linear-gradient(180deg,#fff,#f8fcfe);border:1px solid #d9eaf1;border-radius:20px;padding:20px;box-shadow:0 8px 28px rgba(42,83,104,.06)}
.admin-meta{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid #e3eef3}.admin-meta b{font-size:17px;color:#294d62}.admin-meta span{display:block;margin-top:4px;color:#8ba0ac;font-size:12px}
.admin-form{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:16px}.admin-form label{font-size:12px;color:#5f7a89;font-weight:600}.admin-form input:not([type=checkbox]),.admin-form select{width:100%;box-sizing:border-box;margin-top:6px;padding:10px 12px;border:1px solid #d4e6ee;border-radius:11px;background:#fff;outline:0}.admin-form input:focus,.admin-form select:focus{border-color:#91c5da;box-shadow:0 0 0 3px rgba(112,181,211,.12)}
.admin-form .check-label{display:flex;align-items:center;gap:7px;background:#f1f8fb;border-radius:11px;padding:10px 12px}.admin-form .button{align-self:end}
.admin-foot{margin-top:14px;color:#98a9b2;font-size:11px}.status{font-size:11px;padding:6px 9px;border-radius:999px}.status.on{color:#4f9b79;background:#e9f7f0}.status.off{color:#b47777;background:#fff0f0}
@media(max-width:800px){.admin-list{grid-template-columns:1fr}.admin-form{grid-template-columns:1fr}.list-page{padding:20px 14px}}
/* finance analysis */
.finance-analysis{max-width:1200px;margin:0 auto;padding:32px 25px 70px}.finance-filter,.finance-kpis,.analysis-card{background:#fff;border:1px solid #dbeaf1;border-radius:18px;box-shadow:0 7px 24px rgba(41,83,105,.045)}
.finance-filter{padding:17px;margin-bottom:15px}.finance-filter form{display:grid;grid-template-columns:1fr 1fr .8fr 1fr auto;gap:12px;align-items:end}.finance-filter label{font-size:12px;color:#627d8b;font-weight:600}.finance-filter input,.finance-filter select{width:100%;box-sizing:border-box;margin-top:6px;padding:10px;border:1px solid #d4e6ee;border-radius:10px;background:#fbfdfe}
.finance-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:15px;overflow:hidden}.finance-kpis>div{padding:19px;background:#fff}.finance-kpis span{display:block;color:#8da0aa;font-size:12px}.finance-kpis b{display:block;margin-top:6px;color:#2e5569;font-size:20px}
.finance-analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px}.analysis-card{padding:20px}.analysis-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.analysis-title h2{margin:0;color:#31576b;font-size:16px}.analysis-title span{color:#94a6af;font-size:12px}.bar-row{display:grid;grid-template-columns:70px 1fr 95px;gap:9px;align-items:center;margin:12px 0;font-size:12px;color:#5c7684}.bar-row>div{height:8px;background:#edf5f8;border-radius:99px;overflow:hidden}.bar-row i{display:block;height:100%;background:#91c7dc;border-radius:99px}.bar-row b{text-align:right;color:#476a7b}.trend-list{max-height:280px;overflow:auto}.trend-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf3f6;font-size:12px}.trend-list span{color:#8ba0aa}.trend-list b{color:#4b6878;font-weight:500}.finance-table-row{display:grid;grid-template-columns:110px 90px 120px 1fr 120px;gap:10px;padding:11px 0;border-bottom:1px solid #edf3f6;font-size:12px;align-items:center}.finance-table-row span{color:#6f8794}.finance-table-row b{text-align:right}@media(max-width:800px){.finance-filter form,.finance-analysis-grid{grid-template-columns:1fr}.finance-kpis{grid-template-columns:1fr 1fr}.finance-table-row{grid-template-columns:1fr 1fr}.finance-table-row b{text-align:left}}

/* v7 task checklist + date/time polish */
.task-card{position:relative;display:flex;align-items:center;gap:15px;padding:18px 19px!important;border:1px solid #d9eaf1!important;border-radius:18px!important;background:linear-gradient(135deg,#ffffff 0%,#fbfdfe 100%);box-shadow:0 5px 18px rgba(45,86,108,.045);transition:transform .18s,border-color .18s,box-shadow .18s}
.task-card:hover{transform:translateY(-1px);border-color:#b9dce9!important;box-shadow:0 8px 24px rgba(45,86,108,.08)}
.task-card.done{background:linear-gradient(135deg,#f7fcfa,#fbfefd);opacity:.86}
.task-check-button{width:46px;height:46px;flex:0 0 46px;border:3px solid #a9d4e7;border-radius:50%;background:#fff;display:grid;place-items:center;cursor:pointer;transition:.2s;box-shadow:0 2px 7px rgba(67,133,161,.08)}
.task-check-button:hover{border-color:#6eb4d1;background:#f1faff;transform:scale(1.05)}
.task-check-button.checked{border-color:#72b99a;background:#e9f7f0}
.task-check-mark{font-size:24px;font-weight:800;color:#4caa7c;line-height:1}
.task-content{flex:1;min-width:0}
.task-content>b{display:block;color:#1d3b55;font-size:17px;line-height:1.35}
.task-content>small{display:block;margin-top:4px;color:#94a8b4;font-size:13px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-datetime{display:block;margin-top:7px;color:#6f98aa!important;font-size:11px!important;letter-spacing:.1px}
.task-card .tag{flex:none}
.task-card .edit-task{flex:none;font-size:13px;border-radius:9px;padding:7px 9px}
.task-time-field{display:block;margin:0 28px 24px;color:#587284;font-size:13px;font-weight:600}
.task-time-field input{width:100%;box-sizing:border-box;margin-top:7px;border:1px solid #d3e5ed;border-radius:13px;background:#fff;padding:12px 14px;color:#294b5e;font:inherit;outline:none;transition:.18s}
.task-time-field input:focus{border-color:#8fc5dc;box-shadow:0 0 0 4px rgba(108,183,215,.13)}
.complete-submit{min-width:100px}
@media(max-width:700px){.task-card{gap:11px;padding:14px!important}.task-check-button{width:40px;height:40px;flex-basis:40px}.task-content>b{font-size:15px}.task-card .tag{display:none}}

/* v7.1 task list */
.today-task-panel .panel-head{align-items:center}
.task-panel-actions{display:flex;align-items:center;gap:12px}
.task-selection-bar{display:flex;align-items:center;justify-content:space-between;min-height:30px;margin:0 2px 8px;padding:0 3px;color:#8ba1ad;font-size:12px}
.task-selection-bar b{color:#4f8ca5;font-size:13px}
.clear-selection{border:0;background:transparent;color:#9aadb6;font-size:12px;cursor:pointer}
.clear-selection:hover{color:#568ba0}
.task-card.selected{border-color:#83c3db!important;background:linear-gradient(135deg,#f2fbfe,#fff);box-shadow:0 7px 24px rgba(74,156,190,.10)}
.task-select-wrap{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;cursor:pointer;position:relative}
.task-select{position:absolute;opacity:0;width:1px;height:1px}
.custom-checkbox{width:25px;height:25px;border:2px solid #a9d4e7;border-radius:8px;background:#fff;display:grid;place-items:center;color:transparent;font-size:16px;font-weight:800;transition:.18s;box-shadow:0 2px 6px rgba(67,133,161,.06)}
.task-select-wrap:hover .custom-checkbox{border-color:#6eb4d1;background:#f2faff;transform:scale(1.04)}
.task-select:checked+.custom-checkbox{background:#65afd0;border-color:#65afd0;color:#fff}
.task-card.done .custom-checkbox{background:#76b79a;border-color:#76b79a;color:#fff}
.task-complete-button{border:1px solid #b8dce9;background:#edf8fb;color:#5d96ad;border-radius:10px;padding:8px 13px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:.18s}
.task-complete-button:hover{background:#dff2f8;border-color:#8fc7da;color:#397b96;transform:translateY(-1px)}
.task-completed-label{border-radius:10px;background:#edf8f2;color:#67a081;padding:8px 11px;font-size:12px;white-space:nowrap}
.optional-label{font-size:11px;font-weight:400;color:#a1b1b9;margin-left:5px}
.enter-tip{margin-top:7px;color:#9aacb5;font-size:11px}
@media(max-width:900px){.task-panel-actions{gap:6px}.task-panel-actions .panel-link{font-size:12px}.task-card{flex-wrap:wrap}.task-content{min-width:calc(100% - 65px)}.task-card .tag{margin-left:53px}.task-complete-button,.task-card .edit-task{margin-left:0}}

/* v7.2 task management + finance analytics */
.finance-entry-card{cursor:pointer}
.finance-entry-card small em{font-style:normal;color:#62a9c6;font-weight:600;margin-left:5px}
.workspace-task-actions{display:flex;align-items:center;gap:8px}
.danger-button{color:#bd6c6c!important;border-color:#edd2d2!important;background:#fff8f8!important}
.workspace-selection-bar{display:flex;justify-content:space-between;align-items:center;padding:7px 3px 10px;color:#8ba1ad;font-size:12px}
.workspace-selection-bar b{color:#4f8ca5}
.workspace-selection-bar button{border:0;background:transparent;color:#9aaeb8;cursor:pointer}
.task-workspace-row.selected{background:#f4fbfe;border-color:#a7d6e5}
.workspace-task-check{width:28px;height:28px;flex:none;display:grid;place-items:center;cursor:pointer}
.workspace-task-check input{position:absolute;opacity:0}
.workspace-task-check span{width:20px;height:20px;border:2px solid #afd5e5;border-radius:6px;background:#fff;position:relative}
.workspace-task-check input:checked+span{background:#65afd0;border-color:#65afd0}
.workspace-task-check input:checked+span:after{content:'✓';position:absolute;left:3px;top:-2px;color:#fff;font-size:16px;font-weight:800}
.finance-kpis-top{margin-bottom:14px}
.finance-kpis-main{margin-top:14px}
.finance-filter{background:#fff;border:1px solid #dcebf2;border-radius:18px;padding:16px 18px;box-shadow:0 5px 20px rgba(45,86,108,.04)}
.filter-presets{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.filter-presets>span{font-size:12px;color:#94a8b4;margin-right:4px}
.filter-presets a{padding:7px 13px;border-radius:10px;background:#f4f9fb;color:#718f9f;text-decoration:none;font-size:12px;font-weight:600}
.filter-presets a:hover,.filter-presets a.active{background:#e3f4fa;color:#438dad}
.finance-filter form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.finance-filter label{display:flex;flex-direction:column;gap:6px;color:#718b99;font-size:12px;font-weight:600}
.finance-filter input,.finance-filter select{min-width:135px;padding:10px 11px;border:1px solid #d5e6ed;border-radius:10px;background:#fbfdfe;color:#34566a;outline:none}
.trend-card{margin-top:14px}
.trend-card .analysis-title p{margin:5px 0 0;color:#99aeb9;font-size:12px}
.chart-wrap{height:330px;margin-top:12px;overflow:hidden}
#financeTrendChart{width:100%;height:100%;display:block}
.chart-grid-line{stroke:#e8f1f5;stroke-width:1}
.chart-axis-text{fill:#8fa4af;font-size:11px}
.chart-line{stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.chart-expense{stroke:#66b4d2}
.chart-income{stroke:#79b596}
.chart-expense-point{fill:#fff;stroke:#66b4d2;stroke-width:2}
.chart-income-point{fill:#fff;stroke:#79b596;stroke-width:2}
.chart-empty{fill:#9aadb7;font-size:14px}
.chart-legend{display:flex;justify-content:center;gap:20px;color:#8198a5;font-size:12px;padding-top:2px}
.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}
.expense-dot{background:#66b4d2}.income-dot{background:#79b596}
@media(max-width:900px){.workspace-task-actions{flex-wrap:wrap}.finance-filter form label{flex:1;min-width:135px}.chart-wrap{height:260px}}

/* v7.3 full-page module navigation */
.module-page{width:100%;max-width:1180px;margin:0 auto;padding:4px 0 50px}
.module-page-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px}
.module-page-head h1{margin:5px 0 7px;color:#193a58;font-size:31px;letter-spacing:-.5px}
.module-page-head p{margin:0;color:#91a8b8;font-size:14px}
.module-page-icon{margin-right:10px}
.module-page-actions{display:flex;gap:10px;align-items:center}
.module-list-card{background:#fff;border:1px solid #dcebf2;border-radius:20px;box-shadow:0 8px 28px rgba(41,82,105,.055);overflow:hidden}
.module-list-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #edf4f7;color:#31556d}
.module-list-head span{font-size:12px;color:#9aafba}
.module-list{padding:10px 16px 16px}
.module-row{display:flex;align-items:center;gap:15px;padding:17px 10px;border-bottom:1px solid #eef5f7;min-height:82px;transition:.16s ease}
.module-row:last-child{border-bottom:0}
.module-row:hover{background:#f8fcfe;border-radius:14px}
.module-row-icon{width:42px;height:42px;border-radius:13px;background:#edf8fc;display:grid;place-items:center;font-size:21px;flex:none}
.module-row-main{flex:1;min-width:0}
.module-row-main h3{margin:0 0 5px;color:#24445d;font-size:16px}
.module-row-main p{margin:0 0 5px;color:#8da3b0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:760px}
.module-row-main small{color:#a0b2bc;font-size:11px}
.module-row>.row-button{flex:none}
.module-empty{padding:70px 20px;text-align:center;color:#9cafb9;font-size:14px}
@media(max-width:900px){
 .module-page{padding:0 4px 30px}
 .module-page-head{align-items:flex-start;flex-direction:column}
 .module-page-actions{width:100%}
 .module-page-actions .button{flex:1}
 .module-row{padding:14px 5px}
 .module-row-main p{max-width:calc(100vw - 190px)}
}

.nav-item.active{background:#e2f4fb!important;color:#3e91b5!important;font-weight:700}

/* v7.4: modules are embedded pages inside index.php, not popup windows */
body.module-page-body{overflow-x:hidden}
.module-page-container{position:relative!important;inset:auto!important;width:auto!important;height:auto!important;min-height:0!important;display:block!important;background:transparent!important;z-index:1!important;padding:0!important}
.module-page-container .wb-modal{position:relative!important;width:100%!important;max-width:none!important;max-height:none!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;overflow:visible!important}
.module-page-container .wb-modal-head{background:transparent;border:0;padding:0 0 20px}
.module-page-container .module-close{display:none!important}
.module-page-container .workspace-content{display:none}
.module-page-container .workspace-content.active{display:block!important}
.module-page-container .workspace-columns{grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:18px}
.module-page-container .workspace-editor,.module-page-container .workspace-records{border-radius:18px}
.module-page-container .workspace-toolbar{padding:18px 20px}
.module-page-container .workspace-record{min-height:72px}
.embedded-finance{margin:0 0 18px}
.embedded-finance .finance-summary-extended{margin-bottom:14px}
.embedded-filter{margin-bottom:14px}
.embedded-finance-kpis{margin:0 0 14px}
.embedded-trend{margin-top:0}
.embedded-analysis-grid{margin-top:14px}
.embedded-finance .finance-filter form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.embedded-finance .finance-filter label{display:flex;flex-direction:column;gap:5px;color:#718b99;font-size:11px;font-weight:600}
.embedded-finance .finance-filter input,.embedded-finance .finance-filter select{min-width:120px;padding:9px 10px;border:1px solid #d5e6ed;border-radius:9px;background:#fbfdfe;color:#34566a}
@media(max-width:1000px){.module-page-container .workspace-columns{grid-template-columns:1fr}.module-page-container .workspace-editor{order:1}.module-page-container .workspace-records{order:2}}

/* ===== WorkBuddy v7.4 FIX: real module pages ===== */
.main.module-active > .welcome,
.main.module-active > .page-alert,
.main.module-active > .stats,
.main.module-active > .grid-2,
.main.module-active > .panel{display:none!important}

.main.module-active #workspaceModal.module-page-container{
  display:block!important;
  position:relative!important;
  inset:auto!important;
  z-index:1!important;
  width:100%!important;
  height:auto!important;
  min-height:600px!important;
  padding:0!important;
  background:transparent!important;
  opacity:1!important;
  visibility:visible!important;
}
.main.module-active #workspaceModal.module-page-container .wb-modal{
  display:block!important;
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.main.module-active #workspaceModal.module-page-container .workspace-content.active{display:block!important}
.main.module-active #workspaceModal.module-page-container .workspace-content{overflow:visible!important}

/* Smart finance: modal editor + bottom management table */
.finance-action-row{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:24px 0 12px;padding:18px 20px;background:#fff;border:1px solid #dcebf2;border-radius:18px;box-shadow:0 7px 24px rgba(42,90,112,.05)}
.finance-action-row b{display:block;color:#24445d;font-size:16px}.finance-action-row span{display:block;margin-top:4px;color:#96aab5;font-size:12px}.finance-action-buttons,.record-toolbar-actions{display:flex;gap:8px}.income-button{color:#258b69!important;background:#f3fbf7!important;border:1px solid #cfeadf!important}
.finance-records-bottom{margin-top:18px;width:100%}.finance-selection-bar{margin:0 16px 8px;padding:8px 12px;background:#f7fbfd;border-radius:10px;color:#90a4af;display:flex;justify-content:space-between}
.finance-record-table-wrap{overflow:auto}.finance-record-table{width:100%;border-collapse:collapse;min-width:980px}.finance-record-table th{padding:12px;text-align:left;color:#8aa0ad;font-size:11px;background:#f8fbfc;border-bottom:1px solid #e5f0f4}.finance-record-table td{padding:13px 12px;border-bottom:1px solid #edf3f5;color:#526d7c;font-size:13px}.finance-record-table tbody tr:hover{background:#fbfdfe}.finance-record-table .check-col{width:38px;text-align:center}.finance-record-table .check-col input{width:16px;height:16px;accent-color:#6eb9d4}.finance-category-chip{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf7fb;color:#5d8da4;font-size:11px}.finance-note-cell{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-record-actions{white-space:nowrap}
.account-editor-backdrop{z-index:3000}.account-editor-modal{width:min(680px,calc(100vw - 32px))!important;max-height:calc(100vh - 40px)!important;overflow:auto!important}.account-editor-form{padding:0 24px 24px}.account-type-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 20px;padding:5px;background:#f3f8fa;border-radius:13px}.account-type-switch button{border:0;background:transparent;padding:11px;border-radius:10px;color:#8199a6;font-weight:700;cursor:pointer}.account-type-switch button.active{background:#fff;color:#4a94b3;box-shadow:0 3px 10px rgba(47,102,126,.09)}
@media(max-width:700px){.finance-action-row{flex-direction:column;align-items:stretch}.finance-action-buttons,.record-toolbar-actions{width:100%}.finance-action-buttons .button,.record-toolbar-actions .button{flex:1}.finance-selection-bar{margin-left:8px;margin-right:8px}}

/* ===== v7.6 polished finance editor ===== */
.account-editor-backdrop{
  z-index:4000!important;
  padding:24px!important;
  background:rgba(20,51,68,.48)!important;
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.account-editor-modal{
  width:min(700px,100%)!important;
  max-height:min(820px,calc(100vh - 48px))!important;
  overflow:auto!important;
  border:1px solid rgba(214,232,240,.95)!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 28px 80px rgba(24,65,87,.25),0 5px 20px rgba(24,65,87,.08)!important;
}
.account-editor-topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:24px 26px 20px;
  background:linear-gradient(135deg,#f4fbfe 0%,#fff 72%);
  border-bottom:1px solid #e7f1f5;
}
.account-editor-title-wrap{display:flex;align-items:center;gap:14px}
.account-editor-icon{
  width:48px;height:48px;border-radius:15px;display:grid;place-items:center;
  background:#e9f7fc;font-size:23px;box-shadow:inset 0 0 0 1px #d8edf4;
}
.account-editor-modal.is-income .account-editor-icon{background:#eaf9f2;box-shadow:inset 0 0 0 1px #d7eee4}
.account-editor-title-wrap .eyebrow{margin-bottom:2px;color:#83a8b9;font-size:10px;letter-spacing:1.2px}
.account-editor-title-wrap h2{margin:0;color:#1e425a;font-size:24px;line-height:1.25}
.account-editor-title-wrap p{margin:4px 0 0;color:#91a6b1;font-size:12px}
.account-close-button{
  width:38px;height:38px;border:0;border-radius:12px;background:#f2f7f9;color:#78929f;
  font-size:25px;line-height:1;cursor:pointer;transition:.18s;
}
.account-close-button:hover{background:#e7f2f6;color:#3c687b;transform:rotate(3deg)}
.account-editor-form{padding:20px 26px 26px!important}
.account-type-switch{
  display:grid!important;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 18px!important;padding:5px!important;
  background:#f2f7f9!important;border:1px solid #e5eef2;border-radius:15px!important;
}
.account-type-switch button{
  min-height:58px!important;display:flex!important;align-items:center!important;justify-content:center!important;
  gap:10px;border:0!important;border-radius:11px!important;background:transparent!important;
  color:#8ca1ab!important;cursor:pointer;transition:.18s!important;
}
.account-type-switch button .account-switch-icon{
  width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:#e5eef3;font-weight:800;
}
.account-type-switch button span:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.account-type-switch button b{font-size:14px}.account-type-switch button small{font-size:10px;font-weight:500;color:#a0b0b8}
.account-type-switch button.active{background:#fff!important;color:#438eac!important;box-shadow:0 4px 14px rgba(43,94,117,.10)!important}
.account-type-switch button.active .account-switch-icon{background:#e5f6fc;color:#438eac}
.account-type-switch #accountIncomeTab.active{color:#2c906d!important}
.account-type-switch #accountIncomeTab.active .account-switch-icon{background:#e4f7ef;color:#2c906d}
.account-amount-box{
  padding:17px 20px 16px;margin-bottom:20px;border:1px solid #dcebf1;border-radius:17px;
  background:linear-gradient(135deg,#f8fcfe,#fff);transition:.18s;
}
.account-editor-modal.is-income .account-amount-box{border-color:#d8eee4;background:linear-gradient(135deg,#f7fcf9,#fff)}
.account-field-label{font-size:11px;color:#8ca2ad;font-weight:700;letter-spacing:.3px}
.account-amount-input{display:flex;align-items:center;gap:7px;margin-top:2px}
.account-amount-input>span{font-size:22px;color:#5c8799;font-weight:600}
.account-amount-input input{
  flex:1;border:0!important;outline:0!important;background:transparent!important;padding:0!important;
  font-size:34px!important;font-weight:750!important;color:#24485e!important;line-height:1.25!important;
}
.account-amount-input input::placeholder{color:#c3d1d7}
.account-amount-hint{margin-top:3px;color:#a0b0b8;font-size:11px}
.account-form-section{margin-top:3px}.account-section-title{margin-bottom:10px;color:#537184;font-size:12px;font-weight:750}
.account-section-title small{margin-left:5px;color:#aab8bf;font-weight:500}
.account-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 14px}
.account-field{display:block!important}.account-field>span{display:block;margin-bottom:6px;color:#718a97;font-size:11px;font-weight:650}.account-field>span i{color:#76b6ce;font-style:normal}
.account-editor-form input:not([type="hidden"]),.account-editor-form select,.account-editor-form textarea{
  width:100%;box-sizing:border-box;border:1px solid #dce9ee!important;border-radius:11px!important;
  background:#fbfdfe!important;color:#35586a!important;padding:11px 12px!important;font-size:13px!important;
  outline:none!important;transition:.18s!important;
}
.account-editor-form input:not([type="hidden"]):focus,.account-editor-form select:focus,.account-editor-form textarea:focus{
  border-color:#91cadd!important;background:#fff!important;box-shadow:0 0 0 3px rgba(112,190,216,.11)!important;
}
.account-note-section{margin-top:17px}.account-note-section textarea{min-height:76px;resize:vertical;line-height:1.55}
.account-editor-footer{
  display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:22px;padding-top:17px;
  border-top:1px solid #edf3f5;
}
.account-enter-tip{color:#9aadb6;font-size:11px}.account-enter-tip kbd{
  padding:3px 6px;border:1px solid #d7e4e9;border-bottom-width:2px;border-radius:5px;background:#f7fafb;color:#708894;font-size:10px
}
.account-footer-buttons{display:flex;gap:9px}.account-cancel-button{background:#f4f8fa!important;color:#69818c!important;border-color:#e1ebef!important}
.account-save-button{min-width:118px!important;box-shadow:0 6px 16px rgba(77,157,188,.17)}
.account-editor-modal.is-income .account-save-button{background:#58aa88!important;border-color:#58aa88!important;box-shadow:0 6px 16px rgba(67,155,119,.16)}
@media(max-width:620px){
  .account-editor-backdrop{padding:10px!important}.account-editor-modal{max-height:calc(100vh - 20px)!important;border-radius:19px!important}
  .account-editor-topbar{padding:18px 18px 16px}.account-editor-form{padding:15px 18px 18px!important}
  .account-form-grid{grid-template-columns:1fr}.account-amount-input input{font-size:30px!important}
  .account-editor-footer{align-items:stretch;flex-direction:column}.account-enter-tip{order:2}.account-footer-buttons{width:100%}.account-footer-buttons .button{flex:1}
}

/* ===== v7.7 unified batch management for ideas/reviews/notes/cooperations ===== */
.module-records{margin-top:18px!important}
.module-record-toolbar{display:flex!important;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.module-record-actions{display:flex;gap:8px;align-items:center}
.module-selection-bar{margin:0 16px 8px;padding:8px 12px;background:#f7fbfd;border-radius:10px;color:#90a4af;display:flex;justify-content:space-between}
.module-record-list{display:flex;flex-direction:column;overflow:hidden;border:1px solid #e4eef2;border-radius:14px;background:#fff}
.module-record-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:68px;padding:8px 13px;border-bottom:1px solid #edf3f5;transition:.16s}
.module-record-row:last-child{border-bottom:0}.module-record-row:hover{background:#fbfdfe}
.module-record-check{text-align:center}.module-record-check input{width:17px;height:17px;accent-color:#6eb9d4;cursor:pointer}
.module-record-main{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;border:0;background:transparent;text-align:left;padding:8px 5px;cursor:pointer}
.module-record-title{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#294d61;font-size:13px;font-weight:700}
.module-record-meta{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#93a7b1;font-size:11px}
.module-record-buttons{display:flex;gap:5px;white-space:nowrap}.module-record-buttons .row-button{padding:6px 9px;border-radius:8px}
.module-record-row:has(.module-record-check input:checked){background:#f5fbfd}
@media(max-width:700px){
  .module-record-row{grid-template-columns:34px minmax(0,1fr);padding:7px 8px}
  .module-record-buttons{grid-column:2;justify-content:flex-start;padding:0 5px 5px}
  .module-record-main{grid-column:2}
  .module-record-actions{width:100%}.module-record-actions .button{flex:1}
  .module-selection-bar{margin-left:8px;margin-right:8px}
}

/* ===== v8.0 simple career planning ===== */
.career-simple-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 27px;margin-bottom:15px;border:1px solid #dcebf2;border-radius:20px;background:linear-gradient(135deg,#f2faff,#fff);box-shadow:0 8px 28px rgba(42,90,112,.05)}
.career-simple-hero h2{margin:3px 0 5px;color:#24485e;font-size:25px}.career-simple-hero p{margin:0;color:#8ca2ad;font-size:12px}.career-add-btn{white-space:nowrap}
.career-simple-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:15px}.career-simple-stats>div{padding:16px 18px;border:1px solid #e2eef2;border-radius:15px;background:#fff}.career-simple-stats span{display:block;color:#96aab4;font-size:11px}.career-simple-stats b{display:block;margin-top:5px;color:#2b5368;font-size:20px}
.career-goal-list{padding:0}.career-goal-card{padding:17px 18px;margin-bottom:10px;border:1px solid #e2edf1;border-radius:16px;background:#fff;transition:.16s}.career-goal-card:hover{border-color:#cde4ed;box-shadow:0 6px 20px rgba(42,90,112,.05)}
.career-goal-top{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.career-goal-title{font-size:15px;font-weight:750;color:#294d61}.career-goal-meta{margin-top:5px;color:#99aab3;font-size:11px}.career-goal-actions{display:flex;gap:6px;white-space:nowrap}.career-progress-line{height:7px;margin-top:15px;border-radius:99px;background:#edf4f7;overflow:hidden}.career-progress-line span{display:block;height:100%;border-radius:99px;background:#79bfd8}.career-goal-bottom{display:flex;justify-content:space-between;gap:15px;margin-top:8px;color:#92a5ae;font-size:11px}.career-goal-bottom b{color:#5aa5c0}.career-goal-bottom span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.career-empty{display:flex;flex-direction:column;align-items:center;gap:7px;padding:48px 20px;border:1px dashed #d7e7ed;border-radius:16px;background:#fbfdfe;color:#93a6af;text-align:center}.career-empty>div{font-size:30px}.career-empty b{color:#526f7d;font-size:14px}.career-empty span{font-size:11px;margin-bottom:8px}
.career-editor-backdrop{z-index:4000!important;background:rgba(20,51,68,.46)!important;backdrop-filter:blur(7px)}.career-editor-modal{width:min(620px,calc(100vw - 30px))!important}.career-editor-form{padding:0 24px 24px}.career-editor-form>label{display:block;margin:14px 0;color:#718a97;font-size:11px;font-weight:650}.career-editor-form input:not([type=hidden]),.career-editor-form textarea{margin-top:6px;width:100%;box-sizing:border-box;border:1px solid #dce9ee;border-radius:11px;background:#fbfdfe;color:#35586a;padding:11px 12px;outline:0}.career-editor-form input:focus,.career-editor-form textarea:focus{border-color:#91cadd;box-shadow:0 0 0 3px rgba(112,190,216,.11)}.career-range-wrap{display:flex;align-items:center;gap:12px;margin-top:8px}.career-range-wrap input{flex:1;margin:0!important;padding:0!important}.career-range-wrap b{min-width:42px;text-align:right;color:#5aa5c0}
@media(max-width:700px){.career-simple-hero{flex-direction:column;align-items:stretch}.career-simple-stats{grid-template-columns:1fr}.career-goal-top{flex-direction:column}.career-goal-actions{width:100%}.career-goal-actions .row-button{flex:1}}

/* v8.1 career dashboard */
.career-dashboard-head{display:flex;justify-content:space-between;align-items:center;padding:22px 25px;margin-bottom:13px;border:1px solid #dcebf2;border-radius:19px;background:linear-gradient(135deg,#f1faff,#fff);box-shadow:0 7px 24px rgba(42,90,112,.05)}.career-dashboard-head h2{margin:3px 0 4px;color:#24485e;font-size:24px}.career-dashboard-head p{margin:0;color:#8da3ad;font-size:12px}
.career-overview-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:10px;margin-bottom:13px}.career-overview-grid>div{padding:15px 17px;border:1px solid #e2eef2;border-radius:14px;background:#fff}.career-overview-grid span,.career-overview-grid small{display:block;color:#9aadb6;font-size:10px}.career-overview-grid b{display:block;margin:4px 0;color:#2a5368;font-size:19px}
.career-dashboard-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:13px;margin-bottom:13px}.career-panel{padding:17px;border:1px solid #e1edf1;border-radius:17px;background:#fff}.career-panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.career-panel-head b{display:block;color:#31586a;font-size:14px}.career-panel-head small{display:block;margin-top:3px;color:#9babb3;font-size:10px}
.career-goal-card{padding:13px 0;border-bottom:1px solid #edf3f5}.career-goal-top{display:flex;justify-content:space-between;gap:12px}.career-goal-title{font-size:14px;font-weight:750;color:#294d61}.career-goal-meta{margin-top:5px;color:#99aab3;font-size:10px}.career-goal-actions{display:flex;gap:6px}.career-progress-line{height:6px;margin-top:11px;border-radius:99px;background:#edf4f7;overflow:hidden}.career-progress-line span{display:block;height:100%;border-radius:99px;background:#78bdd5}.career-goal-bottom{display:flex;justify-content:space-between;margin-top:7px;color:#92a5ae;font-size:10px}.career-goal-bottom b{color:#5aa5c0}
.career-milestone{display:grid;grid-template-columns:28px 1fr 22px;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #edf3f5}.career-milestone b{display:block;color:#4a6673;font-size:12px}.career-milestone small{display:block;margin-top:3px;color:#a1b0b7;font-size:10px}.career-check{width:22px;height:22px;border:1px solid #cfe2e9;border-radius:7px;background:#fff;color:#fff;cursor:pointer}.career-milestone.done .career-check{background:#76b9d0;border-color:#76b9d0}.career-milestone.done b{text-decoration:line-through;color:#a2b0b6}.career-mini-delete{border:0;background:none;color:#b6c2c7;font-size:17px;cursor:pointer}.career-mini-empty{padding:22px 5px;color:#9aabb3;font-size:11px;line-height:1.6}
.career-skill{padding:10px 0;border-bottom:1px solid #edf3f5}.career-skill-head{display:flex;justify-content:space-between;color:#4a6875;font-size:12px}.career-skill-head span{color:#78a8ba;font-size:10px}.career-skill-bars{height:7px;margin:8px 0;position:relative;border-radius:99px;background:#eef5f7;overflow:hidden}.career-skill-bars span{position:absolute;left:0;top:0;height:100%;border-radius:99px;background:#78bdd5;z-index:2}.career-skill-bars i{position:absolute;left:0;top:0;height:100%;border-radius:99px;background:#dceef4}.career-skill-foot{display:flex;gap:8px;align-items:center}.career-skill-foot small{flex:1;color:#9baeb6;font-size:10px}.career-skill-foot button,.career-review-row button{border:0;background:none;color:#79a9b9;font-size:10px;cursor:pointer}.career-skill-foot button:last-child,.career-review-row button:last-child{color:#ba8d8d}
.career-advice{padding:12px;margin-bottom:8px;border-radius:11px;background:#f8fbfc}.career-advice strong{display:block;color:#527384;font-size:12px}.career-advice span{display:block;margin-top:4px;color:#97a9b1;font-size:10px;line-height:1.6}
.career-review-panel{margin-bottom:20px}.career-review-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #edf3f5}.career-review-date{color:#78a9ba;font-size:11px;font-weight:700}.career-review-row b,.career-review-row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.career-review-row b{color:#526d7a;font-size:11px}.career-review-row span{margin-top:3px;color:#9cabb2;font-size:10px}
.career-small-modal{width:min(560px,calc(100vw - 30px))!important}.career-editor-backdrop{z-index:4000!important;background:rgba(20,51,68,.46)!important;backdrop-filter:blur(7px)}.career-editor-form{padding:0 24px 24px}.career-editor-form>label{display:block;margin:12px 0;color:#718a97;font-size:11px;font-weight:650}.career-editor-form input:not([type=hidden]),.career-editor-form select,.career-editor-form textarea{margin-top:6px;width:100%;box-sizing:border-box;border:1px solid #dce9ee;border-radius:10px;background:#fbfdfe;color:#35586a;padding:10px 11px;outline:0}.career-editor-form input:focus,.career-editor-form select:focus,.career-editor-form textarea:focus{border-color:#91cadd;box-shadow:0 0 0 3px rgba(112,190,216,.1)}
@media(max-width:900px){.career-overview-grid{grid-template-columns:repeat(2,1fr)}.career-dashboard-grid{grid-template-columns:1fr}}@media(max-width:600px){.career-dashboard-head{align-items:stretch;flex-direction:column}.career-overview-grid{grid-template-columns:1fr 1fr}.career-dashboard-grid{grid-template-columns:1fr}.career-goal-top{flex-direction:column}}

/* v8.2 career page whitespace/layout fix */
#workspaceCareer.career-page-content{width:100%;padding:0!important;min-height:0!important;overflow:visible!important}
#workspaceCareer.career-page-content.active{display:block!important}
.career-dashboard-head{width:100%;box-sizing:border-box}
.career-overview-grid{width:100%;box-sizing:border-box}
.career-dashboard-grid{width:100%;box-sizing:border-box}
.career-panel{min-width:0}
@media(min-width:1200px){
  #workspaceCareer.career-page-content{max-width:100%}
  .career-dashboard-grid{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr)}
}

/* v8.3: career is a real page, not a workspace modal */
body:has(#workspaceCareer.active) #workspaceModal{display:none!important}
#workspaceCareer.career-page-content{position:relative;z-index:1}

/* v8.4 career interactions */
.career-page-alert{margin:0 0 12px!important}
.career-panel-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.career-filter-btn.active{background:#eaf7fb;border-color:#c5e5ee;color:#4e9ab4}
.complete-career-button{color:#5a9eaf!important;background:#f3fbfd!important;border-color:#cde9ef!important}.career-completed-badge{padding:5px 8px;border-radius:8px;background:#edf8f5;color:#64a78f;font-size:10px;font-weight:700}
.career-milestone-actions{display:flex;align-items:center;gap:3px}.career-mini-edit{border:0;background:none;color:#79a9b9;font-size:10px;cursor:pointer;padding:2px 4px}
.career-goal-item[style*="display: none"]{display:none!important}
@media(max-width:720px){.career-panel-head{align-items:flex-start}.career-panel-actions{justify-content:flex-end}.career-filter-btn{padding:5px 7px}.career-goal-actions{flex-wrap:wrap}}

/* v8.5: career controls are independent from the workspace JS */
body.career-mode #workspaceModal{display:none!important;visibility:hidden!important;pointer-events:none!important}
body.career-mode .career-editor-backdrop{z-index:99999!important}
body.career-mode .career-editor-backdrop.show{display:flex!important;pointer-events:auto!important}
body.career-mode .career-page-content{position:relative;z-index:2;pointer-events:auto}
.career-goal-actions button,.career-panel-actions button,.career-milestone-actions button,.career-skill-foot button,.career-review-row button{cursor:pointer}

/* v8.6 career profile / tenant-safe current stage */
.career-stage-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.career-stage-head .row-button{font-size:10px;padding:5px 8px}.career-overview-main>b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* v8.7 actual career data + tenant profile fix */
.career-stage-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.career-stage-head .row-button{font-size:10px;padding:5px 8px}.career-overview-main>b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* v8.8 金额卡片防溢出：长金额也不会撑破卡片 */
.stats-finance{grid-template-columns:repeat(4,minmax(0,1fr))}
.stats-finance .stat-card,
.stats-finance .finance-stat{min-width:0;overflow:hidden;box-sizing:border-box}
.stats-finance .money{
  display:block;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:clamp(21px,2.15vw,30px);
  letter-spacing:-.5px;
  line-height:1.2;
}
.finance-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
.finance-summary-strip>div{min-width:0;overflow:hidden;box-sizing:border-box}
.finance-summary-strip b.money{
  display:block;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:clamp(16px,1.45vw,18px);
  line-height:1.25;
}
@media(max-width:1100px){
  .stats-finance{grid-template-columns:repeat(3,minmax(0,1fr))}
  .stats-finance .money{font-size:clamp(20px,2.8vw,27px)}
}
@media(max-width:700px){
  .stats-finance{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats-finance .money{font-size:clamp(19px,5.5vw,25px)}
  .finance-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:430px){
  .stats-finance{grid-template-columns:1fr 1fr}
  .stats-finance .stat-card{padding:13px 14px}
  .stats-finance .money{font-size:21px}
}

.task-complete-button{position:relative;z-index:30!important;pointer-events:auto!important;cursor:pointer!important}
#completeModal{z-index:10050!important}

/* v10.1 手机端整体视觉重构
   - 底部导航改为 4×2，职业规划始终可见
   - 安全区、防遮挡、卡片宽度、标题与按钮统一优化
*/
@media (max-width: 700px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body{padding-bottom:0!important}
  .topbar{
    height:64px!important;
    min-height:64px!important;
    padding:0 12px!important;
    box-sizing:border-box!important;
    gap:8px!important;
    position:sticky!important;
    top:0!important;
    z-index:3000!important;
    background:rgba(255,255,255,.96)!important;
    backdrop-filter:blur(14px)!important;
    border-bottom:1px solid #e3eef3!important;
  }
  .brand{min-width:0!important;gap:9px!important}
  .brand-mark{width:42px!important;height:42px!important;border-radius:14px!important;font-size:22px!important;flex:0 0 42px}
  .brand-title{font-size:20px!important;line-height:1.1!important}
  .brand-sub{font-size:9px!important;margin-top:3px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}
  .top-actions{gap:6px!important}
  .top-actions .search{display:none!important}
  .icon-btn{width:44px!important;height:44px!important;border-radius:14px!important;font-size:20px!important}
  .shell{display:block!important;width:100%!important;min-width:0!important}
  .sidebar{display:none!important}
  .main{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:14px 12px 112px!important;
    box-sizing:border-box!important;
  }
  .welcome{
    padding:14px 4px 4px!important;
    margin-bottom:12px!important;
    gap:10px!important;
  }
  .welcome h1{font-size:23px!important;line-height:1.25!important;margin:4px 0!important}
  .welcome p{font-size:11px!important}
  .hero-add{width:100%!important;min-height:44px!important;border-radius:13px!important}

  /* 首页统计卡片 */
  .stats,.stats-finance{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin-bottom:10px!important;
  }
  .stat-card,.stats .stat-card,.stats-finance .stat-card{
    min-width:0!important;
    padding:13px 12px!important;
    border-radius:15px!important;
    box-sizing:border-box!important;
  }
  .stat-card .stat-label{font-size:10px!important}
  .stat-card .stat-value{font-size:23px!important;line-height:1.1!important}
  .stats-finance .money{font-size:20px!important;letter-spacing:-.6px!important}

  /* 首页双栏内容改为单列 */
  .dashboard-grid,.home-grid,.content-grid,.daily-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .task-panel,.workspace-panel,.career-panel,.module-panel{
    min-width:0!important;
    width:100%!important;
    box-sizing:border-box!important;
    border-radius:17px!important;
  }
  .task-card{
    padding:12px 10px!important;
    border-radius:14px!important;
    gap:8px!important;
  }
  .task-card-main{min-width:0!important}
  .task-title{font-size:14px!important}
  .task-desc{font-size:11px!important}
  .task-meta{font-size:10px!important}
  .task-actions{gap:5px!important}
  .task-actions .button,.task-complete-button{min-height:36px!important;padding:7px 10px!important}

  /* 模块页面 */
  .module-header,.page-header,.career-dashboard-head{
    padding:16px 14px!important;
    margin-bottom:10px!important;
    border-radius:16px!important;
  }
  .module-header h2,.page-header h2,.career-dashboard-head h2{font-size:21px!important}
  .module-header p,.page-header p,.career-dashboard-head p{font-size:10px!important}
  .module-toolbar{flex-wrap:wrap!important;gap:6px!important}
  .module-toolbar .button{min-height:38px!important}
  .module-selection-bar{margin:0 0 8px!important;padding:8px!important;border-radius:12px!important}

  /* 职业规划 */
  #workspaceCareer.career-page-content{
    width:100%!important;
    padding:0!important;
    margin:0!important;
    min-height:0!important;
  }
  .career-dashboard-head{
    display:flex!important;
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:10px!important;
  }
  .career-dashboard-head .button,.career-add-btn{width:100%!important}
  .career-overview-grid{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .career-overview-grid>div{
    min-width:0!important;
    padding:12px!important;
    border-radius:14px!important;
  }
  .career-overview-grid b{font-size:16px!important}
  .career-overview-grid span,.career-overview-grid small{font-size:9px!important}
  .career-dashboard-grid{grid-template-columns:1fr!important;gap:9px!important}
  .career-panel{padding:13px!important;border-radius:15px!important}
  .career-panel-head{gap:7px!important;align-items:flex-start!important}
  .career-panel-head b{font-size:13px!important}
  .career-panel-head small{font-size:9px!important}
  .career-panel-actions{gap:4px!important}
  .career-filter-btn,.row-button{font-size:10px!important;padding:6px 8px!important}
  .career-goal-card{padding:12px 0!important}
  .career-goal-top{flex-direction:column!important;gap:8px!important}
  .career-goal-actions{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:5px!important}
  .career-goal-actions .row-button{width:100%!important}
  .career-goal-title{font-size:14px!important}
  .career-goal-meta,.career-goal-bottom{font-size:10px!important}

  /* 页内弹窗：手机上不要挤出屏幕 */
  .wb-modal-backdrop{
    padding:10px!important;
    box-sizing:border-box!important;
  }
  .wb-modal{
    width:min(100%,520px)!important;
    max-width:100%!important;
    max-height:calc(100dvh - 20px)!important;
    border-radius:18px!important;
  }
  .wb-modal-head{padding:15px 16px!important}
  .wb-modal-body,.wb-modal form{max-height:calc(100dvh - 130px)!important;overflow:auto!important}
  .career-editor-form{padding:0 15px 15px!important}

  /* 底部导航：四列×两行，所有入口包括职业规划全部可见 */
  .mobile-nav{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    height:auto!important;
    min-height:82px!important;
    padding:7px 8px calc(7px + env(safe-area-inset-bottom))!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-auto-rows:38px!important;
    gap:2px!important;
    box-sizing:border-box!important;
    background:rgba(255,255,255,.97)!important;
    border-top:1px solid #dcebf2!important;
    box-shadow:0 -8px 24px rgba(40,88,110,.10)!important;
    backdrop-filter:blur(16px)!important;
    z-index:9990!important;
  }
  .mobile-nav a{
    min-width:0!important;
    min-height:36px!important;
    padding:3px 2px!important;
    display:flex!important;
    flex-direction:row!important;
    justify-content:center!important;
    align-items:center!important;
    gap:4px!important;
    border-radius:10px!important;
    color:#6f8794!important;
    font-size:10px!important;
    font-weight:650!important;
    text-decoration:none!important;
    transition:.15s ease!important;
  }
  .mobile-nav a.active{
    background:#eaf7fb!important;
    color:#4f9fbd!important;
  }
  .mobile-nav-icon{
    font-size:16px!important;
    line-height:1!important;
    flex:0 0 auto;
  }
  .mobile-nav a span:last-child{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}
@media (max-width:380px){
  .mobile-nav{grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-auto-rows:36px!important}
  .mobile-nav a{font-size:9px!important;gap:2px!important}
  .mobile-nav-icon{font-size:14px!important}
  .main{padding-left:9px!important;padding-right:9px!important}
  .brand-sub{max-width:150px!important}
}

@media (max-width:700px){
  .finance-record-table-wrap{
    overflow:visible!important;
    width:100%!important;
  }
  .finance-record-table{
    width:100%!important;
    min-width:0!important;
    display:block!important;
    border-collapse:separate!important;
  }
  .finance-record-table thead{
    display:none!important;
  }
  .finance-record-table tbody{
    display:block!important;
    width:100%!important;
  }
  .finance-record-table tbody tr{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:0!important;
    width:100%!important;
    margin:0 0 10px!important;
    padding:12px!important;
    box-sizing:border-box!important;
    border:1px solid #e1edf2!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 3px 12px rgba(48,94,112,.045)!important;
  }
  .finance-record-table tbody tr:hover{
    background:#fff!important;
  }
  .finance-record-table tbody td{
    display:flex!important;
    align-items:center!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding:7px 5px!important;
    border:0!important;
    font-size:11px!important;
    line-height:1.35!important;
  }
  .finance-record-table tbody td:not(.check-col):not(.finance-record-actions)::before{
    content:attr(data-label);
    flex:0 0 auto;
    margin-right:6px;
    color:#a0b1b9;
    font-size:9px;
    font-weight:600;
  }
  .finance-record-table tbody td:nth-child(1){
    grid-column:1;
    grid-row:1;
    justify-content:flex-start;
    padding-top:2px!important;
    padding-bottom:3px!important;
  }
  .finance-record-table tbody td:nth-child(2){
    grid-column:2;
    grid-row:1;
    justify-content:flex-end;
    color:#8aa1ad!important;
    padding-top:2px!important;
    padding-bottom:3px!important;
  }
  .finance-record-table tbody td:nth-child(3){
    grid-column:1 / -1;
    grid-row:2;
    padding:8px 5px!important;
  }
  .finance-record-table tbody td:nth-child(3) b{
    color:#294f63!important;
    font-size:14px!important;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .finance-record-table tbody td:nth-child(4){
    grid-column:1;
    grid-row:3;
  }
  .finance-record-table tbody td:nth-child(5){
    grid-column:2;
    grid-row:3;
  }
  .finance-record-table tbody td:nth-child(6){
    grid-column:1;
    grid-row:4;
  }
  .finance-record-table tbody td:nth-child(7){
    grid-column:2;
    grid-row:4;
    justify-content:flex-end;
  }
  .finance-record-table tbody td:nth-child(7) strong{
    font-size:15px!important;
    white-space:nowrap;
  }
  .finance-record-table tbody td:nth-child(8){
    grid-column:1 / -1;
    grid-row:5;
    color:#8b9fa9!important;
    min-width:0!important;
  }
  .finance-record-table tbody td:nth-child(8) .finance-note-cell{
    max-width:100%!important;
  }
  .finance-record-table tbody td:nth-child(9){
    grid-column:1 / -1;
    grid-row:6;
    justify-content:flex-end;
    gap:6px;
    padding-top:8px!important;
    border-top:1px solid #edf3f5!important;
    margin-top:3px;
  }
  .finance-record-table .check-col{
    width:auto!important;
    text-align:left!important;
  }
  .finance-record-table .check-col input{
    width:18px!important;
    height:18px!important;
  }
  .finance-record-table .finance-category-chip{
    font-size:9px!important;
    padding:4px 7px!important;
    max-width:100px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .finance-record-table .finance-record-actions{
    white-space:normal!important;
  }
  .finance-record-table .finance-record-actions .row-button{
    min-height:32px!important;
    padding:5px 12px!important;
    font-size:10px!important;
    border-radius:9px!important;
  }
  .finance-record-table .finance-note-cell{
    display:block!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    max-width:calc(100vw - 90px)!important;
  }
  /* 空状态仍然保持普通卡片 */
  .finance-record-table tbody tr:has(.workspace-empty){
    display:block!important;
    padding:20px!important;
  }
  .finance-record-table tbody tr:has(.workspace-empty) td{
    display:block!important;
  }
}
@media(max-width:380px){
  .finance-record-table tbody tr{
    padding:10px!important;
    border-radius:14px!important;
  }
  .finance-record-table tbody td{
    padding:6px 3px!important;
    font-size:10px!important;
  }
  .finance-record-table tbody td:nth-child(3) b{font-size:13px!important}
  .finance-record-table tbody td:nth-child(7) strong{font-size:14px!important}
  .finance-record-table .finance-record-actions .row-button{
    padding:5px 10px!important;
  }
}

@media (max-width:700px){
  .career-dashboard-grid .career-panel{
    overflow:hidden!important;
  }
  .career-dashboard-grid .career-panel:has(.career-goal-item){
    padding-left:13px!important;
    padding-right:13px!important;
  }
  .career-dashboard-grid .career-panel:has(.career-goal-item) .career-panel-head{
    margin-left:0!important;
    margin-right:0!important;
  }
  .career-goal-card{
    margin:8px 0!important;
    padding:12px 11px!important;
    border:1px solid #e2edf2!important;
    border-radius:14px!important;
    background:#fbfdfe!important;
    box-sizing:border-box!important;
  }
  .career-goal-card:first-of-type{
    margin-top:10px!important;
  }
  .career-goal-card:last-of-type{
    margin-bottom:4px!important;
  }
  .career-goal-top{
    width:100%!important;
    box-sizing:border-box!important;
  }
  .career-goal-title,
  .career-goal-meta{
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .career-progress-line{
    margin-top:9px!important;
  }
  .career-goal-bottom{
    gap:7px!important;
    padding-top:7px!important;
  }
}

.brand{ text-decoration:none;color:inherit;cursor:pointer;min-width:0 }
.brand-mark.profile-avatar{overflow:hidden;display:flex;align-items:center;justify-content:center}
.profile-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.profile-avatar-large{width:112px;height:112px;border-radius:28px;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:42px;background:#6bb5d6;color:#fff;font-weight:800;box-shadow:0 8px 24px rgba(65,143,174,.18)}
.profile-avatar-preview{display:flex;justify-content:center;margin:12px 0 18px}
.profile-card-head h2{margin-bottom:4px}
.avatar-file{display:block;padding:12px;border:1px dashed #cfe4ec;border-radius:12px;text-align:center;color:#6197ac;cursor:pointer;margin-bottom:10px}
.avatar-file input{display:none}
.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.profile-grid .profile-avatar-card{grid-row:span 2}
.profile-content textarea{resize:vertical;min-height:80px}
.profile-page .brand-link{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.profile-page .brand-link>div:last-child{display:flex;flex-direction:column;gap:3px}
.profile-page .brand-link small{font-size:11px;color:#91a9b5;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

@media(max-width:700px){
  body{padding-top:env(safe-area-inset-top)!important}
  .topbar{top:env(safe-area-inset-top)!important}
  .main,.content-page{padding-bottom:calc(118px + env(safe-area-inset-bottom))!important}
  .mobile-nav{
    padding-bottom:calc(8px + env(safe-area-inset-bottom))!important;
    min-height:calc(82px + env(safe-area-inset-bottom))!important;
  }
  .wb-modal-backdrop{
    padding:calc(12px + env(safe-area-inset-top)) 10px calc(12px + env(safe-area-inset-bottom))!important;
    align-items:center!important;
  }
  .wb-modal{
    max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
    margin:0 auto!important;
    overflow:hidden!important;
  }
  .wb-modal-body,.wb-modal form{
    max-height:calc(100dvh - 150px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .profile-grid{grid-template-columns:1fr!important;gap:10px!important}
  .profile-grid .profile-avatar-card{grid-row:auto}
  .profile-page .topbar{padding-left:12px!important;padding-right:12px!important}
  .profile-page .brand-link>div:last-child{min-width:0}
  .profile-page .brand-link small{max-width:180px}
  .profile-avatar-large{width:92px;height:92px;border-radius:24px;font-size:34px}
}

@media (max-width:700px){
  /* 所有真正的页内弹窗：必须高于 topbar(3000) 和 mobile-nav(9990) */
  .wb-modal-backdrop.show{
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    height:100dvh!important;
    min-height:100dvh!important;
    box-sizing:border-box!important;
    z-index:12000!important;
    display:flex!important;
    overflow:hidden!important;
  }
  /* workspace 在模块页面是“页面本体”，不能被上面的 fixed 规则变成遮罩 */
  #workspaceModal.module-page-container{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:600px!important;
    max-height:none!important;
    z-index:1!important;
    display:block!important;
    overflow:visible!important;
  }
  #workspaceModal.module-page-container .wb-workspace-modal{
    width:100%!important;
    height:auto!important;
    min-height:600px!important;
    max-height:none!important;
    border-radius:17px!important;
    box-shadow:none!important;
  }
  #workspaceModal.module-page-container .workspace-content{
    padding-bottom:130px!important;
  }

  /* 真弹窗打开时，顶部栏和底部导航彻底退出视觉层，避免任何穿透/覆盖 */
  body.modal-open .topbar,
  body.modal-open .mobile-nav{
    visibility:hidden!important;
    pointer-events:none!important;
  }

  .wb-modal-backdrop.show > .wb-modal{
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
    max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
    margin:0!important;
  }

  /* 表单弹窗采用真正的“头部固定 + 中间滚动 + 底部固定”结构 */
  .wb-modal:not(.wb-workspace-modal) > form{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    flex:1 1 auto!important;
    overflow:hidden!important;
  }
  .wb-modal:not(.wb-workspace-modal) > form .wb-form-body{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .wb-modal .wb-modal-foot{
    flex:0 0 auto!important;
    padding-bottom:calc(14px + env(safe-area-inset-bottom))!important;
  }

  /* 任务弹窗：手机端不再被上下导航切掉 */
  #taskModal .wb-task-modal,
  #completeModal .wb-small-modal{
    max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
  }
  #taskModal .wb-modal-head,
  #completeModal .wb-modal-head{
    padding:17px 16px 14px!important;
  }
  #taskModal .wb-modal-head h2,
  #completeModal .wb-modal-head h2{
    font-size:20px!important;
  }
  #taskModal .wb-form-body,
  #completeModal .wb-form-body{
    padding:17px 16px!important;
  }

  /* 记账弹窗同样完整占据可用区域 */
  #accountEditorModal.show{
    z-index:12000!important;
  }
  #accountEditorModal.show .account-editor-modal{
    max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
    overflow:hidden!important;
  }

  /* 职业规划编辑/新增弹窗 */
  #careerStageModal.show,
  #careerEditorModal.show,
  #milestoneEditorModal.show,
  #skillEditorModal.show,
  #reviewEditorModal.show{
    z-index:12000!important;
  }

  /* 页面本身滚动到最底时，底部导航不会压住最后一项 */
  .main.module-active{
    padding-bottom:calc(150px + env(safe-area-inset-bottom))!important;
  }
  .module-page-container.active-module{
    padding-bottom:20px!important;
  }
}

@media (max-width:700px){
  /* 账目明细标题 + 批量操作 */
  .finance-record-table-wrap{
    max-height:none!important;
    height:auto!important;
    overflow:visible!important;
  }

  /* 常见账目管理工具栏结构：让按钮紧凑一些 */
  .finance-record-toolbar,
  .finance-record-actions,
  .finance-record-header-actions,
  .finance-batch-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    flex-wrap:nowrap!important;
  }

  .finance-record-toolbar button,
  .finance-record-actions button,
  .finance-record-header-actions button,
  .finance-batch-actions button,
  .finance-record-toolbar .button,
  .finance-record-actions .button,
  .finance-record-header-actions .button,
  .finance-batch-actions .button{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    min-height:44px!important;
    height:44px!important;
    padding:7px 13px!important;
    margin:0!important;
    border-radius:13px!important;
    font-size:14px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    writing-mode:horizontal-tb!important;
    word-break:keep-all!important;
    letter-spacing:0!important;
  }

  /* 截图中的三个批量按钮：优先覆盖实际常见选择器 */
  .finance-record-toolbar .select-all,
  .finance-record-toolbar .delete-selected,
  .finance-record-toolbar .clear-selection,
  .finance-record-actions .select-all,
  .finance-record-actions .delete-selected,
  .finance-record-actions .clear-selection{
    flex:0 0 auto!important;
  }

  /* 账目明细卡片：不允许内部形成第二个滚动区域 */
  .finance-record-table,
  .finance-record-table-wrap,
  .finance-record-list,
  .finance-records{
    overflow:visible!important;
    max-height:none!important;
    height:auto!important;
  }

  .finance-record-table tbody{
    overflow:visible!important;
    max-height:none!important;
    height:auto!important;
  }

  /* 标题区手机端改成更合理的上下布局，避免左侧标题和右侧按钮互相挤压 */
  .finance-records-head,
  .finance-record-header,
  .finance-record-section-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    flex-wrap:nowrap!important;
  }

  .finance-records-head > *,
  .finance-record-header > *,
  .finance-record-section-head > *{
    min-width:0!important;
  }

  /* 明细卡片不要被固定高度截断 */
  .finance-record-table tbody tr{
    max-height:none!important;
    overflow:visible!important;
  }
}

/* 极窄屏幕：按钮进一步压缩，但仍保持一行 */
@media (max-width:380px){
  .finance-record-toolbar button,
  .finance-record-actions button,
  .finance-record-header-actions button,
  .finance-batch-actions button,
  .finance-record-toolbar .button,
  .finance-record-actions .button,
  .finance-record-header-actions .button,
  .finance-batch-actions .button{
    min-height:40px!important;
    height:40px!important;
    padding:6px 10px!important;
    font-size:12px!important;
    border-radius:11px!important;
  }
}

@media (max-width:700px){
  /* ===== 账目明细：完整展开，不要小窗口滚动 ===== */
  .workspace-records.finance-records-bottom{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  .workspace-records.finance-records-bottom .finance-record-table-wrap{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  .workspace-records.finance-records-bottom .finance-record-table{
    height:auto!important;
    max-height:none!important;
  }
  .workspace-records.finance-records-bottom .finance-record-table tbody,
  .workspace-records.finance-records-bottom .finance-record-table tbody tr{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  /* ===== 添加收入/支出：弹窗本身固定在可视区域，表单区域独立滚动 ===== */
  #accountEditorModal.show{
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    height:100dvh!important;
    max-height:none!important;
    padding:10px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    z-index:12000!important;
  }
  #accountEditorModal.show .account-editor-modal{
    display:flex!important;
    flex-direction:column!important;
    width:calc(100vw - 20px)!important;
    max-width:680px!important;
    height:calc(100dvh - 20px)!important;
    max-height:calc(100dvh - 20px)!important;
    min-height:0!important;
    margin:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  #accountEditorModal.show .account-editor-topbar{
    flex:0 0 auto!important;
  }
  #accountEditorModal.show .account-editor-form{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    box-sizing:border-box!important;
  }
  #accountEditorModal.show .account-editor-footer{
    flex:0 0 auto!important;
  }

  /* 防止输入法打开后页面整体被撑坏 */
  #accountEditorModal.show input,
  #accountEditorModal.show select,
  #accountEditorModal.show textarea{
    max-width:100%!important;
    box-sizing:border-box!important;
  }
}

@media (max-width:700px){
  .finance-records-bottom .finance-record-toolbar{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    padding:18px 18px 14px!important;
  }

  .finance-records-bottom .finance-record-toolbar > div:first-child{
    flex:0 0 auto!important;
    min-width:76px!important;
    max-width:90px!important;
  }

  .finance-records-bottom .finance-record-toolbar > div:first-child b{
    display:block!important;
    font-size:22px!important;
    line-height:1.25!important;
    white-space:nowrap!important;
  }

  .finance-records-bottom .finance-record-toolbar > div:first-child span{
    display:block!important;
    margin-top:4px!important;
    font-size:13px!important;
    line-height:1.3!important;
    white-space:nowrap!important;
  }

  .finance-records-bottom .record-toolbar-actions{
    flex:1 1 auto!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
    align-items:center!important;
  }

  .finance-records-bottom .record-toolbar-actions button{
    width:100%!important;
    min-width:0!important;
    height:42px!important;
    min-height:42px!important;
    padding:5px 5px!important;
    border-radius:12px!important;
    font-size:12px!important;
    line-height:1.1!important;
    font-weight:700!important;
    white-space:nowrap!important;
    writing-mode:horizontal-tb!important;
    word-break:keep-all!important;
    letter-spacing:0!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }

  /* 让“删除所选”略宽一些，其余两个保持紧凑 */
  .finance-records-bottom .record-toolbar-actions .danger-button{
    font-size:11px!important;
  }

  .finance-records-bottom .finance-selection-bar{
    margin:0 18px 8px!important;
  }
}

@media (max-width:380px){
  .finance-records-bottom .finance-record-toolbar{
    gap:7px!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }

  .finance-records-bottom .finance-record-toolbar > div:first-child{
    min-width:68px!important;
    max-width:72px!important;
  }

  .finance-records-bottom .finance-record-toolbar > div:first-child b{
    font-size:19px!important;
  }

  .finance-records-bottom .finance-record-toolbar > div:first-child span{
    font-size:12px!important;
  }

  .finance-records-bottom .record-toolbar-actions{
    gap:5px!important;
  }

  .finance-records-bottom .record-toolbar-actions button{
    height:38px!important;
    min-height:38px!important;
    padding:4px 3px!important;
    border-radius:10px!important;
    font-size:11px!important;
  }

  .finance-records-bottom .record-toolbar-actions .danger-button{
    font-size:10px!important;
  }
}

@media (max-width:700px){
  #workspaceReviews,
  #workspaceIdeas,
  #workspaceNotes,
  #workspaceTitles,
  #workspaceCooperations{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    overflow-y:visible!important;
    overflow-x:visible!important;
    -webkit-overflow-scrolling:auto!important;
    overscroll-behavior:auto!important;
    touch-action:pan-y!important;
  }

  #workspaceReviews *,
  #workspaceIdeas *,
  #workspaceNotes *,
  #workspaceTitles *,
  #workspaceCooperations *{
    /* 子元素不建立独立纵向滚动容器；输入框等原生控件不受影响 */
    overscroll-behavior:auto;
  }
}

@media (max-width:800px){
  /* 所有工作台记录区取消内部滚动与高度封顶 */
  .workspace-records,
  .workspace-records.module-records,
  .workspace-records.finance-records-bottom{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    overflow-y:visible!important;
    overflow-x:visible!important;
    -webkit-overflow-scrolling:auto!important;
    overscroll-behavior:auto!important;
    touch-action:pan-y!important;
    box-sizing:border-box!important;
  }

  /* 列表容器也自然撑开，不再出现“框中框” */
  .module-record-list,
  .workspace-record-list,
  .workspace-records > .module-record-list{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    overflow-y:visible!important;
    overflow-x:visible!important;
    box-sizing:border-box!important;
  }

  /* 模块页面上下两块自然排列，整页统一滚动 */
  .workspace-columns{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }

  .workspace-columns > .workspace-editor,
  .workspace-columns > .workspace-records{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }

  /* 5 个内容模块明确取消内部滚动 */
  #workspaceIdeas,
  #workspaceReviews,
  #workspaceNotes,
  #workspaceTitles,
  #workspaceCooperations{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    overflow-y:visible!important;
    overflow-x:visible!important;
    touch-action:pan-y!important;
  }

  #workspaceIdeas .workspace-records,
  #workspaceReviews .workspace-records,
  #workspaceNotes .workspace-records,
  #workspaceTitles .workspace-records,
  #workspaceCooperations .workspace-records{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    overflow-y:visible!important;
    overflow-x:visible!important;
  }

  /* 标题工坊等按钮式记录也跟随内容自然展开 */
  #workspaceTitles .workspace-record{
    height:auto!important;
    min-height:0!important;
  }

  /* 页面底部留出空间，最后一条记录不会被手机底栏挡住 */
  .module-page-container.active-module{
    padding-bottom:calc(30px + env(safe-area-inset-bottom))!important;
  }
}

@media (max-width:800px){
  #workspaceModal:not(.module-page-container).show{
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    height:100dvh!important;
    min-height:100dvh!important;
    padding:10px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    z-index:12000!important;
  }

  #workspaceModal:not(.module-page-container).show .wb-workspace-modal{
    width:calc(100vw - 20px)!important;
    max-width:1240px!important;
    height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
    max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
    min-height:0!important;
    margin:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }

  #workspaceModal:not(.module-page-container).show .workspace-head{
    flex:0 0 auto!important;
  }

  /* 关键：真正的内容滚动层恢复为 workspace-content */
  #workspaceModal:not(.module-page-container).show .workspace-content{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
    padding:18px 15px calc(30px + env(safe-area-inset-bottom))!important;
    box-sizing:border-box!important;
  }

  #workspaceModal:not(.module-page-container).show .workspace-content.active{
    display:block!important;
  }

  /* 编辑表单本身不要再创建第二个滚动条 */
  #workspaceModal:not(.module-page-container).show .workspace-editor,
  #workspaceModal:not(.module-page-container).show .workspace-columns,
  #workspaceModal:not(.module-page-container).show .workspace-records,
  #workspaceModal:not(.module-page-container).show .module-record-list{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }

  /* 长文本输入框允许正常使用，不把整个弹窗高度撑出屏幕 */
  #workspaceModal:not(.module-page-container).show .workspace-editor-textarea{
    min-height:360px!important;
    max-height:none!important;
    overflow-y:auto!important;
  }
}

.workspace-columns,
.workspace-columns > .workspace-editor,
.workspace-columns > .workspace-records,
.workspace-content.active,
.workspace-records,
.module-record-list{
  box-sizing:border-box;
}

.module-record-toolbar{
  min-height:48px;
  padding:0;
  margin-bottom:14px;
}
.module-record-toolbar > div:first-child{
  display:flex;
  align-items:baseline;
  gap:8px;
  min-width:0;
}
.module-record-toolbar > div:first-child b{
  font-size:17px;
  color:#294f65;
}
.module-record-toolbar > div:first-child span{
  margin-left:0;
  font-size:12px;
  color:#91a7b4;
}
.module-record-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.module-record-actions .button{
  min-height:34px;
  padding:7px 12px;
  border-radius:10px;
  font-size:12px;
  white-space:nowrap;
}
.module-selection-bar{
  min-height:40px;
  box-sizing:border-box;
  margin-bottom:12px;
}
.module-record-list{
  display:grid;
  gap:10px;
}
.module-record-row{
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-height:66px;
  padding:12px 14px!important;
  background:#fff;
  border:1px solid #dcebf2;
  border-radius:15px;
  box-shadow:0 3px 12px rgba(48,86,106,.035);
  box-sizing:border-box;
}
.module-record-check{
  display:flex;
  align-items:center;
  justify-content:center;
}
.module-record-check input{
  width:18px;
  height:18px;
  margin:0;
  accent-color:#65b5d6;
}
.module-record-main{
  min-width:0;
  width:100%;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  text-align:left!important;
  cursor:pointer;
}
.module-record-title{
  display:block;
  color:#294f65;
  font-size:15px;
  font-weight:700;
  line-height:1.45;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.module-record-meta{
  display:block;
  margin-top:4px;
  color:#8da5b3;
  font-size:12px;
  line-height:1.45;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.module-record-buttons{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:nowrap;
}
.module-record-buttons .row-button,
.module-record-buttons button{
  min-width:52px;
  height:34px;
  padding:6px 10px!important;
  border:1px solid #d8e9f0!important;
  border-radius:9px!important;
  background:#f5fafc!important;
  color:#5c8ca1!important;
  font-size:12px!important;
  line-height:1!important;
  cursor:pointer;
  white-space:nowrap;
}
.module-record-buttons .danger-text{
  border-color:#f0dede!important;
  background:#fff7f7!important;
  color:#c97878!important;
}
.module-record-row:hover{
  border-color:#b9ddeb;
  box-shadow:0 6px 18px rgba(48,86,106,.07);
}

/* 真正的模块页面：不允许任何 div / section 形成第二个纵向滚动区。 */
#workspaceModal.module-page-container,
#workspaceModal.module-page-container .wb-workspace-modal,
#workspaceModal.module-page-container .workspace-content,
#workspaceModal.module-page-container .workspace-columns,
#workspaceModal.module-page-container .workspace-editor,
#workspaceModal.module-page-container .workspace-records,
#workspaceModal.module-page-container .module-record-list{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  overflow-y:visible!important;
  overflow-x:visible!important;
}
#workspaceModal.module-page-container .wb-workspace-modal{
  display:block!important;
}
#workspaceModal.module-page-container .workspace-content{
  padding-bottom:130px!important;
}

/* 五个“编辑”统一使用真正的编辑弹窗，不再滚回顶部编辑卡片。 */
.module-edit-modal{
  z-index:13000!important;
  align-items:flex-start!important;
  justify-content:center!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  padding:28px!important;
  box-sizing:border-box!important;
}
.module-edit-dialog{
  width:min(720px,94vw)!important;
  max-width:720px!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  margin:0 auto 28px!important;
  flex:none!important;
}
.module-edit-form{
  display:block!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
.module-edit-body{
  padding:24px 28px 6px;
}
.module-edit-body label{
  display:block;
  margin-bottom:16px;
  color:#5b7788;
  font-weight:700;
  font-size:13px;
}
.module-edit-body input,
.module-edit-body select,
.module-edit-body textarea{
  width:100%;
  box-sizing:border-box;
  margin-top:7px;
}
.module-edit-body textarea{
  resize:vertical;
}
.module-edit-form .wb-modal-foot{
  position:static!important;
}

/* 真正的 workspace 弹窗也不再制造“白框里的滚动白框”：整个遮罩层负责滚动。 */
.wb-modal-backdrop.workspace-container.show:not(.module-page-container){
  align-items:flex-start!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  padding:20px!important;
}
.wb-modal-backdrop.workspace-container.show:not(.module-page-container) > .wb-workspace-modal{
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  overflow:visible!important;
  margin:0 auto 24px!important;
  flex:none!important;
}
.wb-modal-backdrop.workspace-container.show:not(.module-page-container) .workspace-content{
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  overflow:visible!important;
}
.wb-modal-backdrop.workspace-container.show:not(.module-page-container) .workspace-columns,
.wb-modal-backdrop.workspace-container.show:not(.module-page-container) .workspace-editor,
.wb-modal-backdrop.workspace-container.show:not(.module-page-container) .workspace-records,
.wb-modal-backdrop.workspace-container.show:not(.module-page-container) .module-record-list{
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  overflow:visible!important;
}

/* 手机：工具栏和列表保持同一套尺寸，不再出现一页一套按钮。 */
@media(max-width:800px){
  .module-record-toolbar{
    align-items:flex-start!important;
    gap:10px!important;
  }
  .module-record-toolbar > div:first-child{
    flex:1 1 auto;
  }
  .module-record-actions{
    flex:0 0 auto;
    max-width:58%;
    gap:5px;
  }
  .module-record-actions .button{
    min-height:31px;
    padding:6px 9px;
    font-size:11px;
  }
  .module-record-row{
    grid-template-columns:28px minmax(0,1fr);
    gap:9px;
    padding:12px!important;
  }
  .module-record-buttons{
    grid-column:2;
    justify-content:flex-start;
    margin-top:2px;
  }
  .module-record-buttons .row-button,
  .module-record-buttons button{
    min-width:48px;
    height:31px;
    padding:5px 9px!important;
  }
  .module-edit-modal{
    padding:12px!important;
  }
  .module-edit-dialog{
    width:100%!important;
    max-width:none!important;
    border-radius:18px!important;
    margin-bottom:18px!important;
  }
  .module-edit-body{
    padding:18px 16px 4px;
  }
  .module-edit-form .wb-modal-foot{
    padding:13px 16px calc(13px + env(safe-area-inset-bottom))!important;
  }

  .wb-modal-backdrop.workspace-container.show:not(.module-page-container){
    padding:10px!important;
  }
  .wb-modal-backdrop.workspace-container.show:not(.module-page-container) > .wb-workspace-modal{
    width:100%!important;
    border-radius:18px!important;
  }
}

#workspaceModal.module-page-container{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  min-height:0!important;
  padding:0!important;
  display:block!important;
  background:transparent!important;
  overflow:visible!important;
  z-index:auto!important;
}
#workspaceModal.module-page-container > .wb-workspace-modal{
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
#workspaceModal.module-page-container .workspace-head{
  min-height:0!important;
  margin-bottom:18px!important;
  padding:24px 26px!important;
  border:1px solid #dcebf2!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,#ffffff 0%,#f4fbfe 100%)!important;
  box-shadow:0 8px 26px rgba(48,86,106,.055)!important;
}
#workspaceModal.module-page-container .workspace-head .eyebrow{
  color:#58a8cb!important;
  letter-spacing:3px!important;
  font-weight:800!important;
}
#workspaceModal.module-page-container .workspace-head h2{
  font-size:28px!important;
  margin:5px 0 6px!important;
}
#workspaceModal.module-page-container .workspace-head p{
  color:#8aa3b1!important;
}
#workspaceModal.module-page-container .module-close{
  display:none!important;
}
#workspaceModal.module-page-container .workspace-content{
  padding:0!important;
  display:none!important;
  overflow:visible!important;
}
#workspaceModal.module-page-container .workspace-content.active{
  display:block!important;
}
#workspaceModal.module-page-container .workspace-columns{
  display:grid!important;
  grid-template-columns:minmax(320px,.92fr) minmax(0,1.35fr)!important;
  gap:18px!important;
  align-items:start!important;
}
#workspaceModal.module-page-container .workspace-editor,
#workspaceModal.module-page-container .workspace-records{
  background:#fff!important;
  border:1px solid #dcebf2!important;
  border-radius:20px!important;
  box-shadow:0 8px 26px rgba(48,86,106,.045)!important;
  padding:20px!important;
}
#workspaceModal.module-page-container .workspace-editor .workspace-toolbar,
#workspaceModal.module-page-container .workspace-records .module-record-toolbar{
  padding-bottom:13px!important;
  margin-bottom:14px!important;
  border-bottom:1px solid #e9f2f6!important;
}
#workspaceModal.module-page-container .workspace-toolbar b,
#workspaceModal.module-page-container .module-record-toolbar b{
  font-size:18px!important;
  color:#294f65!important;
}
#workspaceModal.module-page-container .workspace-toolbar span,
#workspaceModal.module-page-container .module-record-toolbar span{
  color:#91a6b2!important;
}
#workspaceModal.module-page-container .workspace-editor form{
  padding:2px 2px 0!important;
}
#workspaceModal.module-page-container .workspace-editor label{
  color:#587587!important;
  font-size:13px!important;
}
#workspaceModal.module-page-container .workspace-editor input,
#workspaceModal.module-page-container .workspace-editor textarea,
#workspaceModal.module-page-container .workspace-editor select{
  border-radius:12px!important;
  background:#fbfdfe!important;
}
#workspaceModal.module-page-container .workspace-editor .wb-modal-foot{
  margin:4px 0 0!important;
  padding:14px 0 0!important;
  border-top:1px solid #e8f1f5!important;
  background:transparent!important;
}
#workspaceModal.module-page-container .workspace-selection-bar{
  margin-bottom:12px!important;
  border-radius:12px!important;
  background:#f5fafc!important;
}
#workspaceModal.module-page-container .module-record-list{
  gap:9px!important;
}

/* 编辑弹窗统一成同一套“蓝白工作台”组件。
   moduleEditIdeaModal 不再显得像独立页面，和另外四个编辑弹窗完全一致。 */
.module-edit-modal .module-edit-dialog{
  border:1px solid #d8eaf2!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 20px 60px rgba(35,76,98,.16)!important;
}
.module-edit-modal .wb-modal-head{
  padding:22px 24px 18px!important;
  border-radius:20px 20px 0 0!important;
}
.module-edit-modal .wb-modal-head .eyebrow{
  color:#58a8cb!important;
  font-size:11px!important;
  letter-spacing:2.6px!important;
  font-weight:800!important;
}
.module-edit-modal .wb-modal-head h2{
  font-size:22px!important;
  margin:5px 0 4px!important;
}
.module-edit-modal .wb-modal-head p{
  font-size:12px!important;
}
.module-edit-modal .wb-close{
  width:40px!important;
  height:40px!important;
  border-radius:12px!important;
  font-size:25px!important;
}
.module-edit-modal .module-edit-body{
  padding:22px 24px 6px!important;
}
.module-edit-modal .module-edit-body label{
  color:#587587!important;
  font-size:13px!important;
  margin-bottom:15px!important;
}
.module-edit-modal .module-edit-body input,
.module-edit-modal .module-edit-body select,
.module-edit-modal .module-edit-body textarea{
  border:1px solid #d4e7ef!important;
  border-radius:12px!important;
  background:#fbfdfe!important;
  padding:12px 13px!important;
  box-shadow:none!important;
}
.module-edit-modal .module-edit-body input:focus,
.module-edit-modal .module-edit-body select:focus,
.module-edit-modal .module-edit-body textarea:focus{
  border-color:#8fc9df!important;
  box-shadow:0 0 0 4px rgba(100,181,216,.12)!important;
  background:#fff!important;
}
.module-edit-modal .wb-modal-foot{
  padding:14px 24px!important;
  border-radius:0 0 20px 20px!important;
  background:#f7fbfd!important;
}
.module-edit-modal .wb-modal-foot .button{
  min-height:38px!important;
  border-radius:10px!important;
  padding:8px 16px!important;
}

/* 手机上两者继续保持同样的圆角、边距和按钮尺度 */
@media(max-width:800px){
  #workspaceModal.module-page-container .workspace-head{
    padding:19px 17px!important;
    margin-bottom:12px!important;
    border-radius:17px!important;
  }
  #workspaceModal.module-page-container .workspace-head h2{
    font-size:23px!important;
  }
  #workspaceModal.module-page-container .workspace-columns{
    display:block!important;
  }
  #workspaceModal.module-page-container .workspace-editor,
  #workspaceModal.module-page-container .workspace-records{
    padding:15px!important;
    margin-bottom:12px!important;
    border-radius:17px!important;
  }
  .module-edit-modal{
    padding:10px!important;
  }
  .module-edit-modal .module-edit-dialog{
    border-radius:17px!important;
  }
  .module-edit-modal .wb-modal-head{
    padding:17px 16px 14px!important;
  }
  .module-edit-modal .module-edit-body{
    padding:17px 16px 4px!important;
  }
  .module-edit-modal .wb-modal-foot{
    padding:12px 16px calc(12px + env(safe-area-inset-bottom))!important;
  }
}

.work-center-embedded-content{
  display:block!important;
  width:100%;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  margin-top:16px;
}
.work-center-embedded-content .workspace-columns{
  display:grid!important;
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.4fr)!important;
  gap:16px!important;
  align-items:start!important;
}
.work-center-embedded-content .workspace-editor,
.work-center-embedded-content .workspace-records{
  min-width:0;
}
.work-center-embedded-content .workspace-toolbar{
  border-bottom:1px solid #e7f1f5;
  padding-bottom:12px;
  margin-bottom:12px;
}
.work-center-embedded-content .module-record-list{
  overflow:visible!important;
  max-height:none!important;
}
@media(max-width:800px){
  .work-center-embedded-content .workspace-columns{
    display:block!important;
  }
  .work-center-embedded-content .workspace-editor,
  .work-center-embedded-content .workspace-records{
    margin-bottom:12px;
  }
}

/* v30 FINAL：智能记账 / 工作中心严格按 page 二选一显示。
   两个模块虽然同在 index.php 中，但绝不能同时显示；工作中心内部才包含商务合作与内容复盘。 */
.module-page-content{
  display:none!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.module-page-content.active{
  display:block!important;
}
#workspaceAccounts.module-page-content,
#workspaceCareer.module-page-content{
  position:relative!important;
  overflow:visible!important;
  max-height:none!important;
  height:auto!important;
}
#workspaceAccounts.module-page-content.active,
#workspaceCareer.module-page-content.active{
  display:block!important;
}

.module-page-content{
  display:none!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.module-page-content.active{
  display:block!important;
}
body[data-page="accounts"] #workspaceModal,
body[data-page="career"] #workspaceModal{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
body[data-page="accounts"] .welcome,
body[data-page="accounts"] > .welcome,
body[data-page="career"] .welcome,
body[data-page="career"] > .welcome{
  /* module-active rules already hide these; keep an explicit guard */
}
#workspaceAccounts.module-page-content,
#workspaceCareer.module-page-content{
  position:relative!important;
  overflow:visible!important;
  max-height:none!important;
}

body[data-page="daily"] #workspaceCooperations,
body[data-page="daily"] #workspaceNotes,
body[data-page="accounts"] #workspaceCooperations,
body[data-page="accounts"] #workspaceNotes{
  display:none!important;
}
body[data-page="career"] #workspaceCooperations,
body[data-page="career"] #workspaceNotes{
  display:block!important;
}

#workspaceNotes,
[data-workspace="notes"],
.wb-nav-notes{
  display:none!important;
}
.top-date{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:10px;
  white-space:nowrap;
  padding:7px 13px;
  border:1px solid #dcebf2;
  border-radius:12px;
  background:#f7fcfe;
  color:#5c7c8d;
}
.top-date-day{
  font-size:14px;
  font-weight:800;
  color:#315b70;
}
.top-date-week{
  font-size:12px;
  color:#8ba2ae;
}
@media(max-width:800px){
  .top-date{padding:6px 9px;gap:6px}
  .top-date-day{font-size:12px}
  .top-date-week{font-size:11px}
}

.topbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
}
.topbar .brand{
  order:1!important;
  margin-right:auto!important;
}
.topbar .top-date{
  order:2!important;
  margin-left:auto!important;
  flex:0 0 auto!important;
}
@media(max-width:800px){
  .topbar{gap:8px!important}
  .topbar .brand{min-width:0!important}
  .topbar .brand > div:last-child{min-width:0!important}
  .topbar .brand-sub{
    max-width:45vw!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .topbar .top-date{margin-left:auto!important}
}

.plans-page-content{
  width:100%;
  max-width:none;
  min-height:0;
  overflow:visible!important;
  padding-bottom:120px;
}
.plans-page-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:24px 26px;
  margin-bottom:16px;
  border:1px solid #dcebf2;
  border-radius:20px;
  background:linear-gradient(135deg,#fff 0%,#f3fbfe 100%);
  box-shadow:0 8px 26px rgba(48,86,106,.055);
}
.plans-page-head h2{margin:5px 0;color:#294f65;font-size:28px}
.plans-page-head p{margin:0;color:#8aa3b1;font-size:13px}
.plans-overview-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:16px;
}
.plan-overview-card{
  padding:17px 18px;
  border:1px solid #dcebf2;
  border-radius:16px;
  background:#fff;
  box-shadow:0 5px 18px rgba(48,86,106,.04);
}
.plan-overview-card span{display:block;color:#718d9c;font-size:12px}
.plan-overview-card b{display:block;margin:7px 0 2px;color:#294f65;font-size:26px}
.plan-overview-card small{color:#94a8b3;font-size:11px}
.plans-today-panel,.plans-history{margin-bottom:16px}
.plans-filter-form{
  display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;justify-content:flex-end
}
.plans-filter-form label{display:flex;flex-direction:column;gap:5px;color:#7892a0;font-size:11px}
.plans-filter-form input,.plans-filter-form select{
  min-width:115px;height:36px;padding:7px 9px;border:1px solid #d7e8ef;border-radius:9px;background:#fbfdfe;color:#527081
}
.plans-filter-form .button{min-height:36px;padding:8px 12px;border-radius:9px;font-size:12px;text-decoration:none}
.plans-history-list{display:grid;gap:9px}
.plan-history-row{
  display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:12px;
  padding:13px 14px;border:1px solid #dcebf2;border-radius:14px;background:#fff;
}
.plan-history-row.done{opacity:.72}
.plan-history-check{width:28px;height:28px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#f1f8fb;color:#64a9c4;font-weight:800}
.plan-history-main{min-width:0}
.plan-history-main b,.plan-history-main span,.plan-history-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plan-history-main b{color:#294f65;font-size:14px}
.plan-history-main span{margin-top:3px;color:#8da3ae;font-size:12px}
.plan-history-main small{margin-top:4px;color:#9aabb4;font-size:11px}
.plan-history-meta{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}
.plan-status{padding:5px 8px;border-radius:8px;font-size:11px}
.status-done{background:#eef8f3;color:#62a183}.status-doing{background:#eef7fb;color:#5c9bb6}.status-todo{background:#f7f5ee;color:#a58d55}
.home-plan-summary{margin-bottom:16px}
.home-plan-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.home-plan-metrics div{padding:13px;border-radius:13px;background:#f6fbfd;text-align:center}
.home-plan-metrics b{display:block;font-size:22px;color:#315d72}
.home-plan-metrics span{font-size:11px;color:#8ca3af}
@media(max-width:900px){
  .plans-overview-grid{grid-template-columns:repeat(2,1fr)}
  .plans-filter-form{justify-content:flex-start}
}
@media(max-width:800px){
  .plans-page-head{padding:18px 16px;border-radius:17px}
  .plans-page-head h2{font-size:23px}
  .plans-page-head .button{padding:8px 10px}
  .plans-overview-grid{grid-template-columns:repeat(2,1fr);gap:9px}
  .plan-overview-card{padding:13px}
  .plan-overview-card b{font-size:22px}
  .plans-filter-form{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .plans-filter-form label input,.plans-filter-form label select{min-width:0;width:100%}
  .plans-filter-form .button{width:100%;text-align:center;box-sizing:border-box}
  .plan-history-row{grid-template-columns:28px minmax(0,1fr);gap:9px}
  .plan-history-meta{grid-column:2;justify-content:flex-start}
  .home-plan-metrics{grid-template-columns:repeat(2,1fr)}
}

#accountEditorModal.show{
  display:flex!important;
  position:fixed!important;
  inset:0!important;
  z-index:20000!important;
  pointer-events:auto!important;
}
#accountEditorModal.show > .account-editor-modal{
  pointer-events:auto!important;
}

#accountEditorModal{
  position:fixed!important;
  inset:0!important;
  z-index:20000!important;
}
#accountEditorModal:not(.show){display:none!important}
#accountEditorModal.show{display:flex!important}
@media(min-width:801px){
  .quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

.finance-action-buttons{position:relative;z-index:5}
.finance-action-buttons .button{cursor:pointer;pointer-events:auto}
#accountEditorModal{pointer-events:none!important}
#accountEditorModal.show{pointer-events:auto!important}
#accountEditorModal.show .account-editor-modal{pointer-events:auto!important}

.embedded-finance .finance-filter.embedded-filter{
  margin-top:0!important;
  margin-bottom:14px!important;
}
.embedded-finance .finance-kpis-main.embedded-finance-kpis{
  margin-top:0!important;
  margin-bottom:18px!important;
}
#accountEditorModal[data-account-editor="1"]{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  z-index:999999!important;
  margin:0!important;
}
#accountEditorModal[data-account-editor="1"].show{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
#accountEditorModal[data-account-editor="1"].show .account-editor-modal,
#accountEditorModal[data-account-editor="1"].show form{
  pointer-events:auto!important;
}
#accountEditorModal[data-account-editor="1"]:not(.show){
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

#accountEditorModal[data-account-editor="1"]:not(.show){
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

body.modal-open{overscroll-behavior:none;}
body.modal-open > *{scrollbar-gutter:stable;}

/* ===== v8.0 Notes & Files — macOS Notes inspired ===== */
.notes-page-body{background:#f3f8fc}
.notes-module{width:100%;max-width:1500px;margin:0 auto}
.notes-module-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px}
.notes-module-head h1{margin:5px 0 7px;color:#193a58;font-size:31px;letter-spacing:-.5px}
.notes-module-head p{margin:0;color:#91a8b8;font-size:14px}
.notes-head-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.notes-create-form,.notes-upload-form{display:flex;gap:8px;margin:0}
.notes-create-form select{height:43px;border:1px solid #d7e6ee;border-radius:12px;background:#fff;color:#456276;padding:0 12px;outline:0}
.notes-shell{display:grid;grid-template-columns:185px 320px minmax(0,1fr);height:calc(100vh - 218px);min-height:610px;background:#fff;border:1px solid #dceaf1;border-radius:22px;overflow:hidden;box-shadow:0 12px 32px rgba(45,86,108,.055)}
.notes-folders{background:#f7fafc;border-right:1px solid #e5eef3;padding:22px 12px;display:flex;flex-direction:column}
.notes-folder-title{padding:0 10px 9px;color:#9aabb5;font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase}
.notes-folder-title.small{margin-top:12px}
.notes-folder{display:flex;align-items:center;gap:9px;min-height:40px;padding:0 10px;border-radius:10px;color:#607987;font-size:13px}
.notes-folder:hover,.notes-folder.active{background:#e8f5fa;color:#3f91b5}
.notes-folder b{font-size:13px;flex:1}.notes-folder em{font-style:normal;font-size:11px;color:#9aadb8}
.notes-folder-sep{height:1px;background:#e1ebf0;margin:13px 8px 8px}
.notes-type-row{display:flex;align-items:center;gap:9px;height:38px;padding:0 10px;color:#718893;font-size:12px}
.notes-type-dot{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font-size:10px;font-weight:800;background:#eaf6fa;color:#5a9db9}
.notes-type-dot.word{background:#eef1fb;color:#6c7eb1}.notes-type-dot.excel{background:#edf8f1;color:#65a47d}.notes-type-dot.ppt{background:#fff3ec;color:#c17e61}.notes-type-dot.other{background:#f1f4f6;color:#8b9da7}
.notes-folder-tip{margin-top:auto;padding:12px 10px;color:#9baeb8;font-size:10px;line-height:1.6}
.notes-list-panel{border-right:1px solid #e3edf2;background:#fff;display:flex;flex-direction:column;min-width:0}
.notes-list-head{height:64px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf3f6}
.notes-list-head b{display:block;color:#31556d;font-size:15px}.notes-list-head span{display:block;color:#9baeb7;font-size:10px;margin-top:3px}
.notes-mini-button{width:32px;height:32px;border:0;background:#f1f7f9;border-radius:9px;color:#6f8995;cursor:pointer;font-size:18px}
.notes-search{height:42px;margin:11px 12px 7px;border:1px solid #e0ebf0;border-radius:11px;background:#f8fbfc;display:flex;align-items:center;padding:0 11px;gap:7px;color:#9aadb7}
.notes-search input{border:0;outline:0;background:transparent;width:100%;font-size:12px;color:#34566a}
.notes-file-list{overflow:auto;padding:2px 8px 12px;scrollbar-width:thin}
.notes-file-row{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;text-align:left;border-radius:12px;padding:12px 9px;margin-bottom:2px;cursor:pointer;color:inherit}
.notes-file-row:hover{background:#f6fafc}.notes-file-row.active{background:#e8f5fa}
.notes-file-icon{width:38px;height:38px;flex:none;border-radius:10px;background:#edf7fb;color:#5d9bb5;display:grid;place-items:center;font-size:12px;font-weight:900;letter-spacing:-.3px}
.notes-file-icon.ext-doc,.notes-file-icon.ext-docx{background:#eef1fb;color:#6c7eb1}.notes-file-icon.ext-xls,.notes-file-icon.ext-xlsx{background:#edf8f1;color:#65a47d}.notes-file-icon.ext-ppt,.notes-file-icon.ext-pptx{background:#fff3ec;color:#c17e61}.notes-file-icon.ext-pdf{background:#fff0f0;color:#c66b6b}.notes-file-icon.ext-png,.notes-file-icon.ext-jpg,.notes-file-icon.ext-jpeg,.notes-file-icon.ext-gif,.notes-file-icon.ext-webp{background:#f3effb;color:#8a71ad}
.notes-file-main{min-width:0;flex:1}.notes-file-main b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#31556d;font-size:13px;font-weight:700}.notes-file-main small{display:block;margin-top:5px;color:#9aabb4;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notes-file-arrow{color:#b0bec6;font-size:19px}
.notes-file-row.active .notes-file-arrow{color:#6fa9be}
.notes-empty-list{padding:70px 25px;text-align:center;color:#9aabb4}.notes-empty-list div{font-size:28px;margin-bottom:10px}.notes-empty-list b{display:block;color:#607987;font-size:13px}.notes-empty-list span{display:block;margin-top:5px;font-size:11px;line-height:1.6}
.notes-editor-panel{min-width:0;display:flex;flex-direction:column;background:#fff}
.notes-editor-head,.notes-preview-head{min-height:78px;padding:16px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #edf3f6}
.notes-editor-title{display:flex;align-items:center;gap:12px;min-width:0}.notes-editor-title h2,.notes-preview-head h2{margin:0;color:#24445d;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notes-editor-title span,.notes-preview-head span{display:block;margin-top:5px;color:#9aabb4;font-size:11px}
.notes-editor-actions{display:flex;align-items:center;gap:7px;flex:none}.notes-icon-button{width:35px;height:35px;border:1px solid #dfeaf0;background:#fff;border-radius:10px;color:#708b98;display:grid;place-items:center;cursor:pointer;text-decoration:none}.notes-icon-button:hover{background:#f5fafc;border-color:#cfe3eb}.notes-icon-button.danger{color:#bf7777}
.notes-text-editor-form{display:flex;flex-direction:column;flex:1;min-height:0}.notes-text-editor-form textarea{flex:1;width:100%;min-height:0;resize:none;border:0;outline:0;padding:28px 34px;color:#304e62;background:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:14px;line-height:1.85;tab-size:4}
.notes-editor-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 22px;border-top:1px solid #edf3f6;color:#9aabb5;font-size:11px;background:#fbfdfe}
.notes-office-empty,.notes-editor-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;color:#91a4ae}.notes-office-empty{padding-top:70px}.notes-empty-icon{width:74px;height:74px;border-radius:22px;background:#edf8fc;display:grid;place-items:center;font-size:32px;margin-bottom:16px}.notes-office-icon{width:84px;height:84px;border-radius:24px;background:#edf7fb;color:#5c9db8;display:grid;place-items:center;font-size:25px;font-weight:900;margin-bottom:20px}.notes-office-icon.ext-doc,.notes-office-icon.ext-docx{background:#eef1fb;color:#6c7eb1}.notes-office-icon.ext-xls,.notes-office-icon.ext-xlsx{background:#edf8f1;color:#65a47d}.notes-office-icon.ext-ppt,.notes-office-icon.ext-pptx{background:#fff3ec;color:#c17e61}
.notes-office-empty h2,.notes-editor-empty h2{margin:0;color:#31556d;font-size:21px}.notes-office-empty p,.notes-editor-empty p{margin:8px 0 20px;font-size:12px}.notes-office-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.notes-office-tip{max-width:560px;margin-top:22px;padding:13px 16px;border-radius:12px;background:#f7fbfc;color:#91a4ae;font-size:11px;line-height:1.7}.notes-preview-frame{flex:1;min-height:0;background:#f6f9fb;padding:15px}.notes-preview-frame iframe{width:100%;height:100%;min-height:480px;border:1px solid #dce9ef;border-radius:12px;background:#fff}
.notes-office-actions .danger-button{background:#fff0f0;color:#c66c6c}
@media(max-width:1200px){.notes-shell{grid-template-columns:170px 300px minmax(0,1fr)}}
@media(max-width:900px){.notes-module-head{align-items:flex-start;flex-direction:column}.notes-head-actions{width:100%;justify-content:flex-start}.notes-shell{height:auto;min-height:0;grid-template-columns:1fr;border-radius:18px}.notes-folders{display:none}.notes-list-panel{border-right:0;border-bottom:1px solid #e3edf2;max-height:360px}.notes-editor-panel{min-height:620px}.notes-file-list{max-height:260px}.notes-editor-title h2{max-width:45vw}.notes-text-editor-form textarea{min-height:450px}.notes-preview-frame iframe{min-height:550px}}
@media(max-width:600px){.notes-create-form,.notes-upload-form{width:100%}.notes-create-form{flex:1}.notes-create-form select{flex:1}.notes-head-actions .button{flex:1}.notes-editor-head,.notes-preview-head{padding:13px 15px}.notes-text-editor-form textarea{padding:20px;font-size:13px}.notes-editor-foot{padding:10px 14px}.notes-editor-title .notes-file-icon{display:none}}


/* =========================================================
   Daily Plan V2
   Scoped to body.daily-plans-v2 so other modules stay intact.
   ========================================================= */
body.daily-plans-v2 .sidebar{
  border-color:#ebe7fb;
  box-shadow:0 12px 30px rgba(86,70,150,.06);
}
body.daily-plans-v2 .nav-item.active{
  background:#f0ecff;
  color:#6b54d8;
}
body.daily-plans-v2 .brand-mark{
  background:linear-gradient(135deg,#7b63e9,#5d45cc);
  box-shadow:0 8px 18px rgba(105,80,215,.22);
}
body.daily-plans-v2 .top-date-day{color:#5947b8}

.daily-v2{
  --purple:#6b54d8;
  --purple-2:#846fe4;
  --purple-soft:#f1edff;
  --purple-line:#e7e1fb;
  --ink:#24233a;
  --muted:#8c8ba0;
  --line:#ececf3;
  width:100%;
  max-width:1500px;
  padding-bottom:40px;
}
.daily-v2 *{box-sizing:border-box}
.daily-v2-head{
  display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px
}
.daily-v2-eyebrow{font-size:11px;letter-spacing:2.4px;color:var(--purple);font-weight:800}
.daily-v2-head h1{margin:5px 0 4px;font-size:31px;letter-spacing:-.8px;color:var(--ink)}
.daily-v2-head p{margin:0;color:#9291a3;font-size:13px}
.daily-v2-head-actions{display:flex;align-items:center;gap:10px}
.daily-primary-btn{
  border:0;border-radius:10px;padding:11px 17px;background:linear-gradient(135deg,#765ee1,#654bd1);
  color:#fff;font-weight:750;cursor:pointer;box-shadow:0 9px 22px rgba(105,80,215,.2);transition:.18s
}
.daily-primary-btn:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(105,80,215,.26)}
.daily-primary-btn.small{padding:9px 14px;font-size:12px}
.daily-icon-btn{
  width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#77768a;
  display:grid;place-items:center;text-decoration:none
}
.daily-datebar{
  display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;background:#fff;
  border:1px solid var(--line);border-radius:14px;margin-bottom:12px
}
.daily-date-switch{display:flex;align-items:center;gap:12px}
.date-arrow{
  width:34px;height:34px;border:1px solid #e7e7ef;border-radius:9px;display:grid;place-items:center;
  color:#77768b;text-decoration:none;font-size:21px
}
.daily-date-switch strong{display:block;color:var(--ink);font-size:15px}
.daily-date-switch span{display:block;margin-top:2px;color:#9a99aa;font-size:11px}
.today-jump{font-size:11px;color:var(--purple);text-decoration:none;padding-left:5px}
.daily-date-note{display:flex;align-items:center;gap:9px;color:#626175;font-size:12px}
.note-orb{
  width:30px;height:30px;border-radius:50%;background:var(--purple-soft);color:var(--purple);
  display:grid;place-items:center
}
.daily-summary{
  min-height:82px;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:18px;
  display:flex;align-items:center;justify-content:space-between;padding:14px 20px
}
.daily-summary-main{display:flex;align-items:center;gap:30px}
.summary-item{text-align:center;min-width:70px}
.summary-item strong{display:block;color:#222239;font-size:22px;line-height:1.1}
.summary-item span{display:block;color:#9291a3;font-size:11px;margin-top:4px}
.summary-divider{width:1px;height:28px;background:#eeeeF3}
.summary-ring-wrap{padding-right:3px}
.summary-ring{
  width:50px;height:50px;border-radius:50%;display:grid;place-items:center;
  background:conic-gradient(var(--purple) var(--progress),#eeeef4 0deg);position:relative
}
.summary-ring:after{content:"";position:absolute;inset:5px;border-radius:50%;background:#fff}
.summary-ring span{position:relative;z-index:1;font-size:10px;font-weight:800;color:var(--purple)}

.daily-v2-grid{
  display:grid;grid-template-columns:240px minmax(420px,1fr) 290px;gap:18px;align-items:start
}
.daily-left-col,.daily-right-col{display:flex;flex-direction:column;gap:16px}
.daily-card{
  background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 7px 22px rgba(40,38,67,.035);overflow:hidden
}
.daily-card-title{
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 17px 12px
}
.daily-card-title b{display:block;color:#2a2940;font-size:13px}
.daily-card-title small{display:block;color:#a09faf;font-size:10px;margin-top:3px;font-weight:400}
.calendar-nav{display:flex;gap:3px}
.calendar-nav a{
  width:25px;height:25px;border-radius:7px;display:grid;place-items:center;text-decoration:none;color:#858397
}
.calendar-nav a:hover{background:#f5f3ff;color:var(--purple)}
.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:0 12px}
.calendar-week span{text-align:center;color:#aaa9b7;font-size:9px;padding:4px 0 8px}
.calendar-grid{row-gap:4px;padding-bottom:15px}
.calendar-day,.calendar-empty{
  min-height:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;text-decoration:none;position:relative
}
.calendar-day{color:#555467;font-size:10px}
.calendar-day:hover{background:#f7f5ff}
.calendar-day.active{background:var(--purple);color:#fff;box-shadow:0 5px 12px rgba(107,84,216,.2)}
.calendar-day.today:not(.active){border:1px solid #cfc6fa;color:var(--purple);font-weight:800}
.calendar-dot{
  position:absolute;bottom:2px;font-style:normal;font-size:7px;color:#b0adbc
}
.calendar-day.active .calendar-dot{color:#fff}
.timeline-card{padding-bottom:11px}
.timeline{padding:2px 16px 10px}
.timeline-row{display:grid;grid-template-columns:42px 17px 1fr;min-height:57px}
.timeline-row time{font-size:9px;color:#9695a5;padding-top:2px}
.timeline-line{position:relative;display:flex;justify-content:center}
.timeline-line:before{content:"";position:absolute;top:9px;bottom:-2px;width:1px;background:#dedde8}
.timeline-row:last-child .timeline-line:before{bottom:20px}
.timeline-dot{width:7px;height:7px;border-radius:50%;background:#826de2;position:relative;z-index:1;margin-top:3px;box-shadow:0 0 0 3px #f1edff}
.timeline-dot.done{background:#57b879;box-shadow:0 0 0 3px #e9f8ee}
.timeline-row b{display:block;color:#4c4b5b;font-size:10px;line-height:1.35}
.timeline-row small{display:block;color:#a09faf;font-size:9px;margin-top:3px}
.daily-empty-mini{padding:15px 17px 18px;color:#aaa9b8;font-size:11px;text-align:center}

.daily-task-card{min-width:0}
.daily-task-tabs{
  min-height:55px;display:flex;align-items:center;gap:25px;padding:0 20px;border-bottom:1px solid #efeff4
}
.daily-task-tabs>a{height:55px;display:flex;align-items:center;color:#858498;text-decoration:none;font-size:11px;position:relative}
.daily-task-tabs>a.active{color:var(--purple);font-weight:800}
.daily-task-tabs>a.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--purple)}
.task-tab-spacer{flex:1}
.daily-text-btn{border:0;background:transparent;color:#858498;font-size:10px;cursor:pointer;padding:7px 0}
.daily-text-btn:hover{color:var(--purple)}
.daily-task-toolbar{
  display:flex;align-items:center;gap:14px;padding:9px 20px;background:#fbfbfd;border-bottom:1px solid #f0f0f4;color:#9998a8;font-size:10px
}
.daily-task-toolbar>b,.daily-task-toolbar span b{color:#5c5b70}
.daily-task-toolbar .selected-count{margin-left:auto}
.daily-task-toolbar button{border:0;background:transparent;color:#aaa9b7;font-size:10px;cursor:pointer}
.daily-task-list{padding:5px 20px 14px}
.priority-group+.priority-group{margin-top:5px}
.priority-heading{height:39px;display:flex;align-items:center;gap:7px;color:#555466}
.priority-heading b{font-size:10px}
.priority-heading em{font-style:normal;color:#a6a4b3;font-size:9px}
.priority-dot{width:7px;height:7px;border-radius:50%}
.priority-dot.high{background:#e85f5c}
.priority-dot.normal{background:#e6a43c}
.priority-dot.low{background:#58b873}
.daily-task-row{
  min-height:70px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #f0f0f4;padding:9px 0;transition:.16s
}
.daily-task-row:hover{background:#fcfcff}
.daily-task-row.is-done{opacity:.58}
.daily-check{width:23px;height:23px;display:grid;place-items:center;flex:none;cursor:pointer}
.daily-check input{position:absolute;opacity:0;pointer-events:none}
.daily-check span{
  width:17px;height:17px;border:1px solid #d7d6e0;border-radius:5px;display:grid;place-items:center;color:#fff;font-size:10px;background:#fff
}
.daily-check input:checked+span{background:var(--purple);border-color:var(--purple)}
.daily-task-main{min-width:0;flex:1}
.daily-task-titleline{display:flex;align-items:center;gap:7px;min-width:0}
.daily-task-titleline b{color:#3e3d50;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.daily-task-main>small{
  display:block;color:#9b9aaa;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px
}
.daily-tag{font-size:8px;border-radius:5px;padding:3px 6px;line-height:1;background:#f0eff5;color:#888697;flex:none}
.daily-tag.priority-high{background:#fff0ed;color:#df6a5d}
.daily-tag.priority-normal{background:#fff6e6;color:#d99a35}
.daily-tag.priority-low{background:#eaf8ee;color:#53a46b}
.daily-tag.status-doing{background:#f0edff;color:#725bd7}
.daily-task-meta{display:flex;gap:12px;margin-top:5px;color:#aaa8b6;font-size:8px}
.daily-task-meta .done-text{color:#55a96e}
.daily-star,.daily-complete-btn,.daily-edit-btn{
  border:0;background:transparent;cursor:pointer;flex:none
}
.daily-star{color:#aaa9b7;font-size:18px;padding:4px}
.daily-star.active{color:#f1b84b}
.daily-complete-btn{
  border:1px solid #ddd8f6;border-radius:7px;color:var(--purple);font-size:9px;padding:6px 8px;background:#faf9ff
}
.daily-complete-btn:hover{background:var(--purple);color:#fff}
.daily-edit-btn{color:#aaa9b7;font-size:9px;padding:6px}
.daily-edit-btn:hover{color:var(--purple)}
.daily-completed-mark{width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:#e9f7ee;color:#55a96e;font-size:10px;flex:none}
.daily-empty-state{padding:65px 20px;text-align:center}
.daily-empty-state>div{width:44px;height:44px;border-radius:50%;background:#f1edff;color:var(--purple);display:grid;place-items:center;margin:0 auto 12px}
.daily-empty-state strong{display:block;color:#4b4a5d;font-size:13px}
.daily-empty-state span{display:block;color:#a2a1af;font-size:10px;margin:6px 0 14px}

.focus-card{padding-bottom:17px}
.mini-purple-icon{
  width:26px;height:26px;border-radius:8px;background:#f0edff;color:var(--purple);display:grid;place-items:center;font-size:12px
}
.focus-number{padding:4px 17px 11px}
.focus-number strong{font-size:29px;letter-spacing:-1px;color:var(--purple)}
.focus-number span{font-size:11px;color:#a09faf;margin-left:4px}
.progress-track{height:7px;background:#f0eff5;border-radius:20px;margin:0 17px;overflow:hidden}
.progress-track i{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,#8a76e6,#6b54d8)}
.focus-subline{display:flex;justify-content:space-between;padding:8px 17px 0;color:#aaa9b7;font-size:9px}

.donut-wrap{display:flex;align-items:center;gap:16px;padding:3px 17px 18px}
.status-donut{
  width:86px;height:86px;border-radius:50%;flex:none;
  background:conic-gradient(#57b879 0deg var(--d1),#816ce2 var(--d1) var(--d2),#e8a33d var(--d2) 360deg);
  display:grid;place-items:center;position:relative
}
.status-donut:after{content:"";position:absolute;inset:12px;border-radius:50%;background:#fff}
.status-donut span{position:relative;z-index:1;color:#4b4a5c;font-weight:800;font-size:14px}
.status-legend{flex:1}
.status-legend div{display:flex;align-items:center;gap:7px;padding:4px 0;font-size:9px;color:#8d8c9d}
.status-legend i{width:7px;height:7px;border-radius:50%}
.status-legend i.done{background:#57b879}.status-legend i.doing{background:#816ce2}.status-legend i.todo{background:#e8a33d}
.status-legend b{margin-left:auto;color:#5c5b6d;font-size:9px}

.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:2px 12px 15px}
.quick-actions button,.quick-actions a{
  min-height:57px;border:1px solid #efeff4;border-radius:9px;background:#fcfcfe;text-decoration:none;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#7d7c8d;cursor:pointer
}
.quick-actions button:hover,.quick-actions a:hover{border-color:#ddd7f7;background:#faf8ff;color:var(--purple)}
.quick-actions i{width:24px;height:24px;border-radius:7px;background:#f0edff;color:var(--purple);display:grid;place-items:center;font-style:normal;font-size:12px}
.quick-actions span{font-size:9px}
.priority-card{padding-bottom:10px}
.priority-stat{display:flex;align-items:center;justify-content:space-between;padding:8px 17px;border-top:1px solid #f0f0f4;font-size:10px;color:#8f8e9d}
.priority-stat span{display:flex;align-items:center;gap:7px}
.priority-stat i{width:7px;height:7px;border-radius:50%}
.priority-stat i.high{background:#e85f5c}.priority-stat i.normal{background:#e6a43c}.priority-stat i.low{background:#58b873}
.priority-stat b{color:#5c5b6d}

.history-v2{margin-top:18px}
.history-v2-head{
  padding:16px 20px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;border-bottom:1px solid #efeff4
}
.history-v2-head>b,.history-v2-head>div>b{display:block;color:#3f3e50;font-size:13px}
.history-v2-head small{display:block;color:#9c9baa;font-size:9px;margin-top:4px}
.history-v2-form{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}
.history-v2-form label{display:flex;flex-direction:column;gap:4px;color:#9998a7;font-size:8px}
.history-v2-form input,.history-v2-form select{
  height:32px;border:1px solid #e6e6ee;border-radius:7px;background:#fff;color:#666577;padding:5px 7px;font-size:9px
}
.history-v2-list{padding:0 20px}
.history-v2-row{
  min-height:56px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #f0f0f4
}
.history-status-icon{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#f2efff;color:var(--purple);font-size:10px;flex:none}
.history-v2-row.done .history-status-icon{background:#eaf7ee;color:#56a86f}
.history-v2-row>div{flex:1;min-width:0}
.history-v2-row>div b{display:block;color:#555465;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.history-v2-row>div small{display:block;color:#aaa8b7;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}
@media (max-width:1180px){
  .daily-v2-grid{grid-template-columns:210px minmax(360px,1fr)}
  .daily-right-col{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .daily-v2-head{align-items:flex-start}
  .daily-datebar{align-items:flex-start;flex-direction:column}
  .daily-v2-grid{grid-template-columns:1fr}
  .daily-left-col,.daily-right-col{display:flex}
  .daily-right-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .daily-task-tabs{gap:14px;overflow:auto}
  .history-v2-head{align-items:flex-start;flex-direction:column}
}
@media (max-width:560px){
  .daily-v2-head{flex-direction:column}
  .daily-v2-head-actions{width:100%}
  .daily-primary-btn{flex:1}
  .daily-summary{padding:12px 10px}
  .daily-summary-main{gap:12px;width:100%;justify-content:space-around}
  .summary-item{min-width:48px}
  .summary-item strong{font-size:18px}
  .summary-divider{display:none}
  .summary-ring-wrap{display:none}
  .daily-right-col{grid-template-columns:1fr}
  .daily-task-row{gap:6px}
  .daily-star{display:none}
  .daily-complete-btn{display:none}
  .daily-task-tabs{padding:0 12px}
  .daily-task-list{padding-left:12px;padding-right:12px}
}


/* =========================================================
   Daily Plan V3 — unified with the existing WorkBuddy UI
   Uses the site's original blue/cyan palette, borders, cards,
   typography and spacing instead of introducing a separate theme.
   ========================================================= */
body.daily-plans-v2{background:#f3f8fc;color:#19324d}
body.daily-plans-v2 .topbar{border-bottom-color:#dce9f3}
body.daily-plans-v2 .sidebar{border-color:#dfeaf2;box-shadow:0 12px 30px rgba(55,93,119,.05)}
body.daily-plans-v2 .nav-item.active{background:#e4f4fb;color:#3689b3}
body.daily-plans-v2 .brand-mark{background:#70b9dc;box-shadow:0 8px 18px rgba(91,164,203,.2)}

.daily-v2{
  --accent:#63b4dc;
  --accent-dark:#438db4;
  --accent-soft:#e9f6fc;
  --accent-line:#d7e9f2;
  --ink:#183650;
  --muted:#7f93a4;
  --line:#deebf3;
  --surface:#fff;
  max-width:1500px;
  padding-bottom:40px;
  color:var(--ink);
}
.daily-v2-head{margin-bottom:24px}
.daily-v2-eyebrow{color:#62a6ca;letter-spacing:2px}
.daily-v2-head h1{color:#183650;font-size:30px;margin:8px 0}
.daily-v2-head p{color:#7f93a4}
.daily-primary-btn{
  background:#63b4dc;
  box-shadow:0 7px 17px rgba(99,180,220,.2);
  border-radius:11px;
}
.daily-primary-btn:hover{box-shadow:0 10px 20px rgba(99,180,220,.26)}
.daily-icon-btn{
  border-color:#d7e5ef;border-radius:12px;color:#5d8098;background:#fff
}
.daily-icon-btn:hover{border-color:#bcddec;background:#f7fbfd;color:#3689b3}
.daily-datebar,.daily-summary,.daily-card{
  background:#fff;border-color:#deebf3;border-radius:17px;box-shadow:0 10px 28px rgba(56,94,120,.04)
}
.daily-datebar{padding:15px 18px}
.date-arrow{border-color:#d7e5ef;color:#6d899d}
.date-arrow:hover{background:#e9f6fc;color:#438db4}
.daily-date-switch strong{color:#24445e}
.daily-date-switch span,.daily-date-note{color:#7f93a4}
.today-jump{color:#4d9bc2}
.note-orb{background:#e9f6fc;color:#438db4}
.daily-summary{min-height:86px}
.summary-item strong{color:#24445e}
.summary-item span{color:#8a9eae}
.summary-divider{background:#e1edf3}
.summary-ring{background:conic-gradient(#63b4dc var(--progress),#e5eef3 0deg)}
.summary-ring:after{background:#fff}
.summary-ring span{color:#438db4}

.daily-v2-grid{gap:18px}
.daily-card-title b{color:#24445e}
.daily-card-title small{color:#91a4b5}
.calendar-nav a:hover{background:#e9f6fc;color:#438db4}
.calendar-week span{color:#91a4b5}
.calendar-day{color:#486176}
.calendar-day:hover{background:#f7fbfd}
.calendar-day.active{background:#63b4dc;box-shadow:0 6px 15px rgba(99,180,220,.22)}
.calendar-day.today:not(.active){border-color:#a9d5e8;color:#3689b3}
.calendar-dot{color:#91a4b5}
.calendar-day.active .calendar-dot{color:#fff}

.timeline-line:before{background:#dce8ef}
.timeline-dot{background:#63b4dc;box-shadow:0 0 0 3px #e9f6fc}
.timeline-dot.done{background:#58b878;box-shadow:0 0 0 3px #eaf7ee}
.timeline-row b{color:#486176}
.timeline-row small{color:#91a4b5}

.daily-task-tabs>a.active{color:#438db4}
.daily-task-tabs>a.active:after{background:#63b4dc}
.daily-text-btn{color:#7890a2}
.daily-text-btn:hover{color:#438db4}
.daily-task-toolbar{background:#f8fbfd;border-bottom-color:#e8f0f5;color:#91a4b5}
.daily-task-row{border-bottom-color:#e8f0f5}
.daily-task-row:hover{background:#fbfdfe}
.daily-check span{border-color:#acd4e6}
.daily-check input:checked+span{background:#63b4dc;border-color:#63b4dc}
.daily-task-titleline b{color:#36536b}
.daily-task-main>small,.daily-task-meta{color:#91a4b5}
.daily-tag{background:#eef5f8;color:#7390a0}
.daily-tag.priority-high{background:#fff0eb;color:#d97a5f}
.daily-tag.priority-normal{background:#eef7fb;color:#4e98bb}
.daily-tag.priority-low{background:#eaf7ef;color:#56a873}
.daily-tag.status-doing{background:#e9f6fc;color:#438db4}
.daily-star{color:#8ca1af}
.daily-star.active{color:#e6ac3c}
.daily-complete-btn{border-color:#cce3ee;color:#438db4;background:#f7fbfd}
.daily-complete-btn:hover{background:#63b4dc;color:#fff}
.daily-edit-btn{color:#7f93a4}
.daily-edit-btn:hover{color:#438db4}
.daily-completed-mark{background:#eaf7ef;color:#56a873}
.priority-dot.high{background:#df7864}
.priority-dot.normal{background:#63a9cc}
.priority-dot.low{background:#58b878}

.focus-number strong{color:#438db4}
.mini-purple-icon{background:#e9f6fc;color:#438db4}
.progress-track{background:#e7f0f4}
.progress-track i{background:#63b4dc}
.focus-subline{color:#91a4b5}
.status-donut{
  background:conic-gradient(#58b878 0deg var(--d1),#63b4dc var(--d1) var(--d2),#e6a43c var(--d2) 360deg)
}
.status-legend{color:#7f93a4}
.status-legend i.doing{background:#63b4dc}
.status-legend i.todo{background:#e6a43c}
.quick-actions button,.quick-actions a{border-color:#e1edf3;background:#fafdfe}
.quick-actions button:hover,.quick-actions a:hover{border-color:#bcddec;background:#f7fbfd;color:#438db4}
.quick-actions i{background:#e9f6fc;color:#438db4}
.priority-stat{border-top-color:#e8f0f5;color:#7f93a4}

.history-v2{margin-top:18px}
.history-v2-head{border-bottom-color:#e8f0f5}
.history-v2-form input,.history-v2-form select{border-color:#d7e5ef;color:#526f84}
.history-v2-row{border-bottom-color:#e8f0f5}
.history-status-icon{background:#e9f6fc;color:#438db4}
.history-v2-row.done .history-status-icon{background:#eaf7ef;color:#56a873}

/* Selected task state + subtle action affordances */
.daily-task-row.selected{
  background:#f3f9fc;
  border-radius:10px;
  padding-left:8px;
  padding-right:8px;
  margin-left:-8px;
  margin-right:-8px;
  border-bottom-color:#d2e8f2;
}
.daily-task-row.selected .daily-task-titleline b{color:#2f7ea8}

/* The existing site's modal system remains the single source of truth. */
body.daily-plans-v2 .wb-modal{border-color:#deebf3;box-shadow:0 24px 70px rgba(38,75,99,.18)}
body.daily-plans-v2 .wb-modal-head{border-bottom-color:#e8f0f5}
body.daily-plans-v2 .wb-form-body input,
body.daily-plans-v2 .wb-form-body textarea,
body.daily-plans-v2 .wb-form-body select{border-color:#d7e5ef}
body.daily-plans-v2 .wb-form-body input:focus,
body.daily-plans-v2 .wb-form-body textarea:focus,
body.daily-plans-v2 .wb-form-body select:focus{
  border-color:#8fc9e3;box-shadow:0 0 0 3px rgba(99,180,220,.12);outline:none
}
body.daily-plans-v2 .wb-modal .button.primary{background:#63b4dc}
body.daily-plans-v2 .wb-modal .button.primary:hover{background:#55a9d2}
body.daily-plans-v2 .workspace-row:hover{background:#f8fbfd}
body.daily-plans-v2 .workspace-row .tag{background:#eef5f8;color:#7390a0}
body.daily-plans-v2 .workspace-row .tag.high{background:#fff0eb;color:#d97a5f}

/* 首页最近笔记直接打开真实 note_files，保持原卡片视觉 */
.note-card-button{display:block;text-decoration:none;color:inherit}
.note-card-button:hover{color:inherit}

/* Unified top-right date text color across all workspace pages */
.top-date,
.top-date-day,
.topbar .top-date,
.topbar .top-date-day,
.header-date,
.topbar-date {
    color: #7891a4 !important;
}
.top-date span,
.top-date small,
.topbar .top-date span,
.topbar .top-date small {
    color: #7891a4 !important;
}

/* Daily Plan deletion actions */
.daily-text-btn.danger,.daily-delete-btn{color:#c96f67}
.daily-text-btn.danger:hover,.daily-delete-btn:hover{color:#b94e45}
.daily-delete-btn{
  border:0;background:transparent;cursor:pointer;font-size:9px;padding:6px;flex:none
}
.daily-task-row .daily-delete-btn{opacity:.65}
.daily-task-row:hover .daily-delete-btn{opacity:1}
