:root{--orange:#FF6800;--ink:#242C38;--paper:#FAFBFC;--muted:#687384;--line:#E1E5EA}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 "Microsoft YaHei",sans-serif}button,input,select,textarea{font:inherit}button,.button{border:1px solid var(--line);background:white;border-radius:9px;padding:10px 16px;cursor:pointer;color:var(--ink);text-decoration:none;display:inline-block}button:hover,.button:hover{border-color:var(--orange)}button:disabled{opacity:.5;cursor:wait}a{color:var(--orange)}.primary{background:var(--orange);border-color:var(--orange);color:white}.quiet{background:none;border:0}header{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:22px;padding:0 5vw;background:#FFFFFF}.brand{font-size:27px;font-weight:800;letter-spacing:3px;text-decoration:none}.brand span{display:block;font-size:9px;letter-spacing:2px;color:var(--muted)}.demo{font-size:11px;color:var(--muted);margin-left:auto}main{max-width:1200px;margin:auto;padding:45px 36px;min-width:0;width:100%}h1{font-size:36px;font-weight:550;line-height:1.4;letter-spacing:-1px;margin:10px 0}h2{font-size:21px;font-weight:550;margin:10px 0}h3{font-size:17px;font-weight:550}.eyebrow{color:var(--orange);font-size:11px;letter-spacing:2px;font-weight:700}.muted,.hint,small{color:var(--muted)}.hint{font-size:12px}.workspace{display:flex;min-height:80vh}aside{width:215px;flex-shrink:0;border-right:1px solid var(--line);padding:42px 22px;position:relative}.side-title{font-size:13px;margin-bottom:28px}.side-link{display:block;padding:12px;text-decoration:none;border-radius:8px}.active{color:var(--orange);background:#f9e7d8}.side-note{font-size:12px;color:var(--muted);margin-top:70px;line-height:2}.title-row{display:flex;align-items:center;justify-content:space-between}.pill{display:inline-block;font-size:11px;border-radius:20px;padding:4px 10px;background:#f9e7d8;color:#FF6800;white-space:nowrap}.pill.done{background:#e9eee4;color:#576055}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);margin:25px 0 30px;padding:25px 0}.stats div{display:flex;align-items:center;gap:20px;border-right:1px solid var(--line);padding:0 25px}.stats div:first-child{padding-left:0}.stats div:last-child{border:0}.stats strong{font-size:37px;font-weight:500}.stats span{font-size:12px;color:var(--muted)}.orange{color:var(--orange)}.toolbar{display:flex;gap:12px}.toolbar input{flex:1}.toolbar select{width:170px}input,select,textarea{display:block;width:100%;background:#fffdf9;border:1px solid var(--line);padding:12px;border-radius:8px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px #FF680015}textarea{resize:vertical;min-height:100px}label{display:block;margin:16px 0;font-size:13px}label input,label textarea,label select{margin-top:8px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project,.log{border:1px solid var(--line);border-radius:14px;padding:25px;background:#fffdf9}.cardtop,.stage,.actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.cardtop{margin-bottom:20px}.cardtop small{font-size:11px;letter-spacing:1px}.project h2{font-size:20px}.project .muted{font-size:12px;margin-bottom:23px}.stage{font-size:12px}progress{width:100%;height:4px;border:0;display:block;margin:12px 0 20px;accent-color:var(--orange)}progress::-webkit-progress-bar{background:#eee7db;border-radius:4px}progress::-webkit-progress-value{background:var(--orange);border-radius:4px}.actions{justify-content:flex-start;flex-wrap:wrap}.actions button{font-size:13px;flex:1;white-space:nowrap}.login{max-width:650px;padding-top:55px}.login h1{font-size:43px}.login form{background:#fffdf9;border:1px solid var(--line);padding:25px 32px;border-radius:16px;margin-top:32px}.login .primary{width:100%;margin-top:12px}#error,#formerror{color:#b94322}.owner{max-width:840px}.hero{margin:30px 0;padding:32px;background:#f3e7d8;border-radius:16px;display:flex;align-items:center;justify-content:space-between}.hero strong{font-size:60px;line-height:1.1;font-weight:400;color:var(--orange)}.hero strong small{font-size:12px;display:inline-block;margin-left:6px;line-height:1.7}.hero p{font-size:12px;color:var(--muted)}nav{display:flex;border-bottom:1px solid var(--line);gap:10px;margin-bottom:25px}nav button{background:none;border:0;border-radius:0;padding:13px 8px}nav button.active{border-bottom:2px solid var(--orange)}nav b{font-weight:400;font-size:11px}.log{margin:18px 0}.logdate{display:flex;gap:18px;align-items:center;font-size:13px}.prose{white-space:pre-wrap}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:20px}.twocol section{border-top:1px solid var(--line);padding-top:18px;margin-top:15px}.twocol p{font-size:13px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.gallery img,.gallery video{width:100%;height:150px;object-fit:cover;border-radius:8px;background:#eee7db}.empty{padding:50px;text-align:center;color:var(--muted)}dialog{width:min(720px,94vw);max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink);padding:32px}dialog::backdrop{background:#303b3566;backdrop-filter:blur(3px)}.close{float:right;font-size:24px;border:0;background:none;padding:0 8px}.upload{border:1px dashed #d2aa8c;padding:18px;border-radius:8px;background:#fff4e9;color:var(--orange)}.upload input{font-size:12px;border:0;background:none}.attachment{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;margin:8px 0;overflow-wrap:anywhere}.attachment button{padding:4px 10px;flex-shrink:0}.sticky{position:sticky;bottom:-32px;background:var(--paper);padding:18px 0}.fullimage{display:block;max-width:100%;max-height:75vh;object-fit:contain}footer{padding:30px;text-align:center;font-size:11px;color:var(--muted);border-top:1px solid var(--line)}#toast:not(:empty){position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 22px;border-radius:10px;z-index:99;font-size:13px;width:max-content;max-width:90vw}:focus-visible{outline:2px solid var(--orange);outline-offset:3px}@media(max-width:800px){aside{display:none}header{height:73px;padding:0 20px;gap:8px}.brand{font-size:23px}.brand span{font-size:8px}.demo{font-size:9px}header button{font-size:11px;padding:8px}main{padding:30px 20px}.cards{grid-template-columns:1fr}h1{font-size:30px}.title-row>.pill{display:none}.stats div{padding:0 13px;gap:9px;display:block}.stats strong{font-size:31px}.stats span{display:block;font-size:11px}.toolbar{gap:8px}.toolbar select{width:125px;font-size:12px}.toolbar input{min-width:0;font-size:12px}.project{padding:22px}.login h1{font-size:36px}.login form{padding:20px}.hero{padding:24px}.hero strong{font-size:47px}.hero h2{font-size:20px}.twocol{grid-template-columns:1fr;gap:0}.gallery{grid-template-columns:repeat(2,1fr)}dialog{padding:24px}.sticky{bottom:-24px}nav{gap:6px}nav button{font-size:13px}.owner .log{padding:22px}}
/* Owner overview: orange summary and clear stage timeline */
.owner-refresh{max-width:850px}.owner-project-title{display:flex;align-items:center;gap:12px;margin-top:14px}.owner-project-title h1{font-size:27px;margin:0}.construction-badge{background:#e6f2ff;color:#3489d7;padding:3px 8px;border-radius:5px;font-size:11px;white-space:nowrap}.construction-summary{background:#FF6800;color:white;display:grid;grid-template-columns:1fr 1fr;padding:25px 30px 42px;border-radius:12px 12px 0 0;margin:28px 8px 0;gap:25px}.construction-summary span{display:block;font-size:13px;color:#FFF4E9}.construction-summary strong{display:block;font-size:24px;font-weight:550;margin-top:5px}.construction-summary small{color:white;font-size:15px}.timeline-card{position:relative;margin-top:-17px;background:linear-gradient(120deg,#fffaf3,#fff0df);border:1px solid #f0e4d5;border-radius:15px;padding:24px 22px 17px;box-shadow:0 8px 25px #65482608;margin-bottom:26px}.timeline-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.timeline-heading h2{margin:0;font-size:20px}.timeline-heading>span{font-size:11px;color:#FF6800}.construction-timeline{list-style:none;display:flex;padding:0;margin:29px 0 18px}.construction-timeline li{flex:1;text-align:center;position:relative;min-width:0}.step-name{display:block;font-size:13px;white-space:nowrap;margin-bottom:13px}.step-dot{position:relative;z-index:1;display:flex;width:15px;height:15px;align-items:center;justify-content:center;margin:0 auto 11px;background:#fff8ef;border:2px solid #d4ccc1;border-radius:50%;font-size:10px;line-height:1}.construction-timeline li:after{content:'';position:absolute;top:42px;left:calc(50% + 8px);width:calc(100% - 16px);height:2px;background:#d9d2c8}.construction-timeline li:last-child:after{display:none}.construction-timeline strong{display:block;font-size:12px;font-weight:500}.construction-timeline small{display:block;font-size:10px;margin-top:6px;color:#aaa093;white-space:nowrap}.completed .step-dot{background:#72b84c;border-color:#72b84c;color:white}.construction-timeline .completed:after{background:#72b84c}.ongoing .step-dot{color:#FF6800;border-color:#FF6800;background:#fff4e6;box-shadow:0 0 0 4px #FF68001a}.ongoing strong{color:#FF6800}.pending{color:#a9a196}.timeline-note{font-size:11px;color:#9a8d7e;border-top:1px solid #eee1d1;padding-top:13px;margin-bottom:0}@media(max-width:500px){.owner-project-title h1{font-size:21px}.construction-summary{padding:22px 20px 38px;margin-inline:3px}.construction-summary strong{font-size:22px}.timeline-card{padding:21px 12px 15px}.timeline-heading h2{font-size:18px}.step-name{font-size:11px}.construction-timeline li:after{top:40px}.construction-timeline small{font-size:9px}.timeline-heading>span{font-size:10px}}

.demo-banner{border:1px dashed #df9f66;border-radius:12px;padding:17px 20px;margin-bottom:26px;background:#fff0de}.demo-banner strong{font-size:14px;color:#FF6800}.demo-banner p{font-size:12px;color:#827b6e;margin:5px 0 13px}.demo-banner button{font-size:12px}.completion-log{border-color:#d2dfc7;scroll-margin-top:24px}.completion-summary{background:#edf4e7;border-radius:9px;padding:16px 18px;margin:18px 0;color:#426238}.completion-summary strong{display:block;font-size:15px}.completion-summary span{font-size:12px}.completion-summary p{font-size:12px;margin:8px 0 0;color:#66795b}.stage-link{padding:0;border:0;border-radius:0;background:none;color:inherit;margin:0 auto 13px;line-height:inherit}.stage-link:hover{color:#FF6800;text-decoration:underline}.log{scroll-margin-top:24px}
/* Balance the two construction summary groups. */
.construction-summary{grid-template-columns:1.15fr .85fr}
/* Three useful facts, spaced evenly across the summary card. */
.construction-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.construction-summary>div:nth-child(2){justify-self:center}
.construction-summary>div:nth-child(3){justify-self:end}
@media(max-width:500px){.construction-summary{gap:12px;padding-inline:18px}.construction-summary strong{font-size:17px;white-space:nowrap}.construction-summary span{font-size:11px}.construction-summary small{font-size:12px}}
.completion-control{display:flex;align-items:center;gap:10px;padding:14px;background:#edf4e7;border-radius:8px}.completion-control input{width:18px;height:18px;margin:0;accent-color:#72b84c}.admin-actions{margin-top:20px}.admin-actions button{flex:initial}

/* 多米装饰品牌标准：简洁白底 / 亮橙强调 / 轻量扁平 */
.brand{display:flex;align-items:center;gap:7px;letter-spacing:0;flex-direction:column;align-items:flex-start;line-height:1}
.brand-img{display:block;width:116px;height:62px;object-fit:contain;object-position:left center}
.brand span{font-size:8px;letter-spacing:1.1px;margin-top:-5px;white-space:nowrap}
header{height:94px}
.project,.log,.login form{background:white;border-radius:10px;box-shadow:none}
.timeline-card{box-shadow:none}
@media(max-width:800px){header{height:78px}.brand-img{width:92px;height:49px}.brand span{font-size:6.5px;margin-top:-4px}}

/* 管理员专属：在日报中直接新增、停用和删除施工阶段 */
.stage-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:-6px 0 13px}
.stage-tools .hint{margin:0;font-size:11px}
.stage-admin-toggle{padding:7px 12px;background:#fff4eb;border:1px solid #ffceb0;color:#FF6800;font-size:12px}
.stage-admin{background:#fff;border:1px solid #ecd9cd;border-radius:9px;padding:14px 16px;margin:12px 0 16px}
.stage-admin[hidden]{display:none}
.stage-admin>.hint{font-size:12px;margin:5px 0 10px}
.stage-add-line{display:flex;gap:8px;align-items:center}
.stage-add-line input{flex:1;min-width:0}
.stage-add-line button{white-space:nowrap}
.stage-manager-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:7px 1px;gap:12px;font-size:13px}
.stage-manager-row:last-child{border-bottom:0}
.stage-manager-row .stage-manager-buttons button{font-size:11px;padding:5px 10px}
.stage-off{color:var(--muted);margin-left:6px;font-size:11px}
.stage-template-btn{font-size:11px;margin-top:14px;width:100%;background:#fafafa;color:var(--muted)}
.construction-timeline .step-name{white-space:normal;word-break:break-word;min-height:31px}
@media(max-width:560px){.stage-add-line{flex-wrap:wrap}.stage-add-line button{width:100%}.construction-timeline{flex-wrap:wrap;row-gap:15px}.construction-timeline li{flex:0 0 33.33%}.construction-timeline li:after{display:none}}

/* v0.8.4 — history, staff attribution, project lifecycle */
.stage-history{border:1px solid #f0dcc9;background:#fffaf6;padding:15px 17px;border-radius:9px;margin:0 0 14px}
.stage-history-head{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:13px;flex-wrap:wrap}
.stage-history-detail{border-top:1px solid #f1e1d2;margin-top:10px;padding-top:10px}
.stage-history-detail small{display:block;font-size:11px;color:var(--muted)}
.stage-history-detail .prose{line-height:1.65;margin:8px 0;max-height:8em;overflow:auto}
.stage-history-warning{color:#a94b17;background:#fff0e6;border-radius:6px;margin:12px 0;padding:9px;font-size:12px}
.stage-history .supplementary{display:block;margin-bottom:10px}
.stage-history .history-open{margin-top:10px;font-size:12px}
.audit-entry{border-bottom:1px solid var(--line);padding:12px 1px;display:grid;gap:4px}
.audit-entry b{font-size:13px}.audit-entry small{font-size:11px;color:var(--muted)}
.manage-divider{height:1px;background:var(--line);margin:22px 0}
.danger-action{color:#bc3939!important;border:1px solid #f1b7b7!important;background:#fff9f9!important}

/* v0.8.5 图片放大预览：无关闭按钮，贴合照片，点击照片或遮罩关闭 */
dialog.photo-lightbox{
  width:max-content;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);
  margin:auto;padding:4px;border:1px solid #e2e5e9;border-radius:7px;
  background:#fff;box-shadow:none;overflow:hidden;box-sizing:border-box;
}
dialog.photo-lightbox::backdrop{background:rgba(23,29,38,.64);backdrop-filter:blur(1px)}
dialog.photo-lightbox .fullimage{
  display:block;width:auto;height:auto;max-width:calc(100vw - 34px);
  max-height:calc(100dvh - 34px);object-fit:contain;cursor:zoom-out;
  margin:0;padding:0;border-radius:3px;
}
@supports not (height:100dvh){dialog.photo-lightbox{max-height:calc(100vh - 24px)}dialog.photo-lightbox .fullimage{max-height:calc(100vh - 34px)}}

/* v0.8.5 archive separation: archived projects never appear in the default workspace. */
.workspace aside button.side-link{width:100%;border:0;background:transparent;text-align:left;color:var(--ink);font-size:14px;cursor:pointer;margin:4px 0;}
.workspace aside button.side-link.active{color:var(--orange);background:#f9e7d8;}
.workspace aside button.side-link:hover{background:#fff0e3;}
.workspace aside button.side-link small{color:inherit;font-size:11px;}
.archive-note{margin:24px 0 28px;padding:15px 18px;border:1px solid var(--line);border-radius:9px;background:#fffdf9;color:var(--muted);font-size:13px;}

/* v0.8.6 stage ordering controls, flat design */
.stage-manager-name{flex:1;min-width:90px}
.stage-manager-buttons{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.stage-manager-buttons button:disabled{opacity:.3;cursor:default}
.stage-manager-row .stage-position{width:95px;max-width:110px;padding:6px 4px;font-size:11px;background:#fff;border:1px solid var(--line);border-radius:5px}
@media(max-width:560px){.stage-manager-row{align-items:flex-start;flex-direction:column}.stage-manager-buttons{width:100%}}

/* v0.8.7 · 多米装饰原版Logo、简洁员工管理工作台 */
:root{--orange:#FF6800;--line:#e5e8ed;--ink:#19283b}
.employee-main{max-width:none!important;min-width:0;flex:1;padding:36px 38px 80px!important}
.employee-main .title-row{margin:8px 0 22px}
.employee-main .title-row h1{font-size:30px;letter-spacing:-.5px}
.employee-main h3{font-size:15px;margin:0;font-weight:650}
.employee-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 22px}
.employee-stats>div{border:1px solid #e5e8ed;background:#fff;border-radius:10px;display:flex;align-items:center;gap:12px;padding:17px 20px}
.employee-stats strong{font-size:25px;font-weight:650;letter-spacing:-.5px}
.employee-stats span{font-size:12px;color:#758194}
.employee-grid{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:16px;align-items:start}
.employee-list,.employee-detail{background:#fff;border:1px solid #e5e8ed;border-radius:12px;min-width:0;box-shadow:none}
.employee-list{padding:12px 10px;min-height:320px}
.employee-list-head{padding:9px 11px 15px;display:flex;align-items:center;justify-content:space-between;gap:9px}
.employee-list-head select{width:116px;padding:8px;font-size:12px;background:#fafbfc;border-radius:7px}
.employee-row{display:flex;align-items:center;width:100%;text-align:left;border:1px solid transparent;background:transparent;color:#29394b;gap:10px;padding:11px;border-radius:8px;margin:2px 0;min-height:60px}
.employee-row:hover{background:#faf8f5}
.employee-row.chosen{background:#fff4ec;border-color:#ffdfc6}
.employee-small-avatar,.employee-avatar{background:#fff0e4;color:#FF6800;border:1px solid #ffe0c6;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}
.employee-small-avatar{width:34px;height:34px;font-size:14px}.employee-avatar{width:56px;height:56px;font-size:23px}
.employee-row span:nth-child(2){display:grid;gap:4px;flex:1;min-width:0}
.employee-row b{font-size:13px;font-weight:620;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.employee-row small{font-size:11px;color:#88929f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.employee-dot{width:7px;height:7px;background:#aeb7c2;border-radius:50%;flex-shrink:0}.employee-dot.online{background:#26a269}
.employee-detail{padding:24px 24px 26px}
.employee-detail.empty{padding:60px 20px;text-align:center;color:#8a96a6}
.employee-person{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.employee-person-name{font-size:19px;font-weight:700;color:#17263b}.emp-subline{font-size:12px;margin-top:5px}
.employee-person>.employee-state{margin-left:auto}
.employee-state{font-size:11px;background:#f1f2f4;color:#7b8491;border-radius:50px;padding:5px 10px;white-space:nowrap}
.employee-state.online{background:#e8f5ec;color:#268249}
.employee-metrics{margin:23px 0 17px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #e9ebee;border-radius:9px;background:#fcfcfd}
.employee-metrics>div{padding:16px 18px;display:grid;gap:6px}
.employee-metrics>div+div{border-left:1px solid #e8ecf0}
.employee-metrics small{font-size:11px;color:#7d8997}.employee-metrics strong{font-size:23px;font-weight:600;color:#223145}.employee-metrics strong.metric-text{font-size:13px;padding:6px 0}
.employee-tabs{display:flex;gap:2px;border-bottom:1px solid #e8eaf0;margin-bottom:22px}
.employee-tabs button{border:0;background:transparent;border-radius:0;color:#737e90;padding:12px 18px;border-bottom:2px solid transparent;font-size:13px;font-weight:500}
.employee-tabs button:hover{color:#FF6800}.employee-tabs button.selected{color:#FF6800;border-bottom-color:#FF6800;font-weight:650}
.employee-subhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:13px}
.employee-subhead span,.employee-subhead .muted{font-size:11px}
.employee-compact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:17px}
.employee-compact-fields label,.employee-add-form label{font-size:12px;color:#46556b}
.employee-compact-fields input,.employee-compact-fields select,.employee-add-form input:not([type=checkbox]),.employee-add-form select{width:100%;margin-top:6px;border-radius:8px;background:#fff;height:42px;padding:9px 12px}
.employee-project-list{display:grid;gap:8px;margin-bottom:15px;max-height:360px;overflow:auto}
.employee-project-row{border:1px solid #e8eaf0;border-radius:9px;background:#fff;padding:12px 14px;display:flex;gap:12px;justify-content:space-between;align-items:center;transition:background .15s}
.employee-project-row:hover{background:#fffcf8}
.employee-check{display:flex;gap:10px;align-items:center;min-width:0;flex:1}
.employee-check span{display:grid;gap:4px;min-width:0}
.employee-check b{font-size:12px;font-weight:650;color:#28364a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.employee-check small{font-size:11px;color:#8a95a4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.employee-primary{font-size:11px;color:#738296;display:flex;align-items:center;white-space:nowrap;gap:6px}
.employee-primary input,.employee-check input,.permission-tile input{accent-color:#FF6800;width:16px;height:16px;flex:0 0 16px}
.emp-note,.emp-help{font-size:11px;line-height:1.7;color:#8894a2;margin:10px 0}
.employee-save{border-top:1px solid #ebedf0;margin-top:19px;padding-top:16px;display:flex;justify-content:flex-end}
.employee-save button{padding:11px 24px}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:16px}
.permission-tile{border:1px solid #e7eaf0;border-radius:8px;display:flex;align-items:center;gap:9px;padding:13px 12px;font-size:12px;cursor:pointer;line-height:1.45;min-height:48px}
.permission-tile:has(input:checked){border-color:#ffd5b6;background:#fffaf6;color:#FF6800}
.employee-section-heading{font-weight:650;margin:18px 0 9px;font-size:13px;color:#223145;display:flex;justify-content:space-between;gap:9px}
.employee-section-heading small{font-size:11px;color:#8c96a1;font-weight:400}
.security-items{display:grid;gap:0}.security-items>div{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #eceef2;padding:17px 0}
.security-items>div:last-child{border-bottom:0}.security-items>div>span:first-child{display:grid;gap:5px}
.security-items b{font-size:13px;font-weight:650}.security-items small{font-size:11px;color:#8993a2}
.security-items button{font-size:12px;padding:8px 12px;flex-shrink:0}
.employee-add-form .twocol{gap:12px}
/* Stage controls: single quiet edit action and an overflow menu */
.stage-manager-row.modern-stage{border:1px solid #e8eaee;border-radius:8px;background:#fff;margin:7px 0;padding:9px 10px;min-height:44px;gap:8px;position:relative}
.stage-manager-row.modern-stage:hover{background:#fffaf6;border-color:#f6d6c0}
.stage-manager-row.dragging{opacity:.42;background:#fff0e4;border-style:dashed}
.stage-drag{display:grid;place-items:center;cursor:grab;color:#a8adb6;font-size:18px;min-width:22px;user-select:none}
.stage-manager-name{font-size:13px;font-weight:550;color:#2c3848;min-width:0;flex:1}
.stage-icon-btn{border:0;background:transparent;border-radius:6px;color:#9ba5b2;padding:7px;font-size:15px}
.stage-icon-btn:hover{background:#fff0e4;color:#FF6800}
.stage-more{position:relative;font-size:13px}.stage-more summary{list-style:none;cursor:pointer;border-radius:6px;color:#94a0af;padding:6px 9px;border:1px solid transparent}
.stage-more summary::-webkit-details-marker{display:none}.stage-more[open] summary,.stage-more summary:hover{border-color:#e9e9e9;background:#fafafa}
.stage-more-menu{z-index:10;position:absolute;right:0;top:100%;border:1px solid #e2e5ea;border-radius:9px;background:#fff;min-width:135px;display:grid;padding:5px;box-shadow:0 8px 22px #22222215}
.stage-more-menu button{border:0;background:transparent;color:#475568;text-align:left;font-size:12px;padding:9px 10px}
.stage-more-menu button:hover{background:#fff5ed}.stage-more-menu button:disabled{opacity:.3}
.stage-inline-input{width:min(210px,50%);padding:7px 9px;font-size:13px}.stage-inline-save,.stage-inline-cancel{font-size:11px;padding:6px 9px}
.stage-inline-save{background:#FF6800;color:#fff;border-color:#FF6800}
/* Keep genuine Duomi logo unmodified on every header and employee page */
.brand-img{object-fit:contain;object-position:left center}
@media(max-width:1100px){.employee-main{padding:24px!important}.employee-grid{grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:760px){.employee-grid{grid-template-columns:1fr}.employee-main{padding:18px!important}.employee-stats{gap:6px}.employee-stats>div{padding:12px 10px;display:grid;gap:3px}.employee-stats strong{font-size:20px}.employee-detail{padding:16px}.employee-compact-fields{grid-template-columns:1fr}.employee-project-row{align-items:flex-start;flex-wrap:wrap}.permission-grid{grid-template-columns:1fr}}

/* v0.8.7 final: registered Duomi brand palette, no generated logos. */
:root{--orange:#FF6800;--brand-orange:#FF6800;--brand-tint:#FFF3E8;--brand-border:#FFD6B8}
.brand-img{display:block;width:154px;height:64px;object-fit:contain;object-position:left center}
header{height:90px}
.brand span{display:none} /* original logo already contains name, tagline and contact information */
button.primary,.primary{background:var(--brand-orange);border-color:var(--brand-orange)}
.stage-inline-save{background:var(--brand-orange);border-color:var(--brand-orange)}
input[type=checkbox],input[type=radio]{accent-color:var(--brand-orange)}
.workspace aside button.side-link.active{color:var(--brand-orange);background:var(--brand-tint)}
.employee-tabs button.selected{color:var(--brand-orange);border-color:var(--brand-orange)}
.employee-row.chosen{background:var(--brand-tint);border-color:var(--brand-border)}
.employee-small-avatar,.employee-avatar{background:var(--brand-tint);color:var(--brand-orange)}
@media(max-width:800px){.brand-img{width:112px;height:54px}header{height:74px}}

/* v0.8.8 | employee visual system: original registered brand + clean wide workplace */
:root{--orange:#FF6800;--brand-orange:#FF6800;--paper:#F7F8FA;--ink:#1D2939;--muted:#687487;--line:#E5EAF0}
body{background:#F7F8FA;font-family:'Microsoft YaHei','PingFang SC',system-ui,sans-serif}
header{height:78px;padding:0 24px;background:#fff;box-shadow:0 1px 0 #E8ECF1;position:relative;z-index:2}
.brand-img{width:170px;height:67px;object-fit:contain;object-position:left center}
header .demo{font-size:11px}
.workspace{min-height:calc(100vh - 78px)}
.workspace>aside{background:#fff;border-right:1px solid #E7EBF1;width:212px;padding:34px 16px;min-height:calc(100vh - 78px)}
.side-title{padding:0 15px;color:#748095;font-size:12px;margin-bottom:18px;letter-spacing:.04em}
.side-link{display:block;width:100%;padding:13px 14px;text-align:left;border:0;border-radius:9px;font-size:13px;background:transparent;color:#2B3B4D;margin-bottom:5px;font-weight:500}
.side-link:hover{background:#FFF6EE}.side-link.active{background:#FFF0E6;color:#FF6800;font-weight:650}
.side-note{padding:0 15px}
.staff-workspace{align-items:stretch}.staff-dashboard{width:100%;max-width:none!important;padding:25px clamp(24px,3.4vw,64px) 48px!important}
.staff-breadcrumb{font-size:12px;color:#8A95A3;margin:2px 0 18px}.staff-breadcrumb span{color:#26364A;font-weight:600}
.staff-page-heading{margin-bottom:18px}.staff-page-heading h1{font-size:30px;font-weight:750;letter-spacing:-1px;margin:2px 0}.staff-page-heading .muted{font-size:12px;margin:3px 0}
.staff-page-heading>.primary{border-radius:8px;padding:11px 18px;font-size:13px}
.staff-selector-panel{background:#fff;border:1px solid #E8EBF1;border-radius:12px;padding:14px 18px;margin-bottom:16px}
.staff-selector-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-size:13px}
.staff-selector-head select{width:134px;font-size:12px;height:34px;background:#FFF;margin:0;padding:5px 10px;border-radius:7px}
.staff-selector-list{display:flex;flex-wrap:wrap;gap:10px}
.staff-selector{display:flex;gap:10px;align-items:center;border:1px solid #E4E9F0;padding:8px 12px;background:#fff;border-radius:9px;min-width:170px;text-align:left}
.staff-selector.chosen{border-color:#FFB681;background:#FFF7F0}.staff-selector .employee-small-avatar{width:32px;height:32px}
.staff-selector>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:2px}
.staff-selector b{font-size:12px}.staff-selector small{font-size:10px;color:#929CAB}
.staff-editor-full{display:grid;gap:16px}
.staff-overview{display:grid;grid-template-columns:1.05fr 1fr;gap:16px}
.staff-overview>section,.staff-panel{background:#fff;border:1px solid #E7EBF0;border-radius:12px;padding:18px 22px}
.panel-heading{color:#1D2939;font-size:15px;font-weight:720;margin-bottom:18px;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.panel-heading small{color:#8A96A5;font-weight:400;font-size:11px}
.staff-profile-grid{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.staff-profile-grid .employee-avatar{width:66px;height:66px;border-radius:50%;font-size:22px;margin-right:1px}
.staff-profile-item{display:grid;gap:5px;min-width:64px;align-items:start}.staff-profile-item small,.staff-work-metrics small{color:#79879A;font-size:11px}
.staff-profile-item strong{font-size:17px}.staff-profile-item .pill{align-self:start}
.staff-work-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.staff-work-metrics>div{background:#F7F8FA;border-radius:10px;padding:14px;display:grid;gap:9px}
.staff-work-metrics strong{font-size:26px;line-height:1.1;color:#202E41}.staff-work-metrics em{font-style:normal;font-size:12px;color:#8B96A4;font-weight:450}
.staff-work-metrics .metric-word{font-size:17px;padding:6px 0}
.staff-detail-form{display:grid;gap:16px}
.staff-identity .employee-compact-fields{margin:0;max-width:650px}
.staff-identity label{margin:0;display:block}
.staff-site-cards{max-height:none;overflow:visible;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.staff-site-cards .employee-project-row{min-height:85px;border-radius:10px;padding:14px;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;background:#FAFBFC}
.staff-site-cards .employee-check{width:100%;margin:0}.staff-site-cards .employee-check b{font-size:13px}
.staff-site-cards .employee-primary{margin-left:25px;font-size:11px;color:#8993A2}
.staff-switch-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.staff-switch-grid .permission-tile{border:1px solid #E8EBF1;border-radius:9px;min-height:62px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:14px;font-size:12px;gap:5px}
.staff-switch-grid .permission-tile:has(input:checked){color:#253348;background:#FFFAF6;border-color:#FFDDC6}
.staff-switch-grid .permission-tile input[type=checkbox]{-webkit-appearance:none;appearance:none;background:#CCD3DC;width:35px;height:20px;border-radius:20px;border:0;position:relative;cursor:pointer;flex:none;margin:0;transition:background .15s}
.staff-switch-grid .permission-tile input[type=checkbox]:before{content:'';width:14px;height:14px;background:white;border-radius:50%;position:absolute;top:3px;left:3px;transition:transform .15s;box-shadow:0 1px 3px #0002}
.staff-switch-grid .permission-tile input[type=checkbox]:checked{background:#FF6800}
.staff-switch-grid .permission-tile input[type=checkbox]:checked:before{transform:translateX(15px)}
.staff-account-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.staff-account-actions button{font-size:12px;padding:9px 13px}
.staff-editor-save{position:sticky;bottom:0;background:#fff;border:1px solid #E5EAF0;padding:13px 16px;display:flex;justify-content:space-between;align-items:center;border-radius:10px;gap:10px;z-index:5}
.staff-editor-save span{font-size:11px;color:#8994A3}
.staff-editor-save button{padding:11px 19px}
@media(max-width:1170px){.staff-overview{grid-template-columns:1fr}.staff-site-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-switch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:790px){.staff-dashboard{padding:18px!important}.staff-site-cards{grid-template-columns:1fr}.staff-switch-grid{grid-template-columns:1fr}.staff-profile-grid{justify-content:start}.staff-work-metrics>div{padding:10px}.staff-work-metrics strong{font-size:20px}.staff-editor-save{align-items:flex-start;flex-direction:column}.staff-overview>section,.staff-panel{padding:16px}}
/* DUOMI UI SYSTEM v0.9.0 — one token library for all screens */
:root{--orange:#FF6800;--brand-orange:#FF6800;--brand-tint:#FFF3E9;--brand-border:#FFD9BE;--paper:#F8F9FB;--ink:#18263A;--muted:#6C7889;--line:#E3E8EF;--panel:#FFFFFF;--danger:#C84C45;--shadow:0 16px 44px rgba(23,39,59,.10);color-scheme:light}
html{scrollbar-gutter:stable}body{background:var(--paper);color:var(--ink);font-family:'Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif;font-size:14px;line-height:1.65}
button,input,select,textarea{font-family:inherit;letter-spacing:0}
button,.button{transition:background .15s,border-color .15s,color .15s;min-height:37px;border-radius:9px;border:1px solid var(--line);box-shadow:none}
button:hover,.button:hover{background:#FFF7F1;border-color:#FFB889;color:var(--orange)}
button.primary,.primary{color:#fff;background:var(--orange);border-color:var(--orange);font-weight:600}
button.primary:hover,.primary:hover{background:#E85E00;border-color:#E85E00;color:white}
button:focus-visible,.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
button:disabled{cursor:not-allowed;opacity:.48}
input,select,textarea{background:#fff;border:1px solid #DBE2EB;border-radius:9px;color:var(--ink);padding:10px 13px;min-height:43px;box-shadow:none;font-size:13px}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,104,0,.10)}
input::placeholder,textarea::placeholder{color:#97A3B1}input[type=checkbox],input[type=radio]{accent-color:var(--orange);min-height:auto;cursor:pointer}
label{font-size:12px;font-weight:500;color:#37455A;line-height:1.5;margin:10px 0}label input,label select,label textarea{margin-top:8px}
header{position:relative;z-index:2;height:82px;padding:0 10px 0 14px;gap:16px;background:#fff;border-bottom:1px solid var(--line);box-shadow:none}
header .brand{display:flex;align-items:center;justify-content:flex-start;flex:0 0 184px;height:100%;margin:0;padding:0;line-height:1}
header .brand-img{display:block;width:137px;height:69px;margin:0;object-fit:contain;object-position:left center}
header .brand span{display:none}
header .demo{margin-left:auto;font-size:11px;color:#8A94A5}
header button.quiet{font-size:12px;color:#415064;padding:7px 11px;background:transparent}
.workspace{display:flex;align-items:stretch;min-height:calc(100vh - 143px);background:#F8F9FB}
.workspace>aside,.workspace>aside.duomi-nav{width:204px;min-width:204px;min-height:calc(100vh - 143px);flex-shrink:0;background:#fff;border-right:1px solid var(--line);padding:32px 12px}
.workspace>aside .side-title{padding:0 9px;margin:4px 0 24px;color:#7C8998;font-size:12px;font-weight:600}
.workspace>aside button.side-link{display:block;width:100%;min-height:44px;margin:3px 0 5px;padding:11px 13px;border:0;border-radius:9px;color:#4D5A6B;text-align:left;background:transparent;font-size:13px;font-weight:530}
.workspace>aside button.side-link:hover{background:#FFF7F0;color:#D85700}
.workspace>aside button.side-link.active{color:var(--orange);background:#FFF0E6;font-weight:700}
.workspace>aside .side-note{color:#8A97A6;margin-top:68px;font-size:11px;padding-left:11px;line-height:1.95}
.workspace>main,.workspace>main.employee-main{margin:0;flex:1;width:0;max-width:1440px;min-width:0;padding:34px clamp(22px,3.2vw,60px) 65px!important}
h1,.staff-page-heading h1{font-size:31px;line-height:1.3;font-weight:740;letter-spacing:-.9px;margin:8px 0 10px}h2{font-size:21px;font-weight:700;color:var(--ink)}h3{font-size:15px;font-weight:650}
.eyebrow,.staff-breadcrumb{color:var(--orange);font-size:11px;font-weight:700;letter-spacing:.10em;margin:0 0 13px}
.title-row{align-items:center;gap:20px}.title-row .muted{font-size:12px;color:#758294;margin:0 0 7px}
.actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:10px}.actions.admin-actions{gap:9px;margin:24px 0 20px}.actions.admin-actions button{height:40px;font-size:12px;padding:8px 14px}
.stats{border-block:1px solid var(--line);padding:21px 0;margin:18px 0 25px}.stats div{gap:16px;padding:0 24px}.stats strong{font-size:33px;font-weight:650}.stats span{font-size:12px}
.toolbar{margin:0 0 12px;gap:10px}.toolbar input,.toolbar select{height:46px;background:#fff}.toolbar select{min-width:155px}
.cards{gap:16px;grid-template-columns:repeat(auto-fill,minmax(315px,1fr))}.project,.log{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;box-shadow:none;transition:border-color .15s}.project:hover{border-color:#F0C4A7}.project h2{font-size:18px}
.cardtop,.stage{gap:12px}.pill{font-size:11px;background:#FFF0E6;color:var(--orange)}.pill.done{background:#E8F5EC;color:#23834C}
footer{background:#fff;border-top:1px solid var(--line);padding:21px 12px;font-size:11px;color:#8E99A7}
/* All modals, not only employee forms */
dialog:not(.photo-lightbox){width:min(780px,calc(100vw - 32px));max-height:min(90dvh,850px);border-radius:16px;border:1px solid #E4E9F0;padding:28px 31px 29px;background:#fff;box-shadow:var(--shadow);color:var(--ink);overflow:auto}
dialog:not(.photo-lightbox)::backdrop{background:rgba(18,26,38,.46);backdrop-filter:blur(2px)}
dialog:not(.photo-lightbox)>h2{font-size:21px;line-height:1.45;margin:3px 40px 18px 0}
dialog:not(.photo-lightbox)>h3{font-size:14px;margin-top:20px}
dialog:not(.photo-lightbox) .eyebrow{font-size:11px;margin:0 30px 6px 0}
dialog:not(.photo-lightbox) .muted{font-size:12px;color:#758293}
dialog:not(.photo-lightbox) .close{position:sticky;top:0;float:right;z-index:7;width:32px;height:32px;padding:0;line-height:28px;font-size:23px;color:#748194;background:#F7F9FB;border-radius:8px;border:1px solid #E5EAF0;margin:-2px -3px 0 9px}
dialog:not(.photo-lightbox) .close:hover{background:#FFF2E8;color:var(--orange)}
dialog:not(.photo-lightbox) form{font-size:13px;max-width:none}
dialog:not(.photo-lightbox) form .twocol{gap:12px 17px}
dialog:not(.photo-lightbox) form label{margin:5px 0 8px;display:block;font-weight:550}
dialog:not(.photo-lightbox) form label input:not([type=checkbox]),dialog:not(.photo-lightbox) form label select,dialog:not(.photo-lightbox) form label textarea{width:100%;margin-top:7px}
dialog:not(.photo-lightbox) form button.primary[type=submit],dialog:not(.photo-lightbox) form button.primary:not([type]){margin-top:14px;padding:11px 24px}
dialog:not(.photo-lightbox) .upload{border-radius:10px;background:#FFF8F2;border:1px dashed #F4C5A2}
dialog:not(.photo-lightbox) .upload input{background:transparent;border:0}
dialog:not(.photo-lightbox) .manage-divider{margin:24px 0;border-color:var(--line)}
dialog:not(.photo-lightbox) .stage-manager-row{border-bottom:1px solid #EEF1F5;padding:11px 5px}
dialog:not(.photo-lightbox) .stage-more-menu{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}
dialog:not(.photo-lightbox) .sticky{background:#fff}
/* Responsive/stable staff center */
.staff-workspace{align-items:stretch}.staff-dashboard{max-width:none!important}
.staff-page-heading{margin:0 0 22px}.staff-page-heading>.primary{white-space:nowrap}
.staff-body-grid{display:grid;grid-template-columns:235px minmax(0,1fr);gap:16px;align-items:start}
.staff-body-grid .staff-selector-panel{position:sticky;top:16px;min-height:445px;margin:0;border-radius:12px;padding:17px 13px}
.staff-body-grid .staff-selector-list{display:flex;flex-direction:column;gap:8px}
.staff-body-grid .staff-selector{width:100%;min-width:0;padding:10px;text-align:left}
.staff-body-grid .staff-selector-head{padding:0 2px}
.staff-body-grid .staff-selector-head strong{font-size:13px}
.staff-body-grid .staff-selector-head select{width:112px}
.staff-editor-full{min-width:0;display:grid;gap:13px}
.staff-overview{grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr);gap:12px}
.staff-overview>section,.staff-panel{background:#fff;border:1px solid var(--line);box-shadow:none;padding:18px;border-radius:12px}
.staff-overview .panel-heading{margin:0 0 16px;font-size:14px}
.staff-profile-grid{gap:14px}.staff-profile-grid .employee-avatar{width:55px;height:55px;font-size:22px}
.staff-profile-item strong{font-size:15px}.staff-work-metrics{gap:7px}.staff-work-metrics>div{padding:11px 9px;border-radius:8px}
.staff-work-metrics strong{font-size:22px}.staff-work-metrics .metric-word{font-size:15px}
.staff-detail-form{display:grid;gap:0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.staff-detail-form>.staff-panel{border:0;border-bottom:1px solid #E7EBF0;border-radius:0;padding:19px 22px;margin:0}
.staff-detail-form .staff-identity{padding-bottom:13px}
.staff-detail-form .staff-identity .panel-heading{margin-bottom:5px}
.staff-detail-form .staff-identity .employee-compact-fields{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.staff-tabs{margin:0 22px;display:flex;justify-content:flex-start;gap:22px;border-bottom:1px solid #E4E8EF}
.staff-tabs .staff-tab{border:0;border-radius:0;background:transparent;padding:12px 3px;color:#778498;font-size:13px;border-bottom:2px solid transparent;margin-bottom:-1px;min-height:40px}
.staff-tabs .staff-tab:hover{background:transparent;color:var(--orange)}
.staff-tabs .staff-tab.selected{color:var(--orange);font-weight:680;border-bottom-color:var(--orange)}
.staff-detail-form>.staff-panel.staff-pane{min-height:365px;padding-top:21px;border-bottom:0}
.staff-pane[hidden]{display:none!important}
.staff-pane .panel-heading{margin-bottom:18px;font-size:14px}
.staff-site-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.staff-site-cards .employee-project-row{min-height:88px;gap:6px}
.staff-switch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.staff-switch-grid .permission-tile{min-height:61px;background:#fff}
.staff-switch-grid .permission-tile:has(input:checked){background:#FFF9F5}
.staff-editor-save{position:static;border:0;border-top:1px solid #E4E8EF;border-radius:0;background:#fff;padding:15px 20px;box-shadow:none;z-index:1}
.staff-account-actions{justify-content:flex-start;align-items:center}
.employee-project-row label{display:flex;align-items:center;margin:0}
.employee-project-row input[type=checkbox]{width:auto;min-height:auto}
/* Date component, replaces OS calendar inside every modal */
.duomi-date-field{position:relative;display:block;margin-top:7px}
.duomi-date-field>input[type=hidden]{display:none!important}
dialog:not(.photo-lightbox) .duomi-date-trigger{display:flex;width:100%;justify-content:space-between;align-items:center;background:#fff;border:1px solid #DBE2EB;border-radius:9px;padding:8px 12px;min-height:43px;color:#23354A;text-align:left;font-size:13px}
.duomi-date-trigger:hover{border-color:var(--orange);background:#fff}
.duomi-calendar-icon{font-size:19px;line-height:1;color:#8996A6}
.duomi-calendar{position:absolute;top:calc(100% + 7px);left:0;z-index:90;width:322px;max-width:calc(100vw - 60px);padding:14px 15px 12px;background:#fff;border:1px solid #E3E9F0;border-radius:13px;box-shadow:0 14px 30px rgba(20,38,58,.14)}
.duomi-calendar[hidden]{display:none!important}
.duomi-calendar-head{display:flex;justify-content:space-between;align-items:center;padding:3px 3px 11px}
.duomi-calendar-head>div:first-child{display:grid;gap:1px}.duomi-calendar-caption{font-size:10px;color:#97A2B0}.duomi-calendar-head strong{font-size:16px;color:#1D2B3D}
.duomi-cal-arrows{display:flex;gap:4px}.duomi-cal-arrows button{width:30px;height:30px;min-height:30px;padding:0;border-radius:7px;color:#59677A;background:#F7F8FA;font-size:23px;line-height:24px}
.duomi-calendar-weeks,.duomi-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.duomi-calendar-weeks{padding:9px 0 6px;border-top:1px solid #EEF0F3}.duomi-calendar-weeks span{font-size:11px;color:#A1ABB8}
.duomi-calendar-days button{height:34px;min-height:34px;aspect-ratio:1;padding:0;border:0;border-radius:8px;font-size:12px;background:transparent;color:#28364B}
.duomi-calendar-days button:hover{background:#FFF0E6;color:var(--orange)}
.duomi-calendar-days button.chosen{color:#fff;background:var(--orange);font-weight:750}
.duomi-calendar-days button.is-today:not(.chosen){outline:1px solid #FFA267;outline-offset:-2px;color:var(--orange)}
.duomi-calendar-blank{height:34px}.duomi-calendar-foot{margin-top:10px;padding:9px 3px 0;border-top:1px solid #EFF1F4;display:flex;justify-content:space-between}
.duomi-calendar-foot button{border:0;color:var(--orange);background:transparent;font-size:11px;padding:5px 7px;min-height:29px}
.duomi-calendar-foot button:hover{background:#FFF5ED}
@media(max-width:1280px){.staff-overview{grid-template-columns:1fr}.staff-profile-grid{justify-content:flex-start}.staff-work-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1060px){.staff-body-grid{grid-template-columns:200px minmax(0,1fr)}.staff-site-cards{grid-template-columns:1fr}}
@media(max-width:800px){header{height:70px;padding:0 13px}.brand-img,header .brand-img{height:56px;width:120px}header .brand{flex-basis:128px}.workspace>aside{display:none}.workspace>main,.workspace>main.employee-main{width:100%;padding:25px 16px 45px!important}.staff-body-grid{grid-template-columns:1fr;gap:12px}.staff-body-grid .staff-selector-panel{position:static;min-height:auto}.staff-body-grid .staff-selector-list{flex-direction:row;overflow-x:auto;flex-wrap:nowrap}.staff-body-grid .staff-selector{min-width:150px}.staff-overview{grid-template-columns:1fr}.staff-detail-form .staff-identity .employee-compact-fields{grid-template-columns:1fr}.staff-site-cards,.staff-switch-grid{grid-template-columns:1fr}.staff-detail-form>.staff-panel.staff-pane{min-height:320px}.staff-tabs{gap:15px}.staff-editor-save{display:flex;align-items:stretch;flex-direction:column}.stats div{padding:0 9px}.stats strong{font-size:28px}}
@media(max-width:560px){dialog:not(.photo-lightbox){padding:19px 16px;border-radius:13px}.twocol{grid-template-columns:1fr;gap:4px}.staff-work-metrics{gap:5px}.staff-work-metrics>div{padding:8px 7px}.staff-work-metrics strong{font-size:18px}.staff-page-heading h1{font-size:27px}.staff-page-heading>.primary{font-size:11px;padding:8px 10px}.duomi-calendar{width:290px;max-width:calc(100vw - 70px)}.actions.admin-actions{gap:6px}.actions.admin-actions button{padding:8px 10px}}

.duomi-calendar{position:fixed!important;left:0;top:0;bottom:auto!important;right:auto!important;z-index:300}

/* v0.9.1 shared workspace design */
:root{--brand-orange:#FF6800;--orange:#FF6800;--ink:#1d2939;--muted:#697586;--line:#e5e9ef;--paper:#f5f7fa;scrollbar-gutter:stable}
body{font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper)}
button,a.button{transition:background-color .12s,border-color .12s;color:var(--ink)}
button{caret-color:transparent;user-select:none;-webkit-user-select:none;cursor:pointer}
button:disabled{cursor:not-allowed}button.primary,a.primary{color:white;background:var(--orange);border-color:var(--orange)}
button:hover{background:#fff5ed;border-color:#ffb47f}.primary:hover{background:#e75e00}
button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none;box-shadow:none}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #e75e00;outline-offset:3px;box-shadow:none}
input,select,textarea{background:white}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--orange);outline-offset:1px}
[hidden]{display:none!important}h1{font-size:30px;font-weight:700;letter-spacing:0}h2{font-size:18px;font-weight:650}h3{font-weight:650}
header{height:92px;padding:10px 28px;gap:24px;background:white;position:relative;z-index:10}
header .brand{display:flex;align-items:center;flex:0 0 180px;letter-spacing:0;width:180px}
header .brand-img{display:block;width:165px;height:70px;object-fit:contain;object-position:center;filter:none;mix-blend-mode:normal}
header .brand>span{display:none}.header-context{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--muted)}.header-context strong{color:var(--ink)}.breadcrumb-divider{margin:0 12px;color:#bdc5ce}.nav-toggle{display:none}
.workspace{align-items:stretch;min-height:calc(100vh - 140px)}
.workspace>.duomi-nav{display:flex;flex-direction:column;gap:24px;width:232px;padding:26px 18px;background:white;border-right:1px solid var(--line);flex-shrink:0}
.nav-group{display:grid;gap:6px}.nav-caption{font-size:11px;color:#8b97a6;letter-spacing:1px;padding:0 14px 6px}.workspace .side-link{margin:0;display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;background:transparent;color:#475467;border-radius:9px;min-height:46px;padding:12px 14px;font-size:14px}
.workspace>.duomi-nav button.side-link{display:flex;align-items:center;gap:12px;margin:0;min-height:46px;font-size:14px;padding:12px 14px}.workspace>.duomi-nav button.side-link:hover{background:#fff5ed;color:#d95700}.workspace>.duomi-nav button.side-link.active{background:var(--orange);color:white;box-shadow:none}.nav-symbol{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px}.nav-symbol svg{width:21px;height:21px}.side-note{display:grid;gap:4px;margin-top:auto;border-top:1px solid var(--line);padding:22px 14px 0;line-height:1.6}.side-note strong{color:#344054}.side-note span,.side-note small{font-size:12px}
.workspace>main,.workspace>main.employee-main{width:calc(100% - 232px);max-width:1600px;padding:30px 32px 52px!important;margin:0 auto;min-height:600px}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading h1{margin:6px 0}.page-heading p{margin:0;font-size:14px}
.overview-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px}.overview-stats>button{display:grid;gap:12px;padding:24px;text-align:left;border-radius:12px;background:white;border:1px solid var(--line)}.overview-stats small{font-size:13px}.overview-stats strong{font-size:34px;line-height:1.2}.overview-stats em{font-size:13px;font-weight:400;font-style:normal;color:var(--muted);margin-left:10px}.overview-stats span{font-size:12px;color:var(--muted)}
.work-panel{background:white;border:1px solid var(--line);border-radius:12px;padding:22px;margin-bottom:22px;min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.section-heading h2{margin:0}.section-heading button{font-size:12px;border:0;background:none;color:var(--orange)}
.data-table-wrap{max-width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.data-table th{font-size:12px;font-weight:500;color:var(--muted);background:#f8fafc;padding:13px 14px;white-space:nowrap}.data-table td{padding:17px 14px;border-bottom:1px solid #eef1f5;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table td>small{display:block;margin-top:4px}.data-table .actions{justify-content:flex-start;flex-wrap:wrap}.data-table button{padding:7px 10px;min-height:34px;font-size:12px;white-space:nowrap}
.recent-record{width:100%;display:grid;grid-template-columns:minmax(140px,1fr) 2fr auto;align-items:center;text-align:left;gap:20px;border:0;border-top:1px solid #eef1f5;background:white;padding:16px 0;border-radius:0;font-size:13px}.recent-record span:first-child{display:grid;gap:5px}.recent-record>span:nth-child(2){color:var(--muted)}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.settings-grid .work-panel{margin:0}.settings-grid p{font-size:13px}.settings-grid button{margin-top:16px}
.project,.log{background:white;border-color:var(--line);box-shadow:none}.cards{gap:18px}.stats{background:white;border:1px solid var(--line);border-radius:12px;padding:22px}.stats div{gap:12px}.toolbar{margin-bottom:18px}.toolbar input{min-width:0}.admin-actions{flex-wrap:wrap;justify-content:flex-start;margin:20px 0}.staff-overview>section,.staff-panel{box-shadow:none}.staff-body-grid .staff-selector-panel{min-height:360px}.staff-breadcrumb{display:none}.staff-detail-form>.staff-panel.staff-pane{min-height:380px}.permission-tile{cursor:pointer}.permission-tile input{cursor:pointer}
dialog:not(.photo-lightbox){width:min(920px,calc(100vw - 40px));max-height:calc(100dvh - 48px);border:1px solid #dfe5ec;border-radius:14px;padding:32px;background:white;color:var(--ink);box-shadow:0 24px 80px #152a442b;overflow:auto;scrollbar-gutter:stable}
dialog::backdrop{background:#15223866}dialog>h2{padding-right:45px;margin-top:0}dialog .close{position:sticky;top:0;float:right;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-height:36px;padding:0;margin:-14px -12px 0 12px;line-height:1;font-size:25px;font-weight:400;border:1px solid transparent;border-radius:8px;background:#f3f5f8;color:#667085;cursor:pointer;caret-color:transparent;z-index:20;user-select:none;flex-shrink:0}dialog .close:hover{background:#fff0e5;color:#d95700;border-color:#ffd6b5}dialog .close>span{pointer-events:none;caret-color:transparent}
.photo-lightbox{padding:12px;border:0;border-radius:12px}.sticky{background:white;border-top:1px solid var(--line)}footer{font-size:11px;padding:15px;color:#98a2b3;border-top:1px solid var(--line);background:white;text-align:center}
.skip-link{position:absolute;left:240px;top:-100px;background:white;padding:8px;z-index:200}.skip-link:focus{top:8px}
.login{max-width:1000px;padding-top:54px}.login form{background:white;border:1px solid var(--line);box-shadow:0 8px 32px #23364c08;border-radius:14px}.owner-refresh{padding-top:32px}.owner .log{margin-bottom:18px}.audit-search-label{max-width:520px;margin-top:0}
@media(min-width:1500px){.workspace>main{padding-inline:42px!important}}
@media(max-width:1100px){.workspace>main,.workspace>main.employee-main{padding:24px!important}.workspace>.duomi-nav{width:200px;padding-inline:12px}.header-context{font-size:12px}.staff-body-grid{grid-template-columns:180px minmax(0,1fr)}.stats div{flex-wrap:wrap}.data-table th,.data-table td{padding-inline:10px}}
@media(max-width:800px){header{height:82px;padding:8px 16px;gap:10px}header .brand{flex:0 0 112px;width:112px}header .brand-img{width:108px;height:65px}.header-context>span{display:none}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;padding:6px;width:40px;height:40px}.workspace{display:block}.workspace>.duomi-nav{display:none;width:100%;padding:18px;border-bottom:1px solid var(--line);gap:14px}.nav-open .workspace>.duomi-nav{display:flex}.nav-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.nav-caption{grid-column:1/-1}.side-note{display:none}.workspace>main,.workspace>main.employee-main{width:100%;padding:24px 16px 40px!important}.page-heading{align-items:flex-start}.page-heading h1{font-size:27px}.overview-stats{gap:9px}.overview-stats>button{padding:15px 12px;gap:10px}.overview-stats strong{font-size:29px}.overview-stats small{font-size:12px}.work-panel{padding:16px}.settings-grid{grid-template-columns:1fr}.recent-record{grid-template-columns:1fr auto}.recent-record>span:nth-child(2){grid-row:2;grid-column:1/-1}.staff-body-grid{grid-template-columns:1fr}.staff-detail-form>.staff-panel.staff-pane{min-height:340px}.skip-link{left:15px}header .demo{font-size:11px}header .quiet{font-size:12px;padding:8px}.page-heading>.actions{flex-shrink:0}.page-heading p{font-size:12px}.data-table{min-width:640px}}
@media(max-width:480px){.overview-stats>button{padding:13px 9px}.overview-stats span{font-size:10px}.overview-stats strong{font-size:26px}.overview-stats em{margin-left:4px;font-size:11px}.section-heading{align-items:flex-start}.section-heading .hint{font-size:10px}.page-heading{flex-wrap:wrap}dialog:not(.photo-lightbox){width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:24px 16px}dialog .close{margin:-10px -4px 0 8px}.construction-summary{gap:8px}.stats div{padding-inline:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:640px){.data-table{min-width:0;display:block}.data-table thead{display:none}.data-table tbody{display:grid;gap:12px}.data-table tr{display:grid;grid-template-columns:1fr auto;gap:10px;padding:15px 0;border-bottom:1px solid var(--line)}.data-table td{padding:0;border:0;display:block;white-space:normal}.data-table td:first-child{grid-column:1/-1}.data-table td:nth-child(3){font-size:12px;color:var(--muted)}.data-table td:nth-child(3)::before{content:'负责人：'}.data-table td:nth-child(4){grid-column:1/-1;color:var(--muted);font-size:12px}.data-table td:last-child{grid-column:1/-1;padding-top:5px}.data-table td:last-child .actions{gap:10px}.data-table td:last-child button{flex:1;min-height:40px}.data-table td:first-child strong{font-size:15px}.data-table tr:last-child{border-bottom:0}}
@media(min-width:801px) and (max-width:1100px){.staff-body-grid .staff-selector-head{display:grid;gap:8px}.staff-body-grid .staff-selector-head select{width:100%}.staff-body-grid .staff-selector-head strong{white-space:nowrap}}
.permission-tile:has(input[value="issues"]){display:none}

/* v0.9.2: one shared desktop column for the brand and main navigation. */
@media(min-width:801px){
 body.staff-session>header{padding:0 28px 0 0;gap:0;height:92px;align-items:center}
 body.staff-session>header>.brand{flex:0 0 204px;width:204px;min-width:204px;height:91px;align-self:stretch;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--line);padding:0;margin:0}
 body.staff-session>header .brand-img{width:146px;height:76px;object-fit:contain;object-position:center;margin:0;display:block}
 body.staff-session .header-context{padding-left:32px}
 body.staff-session .workspace>aside.duomi-nav{width:204px;min-width:204px;max-width:204px;flex:0 0 204px}
 body.staff-session .workspace>main,body.staff-session .workspace>main.employee-main{width:calc(100% - 204px)}
}
@media(min-width:801px) and (max-width:1100px){body.staff-session .header-context{padding-left:24px}}
@media(min-width:1500px){body.staff-session .header-context{padding-left:42px}}

/* v0.9.4: compact stage editing and clear project identity. */
.modern-stage .stage-name-editor{display:flex;align-items:center;gap:7px;min-width:0;flex:1}
.modern-stage .stage-manager-name{flex:0 1 auto;min-width:0;overflow-wrap:anywhere}
.modern-stage .stage-icon-btn{flex:0 0 32px;width:32px;min-height:32px;padding:5px;margin:0}
.modern-stage .stage-more{margin-left:auto;flex:0 0 auto}
.stage-name-editor:has(.stage-inline-input)>.stage-icon-btn{display:none}
.stage-name-editor:has(.stage-inline-input) .stage-manager-name{flex:1;display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.stage-inline-input{min-width:120px;flex:1}.template-feedback{padding:12px;background:#ecf8ef;color:#2a6940;border-radius:8px;font-size:12px;overflow-wrap:anywhere}
.newproject-template{border:1px solid var(--line);background:#f8fafc;padding:16px;border-radius:10px;margin:20px 0}.newproject-template>strong{font-size:13px}.template-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.template-chips>span{display:flex;gap:6px;align-items:center;font-size:12px;padding:6px 9px;border:1px solid #e4e9ef;background:white;border-radius:7px}.template-chips small{color:var(--orange)}
.project .cardtop{flex-wrap:wrap;gap:8px}.project .project-number{letter-spacing:0;font-size:11px;white-space:nowrap;color:#697586}.project-start-date{font-size:12px;color:var(--muted);margin:14px 0 5px}.project-start-date strong{color:#344054;font-weight:500}
.toolbar #project-sort{width:190px;flex:0 0 auto}.toolbar #filter{width:175px;flex:0 0 auto}
@media(max-width:1100px){.toolbar:has(#project-sort){flex-wrap:wrap}.toolbar:has(#project-sort)>input{flex:1 0 100%}.toolbar #project-sort,.toolbar #filter{flex:1;width:auto;min-width:0}}
@media(max-width:480px){.modern-stage .stage-name-editor{gap:3px}.stage-inline-input{min-width:100px}}

/* v0.9.4: compact stage editing and clear project identity. */
.modern-stage .stage-name-editor{display:flex;align-items:center;gap:7px;min-width:0;flex:1}
.modern-stage .stage-manager-name{flex:0 1 auto;min-width:0;overflow-wrap:anywhere}
.modern-stage .stage-icon-btn{flex:0 0 32px;width:32px;min-height:32px;padding:5px;margin:0}
.modern-stage .stage-more{margin-left:auto;flex:0 0 auto}
.stage-name-editor:has(.stage-inline-input)>.stage-icon-btn{display:none}
.stage-name-editor:has(.stage-inline-input) .stage-manager-name{flex:1;display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.stage-inline-input{min-width:120px;flex:1}.template-feedback{padding:12px;background:#ecf8ef;color:#2a6940;border-radius:8px;font-size:12px;overflow-wrap:anywhere}
.newproject-template{border:1px solid var(--line);background:#f8fafc;padding:16px;border-radius:10px;margin:20px 0}.newproject-template>strong{font-size:13px}.template-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.template-chips>span{display:flex;gap:6px;align-items:center;font-size:12px;padding:6px 9px;border:1px solid #e4e9ef;background:white;border-radius:7px}.template-chips small{color:var(--orange)}
.project .cardtop{flex-wrap:wrap;gap:8px}.project .project-number{letter-spacing:0;font-size:11px;white-space:nowrap;color:#697586}.project-start-date{font-size:12px;color:var(--muted);margin:14px 0 5px}.project-start-date strong{color:#344054;font-weight:500}
.toolbar #project-sort{width:190px;flex:0 0 auto}.toolbar #filter{width:175px;flex:0 0 auto}
@media(max-width:1100px){.toolbar:has(#project-sort){flex-wrap:wrap}.toolbar:has(#project-sort)>input{flex:1 0 100%}.toolbar #project-sort,.toolbar #filter{flex:1;width:auto;min-width:0}}
@media(max-width:480px){.modern-stage .stage-name-editor{gap:3px}.stage-inline-input{min-width:100px}}

/* v0.9.5 common navigation sizing and alignment. */
body.staff-session .workspace>.duomi-nav button.side-link{display:grid;grid-template-columns:26px 4em;justify-content:center;align-items:center;column-gap:12px;min-height:52px;padding:12px 10px;font-size:16px;line-height:24px;text-align:left;font-weight:500}
body.staff-session .workspace>.duomi-nav button.side-link.active{font-weight:650}
body.staff-session .nav-symbol{display:flex;width:26px;height:26px;align-items:center;justify-content:center}
body.staff-session .nav-symbol svg{width:24px;height:24px}
.nav-label{white-space:nowrap;line-height:24px}.nav-group{gap:7px}.nav-caption{font-size:12px;padding-bottom:7px}
.toolbar #filter{min-width:150px}.admin-actions:empty{display:none}
/* A project deletion confirmation that preserves the underlying edit form. */
dialog.delete-project-dialog{width:min(500px,calc(100vw - 32px));padding:30px!important;border-radius:16px;max-height:calc(100dvh - 32px)}
.delete-project-dialog .delete-symbol{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#fff0ed;color:#b73a2f;font-size:26px;font-weight:700;margin-bottom:18px}
.delete-project-dialog h2{font-size:24px;margin:0 0 10px}.delete-project-dialog #delete-project-description{font-size:13px;line-height:1.85;color:#667085;margin:0 0 20px}
.delete-project-summary{display:grid;gap:6px;padding:16px;background:#f7f8fa;border:1px solid #e7eaef;border-radius:10px;overflow-wrap:anywhere}.delete-project-summary strong{font-size:16px;color:#1d2939}.delete-project-summary span,.delete-project-summary small{font-size:12px;color:#667085}
.delete-project-dialog form label{margin:22px 0 0;font-size:13px}.delete-project-dialog input{margin-top:9px;background:white}.delete-project-dialog #delete-project-error{color:#b42318;font-size:12px;min-height:20px;margin:7px 0 15px}
.delete-project-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.delete-project-actions button{min-height:44px;font-size:13px}.delete-project-actions .confirm-project-deletion{background:#b9382d;border-color:#b9382d;color:white}.confirm-project-deletion:disabled{background:#eedfdd;border-color:#eedfdd;color:#98645f;opacity:1}
/* Client archive: a wider composition, quieter surfaces, clear typography. */
body.owner-surface{background:#f6f7f9;color:#202c3a}body.owner-surface>header{padding-inline:max(28px,calc((100vw - 1160px)/2));height:94px;gap:24px}body.owner-surface>header .brand{flex:0 0 130px;width:130px}body.owner-surface>header .brand-img{width:116px;height:78px}body.owner-surface>header .demo{font-size:12px;color:#778393}
body.owner-surface>header .quiet{font-size:13px}body.owner-surface footer{font-size:12px;color:#8893a1;padding:22px}
.client-eyebrow{font-size:11px;color:#d95b08;letter-spacing:2px;font-weight:650;margin:0 0 16px}.client-card-kicker{font-size:12px;letter-spacing:1px;color:#7a8592;margin:0 0 8px}
.client-login{max-width:1090px;min-height:calc(100dvh - 156px);padding:80px 32px;display:grid;grid-template-columns:1fr 420px;align-items:center;gap:70px;margin:auto}
.client-introduction h1{font-size:46px;line-height:1.45;letter-spacing:1px;font-weight:650;margin:20px 0 24px}.client-intro-copy{color:#748090;font-size:15px;line-height:2}.client-intro-tags{display:flex;gap:0;margin-top:38px;color:#7c8794;font-size:12px}.client-intro-tags span{padding:0 20px;border-left:1px solid #dce2e9}.client-intro-tags span:first-child{padding-left:0;border:0}
.client-login-card{width:100%;max-width:420px;border:1px solid #e3e7ed;border-radius:17px;padding:34px;background:white;box-shadow:0 16px 50px #1d2f4610;position:relative}
.client-login-card::before{content:'';position:absolute;top:0;left:34px;width:42px;height:3px;background:#ff6800}.client-login-card h2{font-size:26px;letter-spacing:2px;margin:8px 0 12px}.client-login-card>p.muted{font-size:13px;line-height:1.9;margin-bottom:26px}.client-login-card label{font-size:13px;margin-bottom:20px}.client-login-card input{padding:13px 14px;background:white;min-height:47px}.client-login-card>.primary{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:46px;padding:12px 16px;font-size:14px}.client-login-card #error{font-size:12px;margin-bottom:0}.client-login-help{font-size:11px;text-align:center;color:#8c96a2;margin-top:20px;margin-bottom:0}.client-login-notice{font-size:13px;color:#b34c10}
.client-archive{max-width:1200px;width:100%;padding:40px 32px 64px;min-height:calc(100dvh - 160px)}
.client-project-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:36px;padding:34px 36px;background:white;border:1px solid #e5e8ed;border-radius:16px;position:relative;overflow:hidden}
.client-project-hero::before{content:'';position:absolute;top:34px;bottom:34px;left:0;width:3px;background:#ff6800}.client-project-heading{min-width:0}.client-project-heading .client-eyebrow{margin-bottom:17px}.client-title-line{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.client-title-line h1{font-size:37px;font-weight:650;letter-spacing:.5px;margin:0;line-height:1.4;overflow-wrap:anywhere}.client-project-address{font-size:14px;color:#748091;line-height:1.9;margin:15px 0 10px}.client-project-number{font-size:11px;letter-spacing:1px;color:#98a0aa}
.client-project-status{display:inline-flex;align-items:center;gap:7px;font-size:12px;padding:5px 10px;border-radius:6px;color:#ba4c09;background:#fff3e9;white-space:nowrap}.client-project-status::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}.client-project-status.complete{color:#2e7a59;background:#eaf5ef}.client-project-status.paused{color:#7a6c46;background:#f4f0e7}
.client-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:center;gap:20px;border-left:1px solid #e8ecf1;padding-left:32px}.client-facts>div{display:grid;gap:10px;align-content:center}.client-facts span{font-size:12px;color:#85909d}.client-facts strong{font-size:20px;font-weight:600;white-space:nowrap;color:#27374a;font-variant-numeric:tabular-nums}.client-facts small{font-size:13px;font-weight:400;margin-left:5px;color:#7b8796}
.client-journey{margin-top:24px;padding:30px 32px;background:white;border:1px solid #e5e8ed;border-radius:16px}.client-journey-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.client-journey-heading h2{font-size:23px;font-weight:600;letter-spacing:.5px;margin:4px 0 0}.client-current-state{display:grid;gap:4px;text-align:right;min-width:100px}.client-current-state>span{font-size:13px;color:#7d8998}.client-current-state strong{font-size:23px;color:#e0610c;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.client-progress-caption{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#8893a0;border-top:1px solid #edf0f4;margin-top:25px;padding-top:18px}
.journey-steps{display:flex;list-style:none;overflow-x:auto;overscroll-behavior-x:contain;padding:8px 0 12px;margin:22px -4px 0;scrollbar-width:thin;scrollbar-color:#d6dce4 transparent;scroll-padding:12px;gap:0}
.journey-steps>li{flex:1 0 138px;min-width:0;position:relative}.journey-steps>li::after{content:'';position:absolute;top:21px;left:calc(50% + 25px);width:calc(100% - 50px);height:1px;background:#dfe4eb}.journey-steps>li:last-child::after{display:none}.journey-steps>li.finished::after{background:#99beab}
.journey-stage{width:100%;display:grid;justify-items:center;align-content:start;gap:9px;padding:0 10px;border:0;background:transparent;border-radius:0;position:relative;z-index:1;color:#758292;min-height:151px}.journey-stage:hover{background:transparent;color:#d95b08}.journey-stage>strong{font-size:15px;font-weight:550;line-height:1.55;max-width:160px;overflow-wrap:anywhere}.journey-stage>small{font-size:11px;color:#99a2ae;line-height:1.4}.journey-node{width:42px;height:42px;display:grid;place-items:center;background:#fff;border:1px solid #d8dfe7;border-radius:50%;font-size:13px;font-weight:500;font-variant-numeric:tabular-nums;margin-bottom:6px;color:#98a3b0}.journey-stage-state{font-size:13px;color:#8c97a5}.journey-steps>.current .journey-node{color:white;background:#ff6800;border:4px solid #fff;outline:1px solid #ffb280;box-shadow:0 0 0 4px #fff5eb;font-weight:650}.journey-steps>.current .journey-stage>strong,.journey-steps>.current .journey-stage-state{color:#d85a08;font-weight:650}.journey-steps>.finished .journey-node{background:#eaf5ef;border-color:#c7e1d3;color:#2d7958;font-size:17px}.journey-steps>.finished .journey-stage-state{color:#3c8060}
.journey-scroll-hint{display:none}.client-tabs{display:flex;gap:32px;margin:30px 0 0;border-bottom:1px solid #dfe5ed;overflow-x:auto}.client-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;padding:14px 2px;font-size:15px;color:#7d8795;white-space:nowrap;font-weight:500;margin-bottom:-1px;min-height:51px;display:flex;align-items:center;gap:8px}.client-tabs button:hover{background:transparent;color:#d95b08}.client-tabs button.selected{color:#d95b08;border-bottom-color:#ff6800;font-weight:650;background:transparent}.client-tabs button>span{font-size:10px;padding:1px 6px;background:#e8ecf1;color:#82909f;border-radius:8px}.client-tabs button.selected>span{background:#ffede0;color:#c75b15}
.client-section{padding-top:28px;min-height:280px}.client-section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.client-section-heading h2{font-size:24px;line-height:1.4;margin:0;font-weight:600}.client-section-heading p{font-size:13px;color:#83909e;margin:9px 0 0;line-height:1.8}.client-section-count{font-size:12px;color:#8d98a5;white-space:nowrap}
.client-log-list{display:grid;gap:20px}.client-log-list .log{padding:26px 28px;border:1px solid #e5e8ed;border-radius:13px;background:white;margin:0;scroll-margin-top:25px}.client-log-list .logdate{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:#8b96a4}.client-log-list .log h3{font-size:18px;margin-top:20px}.client-log-list .prose{line-height:1.95;color:#465365;font-size:14px}.client-log-list .twocol{border-top:1px solid #eef0f4;margin-top:20px;padding-top:15px;gap:25px}.client-log-list .twocol p{margin:8px 0}.client-log-list .empty,.client-empty{display:grid;justify-items:center;align-content:center;text-align:center;gap:10px;min-height:190px;padding:35px 20px;background:#fff;border:1px solid #e6eaf0;border-radius:13px;color:#8c97a5;font-size:13px}.client-empty strong{font-size:15px;color:#6e7e90;font-weight:500}.client-empty p{margin:0;line-height:1.9}.empty-line{display:block;width:28px;height:2px;background:#edcdb7;margin-bottom:8px}.client-archive .gallery{gap:15px}.client-archive .gallery>a,.client-archive .gallery>video{border:1px solid #e2e7ee;border-radius:11px;overflow:hidden;background:white}.client-archive .gallery img{aspect-ratio:4/3;object-fit:cover;display:block;width:100%}
.concierge-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:40px;background:white;border:1px solid #e5e8ed;border-radius:14px;padding:34px}.concierge-identity{display:flex;align-items:center;gap:24px;min-width:0}.concierge-monogram{width:84px;height:94px;flex:0 0 84px;display:grid;place-items:center;background:#fbf4ec;border:1px solid #f0e3d5;color:#bf691e;font-family:'Songti SC',SimSun,serif;font-size:40px;font-weight:400;border-radius:10px}.concierge-role{display:block;color:#a27b52;font-size:11px;letter-spacing:2px}.concierge-identity h3{font-family:'Songti SC',SimSun,serif;font-size:34px;font-weight:600;letter-spacing:4px;line-height:1.5;margin:5px 0;overflow-wrap:anywhere}.concierge-identity p{font-size:12px;line-height:1.8;color:#8a96a3;margin:0}.concierge-contact{border-left:1px solid #ebedf2;padding-left:32px}.concierge-contact dl{margin:0 0 20px;display:grid;gap:12px}.concierge-contact dl>div{display:flex;justify-content:space-between;gap:20px;font-size:13px}.concierge-contact dt{color:#8b96a3;white-space:nowrap}.concierge-contact dd{margin:0;color:#455669;overflow-wrap:anywhere}.concierge-actions{display:flex;gap:12px}.concierge-actions>a,.concierge-actions>button{flex:1;text-align:center;font-size:13px;min-height:42px}
@media(max-width:1100px){.client-login{gap:35px;grid-template-columns:1fr 390px;max-width:1000px}.client-introduction h1{font-size:39px}.client-project-hero{grid-template-columns:1fr;gap:26px;padding:30px}.client-facts{border-left:0;border-top:1px solid #ebedf2;padding:22px 0 0;gap:30px}.client-facts>div:nth-child(2){justify-self:center}.client-facts>div:nth-child(3){justify-self:end}.concierge-card{gap:28px;padding:28px}.concierge-identity{gap:18px}}
@media(max-width:800px){body.owner-surface>header{height:86px;padding:5px 18px;gap:12px}body.owner-surface>header .brand{width:102px;flex-basis:102px}body.owner-surface>header .brand-img{width:98px;height:72px}body.owner-surface>header .demo{font-size:10px}body.owner-surface>header .quiet{padding:6px;font-size:12px}.client-login{display:grid;grid-template-columns:1fr;gap:30px;padding:40px 22px 48px;min-height:calc(100dvh - 151px);max-width:480px}.client-introduction h1{font-size:33px;margin:16px 0}.client-intro-copy{font-size:13px;line-height:1.9}.client-intro-tags{margin-top:22px;font-size:11px}.client-login-card{max-width:none;padding:28px}.client-login-card h2{font-size:24px}.client-introduction .client-eyebrow{font-size:10px}.client-archive{padding:24px 18px 40px;max-width:740px}.client-project-hero{padding:24px;border-radius:13px}.client-title-line h1{font-size:30px}.client-project-heading .client-eyebrow{font-size:10px;letter-spacing:1px;margin-bottom:14px}.client-project-address{font-size:13px}.client-facts{gap:12px}.client-facts strong{font-size:17px}.client-facts span{font-size:11px}.client-facts small{font-size:11px}.client-journey{padding:24px 20px;border-radius:13px;margin-top:18px}.client-journey-heading{gap:20px}.client-journey-heading h2{font-size:19px}.client-current-state strong{font-size:20px}.client-current-state>span{font-size:12px}.client-progress-caption{font-size:11px;flex-wrap:wrap;gap:8px;margin-top:20px}.journey-steps>li{flex-basis:132px}.journey-stage>strong{font-size:15px}.client-tabs{gap:26px;margin-top:23px}.client-tabs button{font-size:14px}.client-section-heading h2{font-size:22px}.client-section-heading p{font-size:12px}.client-section-count{font-size:10px}.client-log-list .log{padding:22px}.concierge-card{grid-template-columns:1fr;padding:24px;gap:24px}.concierge-contact{border-left:0;border-top:1px solid #ebedf2;padding:22px 0 0}.concierge-identity h3{font-size:32px}.concierge-monogram{width:76px;height:86px;flex-basis:76px;font-size:36px}.concierge-contact dl>div{font-size:13px}}
@media(max-width:480px){body.staff-session .workspace>.duomi-nav button.side-link{font-size:16px;min-height:50px}.client-login{padding-top:30px;gap:26px}.client-introduction h1{font-size:30px}.client-login-card{padding:26px}.client-archive{padding-inline:14px}.client-project-hero{padding:23px 20px}.client-title-line{gap:10px}.client-title-line h1{font-size:28px}.client-facts strong{font-size:15px}.client-facts small{margin-left:3px}.client-facts{gap:8px}.client-facts>div:nth-child(2){justify-self:center}.client-current-state{min-width:75px}.client-current-state strong{font-size:18px}.client-journey-heading h2{font-size:17px}.client-journey{padding:22px 17px}.client-tabs{gap:22px}.client-section-heading{align-items:flex-start}.client-section-heading p{max-width:280px}.client-log-list .log{padding:20px}.client-archive .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.concierge-identity{gap:16px}.concierge-identity h3{font-size:30px}.concierge-monogram{width:65px;height:78px;flex-basis:65px;font-size:32px}.concierge-card{padding:22px}.delete-project-dialog .delete-project-actions{grid-template-columns:1fr}.delete-project-dialog .delete-project-actions>[type=submit]{grid-row:1}dialog.delete-project-dialog{padding:24px!important}.client-project-number{font-size:10px}}
@media(max-width:800px){.journey-scroll-hint{display:inline}}

/* v0.9.7: compact spacing, readable controls and consistent action surfaces. */
#report select[hidden]{display:none!important}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.65;-webkit-text-size-adjust:100%}
button,.button{min-height:40px;font-size:14px}input,select,textarea{font-size:14px;min-height:42px;padding:10px 12px}textarea{min-height:86px}label{font-size:14px;margin:12px 0}.hint,.muted{line-height:1.65}.hint{font-size:13px}
body.staff-session .workspace>main{padding:26px 28px 36px!important}.page-heading h1,.staff-page-heading h1{font-size:29px}.page-heading p{font-size:14px}.page-heading{margin-bottom:22px}.stats{margin:18px 0 22px;padding:18px}.stats strong{font-size:30px}.stats div{gap:10px}.stats span{font-size:13px}
.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,292px),1fr));gap:16px}.project{padding:21px;background:white}.project h2{font-size:21px;line-height:1.45;margin:12px 0}.project .muted{font-size:14px;margin-bottom:18px}.project .stage,.project-start-date,.project .hint{font-size:13px}.project .cardtop{margin-bottom:12px}.project .actions{gap:8px;margin-top:12px}.project .actions button{padding:9px 10px;font-size:14px;min-height:42px}.project progress{margin:10px 0 15px}.project .project-number{font-size:12px}.toolbar{gap:10px;margin-bottom:14px}
dialog:not(.photo-lightbox){padding:26px!important;border-radius:16px;max-height:calc(100dvh - 32px);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cdd4dc transparent}dialog>h2{font-size:23px;line-height:1.5;padding-right:40px}.twocol{gap:16px}dialog form .hint{font-size:13px}dialog .close{position:sticky;top:0;float:right;width:34px;height:34px;min-height:34px;margin:-8px -8px 0 10px;border:1px solid #e5e9ef;background:#fff;border-radius:50%;font-size:0!important;padding:0;box-shadow:0 2px 6px #23344808;color:#667588;caret-color:transparent}
dialog .close::before,dialog .close::after{content:'';position:absolute;width:14px;height:1.5px;background:currentColor;left:9px;top:15px;transform:rotate(45deg);border-radius:2px}dialog .close::after{transform:rotate(-45deg)}dialog .close>span{display:none}dialog .close:hover{background:#fff5ed;border-color:#ffd4b8;color:#d65b09}dialog .close:focus{outline:0;box-shadow:none}dialog .close:focus-visible{outline:2px solid #e86a1a;outline-offset:3px}
dialog.confirmation-dialog,dialog.delete-project-dialog{width:min(480px,calc(100vw - 28px));padding:26px!important}.confirmation-symbol,.delete-project-dialog .delete-symbol{display:grid;place-items:center;width:42px;height:42px;background:#fff4e9;color:#cc651f;border-radius:12px;font-size:23px;font-weight:600;margin-bottom:16px}.confirmation-symbol.is-danger,.delete-project-dialog .delete-symbol{background:#fff0ec;color:#b44432}.confirmation-dialog h2,.delete-project-dialog h2{font-size:22px;margin:0 0 12px}.confirmation-description,.delete-project-dialog #delete-project-description{font-size:14px;line-height:1.8;color:#647184;white-space:pre-line;margin:0 0 22px}.confirmation-actions,.delete-project-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.confirmation-actions button,.delete-project-actions button{min-height:44px;font-size:14px}.confirmation-actions .danger-action{color:white;background:#b74736;border-color:#b74736}
.stage-picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;background:white;min-height:44px;padding:10px 13px;border:1px solid #d9e0e9}.stage-picker-trigger>span:first-child{overflow-wrap:anywhere}.stage-picker-trigger>span:last-child{font-size:22px;color:#8793a2}.stage-choice-dialog{width:min(520px,calc(100vw - 24px))}.stage-choice-list{display:grid;gap:6px;margin-top:18px;max-height:55dvh;overflow-y:auto;padding-right:3px}.stage-choice-list>button{display:grid;grid-template-columns:28px minmax(0,1fr) 18px;gap:10px;align-items:center;text-align:left;padding:11px 12px;font-size:15px;line-height:1.6;min-height:48px;border-color:transparent;background:#f7f9fb}.stage-choice-list>button>span:nth-child(2){overflow-wrap:anywhere}.stage-choice-list>button.selected{border-color:#ffbe93;background:#fff4eb;color:#c4560c}.stage-choice-number{font-size:12px;color:#8b96a2;font-variant-numeric:tabular-nums}.stage-choice-check{color:#e56514}.modern-stage{padding:10px 12px;min-height:54px}.stage-manager-name{font-size:14px}.stage-management{padding:16px}.stage-add-row{gap:8px}.stage-add-row>button{flex:0 0 auto}
.client-archive{max-width:1160px;padding:26px 24px 38px}.client-project-hero{padding:24px 28px;gap:24px;border-radius:14px}.client-project-hero::before{top:24px;bottom:24px}.client-title-line h1{font-size:30px;letter-spacing:0}.client-project-heading .client-eyebrow{font-size:12px;margin-bottom:12px;letter-spacing:1px}.client-project-address{font-size:14px;margin:10px 0}.client-project-number{font-size:12px;letter-spacing:0}.client-facts{padding-left:24px;gap:18px}.client-facts span{font-size:13px}.client-facts strong{font-size:21px}.client-journey{margin-top:18px;padding:22px 24px}.client-journey-heading h2{font-size:22px}.client-current-state strong{font-size:22px}.client-card-kicker{font-size:13px}.client-progress-caption{margin-top:18px;padding-top:14px;font-size:13px}.journey-steps{margin-top:20px;padding:5px 0 10px}.journey-steps>li{flex-basis:124px}.journey-stage{gap:7px;min-height:132px;padding-inline:8px}.journey-stage>strong{font-size:14px;line-height:1.55}.journey-stage>small{font-size:12px}.journey-stage-state{font-size:13px}.journey-node{width:38px;height:38px;margin-bottom:3px}.journey-steps>li::after{top:19px;left:calc(50% + 23px);width:calc(100% - 46px)}
.client-tabs{margin:20px 0 0;gap:26px;overflow-y:hidden;align-items:stretch;padding:0;min-height:48px}.client-tabs button{font-size:15px;margin:0;min-height:48px;padding:10px 2px}.client-section{padding-top:20px;min-height:220px}.client-section-heading{margin-bottom:16px;gap:12px}.client-section-heading h2{font-size:22px}.client-section-heading p{font-size:14px;margin-top:6px}.client-empty,.client-log-list .empty{min-height:140px;font-size:14px}.client-log-list .log{padding:22px}.client-log-list .prose{font-size:15px;line-height:1.8}
.concierge-card{grid-template-columns:minmax(240px,.85fr) minmax(0,1.15fr);gap:24px;padding:24px;align-items:center}.concierge-identity{gap:16px;align-items:center}.concierge-profile{min-width:0}.concierge-identity h3{font-family:inherit;font-size:27px;font-weight:650;letter-spacing:.5px;line-height:1.35;margin:6px 0 9px}.concierge-role{font-size:12px;letter-spacing:1px;color:#b87536}.concierge-identity p{font-size:13px;color:#7a8796;line-height:1.7}.concierge-avatar{width:80px;height:80px;flex:0 0 80px;object-fit:cover;display:block;border-radius:18px;border:1px solid #e9e4de;background:#fff7ef}.avatar-fallback{display:grid;place-items:center;color:#cd986a}.avatar-fallback svg{width:36px;height:36px}
.concierge-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.contact-tile{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:9px;min-width:0;min-height:140px;padding:16px;border:1px solid #e4e9ef;border-radius:12px;background:#fafbfc;color:#37485a;text-align:left;text-decoration:none;font-size:14px;transition:background .15s,border-color .15s}.contact-tile:hover{background:#fff6ee;border-color:#ffcaa6;color:#b95311}.contact-tile strong{font-size:16px;font-weight:600;letter-spacing:0;line-height:1.5;overflow-wrap:anywhere}.contact-tile-top{display:flex;align-items:center;gap:8px;font-size:13px;color:#69798a}.contact-icon{display:flex;color:#d5722d}.contact-icon svg{width:20px;height:20px}.contact-arrow{margin-left:auto;color:#8f9ba8}.contact-caption{font-size:12px;color:#8b96a3}.contact-tile.unavailable{opacity:.75}
.avatar-editor{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid #e3e8ee;border-radius:12px;background:#fafbfc;margin:20px 0}.avatar-preview{width:76px;height:76px;flex:0 0 76px;border-radius:16px;overflow:hidden;display:grid;place-items:center;border:1px solid #e9dfd5;background:#fff7ef;color:#c59871}.avatar-preview img{width:100%;height:100%;object-fit:cover}.avatar-preview svg{width:32px;height:32px}.avatar-editor-copy{min-width:0}.avatar-editor-copy h3{font-size:16px;margin:0 0 3px}.avatar-editor-copy p{font-size:13px;color:#7b8796;margin:4px 0}.avatar-editor-actions{display:flex;gap:8px;margin-top:9px}.avatar-upload{position:relative;overflow:hidden;margin:0;display:inline-flex;align-items:center;font-size:13px;padding:7px 12px;min-height:36px}.avatar-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;min-height:0}.avatar-editor-actions>button{font-size:13px;min-height:36px;padding:7px 12px}.avatar-feedback{line-height:1.6}
.staff-detail-form>.staff-panel.staff-pane{min-height:230px}.staff-editor-save{padding:16px 20px}.staff-work-metrics{gap:10px}.staff-work-metrics>div{padding:14px}.staff-selector-list{gap:8px}.staff-selector b{font-size:14px}.staff-profile-grid strong{font-size:16px}.staff-tabs{overflow-y:hidden}.staff-profile-grid{gap:14px}
@media(max-width:1000px){.concierge-card{grid-template-columns:1fr;gap:18px}.concierge-contact-grid{border-top:1px solid #edf0f4;padding-top:18px}.client-project-hero{grid-template-columns:1fr;gap:18px}.client-facts{padding:16px 0 0;border-left:0;border-top:1px solid #e9edf2}.contact-tile{min-height:124px}}
@media(max-width:800px){
 body.staff-session>header{height:76px;padding:6px 14px;gap:12px;position:relative;z-index:110}.header-context{padding:0;margin:0}.header-context>span{display:none}body.staff-session>header>.brand{flex:0 0 106px;width:106px;min-width:0;border:0;padding:0}body.staff-session>header .brand-img{width:102px;height:62px}.nav-toggle{display:grid;place-items:center;width:38px;height:38px;padding:0;font-size:18px;border-radius:10px}.header-user{margin-left:auto;font-size:12px}body.staff-session>header .quiet{font-size:13px;padding:7px;min-height:38px}body.staff-session>header .demo{margin-left:auto;overflow:hidden;text-overflow:ellipsis;max-width:85px;white-space:nowrap}
 body.staff-session .workspace{display:block!important;min-height:calc(100dvh - 130px);position:relative}body.staff-session .workspace>aside.duomi-nav{display:none!important;position:fixed!important;top:76px;bottom:0;left:0;width:min(292px,86vw)!important;min-width:0!important;max-width:86vw!important;height:calc(100dvh - 76px);overflow-y:auto;padding:20px 14px!important;background:#fff;z-index:105;border-right:1px solid #e2e7ed;gap:20px;box-shadow:12px 0 24px #18334b12}body.staff-session.nav-open .workspace>aside.duomi-nav{display:flex!important;flex-direction:column!important}body.staff-session .workspace>.duomi-nav .nav-group{display:grid!important;grid-template-columns:1fr!important;gap:5px}body.staff-session .workspace>.duomi-nav .nav-caption{font-size:12px;padding:0 12px 6px}body.staff-session .workspace>.duomi-nav button.side-link{display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;justify-content:stretch!important;gap:12px!important;font-size:15px!important;min-height:46px!important;width:100%!important;padding:10px 14px!important;white-space:nowrap}body.staff-session .nav-symbol,body.staff-session .nav-symbol svg{width:22px;height:22px}.nav-label{line-height:24px}.side-note{display:none!important}.nav-scrim{position:fixed;inset:76px 0 0;z-index:100;background:#172b415c;border:0;border-radius:0;padding:0;min-height:0;cursor:default}body.staff-session.nav-open{overflow:hidden}
 body.staff-session .workspace>main,body.staff-session .workspace>main.employee-main{width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:22px 16px 32px!important}.page-heading h1,.staff-page-heading h1{font-size:26px}.staff-body-grid{grid-template-columns:1fr}.staff-selector-panel{min-height:0;max-height:260px}.staff-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.staff-profile-grid>.employee-avatar{grid-row:1/3}.staff-profile-item strong{overflow-wrap:anywhere}.employee-compact-fields{grid-template-columns:1fr}.staff-detail-form>.staff-panel.staff-pane{min-height:0}.staff-editor-save{position:static;gap:12px;flex-wrap:wrap}.staff-editor-save>span{font-size:12px}.staff-editor-save>button{width:100%}.stats{padding:15px 10px}.stats div{padding:0 10px;gap:4px;display:grid}.stats strong{font-size:27px}.stats span{font-size:12px}.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr))}.toolbar{flex-wrap:wrap}.toolbar>input{flex-basis:100%}.toolbar #project-sort,.toolbar #filter{min-width:0;width:auto;flex:1}.twocol{grid-template-columns:1fr;gap:0}.actions{gap:8px}input,select,textarea{font-size:16px;line-height:1.5}label{font-size:14px}.stage-add-row{display:flex!important;align-items:stretch}.stage-add-row>input{min-width:0;flex:1}.stage-add-row>button{width:auto!important;min-width:60px}.modern-stage{padding:10px;gap:6px}.modern-stage .stage-name-editor{gap:5px}.stage-manager-name{font-size:14px}.stage-drag{flex:0 0 15px}.stage-more-menu{right:0;min-width:138px}.report-actions{gap:10px}.report-actions button{font-size:14px;min-height:44px}.construction-summary{padding:12px}
 dialog:not(.photo-lightbox){width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 28px);padding:22px 16px!important;margin:auto;border-radius:15px}dialog .close{margin:-6px -2px 0 8px;width:34px;height:34px}dialog>h2{font-size:22px}dialog .eyebrow{font-size:11px;letter-spacing:1px}.stage-picker-trigger{font-size:16px;min-height:46px}.stage-choice-list{max-height:58dvh}.stage-choice-list>button{font-size:16px}.stage-choice-dialog>.hint{font-size:13px}dialog .stage-choice-list{clear:both}
 body.owner-surface>header{height:80px;padding:5px 16px}body.owner-surface>header .brand-img{height:64px}.client-archive{padding:18px 14px 28px}.client-project-hero{padding:20px;gap:15px}.client-title-line h1{font-size:27px}.client-title-line{gap:10px}.client-facts{gap:10px}.client-facts strong{font-size:17px;white-space:normal}.client-facts span{font-size:12px}.client-facts>div:nth-child(2),.client-facts>div:nth-child(3){justify-self:stretch}.client-journey{padding:18px 16px;margin-top:14px}.client-journey-heading{gap:14px;align-items:flex-start}.client-journey-heading h2{font-size:19px}.client-current-state{min-width:0;max-width:43%}.client-current-state strong{font-size:19px;line-height:1.5}.client-current-state>span{font-size:12px}.client-progress-caption{font-size:12px;gap:6px;margin-top:14px;padding-top:12px}.journey-steps>li{flex-basis:116px}.journey-stage{min-height:130px}.journey-scroll-hint{display:inline}.client-tabs{gap:22px;overflow-y:hidden!important;margin:16px 0 0;min-height:46px}.client-tabs button{min-height:46px;font-size:15px;padding:10px 0;margin:0}.client-section{padding-top:18px}.client-section-heading{margin-bottom:14px}.client-section-heading h2{font-size:21px}.client-section-heading p{font-size:13px}.concierge-card{padding:18px;gap:16px}.concierge-avatar{width:68px;height:68px;flex-basis:68px;border-radius:15px}.concierge-identity{gap:14px}.concierge-identity h3{font-family:inherit;font-size:25px;letter-spacing:.5px;margin:5px 0 6px}.concierge-identity p{font-size:13px}.concierge-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:16px}.contact-tile{padding:12px;gap:8px;min-height:132px}.contact-tile-top{font-size:13px;gap:5px}.contact-tile strong{font-size:14px;overflow-wrap:anywhere}.contact-caption{font-size:12px}.contact-arrow{display:none}.contact-icon svg{width:18px;height:18px}.client-log-list .log{padding:18px}.avatar-editor{padding:14px;gap:12px}.avatar-preview{width:64px;height:64px;flex-basis:64px}
}
@media(prefers-reduced-motion:reduce){.contact-tile{transition:none}}
.staff-page-heading{gap:10px;flex-wrap:wrap}.staff-page-heading>div{flex:1 1 260px}.staff-page-heading>button{font-size:14px}.job-level-note{font-size:13px;background:#fff7ef;border:1px solid #f1dfcf;border-radius:9px;padding:12px;line-height:1.8;color:#8f613e}.job-role-list{display:grid;gap:10px;margin:20px 0}.job-role-list>div{display:flex;gap:10px;align-items:center;border:1px solid #e4e9ef;border-radius:10px;padding:14px}.job-role-list>div>span{flex:1;min-width:0}.job-role-list strong,.job-role-list small{display:block}.job-role-list p{margin:5px 0 0;font-size:13px;color:#758194}.job-role-list button{padding:7px 10px;font-size:13px}.recycle-toolbar{display:flex;gap:12px;margin-bottom:16px}.recycle-toolbar>input{flex:1}.recycle-toolbar>select{width:170px}.recycle-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.recycle-actions>button{font-size:13px}.inline-check{display:inline-flex;align-items:center;gap:7px;margin:0;font-size:13px}.inline-check input{width:17px;height:17px;min-height:0;margin:0;padding:0;accent-color:var(--orange)}.recycle-row{display:grid;grid-template-columns:20px minmax(170px,1.2fr) minmax(140px,1fr) minmax(100px,.7fr) 70px;align-items:center;gap:14px;padding:17px;background:white;border:1px solid #e4e9ef;border-radius:12px;margin:9px 0;font-size:13px}.recycle-row strong,.recycle-row small{display:block}.recycle-row strong{font-size:15px;overflow-wrap:anywhere;margin:4px 0}.recycle-row small{font-size:12px;color:#7e8b99;overflow-wrap:anywhere}.recycle-row button{font-size:13px;padding:8px}.door-inputs{grid-column:1/-1;padding:14px 16px;border:1px solid #e6e9ee;background:#fafbfc;border-radius:10px;margin:12px 0 18px}.door-inputs h3{font-size:15px;margin:0}.door-inputs h3 small{font-size:12px;font-weight:400;margin-left:7px}.door-inputs .hint{margin:5px 0;font-size:12px}.door-inputs .twocol{gap:12px}.door-code-region{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;background:#f7f9fb;border:1px solid #e8edf1;border-radius:8px;padding:9px 11px;margin:12px 0;font-size:13px}.door-code-label{color:#748294;font-size:12px}.door-code-region>div{display:flex;align-items:center;gap:10px}.door-code-region strong{font-size:14px;letter-spacing:.6px;color:#43576c;overflow-wrap:anywhere}.door-code-region button{min-height:26px;padding:2px 6px;font-size:12px;border:0;background:transparent;color:#cc621a}.door-code-region>small{flex-basis:100%;font-size:11px;color:#8894a2}.owner-door-code{margin:13px 0 0;max-width:440px}.owner-door-code strong{font-size:16px}.form-error{color:#ad3b2a;font-size:13px}
@media(max-width:800px){.recycle-toolbar{gap:8px}.recycle-toolbar>select{width:110px}.recycle-row{grid-template-columns:20px minmax(0,1fr) 64px;gap:10px;padding:14px}.recycle-row-name{grid-column:2}.recycle-row>div:nth-of-type(2),.recycle-row>div:nth-of-type(3){grid-column:2}.recycle-row>button{grid-column:3;grid-row:1/3}.recycle-actions>button{flex:1 0 40%;min-height:40px}.recycle-actions>.inline-check{flex:1}.job-role-list>div{flex-wrap:wrap;padding:12px}.job-role-list>div>span{flex-basis:100%}.job-role-list button{flex:1}.door-inputs{padding:12px}.door-inputs .twocol{gap:0}.door-code-region{font-size:13px}.owner-door-code{max-width:none}}

/* A substantial upload action, styled consistently with report and project cards. */
#report .report-upload-card{position:relative;isolation:isolate;display:flex;align-items:center;gap:16px;padding:22px;margin:16px 0 0;min-height:116px;border:1px dashed #edbc94;border-radius:14px;background:linear-gradient(120deg,#fffaf5,#fff);color:#27384b;cursor:pointer;overflow:hidden;transition:border-color .15s,box-shadow .15s}
#report .report-upload-card:hover{border-color:#ff6a00;box-shadow:0 4px 20px #c77d3210}
#report .report-upload-card:focus-within{outline:3px solid #ffd8b7;outline-offset:3px}
#report .report-upload-card input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;z-index:3}
#report .upload-card-icon{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border:1px solid #ffe3ca;border-radius:14px;background:#fff2e6;color:#f46a0b}
#report .upload-card-icon svg{width:29px;height:29px}
#report .upload-card-copy{display:flex;flex:1;flex-direction:column;gap:6px;min-width:0}
#report .upload-card-copy strong{font-size:16px;font-weight:650;line-height:1.45}
#report .upload-card-copy>span{font-size:13px;color:#7d8997;font-weight:400;line-height:1.5}
#report .upload-card-button{display:flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-height:44px;padding:10px 18px;border-radius:10px;background:#ff6a00;color:#fff;font-size:14px;font-weight:650;box-shadow:0 4px 12px #ff6a0020}
#report .report-upload-card.supplementary{padding:16px;min-height:90px;margin:12px 0}
@media(max-width:600px){#report .report-upload-card{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:18px;min-height:0}#report .upload-card-icon{width:44px;height:44px;border-radius:12px}#report .upload-card-icon svg{width:25px;height:25px}#report .upload-card-copy strong{font-size:15px}#report .upload-card-copy>span{font-size:12px}#report .upload-card-button{grid-column:1/-1;min-height:44px;font-size:14px}}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
dialog:not(.photo-lightbox) .close{width:34px;height:34px;min-height:34px;padding:0;border-radius:50%;background:#fff;border:1px solid #e5e9ef;margin:-8px -8px 0 10px;color:#667588;font-size:0!important}
dialog:not(.photo-lightbox) .close:hover{background:#fff5ed;border-color:#ffd4b8;color:#d65b09}
#report label.completion-control{display:flex;align-items:center;gap:10px;padding:14px 16px;font-size:14px;line-height:1.6;font-weight:550}
#report label.completion-control input{width:18px;height:18px;min-height:18px;margin:0;flex:0 0 18px;accent-color:#ff6a00}

/* Specificity beats the shared wide form-dialog rule. */
dialog.stage-choice-dialog:not(.photo-lightbox){width:min(480px,calc(100vw - 28px));max-width:480px;padding:24px!important;max-height:calc(100dvh - 36px)}
.stage-choice-scroll{max-height:min(65dvh,640px);overflow:auto;overscroll-behavior:contain;padding:2px 4px 2px 0;margin-top:16px}.stage-choice-dialog .stage-choice-list{max-height:none;overflow:visible;margin-top:0}.stage-choice-list>button{font-size:14px;min-height:44px;padding:9px 11px}
.custom-stage-group{border:1px solid #f0d7c2;border-radius:12px;margin-top:14px;background:#fffaf6;overflow:hidden}.custom-stage-group>summary{display:flex;align-items:center;gap:10px;padding:14px;cursor:pointer;list-style:none}.custom-stage-group>summary::-webkit-details-marker{display:none}.custom-stage-group>summary>span:first-child{flex:1}.custom-stage-group strong{display:block;font-size:15px}.custom-stage-group summary small{display:block;color:#99816a;font-size:11px;margin-top:4px}.custom-stage-tag{display:inline-block;color:#b96122;background:#ffeddc;border-radius:5px;font-size:11px!important;font-weight:500;padding:2px 5px;white-space:nowrap}.custom-group-arrow{font-size:20px;color:#9b7d66}.custom-stage-group[open] .custom-group-arrow{transform:rotate(180deg)}.custom-stage-body{padding:0 14px 14px}.custom-stage-body>p{font-size:12px;line-height:1.7;color:#8e7968}.custom-preset-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.custom-preset-list>button{font-size:12px;padding:7px 9px;background:#fff;color:#a05c28;border-color:#f0d7c2;min-height:36px}.custom-stage-add{display:flex;gap:8px;margin-top:12px}.custom-stage-add>input{min-width:0;flex:1;font-size:13px}.custom-stage-add>button{flex:0 0 auto;font-size:13px}.custom-stage-error{color:#ae3f2c!important}
dialog.door-datetime-dialog:not(.photo-lightbox){width:min(400px,calc(100vw - 28px));max-width:400px;padding:24px!important;max-height:calc(100dvh - 30px)}.expiry-month{display:flex;justify-content:space-between;align-items:center;margin:14px 0 9px}.expiry-month strong{font-size:15px}.expiry-month button{font-size:23px;width:36px;height:36px;padding:0;border:0;background:#f6f8fa}.expiry-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.expiry-days>span{text-align:center;font-size:12px;color:#8793a2;padding:5px 0}.expiry-days>button{padding:0;min-height:36px;border:1px solid transparent;font-size:13px;background:#f7f9fb}.expiry-days>button.selected{color:white;background:#ff6a00;border-color:#ff6a00}.expiry-days>button:hover{border-color:#ffb77d}.expiry-time{display:flex;align-items:end;gap:12px;margin:18px 0}.expiry-time>label{flex:1;font-size:13px}.expiry-time>span{padding-bottom:12px}.expiry-time select{width:100%;font-size:16px;margin-top:6px}.expiry-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.door-datetime-trigger{display:flex!important;justify-content:space-between;width:100%;margin-top:7px!important;text-align:left;font-size:14px}.storage-main{display:flex;gap:10px;align-items:baseline}.storage-main strong{font-size:28px;color:#27384b}.storage-main span{font-size:13px;color:#7d8998}
@media(max-width:600px){dialog.stage-choice-dialog:not(.photo-lightbox),dialog.door-datetime-dialog:not(.photo-lightbox){padding:22px 18px!important;width:calc(100vw - 28px);max-width:calc(100vw - 28px)}.stage-choice-scroll{max-height:65dvh}.custom-stage-add>input{font-size:16px}.stage-choice-list>button{font-size:14px}}
/* Keep assignment controls close together; all controls share a useful touch size. */
.staff-work-metrics{gap:12px!important}.staff-work-metrics>div{padding:18px!important;min-height:106px;border:1px solid #e5eaf0;border-radius:12px;background:linear-gradient(135deg,#fff,#f8fafc)!important;display:flex;flex-direction:column;justify-content:center;gap:10px}.staff-work-metrics>div:first-child{border-color:#f1d7c1;background:linear-gradient(135deg,#fffaf5,#fff)!important}.staff-work-metrics small{font-size:13px!important;color:#748294}.staff-work-metrics strong{font-size:27px!important;line-height:1.2}.staff-work-metrics strong.metric-word{font-size:17px!important}.staff-work-metrics em{font-size:12px!important}
.staff-tabs{display:flex;gap:6px;padding:10px 16px!important;background:#f8fafc;border-bottom:1px solid #e5eaf0}.staff-tabs .staff-tab{flex:1;min-height:44px;border:1px solid transparent!important;border-radius:9px!important;font-size:14px!important;padding:10px 14px!important;margin:0!important}.staff-tabs .staff-tab.selected{background:white!important;border-color:#ffd3b0!important;color:#d4620e;box-shadow:0 2px 6px #25364a08}
.staff-site-cards,.employee-add-form .employee-project-list{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),340px));gap:12px!important;justify-content:start}.employee-project-list .employee-project-row{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:12px!important;padding:17px!important;width:100%;min-height:0!important;background:#fff!important;border:1px solid #e3e8ee!important;border-radius:12px!important}.employee-project-list .employee-check,.employee-project-list .employee-primary{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;margin:0!important;width:auto!important}.employee-project-list .employee-check{padding:0!important;min-height:42px}.employee-project-list .employee-check>span{display:grid;gap:5px}.employee-project-list b{font-size:15px}.employee-project-list small{font-size:12px}.employee-project-list .employee-primary{padding:10px 0 0 28px!important;border-top:1px solid #eef1f5;font-size:13px!important;min-height:36px}.employee-project-list input[type=checkbox]{width:18px!important;height:18px!important;min-height:18px!important;flex:0 0 18px!important;margin:0!important;accent-color:#ff6a00}
.scope-card{display:flex;align-items:center;gap:14px;padding:15px 16px;margin:0 0 15px;border:1px solid #e5d5c4;background:#fffaf5;border-radius:11px}.scope-card>label{display:flex!important;align-items:center!important;gap:10px!important;margin:0!important;flex:1}.scope-card input{width:18px!important;height:18px!important;min-height:18px!important;margin:0!important;accent-color:#f66b0d}.scope-card strong{display:block;font-size:14px}.scope-card small{display:block;color:#8d7b69;font-size:12px;line-height:1.7;margin-top:5px}.scope-status{font-size:11px;white-space:nowrap;color:#ad6c32;background:#ffeddc;padding:4px 7px;border-radius:5px}
.employee-avatar-editor{display:flex;align-items:center;gap:16px;border:1px solid #e6e9ee;background:#fafbfc;border-radius:12px;padding:16px;margin:12px 0 18px}.employee-avatar-editor .employee-avatar{width:72px;height:72px;flex:0 0 72px;font-size:26px}.employee-avatar-editor strong{font-size:15px}.employee-avatar-editor small{font-size:11px;color:#8c98a5;font-weight:400}.employee-avatar-editor p{font-size:12px;color:#83909f;margin:5px 0}.employee-avatar-actions{display:flex;gap:8px;margin-top:9px}.employee-avatar-actions>label{position:relative;overflow:hidden;display:inline-flex!important;align-items:center;justify-content:center;padding:8px 14px!important;min-height:38px;margin:0!important;border:1px solid #ffd6b8;border-radius:8px;background:#fff4e9;color:#c15e18;font-size:13px!important;cursor:pointer}.employee-avatar-actions input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;margin:0!important}.employee-avatar-actions>button{font-size:13px;min-height:38px;padding:8px 12px}.employee-avatar img,.employee-small-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.promotion-password-field[hidden]{display:none!important}.audit-entry>small{font-size:13px!important;line-height:1.9;white-space:pre-line}
@media(max-width:600px){.staff-work-metrics{gap:8px!important}.staff-work-metrics>div{padding:12px!important;min-height:98px}.staff-work-metrics strong{font-size:25px!important}.staff-work-metrics small{font-size:11px!important}.staff-work-metrics strong.metric-word{font-size:15px!important}.staff-tabs{padding:8px!important}.staff-tabs .staff-tab{padding:9px 6px!important;font-size:13px!important}.scope-card{padding:12px;align-items:flex-start;gap:8px}.scope-status{font-size:10px}.employee-avatar-editor{padding:12px;gap:12px}.employee-avatar-editor .employee-avatar{width:60px;height:60px;flex-basis:60px}.employee-avatar-actions{flex-wrap:wrap}}
/* Compact owner overview with centered, evenly spaced project facts. */
.client-project-hero{padding:18px 24px;gap:20px;align-items:stretch}.client-project-hero::before{top:18px;bottom:18px}.client-project-heading .client-eyebrow{margin:0 0 8px}.client-title-line h1{margin:0}.client-project-address{margin:7px 0;font-size:13px}.client-project-number{font-size:11px}.client-project-heading .owner-door-code{margin:10px 0 0;padding:8px 10px}.client-project-heading .owner-door-code>small{font-size:11px}.client-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:center;align-items:center;gap:12px;padding-left:20px;text-align:center}.client-facts>div{display:grid;gap:9px;align-content:center;justify-items:center;justify-self:stretch!important;min-width:0}.client-facts span{font-size:12px;line-height:1.5}.client-facts strong{font-size:20px;line-height:1.4;white-space:nowrap}.client-facts strong small{font-size:12px;margin-left:4px}
@media(min-width:1001px){.client-project-hero{grid-template-columns:1.1fr 1fr}}
@media(max-width:1000px){.client-facts{padding:14px 0 0;gap:12px}}
@media(max-width:600px){.client-project-hero{padding:16px;gap:14px}.client-project-hero::before{top:16px;bottom:16px}.client-title-line h1{font-size:26px}.client-facts{padding-top:12px;gap:7px}.client-facts>div{gap:7px}.client-facts strong{font-size:16px;white-space:normal}.client-facts span{font-size:11px}.client-project-heading .owner-door-code{padding:8px 9px}}
dialog:not(.photo-lightbox):has(#job-editor){width:min(680px,calc(100vw - 28px))}dialog:not(.photo-lightbox) form .permission-tile{display:flex!important;align-items:center;gap:10px;min-height:56px;padding:12px 14px}.permission-tile>input{width:18px;height:18px;min-height:18px;margin:0!important;flex:0 0 18px}.permission-tile>span{font-size:13px}

/* v0.9.9 | Consistent visual rhythm, stage handover, and readable controls. */
:root{--ui-ink:#24364b;--ui-muted:#748298;--ui-line:#e3e9f0;--ui-soft:#f6f8fb;--ui-accent:#ff6900}
[hidden]{display:none!important}.ui-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 30px;color:#eb680e;background:#fff2e7;border:1px solid #ffe0c7;border-radius:9px;vertical-align:middle}.ui-icon svg{width:18px;height:18px}.panel-heading{display:flex!important;align-items:center;gap:10px;font-size:16px!important;font-weight:700!important;color:var(--ui-ink);margin:0 0 14px!important;line-height:1.4}.panel-heading small{font-size:12px;font-weight:400}.staff-identity .panel-heading{margin-bottom:10px!important}.staff-tabs .staff-tab{display:flex!important;align-items:center;justify-content:center;gap:8px;font-weight:600}.staff-tabs .ui-icon{background:transparent;border:0;width:22px;flex-basis:22px;height:24px;color:#8794a5}.staff-tabs .selected .ui-icon{color:#ef6b10}.staff-tabs .staff-tab.selected{border-color:#ffd1af!important;box-shadow:0 3px 12px #ed74100c}.staff-work-metrics>div{min-height:88px!important;padding:14px 16px!important;gap:7px!important}.staff-work-metrics strong{font-size:25px!important}.staff-work-card,.staff-profile-card{padding:18px!important}.staff-profile-grid{gap:20px!important}.staff-overview{gap:12px!important}.employee-avatar-editor{padding:14px!important;margin:8px 0 14px!important}.staff-identity{padding:18px 20px!important}.staff-identity .employee-avatar-editor{min-height:0}.employee-avatar-feedback{margin-bottom:0!important}.staff-panel.staff-pane{padding:18px 20px!important;min-height:0!important}.staff-detail-form,.staff-editor-full{gap:12px!important}.staff-editor-save{padding:16px 20px!important;min-height:0!important;gap:14px}.staff-detail-form{min-height:0!important}.staff-account-section{padding-bottom:22px!important}.staff-account-actions{display:flex;gap:10px;flex-wrap:wrap}.staff-account-actions button{min-height:44px!important;padding:10px 16px!important;font-size:14px!important}.staff-body-grid{gap:16px!important}.staff-tabs{padding:8px 14px!important}.employee-project-list .employee-project-row{padding:14px!important;gap:8px!important}.staff-site-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))!important}.employee-project-row:has(input[name=project]:checked){background:#fffaf6!important;border-color:#ffcda5!important}.employee-project-row .employee-primary{padding-top:8px!important}.staff-site-cards b{font-size:15px}.staff-switch-grid{gap:10px!important}.permission-grid .permission-tile{margin:0!important;min-height:56px!important}.staff-selector-panel{padding:16px!important}.staff-selector{min-height:64px!important}.scope-card{margin-bottom:12px;padding:13px 14px}.scope-card>span:not(.scope-status){flex:1}.scope-card .ui-icon{align-self:flex-start}.staff-identity .promotion-password-field{margin-top:10px}
.workspace>main{padding-top:28px!important}.title-row{margin-bottom:18px!important}.title-row h1{margin:0 0 6px!important}.title-row p{margin:0!important}.stats{padding:18px 20px!important;margin:18px 0!important;gap:0!important}.stats>div{padding:0 20px!important;justify-content:center;min-width:0}.stats>div:first-child{padding-left:0!important}.toolbar{margin:18px 0 12px!important;gap:12px!important}.cards{gap:16px!important;grid-template-columns:repeat(auto-fill,minmax(min(100%,285px),1fr))!important;align-items:start}.cards>.project{padding:18px!important;min-height:0!important}.cards .project h2{margin:12px 0 8px!important;font-size:20px!important}.cards .card>p{margin:10px 0!important}.cards .project .actions{gap:8px!important;margin-top:14px!important}.cards .project .actions button{min-height:42px!important;padding:9px 12px!important;font-size:13px!important}.project-door-code{padding:8px 10px!important;margin:12px 0!important}.cards .project .progress{margin:10px 0!important}.work-panel{padding:20px!important;margin-bottom:16px!important}.section-heading{margin-bottom:14px!important}.overview-stats{gap:14px!important;margin:0 0 18px!important}.overview-stats>button{padding:20px!important;min-height:125px!important}.overview-stats>button strong{margin:8px 0!important}.data-table{width:100%;table-layout:fixed;border-collapse:collapse}.data-table th,.data-table td{padding:14px!important;vertical-align:middle!important}.data-table th{font-size:13px!important;font-weight:600!important;color:#64758a;background:#f5f7fa}.data-table th:nth-child(1){width:24%}.data-table th:nth-child(2){width:18%}.data-table th:nth-child(3){width:14%}.data-table th:nth-child(4){width:16%}.data-table th:nth-child(5){width:28%}.data-table td .actions{display:grid!important;grid-template-columns:1fr 1fr;gap:9px!important;margin:0!important;align-items:center}.data-table .actions button{min-height:42px!important;padding:9px!important;font-size:13px!important;margin:0!important;display:flex;justify-content:center;align-items:center;gap:6px}.data-table .ui-icon{width:19px;height:20px;flex-basis:19px;background:transparent;color:inherit;border:0}.data-table .ui-icon svg{width:16px;height:16px}.secondary-action{background:#fff7ef;border-color:#ffd5b5;color:#ce5a06}.recent-record{padding:15px!important;gap:20px!important;grid-template-columns:minmax(150px,1fr) 2fr auto!important}.client-project-hero{padding:16px 22px!important;gap:18px!important}.client-project-hero::before{top:16px!important;bottom:16px!important}.client-facts{padding-left:18px!important;gap:10px!important}.client-project-heading .owner-door-code{margin-top:8px!important}.client-journey{padding:22px!important;margin-top:16px!important}.client-journey-heading{margin-bottom:16px!important}.client-progress-caption{padding-top:14px!important;margin-bottom:18px!important}.journey-steps{margin-bottom:8px!important}.client-tabs{margin-top:22px!important}.client-section{margin-top:20px!important}.client-section-heading{margin-bottom:16px!important}.client-archive{padding-top:22px!important;padding-bottom:36px!important}.concierge-card{padding:20px!important}.client-contact-card{min-height:118px!important;padding:16px!important}
.report-stage-label{display:block;font-weight:700!important;font-size:15px!important;margin-bottom:12px!important}.report-stage-label>.ui-icon{margin-right:8px;margin-bottom:5px}.stage-picker-trigger{border:1px solid #ffbc8b!important;background:linear-gradient(105deg,#fff8f1,#fff)!important;min-height:66px!important;padding:11px 16px!important;box-shadow:0 3px 12px #ed74100a}.stage-picker-trigger>span:first-child{display:grid;gap:5px}.stage-picker-trigger strong{font-size:17px;color:#24364b}.stage-trigger-caption{font-size:12px;color:#ac724c}.stage-picker-trigger>span:last-child{font-size:23px;color:#ec6e1c}.report-field-card{display:block;padding:14px!important;background:#f8fafc;border:1px solid #e2e8ef;border-radius:12px;font-weight:700!important;font-size:15px!important;margin:12px 0!important}.report-field-card>.ui-icon{margin:0 8px 8px 0}.report-field-card textarea{margin:4px 0 0!important;font-weight:400!important;line-height:1.7;min-height:92px!important;background:#fff!important;font-size:14px!important}.report-field-card>small{font-weight:400;color:#8591a1;margin-left:4px}.report-field-card:focus-within{border-color:#ffb983;box-shadow:0 0 0 3px #fff1e4}.twocol:has(.report-field-card){gap:12px!important}.twocol .report-field-card{margin:0!important}.stage-history{padding:14px 16px!important;margin:10px 0!important}.stage-history>p{margin:10px 0!important}.stage-history .history-open{min-height:40px!important;margin-top:6px!important}.stage-history-head strong{font-size:14px}.completion-control{margin:14px 0!important;padding:12px 14px!important;font-size:14px!important;line-height:1.6}.stage-choice-list>button{min-height:48px;gap:12px}.stage-choice-list>button.selected{border:1px solid #ffae72!important;background:#fff4e9!important;box-shadow:inset 3px 0 #ff6900}.stage-lock-note{display:block;margin-top:3px;font-size:11px;color:#8994a4}.stage-gate-note{padding:12px 14px;border-radius:9px;background:#fff4e9;border:1px solid #ffd3b1;color:#a35a22;font-size:13px}.stage-tools{gap:10px;margin:12px 0!important}.report-upload-card{padding:18px!important;min-height:96px!important;margin:14px 0!important}.sticky{padding-top:16px!important;margin-top:16px!important}button:disabled{opacity:.48;cursor:not-allowed!important}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ffc79a!important;outline-offset:3px}
.stage-workflow{border:1px solid #e1e8ef;background:#fff;border-radius:14px;padding:18px;margin:16px 0;box-shadow:0 4px 18px #273d5703}.workflow-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.workflow-heading>div{display:flex;gap:10px;align-items:center}.workflow-heading h3{font-size:16px;margin:0}.workflow-count{font-size:12px;color:#7d8a9b;white-space:nowrap}.workflow-current{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;background:#f7f9fc;border:1px solid #e9edf3;border-radius:11px;padding:14px 16px}.workflow-eyebrow,.workflow-amount>span{font-size:12px;color:#8590a0}.workflow-current h3{font-size:17px;margin:5px 0}.workflow-current p{font-size:12px;color:#bd631e;margin:0}.workflow-amount{text-align:right;display:grid;gap:5px}.workflow-amount strong{font-size:21px;color:#24364b;font-variant-numeric:tabular-nums}.workflow-amount small{font-size:11px;color:#8590a0}.workflow-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;list-style:none;padding:0;margin:14px 0}.workflow-checks li{display:flex;align-items:center;gap:7px;font-size:13px;color:#8590a0}.workflow-checks li>span{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#f0f3f7;font-size:11px}.workflow-checks .checked{color:#34876b}.workflow-checks .checked>span{background:#e5f5ed;color:#308362}.workflow-footer{display:flex;align-items:center;gap:16px;border-top:1px solid #edf0f4;padding-top:12px}.workflow-footer p{font-size:12px;line-height:1.7;color:#8290a0;margin:0;flex:1}.workflow-footer button{min-height:42px!important;display:flex;align-items:center;justify-content:center;gap:7px;font-size:13px;white-space:nowrap}.workflow-footer button .ui-icon{background:transparent;border:0;color:inherit;width:20px;height:20px;flex-basis:20px}.workflow-list{margin-top:12px;font-size:12px}.workflow-list>summary{cursor:pointer;color:#7b8899;padding:5px 0}.workflow-list>div{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid #edf0f4}.workflow-list strong{font-size:12px}.workflow-list small{color:#7c8998}.workflow-list button{padding:5px 10px;min-height:32px;font-size:12px}.workflow-note{font-size:12px;color:#8b795c;background:#fff9ed;padding:8px 10px;border-radius:7px}.preview-banner{padding:12px 16px;border:1px solid #ffdbbd;border-radius:10px;background:#fff7ef;font-size:13px;display:flex;gap:14px;justify-content:space-between;margin-bottom:14px}.preview-banner a{color:#db6811;white-space:nowrap}
dialog.finance-dialog:not(.photo-lightbox){width:min(550px,calc(100vw - 28px));padding:24px!important;max-height:90dvh;overflow-y:auto}.finance-title{display:flex;gap:12px;align-items:center;margin:0 0 20px}.finance-title>.ui-icon{width:42px;height:42px;flex-basis:42px}.finance-title h2{margin:0!important;font-size:21px}.finance-title p{margin:5px 0 0;font-size:13px;color:#8190a2}.finance-dialog label{font-size:13px;display:block}.finance-dialog input,.finance-dialog select,.finance-dialog textarea{font-size:15px;width:100%;margin-top:7px}.finance-dialog textarea{min-height:86px}.finance-state{display:flex;justify-content:space-between;gap:12px;background:#f6f8fb;border-radius:9px;padding:12px;margin:14px 0;font-size:12px}.finance-state strong{color:#b96827}.finance-state span{color:#8491a2}.finance-dialog form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-bottom:15px}.finance-dialog form button{min-height:43px;font-size:13px;padding:9px 13px}.finance-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.finance-actions button{min-height:44px;font-size:13px;padding:10px}.finance-actions>.primary{grid-column:1/-1}.finance-dialog #finance-error{font-size:13px;color:#cc4a33;min-height:18px}.finance-dialog .close{top:18px;right:18px}.showcase-sites-note{margin-bottom:12px}
@media(min-width:1000px){.cards{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))!important}.cards>.project{max-width:380px}.staff-tabs{gap:8px!important}}
@media(max-width:700px){.workspace>main{padding:20px 16px!important}.stats>div{padding:0 10px!important}.stats strong{font-size:24px!important}.data-table th:nth-child(1),.data-table th:nth-child(2),.data-table th:nth-child(3),.data-table th:nth-child(4),.data-table th:nth-child(5){width:auto}.data-table td .actions{grid-template-columns:1fr 1fr!important}.data-table td{padding:12px!important}.data-table th{padding:10px!important}.data-table-wrap{overflow-x:auto}.data-table{min-width:620px}.cards>.project{max-width:none!important}.workflow-current{gap:10px;padding:12px}.workflow-amount strong{font-size:18px}.workflow-amount small{max-width:150px;line-height:1.6}.workflow-checks{gap:6px}.workflow-checks li{font-size:12px;gap:5px}.workflow-footer{flex-direction:column;align-items:stretch;gap:10px}.workflow-footer button{width:100%}.workflow-list>div{grid-template-columns:1.4fr 1fr auto}.workflow-list>div>small{grid-column:1/3;grid-row:2}.workflow-list>div>button{grid-column:3;grid-row:1/3}.stage-workflow{padding:15px;margin:14px 0}.client-project-hero{padding:16px!important}.client-facts{padding-left:0!important}.client-journey{padding:18px!important}.staff-body-grid{gap:12px!important}.staff-work-metrics{gap:8px!important}.staff-work-metrics>div{padding:12px!important;min-height:82px!important}.staff-work-metrics small{font-size:12px!important}.staff-work-metrics strong{font-size:23px!important}.staff-tabs .staff-tab{gap:5px!important;padding:9px 5px!important;font-size:13px!important}.staff-tabs .ui-icon{width:18px;flex-basis:18px}.staff-tabs .ui-icon svg{width:17px;height:17px}.staff-profile-grid{gap:12px!important}.staff-profile-card,.staff-work-card{padding:16px!important}.staff-panel.staff-pane,.staff-identity{padding:16px!important}.report-field-card textarea{font-size:16px!important}.report-stage-label{font-size:14px!important}.report-field-card{font-size:14px!important;padding:12px!important}.report-upload-card{padding:14px!important}.preview-banner{display:block;line-height:1.8}.preview-banner a{display:block}.finance-dialog form{grid-template-columns:1fr}.finance-dialog form button{justify-self:end}.finance-actions{grid-template-columns:1fr}.finance-actions>.primary{grid-column:auto}.finance-state{flex-direction:column;gap:5px}}
.staff-body-grid>*{min-width:0;max-width:100%}.scope-card>.ui-icon{flex:0 0 30px!important}.staff-detail-form,.staff-editor-full{min-width:0;max-width:100%}
@media(max-width:800px){.staff-body-grid{grid-template-columns:minmax(0,1fr)!important}.staff-body-grid .staff-selector-panel{min-width:0;width:100%;min-height:0!important;max-height:none!important}.staff-body-grid .staff-selector-list{width:100%;max-width:100%;min-width:0;overflow-x:auto;padding-bottom:4px}.staff-body-grid .staff-selector{flex:0 0 150px}.staff-profile-grid{grid-template-columns:54px minmax(0,1fr) minmax(0,1fr)!important;gap:10px!important}.staff-profile-grid>.employee-avatar{grid-row:1/3!important}.staff-profile-item{min-width:0}.staff-profile-item strong{overflow-wrap:anywhere}.staff-body-grid .staff-site-cards{grid-template-columns:minmax(0,1fr)!important}.staff-tabs{min-width:0}.employee-main .staff-page-heading{gap:10px}.staff-page-heading>div{flex-basis:100%}.staff-page-heading>button{min-height:42px}.employee-avatar-editor>div{min-width:0}.employee-avatar-actions{gap:7px}.staff-work-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.staff-work-metrics>div{min-width:0!important;padding:10px!important}.staff-work-metrics small{line-height:1.5}.scope-card{gap:10px}.scope-card>span small{overflow-wrap:anywhere}.staff-editor-save{padding:14px 16px!important}}
.cards>.project{padding:18px!important}.cards .project .cardtop{margin-bottom:12px!important}.cards .project h2{margin:10px 0 7px!important}.cards .project>.muted{margin:0 0 12px!important}.cards .project progress{margin:9px 0 12px!important}.cards .project>p{margin:9px 0!important}.cards .project .actions{margin-top:12px!important}.gallery:empty{display:none!important}.client-log-list{gap:14px!important}.client-log-list .log{padding:20px!important}.client-log-list .log h3{margin:14px 0 10px!important}.client-log-list .prose{margin:8px 0!important}.client-log-list .twocol{margin-top:14px!important;padding-top:12px!important;gap:14px!important}.client-log-list .twocol section{border-top:0!important;padding-top:0!important;margin-top:0!important}.completion-summary{margin:12px 0!important;padding:12px 14px!important}.completion-summary p{margin:6px 0!important}
@media(max-width:800px){.staff-profile-grid{display:grid!important}.staff-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));padding:6px!important;gap:4px!important;margin:0!important}.staff-tabs .staff-tab{font-size:12px!important;white-space:nowrap;gap:4px!important;padding:8px 3px!important;min-height:44px}.staff-tabs .ui-icon{width:16px!important;flex-basis:16px!important}.staff-tabs .ui-icon svg{width:16px!important}.client-log-list .twocol section+section{border-top:1px solid #eef0f4!important;padding-top:12px!important}.client-log-list .twocol{gap:12px!important}.client-log-list .log{padding:17px!important}.employee-avatar-editor .employee-avatar{align-self:flex-start;margin-top:2px}.employee-avatar-editor p{line-height:1.7}.staff-profile-item>strong{font-size:14px!important}.staff-work-metrics strong.metric-word{font-size:14px!important}}
.panel-heading,.staff-tab,.workflow-heading h3{font-weight:700}

/* v0.10.0 | Internal receipts, separate construction progress and editable reports */
.receipt-section-heading,.receipt-section-heading>div,.ledger-heading,.correction-title{display:flex;align-items:center;gap:10px}.receipt-section-heading{justify-content:space-between;gap:14px;margin-bottom:16px}.receipt-section-heading h3{font-size:16px;margin:0}.receipt-section-heading>button{min-height:40px;font-size:13px;white-space:nowrap}.internal-only{font-size:10px;color:#8a98a8;background:#f0f4f8;padding:3px 6px;border-radius:5px;white-space:nowrap}.receipt-summary{background:#fff;border:1px solid #e2e9f0;border-radius:13px;padding:18px;margin:14px 0}.receipt-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0 18px}.receipt-totals>div{display:grid;gap:7px;min-width:0}.receipt-totals small{font-size:12px;color:#7d899a}.receipt-totals strong{font-size:24px;line-height:1.4;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.receipt-totals .received strong{color:#27816c}.receipt-summary-note{font-size:12px;line-height:1.8;color:#8a96a5;margin:12px 0 0}.dual-progress{margin:12px 0}.dual-progress>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:13px;color:#778597}.dual-progress strong{font-size:14px;color:#34475b;font-variant-numeric:tabular-nums}.dual-progress-track{height:6px;background:#eaf0f5;border-radius:8px;overflow:hidden}.dual-progress-track>i{display:block;height:100%;background:#ff7517;border-radius:8px;transition:width .2s}.collection .dual-progress-track>i,.collection-stage-list .dual-progress-track>i{background:#42a28d}.card-collection{margin:10px 0 13px!important}.card-collection>div:first-child{font-size:12px!important;margin-bottom:6px}.card-collection strong{font-size:12px}.card-collection .dual-progress-track{height:4px}.cards>.project{cursor:pointer;transition:border-color .16s,box-shadow .16s}.cards>.project:hover{border-color:#ffc18f!important;box-shadow:0 5px 18px #2b42520a}.cards>.project:focus-visible{outline:3px solid #ffc28f;outline-offset:3px}.confirmation-stage{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 14px;background:#f7f9fc;border-radius:10px;margin:12px 0}.confirmation-stage span:not(.pill){font-size:12px;color:#8491a0}.confirmation-stage h3{font-size:17px;margin:4px 0 0}.construction-confirm .workflow-footer{padding-top:10px}.construction-confirm .workflow-heading{margin-bottom:10px}
.report-edit-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf1f5;padding-bottom:12px;margin-bottom:12px}.report-edit-toolbar>span{font-size:11px;color:#929cab}.report-edit-toolbar button,.stage-history-edit{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px;min-height:38px;padding:7px 12px;background:#fff7ef;border-color:#ffd4b2;color:#c7681f}.report-edit-toolbar .ui-icon,.stage-history-edit .ui-icon{background:transparent;border:0;width:18px;flex-basis:18px;height:20px}.report-edit-toolbar svg,.stage-history-edit svg{width:16px;height:16px}.stage-history-edit{margin:10px 0 0 8px}.correction-title{margin-bottom:18px}.correction-title>.ui-icon,.ledger-heading>.ui-icon{width:42px;height:42px;flex-basis:42px}.correction-title h2,.ledger-heading h2{margin:0;font-size:22px}.correction-title p,.ledger-heading p{font-size:13px;color:#8491a0;margin:5px 0 0}.report-correction-dialog label{font-size:13px;font-weight:600}.report-correction-dialog textarea{min-height:90px;font-size:15px;line-height:1.7}.report-correction-dialog input{font-size:15px}.correction-notice{font-size:12px;line-height:1.8;color:#a27449;background:#fff7ee;border:1px solid #ffe0c3;border-radius:9px;padding:12px 14px}.correction-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.correction-actions>button{min-width:112px;min-height:44px}.correction-history{font-size:12px;color:#7d8999;margin:12px 0}.correction-history>div{padding:10px 0;border-bottom:1px solid #e8edf3}.correction-history p{margin:6px 0}.correction-history small{line-height:1.7}.report-correction-dialog #correction-error{color:#bb422a;font-size:13px}
dialog.project-detail-dialog:not(.photo-lightbox){width:min(1000px,calc(100vw - 32px));padding:28px!important;max-height:92dvh;overflow-y:auto}.project-detail-dialog .detail-topline{display:flex;justify-content:space-between;gap:14px;padding-right:36px}.detail-topline>span:last-child{font-size:11px;color:#8c97a6}.detail-title{display:flex;align-items:center;gap:12px;margin:10px 0 8px}.detail-title h2{font-size:27px;margin:0;line-height:1.4}.project-detail-dialog>.muted{margin:7px 0 18px;font-size:13px}.detail-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:16px 0;border-block:1px solid #e9edf3}.detail-facts>div{display:grid;gap:5px;text-align:center}.detail-facts small{font-size:12px;color:#8c97a6}.detail-facts strong{font-size:16px;font-weight:600}.detail-progress-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:16px 0 8px}.detail-stage-strip{display:flex;overflow-x:auto;gap:12px;margin:16px 0 22px;padding:0 0 12px}.detail-stage-strip>div{min-width:108px;display:grid;justify-items:center;text-align:center;gap:7px;font-size:12px;color:#8a97a8}.detail-stage-strip>div>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid #dbe3eb;color:#94a1b1;font-size:12px}.detail-stage-strip .complete>span{background:#e8f5ef;color:#308a72;border-color:#cbe6da}.detail-stage-strip strong{font-size:12px;max-width:110px}.detail-stage-strip small{font-size:11px}.detail-tabs{display:flex;gap:20px;margin:18px 0}.detail-tabs button{font-size:14px;border:0;border-bottom:2px solid transparent;border-radius:0;padding:10px 2px}.detail-tabs .selected{color:#e36a14;border-bottom-color:#ff6b00}.detail-tab-content .log{margin:14px 0;padding:20px}.detail-tab-content .twocol{gap:15px}.detail-tab-content .twocol section{margin-top:10px;padding-top:10px}.collection-stage-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.collection-stage-list>article{padding:16px;border:1px solid #e3eaf0;border-radius:12px;background:#fff}.collection-stage-heading{display:flex;justify-content:space-between;gap:10px;font-size:14px;margin-bottom:13px}.collection-stage-heading>b{font-size:13px;color:#348671}.stage-money-line{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;font-size:12px;color:#8792a2;margin:12px 0}.stage-money-line>span{display:grid;gap:6px}.stage-money-line b{font-size:15px;font-weight:600;color:#314257;overflow-wrap:anywhere}.unpaid-reason{font-size:12px;line-height:1.7;color:#9a7c5e;margin:12px 0;background:#fff9f0;border-radius:7px;padding:8px 10px}.stage-receipt-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.stage-receipt-actions small{font-size:11px}.stage-receipt-actions button{font-size:12px;padding:6px 12px;min-height:34px}
dialog.receipt-ledger-dialog:not(.photo-lightbox){width:min(720px,calc(100vw - 28px));padding:26px!important;max-height:92dvh;overflow-y:auto}.ledger-heading{margin:0 0 18px}.receipt-ledger-dialog .receipt-summary [data-ledger-open]{display:none}.receipt-ledger-dialog .receipt-summary{background:#f8fafc;padding:16px}.receipt-ledger-dialog .receipt-totals strong{font-size:21px}.receipt-ledger-dialog .receipt-summary-note{margin-top:9px}.receipt-ledger-dialog .receipt-section-heading{margin-bottom:10px}.receipt-ledger-dialog details>summary{font-size:13px;cursor:pointer;color:#788799;padding:10px 0}.contract-editor,.stage-amount-editor{border:1px solid #e5ebf2;border-radius:10px;padding:4px 14px;margin:12px 0}.receipt-ledger-dialog label{font-size:13px;font-weight:600;margin:12px 0}.receipt-ledger-dialog input,.receipt-ledger-dialog select,.receipt-ledger-dialog textarea{font-size:14px;line-height:1.6}.receipt-ledger-dialog form button{font-size:13px;min-height:41px}.contract-editor form,.stage-amount-editor form{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.contract-editor form button,.stage-amount-editor form button{justify-self:end;grid-column:1/-1;margin-bottom:12px}.ledger-stage-label{margin-top:20px!important}.ledger-stage-label select{font-size:16px!important;font-weight:600;background:#fff8f2;border-color:#ffc99f}.ledger-stage-summary{border-radius:11px;padding:14px 16px;background:#f7fafb;border:1px solid #e4eaf0;margin:12px 0}.ledger-stage-summary .stage-money-line{margin-top:0}.ledger-stage-summary>p{font-size:12px;color:#8692a1;margin:10px 0 0}.receipt-entry{border:1px solid #f9d8bc;border-radius:12px;padding:16px;margin:16px 0;background:#fffcf8}.receipt-entry-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.receipt-entry-heading h3{font-size:16px;margin:0 0 6px}.receipt-entry>.primary{width:100%;margin-top:8px!important}.unpaid-note-editor{display:flex;gap:10px;align-items:flex-end;margin:14px 0}.unpaid-note-editor label{flex:1;margin:0!important;min-width:0}.unpaid-note-editor button{flex:0 0 auto}.receipt-records{margin:20px 0}.receipt-records>h3{font-size:15px;display:flex;justify-content:space-between;gap:10px}.receipt-records h3>span{font-size:12px;color:#8895a5;font-weight:400}.receipt-records>article{padding:14px 16px;border:1px solid #e4ebf0;border-radius:11px;margin-top:10px;background:#fff}.receipt-records>article>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center}.receipt-records strong{font-size:21px;color:#28806c}.receipt-records article span{font-size:12px;color:#8995a5}.receipt-records article small{font-size:12px;display:block;margin:7px 0;color:#8b97a6}.receipt-records article p{font-size:13px;line-height:1.8;margin:7px 0;color:#6b7c90}.receipt-records .voided{opacity:.6;background:#f6f8fa}.receipt-records .voided strong{color:#8c96a2;text-decoration:line-through}.receipt-record-actions{display:flex;justify-content:flex-end;gap:8px}.receipt-record-actions button{font-size:12px;min-height:34px;padding:6px 12px}.ledger-empty{font-size:13px;color:#8e99a8;padding:20px;text-align:center;border:1px dashed #e1e8ef;border-radius:10px}.historical-actions{border-top:1px solid #e4eaf0;padding-top:8px}.historical-actions textarea{min-height:72px}.historical-actions .actions{margin:12px 0}.receipt-ledger-dialog #ledger-error{color:#ba482c;font-size:13px;line-height:1.8}.receipt-void-dialog>p{font-size:13px;color:#7e8b9d;line-height:1.8}.receipt-void-dialog form button{width:100%}.receipt-void-dialog textarea{min-height:90px}
@media(max-width:700px){.receipt-summary{padding:15px}.receipt-section-heading{gap:8px;flex-wrap:wrap}.receipt-section-heading>div{gap:7px}.receipt-section-heading h3{font-size:15px}.receipt-totals{gap:9px;margin-bottom:14px}.receipt-totals strong{font-size:18px}.receipt-totals small{font-size:11px}.receipt-section-heading>button{width:100%;min-height:40px}.confirmation-stage{padding:12px}.confirmation-stage h3{font-size:16px}.report-edit-toolbar{align-items:flex-start}.report-edit-toolbar>span{line-height:1.7}.report-edit-toolbar button{white-space:nowrap}.stage-history-edit{margin-left:0}.report-correction-dialog .twocol{gap:0!important}.report-correction-dialog textarea,.report-correction-dialog input{font-size:16px}.correction-title{gap:10px;margin-right:15px}.correction-title h2{font-size:20px}.correction-actions>button{flex:1;min-width:0}.detail-progress-pair{gap:12px;grid-template-columns:1fr}.project-detail-dialog .detail-title h2{font-size:23px}.detail-facts{gap:8px}.detail-facts strong{font-size:14px}.detail-topline{gap:8px}.detail-stage-strip{margin:12px 0 14px}.detail-tabs{gap:17px;overflow-x:auto;white-space:nowrap}.detail-tabs button{font-size:13px;flex:0 0 auto}.collection-stage-list{grid-template-columns:1fr}.collection-stage-list>article{padding:14px}.project-detail-dialog .detail-tab-content .log{padding:16px}.project-detail-dialog .concierge-card{grid-template-columns:1fr}.stage-money-line{gap:8px}.stage-money-line b{font-size:14px}.receipt-ledger-dialog .receipt-totals strong{font-size:17px}.receipt-ledger-dialog .receipt-totals>div{min-width:0}.receipt-ledger-dialog .twocol{grid-template-columns:1fr!important;gap:0!important}.contract-editor form,.stage-amount-editor form{grid-template-columns:1fr}.receipt-entry{padding:13px}.receipt-ledger-dialog input,.receipt-ledger-dialog select,.receipt-ledger-dialog textarea{font-size:16px}.unpaid-note-editor{display:block}.unpaid-note-editor button{width:100%;margin-top:10px}.ledger-heading{gap:10px}.ledger-heading h2{font-size:20px}.receipt-ledger-dialog .receipt-summary .internal-only{display:none}dialog.project-detail-dialog:not(.photo-lightbox),dialog.receipt-ledger-dialog:not(.photo-lightbox){padding:20px 16px!important}.receipt-ledger-dialog .ledger-stage-summary{padding:13px}.receipt-records>article{padding:13px}.detail-tab-content .concierge-contact-grid{min-width:0}}
.dual-progress-track>progress{display:block;height:100%!important;width:100%;margin:0!important;border:0;background:#eaf0f5;border-radius:8px;appearance:none}.dual-progress-track>progress::-webkit-progress-bar{background:#eaf0f5;border-radius:8px}.dual-progress-track>progress::-webkit-progress-value{background:#ff7517;border-radius:8px}.dual-progress-track>progress::-moz-progress-bar{background:#ff7517;border-radius:8px}.collection .dual-progress-track>progress::-webkit-progress-value,.collection.dual-progress-track>progress::-webkit-progress-value{background:#42a28d}.collection .dual-progress-track>progress::-moz-progress-bar,.collection.dual-progress-track>progress::-moz-progress-bar{background:#42a28d}
.cards .project .dual-progress-track>progress{margin:0!important;height:100%!important}
.project-detail-dialog>.receipt-summary>.dual-progress{display:none}.project-detail-dialog>.receipt-summary .receipt-totals{margin-bottom:8px}

/* Finance uses the existing orange brand, with green reserved for receipts. */
.project .project-number{white-space:normal;overflow-wrap:anywhere;max-width:100%;flex-wrap:wrap;justify-content:flex-end;gap:4px}.project .project-number-edit{flex-shrink:0}.bf-page .bf-table td{overflow-wrap:anywhere}
.bf-page .bf-cumulative{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:22px}.bf-page .bf-cumulative>div:nth-child(3n){border-right:0}
@media(max-width:650px){.bf-page .bf-cumulative{grid-template-columns:repeat(2,minmax(0,1fr))}.bf-page .bf-cumulative>div:nth-child(odd){border-right:1px solid #e8edf3}.bf-page .bf-cumulative>div:nth-child(even){border-right:0}}
dialog.bf-dialog:not(.photo-lightbox){width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 40px);border-radius:20px;padding:28px!important;scrollbar-gutter:auto}
dialog.bf-calendar-dialog:not(.photo-lightbox),dialog.bf-period-dialog:not(.photo-lightbox){width:min(380px,calc(100vw - 32px));max-width:380px;padding:24px!important;overflow:auto}
dialog.bf-dialog:not(.photo-lightbox) .close{position:absolute;top:18px;right:18px;float:none;margin:0}
dialog.bf-voucher-dialog:not(.photo-lightbox){width:min(900px,calc(100vw - 32px))}
@media(max-width:650px){dialog.bf-dialog:not(.photo-lightbox){padding:22px!important;max-height:calc(100dvh - 24px)}dialog.bf-calendar-dialog:not(.photo-lightbox),dialog.bf-period-dialog:not(.photo-lightbox){padding:24px!important}}
.bf-page{max-width:1440px;margin:auto}.bf-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.bf-heading h1{display:flex;align-items:center;gap:16px;margin:8px 0;font-size:30px}.bf-heading p{color:#74849b;margin:8px 0}.bf-private{display:inline-flex;align-items:center;gap:6px;background:#fff1e7;border:1px solid #ffdfc7;color:#bf5915;padding:7px 10px;border-radius:8px;font-size:12px;font-weight:500}.bf-private .ui-icon{width:16px;height:16px}.bf-top-actions,.bf-entry-actions,.bf-form-actions{display:flex;gap:10px;align-items:center}.bf-top-actions button,.bf-filterbar>button,.bf-date-trigger{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px}.bf-page svg,.bf-dialog svg{width:20px;height:20px;flex-shrink:0}.bf-filterbar{display:flex;align-items:center;gap:12px;margin-bottom:20px;background:#fff;border:1px solid #e3e9f0;padding:14px;border-radius:14px}.bf-filterbar select{min-width:0;flex:1;width:auto;max-width:300px;margin:0}.bf-period-switch{display:flex;gap:3px;background:#f3f5f8;border-radius:10px;padding:4px}.bf-period-switch button{border:0;background:transparent;min-height:36px;padding:6px 14px}.bf-period-switch .selected{background:white;color:#f76900;box-shadow:0 2px 6px #25364b0a}.bf-period{white-space:nowrap;color:#25364b;font-weight:600}.bf-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.bf-stat{position:relative;background:#fff;border:1px solid #e1e8ef;padding:22px;border-radius:16px;min-height:165px;display:flex;flex-direction:column;gap:12px}.bf-stat>span:not(.bf-icon){font-weight:600;color:#53637a}.bf-stat>strong{font-size:30px;font-variant-numeric:tabular-nums;letter-spacing:-.6px}.bf-stat>small{color:#8290a4;font-size:12px}.bf-icon{width:36px;height:36px;border-radius:10px;background:#fff1e6;color:#ff720c;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.bf-stat .bf-icon{position:absolute;right:20px;top:18px}.bf-stat.income{border-top:3px solid #32a181}.bf-stat.income>strong{color:#16876a}.bf-stat.income .bf-icon{background:#e8f6f0;color:#16876a}.bf-stat.expense{border-top:3px solid #ff790b}.bf-stat.expense>strong{color:#e16b17}.bf-stat.balance{border-top:3px solid #32445c;background:linear-gradient(120deg,#fff,#f3f6fa)}.bf-cumulative{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px;padding:20px 8px;background:white;border:1px solid #e3e9f0;border-radius:14px}.bf-cumulative>div{display:flex;flex-direction:column;gap:10px;padding:0 20px;border-right:1px solid #e8edf3}.bf-cumulative>div:last-child{border:0}.bf-cumulative small{color:#77869b}.bf-cumulative strong{font-size:20px;font-variant-numeric:tabular-nums}.bf-warning{background:#fff6e9;color:#9c631e;border:1px solid #f6dfbb;padding:12px 16px;border-radius:10px;line-height:1.7;font-size:13px}.bf-subheading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 18px;flex-wrap:wrap}.bf-tabs{margin:0;display:flex;gap:6px;border-bottom:1px solid #e0e7f0;padding:0;overflow:auto}.bf-tabs button{border:0;border-radius:8px 8px 0 0;background:transparent;white-space:nowrap;color:#718097;padding:13px 16px;font-size:14px;min-height:46px}.bf-tabs .selected{background:#fff1e6;color:#f46b00;border-bottom:2px solid #ff7100;font-weight:700}.bf-entry-actions button{min-height:44px;padding:10px 18px}.bf-income-button{border-color:#c9e7dc;background:#f2fbf7;color:#167e62;font-weight:600}.bf-panel{background:white;border:1px solid #e2e8f0;border-radius:15px;margin-bottom:18px;overflow:hidden}.bf-panel-title{display:flex;align-items:center;gap:10px;padding:18px 20px;border-bottom:1px solid #edf0f5}.bf-panel-title h2{font-size:17px;margin:0}.bf-panel-title>span:last-child:not(.bf-icon){margin-left:auto;color:#8290a5;font-size:12px}.bf-table-wrap{overflow-x:auto;max-width:100%}.bf-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.bf-table th{font-weight:500;color:#74849a;background:#f7f9fc;white-space:nowrap;padding:14px 18px}.bf-table td{padding:16px 18px;border-bottom:1px solid #eef1f6;vertical-align:middle;min-width:100px;font-variant-numeric:tabular-nums}.bf-table td small{display:block;color:#7d8ba0;margin-top:6px;line-height:1.5;max-width:250px;overflow-wrap:anywhere}.bf-table td strong{display:block}.bf-table tr:last-child td{border-bottom:0}.bf-table td button{min-height:36px;font-size:12px;padding:7px 12px;white-space:nowrap}.bf-green{color:#168468}.bf-source,.bf-status{font-size:11px;color:#bd6d27;background:#fff4ea;padding:5px 8px;border-radius:6px;white-space:nowrap;display:inline-block}.bf-status.paid{background:#e9f6ef;color:#168468}.bf-status.void{background:#f0f2f5;color:#8390a1}.bf-reconcile{display:flex;align-items:center;gap:28px;padding:20px}.bf-reconcile>div:first-child{flex:1}.bf-reconcile h3{font-size:15px;margin:0 0 8px}.bf-reconcile p,.bf-note,.bf-footnote{font-size:12px;line-height:1.8;color:#75859b}.bf-reconcile p{margin:0}.bf-reconcile small,.bf-reconcile b{display:block}.bf-reconcile small{color:#7d8ca0;margin-bottom:8px}.bf-note{padding:12px 18px;background:#f7f9fc;border-radius:9px;margin:16px}.bf-footnote{margin:16px 0}.bf-empty{text-align:center;padding:45px 20px;color:#8896a9}.bf-empty .bf-icon{width:48px;height:48px}.bf-empty h3{font-size:16px;color:#526176}.bf-empty p{font-size:13px}.bf-gate{max-width:480px;margin:40px auto;background:white;border:1px solid #e0e7ef;border-radius:20px;padding:38px;box-shadow:0 12px 36px #273e5910}.bf-gate>.bf-icon{width:56px;height:56px;margin-bottom:20px}.bf-gate>.eyebrow{display:block}.bf-gate h1{font-size:25px;margin:12px 0}.bf-gate>p{line-height:1.8;color:#75839a;font-size:14px}.bf-gate label,.bf-dialog label{font-size:13px;font-weight:600;color:#41526b;display:block;margin:16px 0}.bf-gate input,.bf-dialog input,.bf-dialog textarea,.bf-dialog select{margin-top:8px;min-height:44px;font-size:14px}.bf-gate form>.primary{width:100%;min-height:46px}.bf-gate>small{display:block;margin-top:20px;font-size:12px;color:#8a97a8;line-height:1.8}.bf-error{color:#bf3946;font-size:13px;line-height:1.6}.bf-dialog{width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:28px;border-radius:20px;border:1px solid #e4e9f1;overflow:auto}.bf-dialog h2{font-size:22px;margin:8px 35px 18px 0;line-height:1.5}.bf-dialog h3{font-size:16px;margin:24px 0 12px}.bf-dialog>p{color:#7d8b9e;font-size:13px;line-height:1.8}.bf-dialog .bf-note{margin:14px 0}.bf-dialog .close{position:absolute;top:20px;right:20px;width:34px;height:34px;min-height:34px;line-height:1;border-radius:50%}.bf-dialog .twocol{gap:0 18px}.bf-dialog textarea{min-height:80px}.bf-form-actions{justify-content:flex-end;border-top:1px solid #e6ecf3;padding-top:18px;margin-top:20px}.bf-form-actions button{min-height:44px;min-width:110px}.bf-date-trigger{width:100%;margin-top:8px;border:1px solid #d9e2ee;background:#fff;border-radius:8px;justify-content:flex-start;padding:10px 12px;font-weight:500}.bf-date-trigger svg{color:#ff770c}.bf-date-trigger span:last-child{margin-left:auto;color:#8b99ad}.bf-date-trigger:focus-visible,.bf-period:focus-visible{outline:3px solid #ffc995;outline-offset:2px}.bf-calendar-dialog,.bf-period-dialog{width:min(380px,calc(100vw - 28px));padding:26px;overflow:visible}.bf-calendar-dialog .eyebrow,.bf-period-dialog .eyebrow{font-size:11px}.bf-calendar-head{display:flex;align-items:center;justify-content:space-between;margin:26px 0 18px}.bf-calendar-head h2{font-size:18px;margin:0}.bf-calendar-head button{height:36px;width:36px;min-height:36px;padding:0;font-size:24px;border-radius:9px}.bf-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.bf-calendar-grid>span{text-align:center;color:#94a0b1;font-size:12px;padding:9px 0}.bf-calendar-grid>button{border:0;background:#f7f9fc;aspect-ratio:1;min-height:34px;padding:0;border-radius:9px;font-size:13px}.bf-calendar-grid .selected,.bf-month-grid .selected{background:#ff7406;color:white;box-shadow:0 4px 10px #ff740630}.bf-calendar-footer{display:flex;gap:10px;justify-content:space-between;border-top:1px solid #e6ecf2;padding-top:18px;margin-top:20px}.bf-calendar-footer button{min-height:42px}.bf-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.bf-month-grid button{min-height:48px;border-radius:10px}.bf-year-confirm{width:100%;margin-top:16px;min-height:46px}.bf-voucher{border:1px dashed #f3c294;padding:14px;background:#fffbf7;border-radius:10px}.bf-voucher span{display:block;font-size:11px;color:#9d8d7a;font-weight:400;margin-top:5px}.bf-voucher input{font-size:12px;font-weight:400;min-height:30px;max-width:100%}.bf-detail-money{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;background:#f6f8fb;border-radius:12px;padding:16px}.bf-detail-money small,.bf-detail-money strong{display:block}.bf-detail-money small{color:#8090a4;font-size:12px;margin-bottom:8px}.bf-detail-money strong{font-size:20px;font-variant-numeric:tabular-nums}.bf-voucher-links{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.bf-voucher-links button{min-height:34px;font-size:12px}.bf-payment{display:flex;align-items:center;justify-content:space-between;border:1px solid #e4eaf2;border-radius:10px;padding:16px;margin-top:10px;gap:12px}.bf-payment strong,.bf-payment span,.bf-payment small{display:block;margin-bottom:7px}.bf-payment span,.bf-payment small{font-size:12px;color:#79889d}.bf-payment-form{border-top:1px solid #e4eaf2;margin-top:24px}.bf-history{padding-top:20px;font-size:12px;color:#7a899d;line-height:1.8}.bf-history small{display:block}.bf-readonly{font-size:12px;color:#8290a4}.bf-voucher-image{max-width:100%;height:auto;display:block}.bf-voucher-dialog{width:min(900px,calc(100vw - 32px))}.project-number-edit{min-height:25px;padding:3px 6px;font-size:11px;color:#ef710f;border:1px solid #ffddc5;border-radius:5px;margin-left:6px}.project-number{display:inline-flex;align-items:center}.bf-loading{text-align:center;padding:80px 20px;color:#8290a4}
@media(max-width:1100px){.bf-filterbar{flex-wrap:wrap}.bf-filterbar select{max-width:none;min-width:160px}.bf-stat>strong{font-size:25px}.bf-stat{padding:18px}.bf-stat .bf-icon{width:28px;height:28px;right:12px}.bf-stat .bf-icon svg{width:16px}.bf-stat>span:not(.bf-icon){font-size:12px}.bf-cumulative strong{font-size:17px}.bf-reconcile{flex-wrap:wrap}}
@media(max-width:650px){.bf-heading{align-items:flex-start;gap:10px;flex-direction:column}.bf-heading h1{font-size:26px}.bf-top-actions{width:100%}.bf-top-actions button{flex:1}.bf-filterbar{padding:10px;gap:8px}.bf-filterbar select{flex:1 1 100%;width:100%}.bf-filterbar>button:last-child{flex:1}.bf-stats{grid-template-columns:1fr;gap:10px}.bf-stat{min-height:120px;gap:8px;padding:18px}.bf-stat>strong{font-size:30px}.bf-stat .bf-icon{width:40px;height:40px;top:22px;right:20px}.bf-stat .bf-icon svg{width:22px;height:22px}.bf-cumulative{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 0;padding:18px 0}.bf-cumulative>div{padding:0 14px}.bf-cumulative>div:nth-child(2){border:0}.bf-cumulative strong{font-size:18px}.bf-subheading{margin:20px 0 14px}.bf-tabs{width:100%}.bf-tabs button{padding:12px;font-size:13px}.bf-entry-actions{width:100%}.bf-entry-actions button{flex:1;padding:10px 12px;font-size:13px}.bf-panel-title{padding:14px}.bf-panel-title>span:last-child:not(.bf-icon){display:none}.bf-table th,.bf-table td{padding:12px 14px}.bf-reconcile{padding:16px;gap:20px}.bf-reconcile>div:first-child{flex-basis:100%}.bf-gate{margin:16px auto;padding:24px}.bf-dialog{padding:22px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.bf-dialog .twocol{display:block}.bf-calendar-dialog,.bf-period-dialog{width:calc(100vw - 40px);max-width:380px}.bf-detail-money{gap:8px;padding:12px}.bf-detail-money strong{font-size:16px}.bf-payment{align-items:flex-start}.bf-private{font-size:11px;padding:6px 8px}.bf-page .eyebrow{font-size:10px}}

/* Finance dialog layout overrides the older global dialog/form rules. */
.bf-audit-pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 18px;border-top:1px solid #e7edf4}.bf-audit-pager>span{margin-right:auto;color:#8390a1;font-size:12px}.bf-audit-pager>button{min-height:38px;padding:8px 14px}.bf-audit-detail{min-width:140px;max-width:500px;line-height:1.8;overflow-wrap:anywhere}.bf-audit-detail summary{cursor:pointer;color:#c66b27}.bf-audit-detail h4{font-size:13px;margin:14px 0 8px}.bf-audit-detail>p{font-size:12px}.bf-audit-detail .bf-note{margin:8px 0}.bf-audit-detail .bf-table-wrap{max-width:440px}
dialog.bf-dialog:not(.photo-lightbox) .bf-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;align-items:start;margin:20px 0 16px}
dialog.bf-dialog:not(.photo-lightbox) .bf-field{display:flex;flex-direction:column;gap:8px;margin:0 0 16px;font-size:13px;font-weight:600;line-height:20px;min-width:0}
dialog.bf-dialog:not(.photo-lightbox) .bf-entry-grid>.bf-field{margin:0}
dialog.bf-dialog:not(.photo-lightbox) .bf-field input,dialog.bf-dialog:not(.photo-lightbox) .bf-field select{box-sizing:border-box;width:100%;height:46px;min-height:46px;margin:0;font-size:14px;font-weight:400}
dialog.bf-dialog:not(.photo-lightbox) .bf-field textarea{margin:0;width:100%;font-size:14px;font-weight:400;min-height:86px}
dialog.bf-dialog:not(.photo-lightbox) .bf-field .bf-date-trigger{height:46px;min-height:46px;margin:0;box-sizing:border-box;align-items:center}
dialog.bf-dialog:not(.photo-lightbox) .bf-field [hidden],dialog.bf-dialog:not(.photo-lightbox) .bf-file-input{display:none!important}
dialog.bf-dialog:not(.photo-lightbox) .bf-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:20px 0 0;padding:18px 0 0;border-top:1px solid #e5ebf2}
dialog.bf-dialog:not(.photo-lightbox) form .bf-form-actions>button,dialog.bf-dialog:not(.photo-lightbox) form .bf-form-actions>button.primary[type=submit]{box-sizing:border-box;height:46px;min-height:46px;min-width:112px;margin:0;padding:0 22px;line-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px}
.bf-category-note{font-size:12px;line-height:1.7;color:#7c8ba0;margin:12px 0 18px;padding:10px 12px;background:#f7f9fc;border-radius:8px}
dialog.bf-dialog:not(.photo-lightbox) .bf-upload-card{padding:16px;border:1px dashed #f4c6a2;background:#fffbf7;border-radius:12px;margin:16px 0}
dialog.bf-dialog:not(.photo-lightbox) .bf-upload-heading{display:flex;align-items:center;gap:12px}
.bf-upload-heading>.ui-icon{width:42px;height:42px;flex:0 0 42px;border-radius:12px}
.bf-upload-heading>div{flex:1;min-width:0}.bf-upload-heading strong{font-size:15px;color:#35465c}.bf-upload-heading p{font-size:12px;color:#8792a1;line-height:1.6;margin:5px 0 0}
dialog.bf-dialog:not(.photo-lightbox) form .bf-upload-button{height:44px;min-height:44px;white-space:nowrap;margin:0!important;padding:0 18px!important;border-radius:10px;line-height:42px;font-size:13px;flex-shrink:0}
.bf-upload-feedback{font-size:12px;color:#8c97a7;margin:12px 0 0}.bf-upload-files{list-style:none;margin:10px 0 0;padding:0}.bf-upload-files:empty{display:none}.bf-upload-files li{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #f0e4d9;padding:9px 0;font-size:12px;overflow-wrap:anywhere}.bf-upload-files small{color:#9a8e83;white-space:nowrap}
.bf-history-summary{border:1px solid #e3e9f0;border-radius:15px;background:#fff;margin:26px 0 16px;overflow:hidden}.bf-history-summary .bf-cumulative{margin:0;border:0;border-radius:0}.bf-history-summary>.bf-warning{margin:12px 16px 16px}.bf-history-summary>.bf-panel-title>span:last-child{font-size:11px}
@media(max-width:650px){dialog.bf-dialog:not(.photo-lightbox) .bf-entry-grid{grid-template-columns:1fr;gap:16px;margin:18px 0}dialog.bf-dialog:not(.photo-lightbox) .bf-upload-heading{flex-wrap:wrap;gap:10px}.bf-upload-heading>div{flex-basis:calc(100% - 58px)}dialog.bf-dialog:not(.photo-lightbox) form .bf-upload-button{width:100%;margin-top:4px!important}.bf-form-actions>button{flex:1}.bf-history-summary{margin-top:20px}}

/* v104: shared upload visuals across reports, avatars and finance. */
.unified-upload.bf-upload-card,.unified-upload.avatar-editor,.unified-upload.employee-avatar-editor,#report .unified-upload.report-upload-card{border:1px dashed #f4c6a2!important;background:#fffbf7!important;border-radius:12px!important;padding:16px!important;min-height:0!important;gap:12px!important}
.unified-upload .bf-upload-feedback:empty,.unified-upload .bf-upload-files:empty{display:none!important}
.unified-upload .bf-upload-heading{gap:12px}
.unified-upload .bf-upload-heading>.ui-icon,#report .unified-upload .upload-card-icon{width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:#fff1e5;color:#ff6900;border:1px solid #ffdbc0}
#report .unified-upload .upload-card-icon svg{width:24px;height:24px}
.unified-upload.avatar-editor .avatar-upload,.unified-upload.employee-avatar-editor .employee-avatar-actions>label,#report .unified-upload .upload-card-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#ff6900!important;color:#fff!important;border:1px solid #ff6900!important;border-radius:10px!important;height:44px!important;min-height:44px!important;padding:0 18px!important;margin:0!important;font-size:13px!important;font-weight:600!important;box-sizing:border-box;white-space:nowrap;gap:8px}
.unified-upload .avatar-editor-actions,.unified-upload .employee-avatar-actions{align-items:center;gap:8px}
.unified-upload .avatar-editor-actions>button,.unified-upload .employee-avatar-actions>button{height:44px;min-height:44px;border-radius:10px;margin:0!important;padding:0 14px!important}
#report .unified-upload .upload-card-copy strong,.unified-upload .avatar-editor-copy h3,.unified-upload.employee-avatar-editor strong{font-size:15px;color:#35465c}
.bf-page .bf-cumulative{margin-top:20px}
@media(max-width:650px){#report .unified-upload.report-upload-card{grid-template-columns:42px minmax(0,1fr)}.unified-upload.avatar-editor,.unified-upload.employee-avatar-editor{padding:12px!important;gap:10px!important}.unified-upload .employee-avatar-actions,.unified-upload .avatar-editor-actions{flex-wrap:wrap}.unified-upload .avatar-upload,.unified-upload .employee-avatar-actions>label{max-width:100%}}

/* v107: financial semantic palette. */
.bf-page .bf-stat.income{border-top-color:#138568;background:#f1faf6}
.bf-page .bf-stat.income>strong{color:#138568}
.bf-page .bf-stat.income .bf-icon{background:#dbf1e7;color:#138568}
.bf-page .bf-stat.expense{border-top-color:#b85c16;background:#fff7ee}
.bf-page .bf-stat.expense>strong{color:#b85c16}
.bf-page .bf-stat.expense .bf-icon{background:#ffe8d0;color:#b85c16}
.bf-page .bf-stat.balance{border-top-color:#2f5fa7;background:#f2f6fd}
.bf-page .bf-stat.balance>strong{color:#2f5fa7}
.bf-page .bf-stat.balance .bf-icon{background:#e1eafa;color:#2f5fa7}
.bf-page .bf-stat.balance.deficit{border-top-color:#c44141;background:#fff3f2}
.bf-page .bf-stat.balance.deficit>strong{color:#c44141}
.bf-page .bf-stat.balance.deficit .bf-icon{background:#fbe1df;color:#c44141}
.bf-page .bf-entry-actions>[data-bf=income],.bf-page .bf-entry-actions>[data-bf=expense]{display:inline-flex;align-items:center;justify-content:center;height:46px;min-height:46px;min-width:112px;border-radius:10px;padding:0 18px;margin:0;color:#fff;font-size:13px;font-weight:600;box-shadow:none;transition:background .15s}
.bf-page .bf-entry-actions>[data-bf=income]{background:#138568;border-color:#138568}
.bf-page .bf-entry-actions>[data-bf=income]:hover{background:#0e6e56;border-color:#0e6e56}
.bf-page .bf-entry-actions>[data-bf=expense]{background:#b85c16;border-color:#b85c16}
.bf-page .bf-entry-actions>[data-bf=expense]:hover{background:#984a10;border-color:#984a10}
.bf-page .bf-green{color:#138568}

.plan108-intro{padding:16px;border:1px solid #ffdabd;background:#fffaf5;border-radius:12px;margin:16px 0}.plan108-title{display:flex;align-items:center;gap:9px}.plan108-title .pill{margin-left:auto}.plan108-intro p{font-size:13px;color:#76859a;line-height:1.8;margin:10px 0}.plan108-equation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-top:1px solid #f1dfd1;padding-top:14px}.plan108-equation span{font-size:12px;color:#75849a}.plan108-equation b{display:block;margin-top:8px;font-size:17px;color:#293c54;overflow-wrap:anywhere}.plan108-options{margin-top:16px;border-top:1px solid #f1dfd1;padding-top:14px}.plan108-options summary{cursor:pointer;font-weight:600;color:#ba641f}.plan108-check{display:flex!important;align-items:center;gap:9px}.plan108-check input{width:18px!important;height:18px;min-height:18px!important;margin:0!important}.plan108-options form{margin-top:12px}.plan108-options button{min-height:44px}.plan108-error,#confirm-error108{color:#b83e3e}.plan108-confirm-actions{display:flex;gap:10px;flex-wrap:wrap}.plan108-note{font-size:13px;line-height:1.8;color:#7a889c;margin:12px 0}.receipt-ledger-dialog .ledger-stage-summary p{line-height:1.8}.plan108-new-options{padding:14px;border:1px solid #f0dfd2;border-radius:10px;background:#fffaf5;margin:16px 0}.plan108-new-options label{font-size:14px}.plan108-new-options p{font-size:12px;color:#7a889c;line-height:1.8}
@media(max-width:650px){.plan108-intro{padding:12px}.plan108-equation{grid-template-columns:1fr}.plan108-equation span{display:flex;align-items:center;justify-content:space-between;gap:10px}.plan108-equation b{margin-top:0;font-size:16px}.plan108-title{flex-wrap:wrap}.plan108-confirm-actions button{width:100%}}

dialog.report-dialog108{padding:26px!important;width:min(960px,calc(100vw - 32px));max-height:calc(100dvh - 32px)}.report-dialog108>h2{margin:8px 0}.report-dialog108>p.muted{font-size:12px;margin:8px 0 16px}.report-dialog108 .report-stage-label{font-size:16px!important;margin-bottom:12px!important}.report-dialog108 .stage-picker-trigger{border:2px solid #ff9a4a!important;background:#fff5e9!important;min-height:68px!important;box-shadow:0 3px 12px #ec8a1720}.report-dialog108 .stage-picker-trigger strong{font-size:20px}.report-dialog108 .stage-trigger-caption{font-size:12px;font-weight:600;color:#b95c17}.report-dialog108 .report-daily108>.report-field-card{border:2px solid #ffb87d!important;background:#fffaf4!important;padding:15px!important;margin-top:12px!important;font-size:17px!important}.report-dialog108 .report-daily108>.report-field-card textarea{min-height:112px!important;background:#fff!important;font-size:15px!important}.report-dialog108 .report-daily108 .twocol{margin-top:12px}.report-dialog108 .report-daily108 .twocol .report-field-card{font-size:15px!important}.report-dialog108 .report-daily108 .hint{font-size:11px;line-height:1.6;color:#8490a1;margin:8px 0}.report-dialog108 .completion-control{margin:12px 0!important;font-size:14px!important}.report-dialog108 .report-fold108{border:1px solid #e0e6ee;border-radius:10px;margin:10px 0;background:#f9fafc}.report-dialog108 .report-fold108>summary{padding:14px 16px;cursor:pointer;font-size:13px;font-weight:600;color:#5d6d82}.report-dialog108 .report-fold108[open]>summary{border-bottom:1px solid #e0e6ee}.report-dialog108 .report-fold108>section,.report-dialog108 .report-fold108>#report-workflow{margin:12px!important}.report-dialog108 .report-fold108>.stage-tools{padding:0 12px}.report-dialog108 .sticky{background:#fff!important;padding:14px 0 0!important;border-top:1px solid #e4eaf1;z-index:5}.report-dialog108 #publish,.report-dialog108 #draft{height:48px;min-height:48px;margin:0!important;font-size:15px;font-weight:600;border-radius:10px}.report-dialog108 #publish{box-shadow:0 4px 12px #ff690025}.report-dialog108 #draft{color:#b86120;border-color:#f5ceab;background:#fffaf5}
.detail-actions108{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:#fff6ec;border:1px solid #ffd7b6;border-radius:12px;margin:16px 0}.detail-actions108>div:first-child strong{font-size:16px;color:#293d55}.detail-actions108 small{display:block;font-size:12px;color:#8792a1;margin-top:5px}.detail-actions108 .actions{margin:0!important;display:flex;gap:10px}.detail-actions108 button{min-height:46px;font-size:14px;font-weight:600;white-space:nowrap;margin:0!important}.detail-stage-hint108{display:flex;justify-content:space-between;font-size:13px;color:#74849a;margin:18px 0 8px}.detail-stage-hint108 strong{color:#2a3d55}.project-detail-dialog .detail-stage-strip>button{flex:0 0 120px;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;min-height:100px;border:1px solid #e2e8ef;background:#f8fafc;border-radius:12px;padding:12px 8px;margin:0;color:#61728a}.project-detail-dialog .detail-stage-strip>button>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e9eef5;color:#63748d}.project-detail-dialog .detail-stage-strip>button>strong{font-size:13px;white-space:normal;line-height:1.5}.project-detail-dialog .detail-stage-strip>button>small{font-size:11px}.project-detail-dialog .detail-stage-strip>button.complete{background:#f0faf6;border-color:#ccebdd}.project-detail-dialog .detail-stage-strip>button.complete>span{background:#dff2e8;color:#138568}.project-detail-dialog .detail-stage-strip>button.active{border:2px solid #ff9f58;background:#fff5e9;color:#ba5918}.project-detail-dialog .detail-stage-strip{gap:10px;padding-bottom:10px}.detail-finance108{border:1px solid #e2e8ef;border-radius:10px;margin:16px 0;background:#fafbfd}.detail-finance108>summary{padding:14px 16px;cursor:pointer;font-size:13px;font-weight:600;color:#52657c}.detail-finance108 .receipt-summary{margin:0;border:0}.project-detail-dialog .detail-tabs{position:sticky;top:-1px;background:#fff;z-index:2;padding-top:8px}.detail-filter108{display:flex;align-items:center;gap:10px;color:#8a724b;font-size:13px;margin:10px 0}.detail-filter108 button{min-height:34px;font-size:12px}
@media(max-width:650px){dialog.report-dialog108{padding:18px!important;width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.report-dialog108 .report-daily108 .twocol{display:block!important}.report-dialog108 .report-daily108 .twocol>.report-field-card{margin:10px 0!important}.report-dialog108 .report-daily108>.report-field-card textarea{font-size:16px!important;min-height:100px!important}.detail-actions108{flex-direction:column;align-items:stretch;padding:12px}.detail-actions108 .actions{display:grid;grid-template-columns:1fr 1fr}.detail-actions108 .actions>button:only-child{grid-column:1/-1}.project-detail-dialog .detail-stage-strip>button{flex-basis:112px}.report-dialog108 #publish,.report-dialog108 #draft{font-size:14px}}

.bf-page .bf-amount-link108{border:0;background:transparent;padding:6px 0;margin:0;min-height:34px;font-size:13px;text-decoration:underline;text-underline-offset:4px;text-decoration-style:dotted;color:#b85c16;cursor:pointer}.bf-page .bf-amount-link108.bf-green{color:#138568}.bf-page .bf-filterbar>[data-bf-search108]{white-space:nowrap}.bf-flow-dialog108{width:min(780px,calc(100vw - 28px))}.bf-result-total108{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;background:#f5f8fc;border:1px solid #e2e8f1;border-radius:10px;margin:18px 0;font-size:13px;color:#687c94}.bf-result-total108>strong{font-size:23px;color:#293c54}.bf-flow-card108{padding:16px;border:1px solid #e2e8f1;border-radius:12px;margin:14px 0}.bf-flow-top108{display:flex;justify-content:space-between;gap:12px;font-size:15px}.bf-out108{color:#b85c16}.bf-flow-purpose108{font-size:14px;line-height:1.7;color:#354b65;margin:12px 0}.bf-flow-card108 dl{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px 12px;font-size:12px;line-height:1.7}.bf-flow-card108 dt{color:#8290a4}.bf-flow-card108 dd{margin:0;color:#405770;overflow-wrap:anywhere}.bf-thumbnails108{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.bf-thumbnails108 button{display:flex;flex-direction:column;gap:5px;max-width:120px;min-height:0;padding:6px;border:1px solid #e1e7ef;border-radius:10px;margin:0}.bf-thumbnails108 img{width:96px;height:76px;object-fit:cover;border-radius:6px}.bf-thumbnails108 span{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100px}.bf-search-field108 input{height:46px;font-size:14px}.bf-page-controls108{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px 0}.bf-search-expenses108{margin-top:20px}.bf-search-expenses108 summary{font-weight:600;color:#4a607b;cursor:pointer}.bf-search-expenses108>button{display:grid;text-align:left;width:100%;gap:5px;padding:12px;font-size:13px;margin:10px 0}.bf-search-expenses108 small{color:#8190a2}.bf-search-expenses108 span{color:#62758d}
@media(max-width:650px){.bf-result-total108{align-items:flex-start;flex-direction:column}.bf-flow-card108{padding:12px}.bf-flow-card108 dl{grid-template-columns:78px minmax(0,1fr)}.bf-flow-top108{font-size:14px}.bf-page .bf-filterbar>[data-bf-search108]{flex:1}}

.report-dialog108 .sticky{bottom:0!important;padding-bottom:12px!important}.report-dialog108 .report-daily108 .report-date108.twocol{display:grid!important;grid-template-columns:1fr 1fr;gap:12px!important;margin:10px 0}.report-date108 label{font-size:12px!important;color:#6f7f95;font-weight:600}.report-date108 input[type=time],.report-date108 .duomi-date-trigger{height:42px!important;min-height:42px!important;margin:6px 0 0!important;font-size:14px!important}.report-date108 .duomi-date-field{margin-top:0}.report-date108 .duomi-date-trigger{width:100%}.report-date108 .duomi-calendar{z-index:8}@media(max-width:650px){.report-date108{gap:8px!important}.report-date108 label{font-size:11px!important}.report-date108 input[type=time],.report-date108 .duomi-date-trigger{font-size:13px!important}}

.report-dialog108 .stage-gate-note:not([hidden]){display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.report-dialog108 .stage-gate-note button{margin:0!important;min-height:40px;background:#fff;border-color:#efbd96;white-space:nowrap}

/* v109: explicit icon/text flex layout; compact overview above the central CTA. */
.project-detail-dialog .detail-facts{padding:12px 0;gap:10px}.project-detail-dialog .detail-progress-pair{margin:12px 0 6px;gap:18px}.project-detail-dialog .detail-stage-hint108{margin:12px 0 6px}.project-detail-dialog .detail-stage-strip{margin:10px 0 14px;gap:9px;padding-bottom:9px}.project-detail-dialog .detail-stage-strip>button{min-height:92px;gap:6px;padding:10px 7px}
.project-detail-dialog .detail-actions108{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:16px 18px;margin:12px 0 16px;background:#fff5e8;border:1px solid #ffc992}.project-detail-dialog .detail-actions108>div:first-child strong{font-size:18px}.project-detail-dialog .detail-actions108 .actions{display:flex!important;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.project-detail-dialog .detail-actions108 .actions>button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-width:154px;min-height:48px;line-height:1.3!important;padding:10px 18px!important;margin:0!important;isolation:isolate}.project-detail-dialog .detail-actions108 .actions>button>.ui-icon{display:inline-flex!important;position:static!important;flex:0 0 22px!important;width:22px!important;height:22px!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;color:inherit!important}.project-detail-dialog .detail-actions108 .ui-icon svg{width:20px!important;height:20px!important;display:block;flex-shrink:0}.detail-actions108 .action-label109{display:block;position:static;white-space:nowrap;line-height:1.4;min-width:0}.project-detail-dialog .detail-actions108 button.primary{color:#fff}.project-detail-dialog .detail-actions108 button:not(.primary){color:#9f561c;border-color:#edc7a7;background:#fff}
.owner-confirm-shortcut109{display:inline-flex;align-items:center;justify-content:center;gap:10px;max-width:100%;min-height:44px;margin:12px 0 0;padding:10px 16px;border:1px solid #ffc795;border-radius:10px;background:#fff4e7;color:#b6530c;font-weight:600;font-size:14px;line-height:1.5}.owner-confirm-shortcut109.needs-action{background:#ff6900;border-color:#ff6900;color:#fff;box-shadow:0 4px 12px #ef6b1920}.owner-confirm-shortcut109 span:nth-child(2){min-width:0;overflow-wrap:anywhere}
.client-archive .owner-confirm109{border:2px solid #ffc28c;background:#fffaf4;padding:24px;margin:18px 0;border-radius:16px;box-shadow:0 5px 20px #d97a1e08;scroll-margin:24px}.owner-confirm109>header{display:flex;align-items:center;gap:14px}.owner-confirm-symbol109{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:14px;background:#ffead4;color:#d25f13}.owner-confirm-symbol109 svg{width:28px;height:28px}.owner-confirm109 header>div{flex:1;min-width:0}.owner-confirm-kicker109{font-size:12px;font-weight:700;color:#b85d1d;letter-spacing:.5px}.owner-confirm109 h2{font-size:22px;line-height:1.5;color:#283d53;margin:3px 0 0}.owner-confirm-count109{font-size:20px;color:#9a673a;text-align:right;white-space:nowrap;font-weight:600}.owner-confirm-count109 small{display:block;font-size:11px;font-weight:400;color:#9c8876;margin-top:4px}.owner-confirm-stage109{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 14px;padding:18px 20px;margin:18px 0 12px;background:#fff;border:1px solid #f4d6bb;border-radius:12px}.owner-confirm-stage109>span:first-child{font-size:12px;color:#8b7969}.owner-confirm-stage109>strong{grid-column:1;font-size:23px;line-height:1.5;color:#2d425b;overflow-wrap:anywhere}.owner-confirm-status109{grid-column:2;grid-row:1/3;font-size:12px;color:#ac5c22;background:#fff1e2;padding:8px 12px;border-radius:20px;white-space:nowrap}.owner-confirm109 .owner-confirm-message109{font-size:14px;line-height:1.9;color:#74695d;margin:12px 0 18px}.owner-confirm-actions109{display:flex;flex-direction:column;align-items:center;gap:10px}.owner-confirm109 .owner-confirm-primary109{display:flex;align-items:center;justify-content:center;gap:12px;width:min(100%,460px);min-height:56px;margin:0;padding:14px 20px;border-radius:12px;font-size:18px;font-weight:700;line-height:1.5}.owner-confirm109.is-ready{border-color:#ff9b4d;background:#fff6ea}.owner-confirm109.is-ready .owner-confirm-primary109{background:#ff6900;border-color:#ff6900;color:white;box-shadow:0 5px 14px #f4731928}.owner-confirm109 .owner-confirm-primary109:disabled{opacity:1;background:#eee9e2;border:1px solid #dfd5c9;color:#938578;box-shadow:none}.owner-confirm-record109{min-height:40px;margin:0;border:0;background:transparent;color:#a55d26;font-size:13px;padding:8px 12px}.owner-confirm109.is-confirmed{border-color:#b8dccb;background:#f4fbf7}.owner-confirm109.is-confirmed .owner-confirm-symbol109{background:#ddf0e6;color:#238263}.owner-confirm109.is-confirmed .owner-confirm-kicker109{color:#287c62}.owner-confirm109.is-confirmed .owner-confirm-stage109{border-color:#d1e8dc}.owner-confirm109.is-confirmed .owner-confirm-status109{color:#287c62;background:#e5f3eb}.owner-confirm109.is-preview{border-color:#d5dee9;background:#f8fafc}.owner-confirm109.is-preview .owner-confirm-kicker109{color:#607a98}
.stage-choice-disabled109{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px dashed #d8e0e9;border-radius:10px;background:#f8fafc;padding:12px;margin:6px 0;font-size:14px;color:#77879a}.stage-choice-disabled109 small{display:block;font-size:11px;line-height:1.7;color:#8997a8;margin-top:5px}.stage-choice-disabled109 button{font-size:12px;min-height:36px;margin:0;padding:6px 12px;border-color:#e6c9ad;color:#a56027;background:white}.stage-choice-disabled109>.stage-choice-number{font-size:12px;color:#9aa7b6}
@media(max-width:650px){.project-detail-dialog .detail-facts{padding:10px 0;gap:7px}.project-detail-dialog .detail-facts strong{font-size:14px}.project-detail-dialog .detail-progress-pair{grid-template-columns:1fr 1fr;gap:12px}.project-detail-dialog .detail-actions108{padding:14px 10px;gap:10px}.project-detail-dialog .detail-actions108>div:first-child strong{font-size:17px}.project-detail-dialog .detail-actions108 .actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}.project-detail-dialog .detail-actions108 .actions>button{min-width:0;width:100%;min-height:48px;padding:10px!important;font-size:13px;gap:7px!important}.client-archive .owner-confirm109{padding:16px;margin:14px 0}.owner-confirm109>header{gap:10px;align-items:flex-start}.owner-confirm-symbol109{flex-basis:38px;width:38px;height:38px;border-radius:11px}.owner-confirm-symbol109 svg{width:23px;height:23px}.owner-confirm109 h2{font-size:18px}.owner-confirm-count109{font-size:15px}.owner-confirm-count109 small{font-size:10px;white-space:normal}.owner-confirm-stage109{padding:14px;grid-template-columns:1fr;margin-top:15px}.owner-confirm-stage109>strong{font-size:21px}.owner-confirm-status109{grid-column:1;grid-row:auto;justify-self:start;padding:6px 10px}.owner-confirm109 .owner-confirm-message109{font-size:13px;line-height:1.8}.owner-confirm109 .owner-confirm-primary109{font-size:16px;min-height:56px;width:100%}.owner-confirm-shortcut109{font-size:13px;width:100%;padding:10px 12px}.stage-choice-disabled109{grid-template-columns:24px minmax(0,1fr) auto;gap:9px;padding:11px}}

dialog.collection-ledger109{width:min(960px,calc(100vw - 28px));padding:24px;max-height:calc(100dvh - 28px)}.collection-header109{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:26px;margin-bottom:14px}.collection-header109 h2{margin:0;font-size:23px}.collection-header109 p{font-size:12px;color:#8090a4;margin:5px 0 0}.collection-header109>button{font-size:12px;min-height:36px;margin:0}.collection-setup109{border:1px solid #ffc48e;background:#fff8ef;border-radius:12px;padding:16px;margin:12px 0}.collection-setup-fields109{display:grid;grid-template-columns:1fr 1fr;gap:14px}.collection-setup109 label{font-size:13px;font-weight:600;margin:0!important;color:#496079}.collection-setup109 input:not([type=checkbox]){height:44px;min-height:44px;font-size:15px;margin:7px 0 0}.collection-setup-checks109{display:flex;gap:20px;align-items:center;margin:12px 0;flex-wrap:wrap}.collection-setup-checks109 label{display:flex!important;align-items:center;gap:7px;font-size:12px}.collection-setup-checks109 input{width:17px;height:17px;min-height:17px;margin:0!important}.collection-preview109{font-size:12px;line-height:1.8;color:#ac6325;background:#fff;padding:10px;border-radius:8px;margin:10px 0}.collection-setup-footer109{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.collection-setup-footer109>span{font-size:11px;line-height:1.7;color:#9c8775}.collection-setup-footer109 button{min-height:42px;white-space:nowrap;margin:0;font-size:13px}.collection-error109{color:#c44141;font-size:13px;line-height:1.7;margin:10px 0 0}.collection-error109:empty{display:none}.collection-reason109{display:block;margin-top:10px!important}.collection-totals109{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;border:1px solid #e1e8f1;background:#f7f9fc;border-radius:12px;margin:14px 0}.collection-totals109>div{min-width:0}.collection-totals109 span{font-size:12px;color:#8090a4}.collection-totals109 strong{display:block;font-size:23px;color:#2c4059;margin-top:8px;line-height:1.4;overflow-wrap:anywhere}.collection-totals109 .dual-progress{grid-column:1/-1}.collection-node-heading109{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 8px}.collection-node-heading109 h3{font-size:16px;margin:0}.collection-node-heading109>span{font-size:11px;color:#8190a3}.collection-nodes109{display:grid;gap:9px}.collection-node109{display:grid;grid-template-columns:minmax(155px,1fr) minmax(260px,1.8fr) auto;gap:14px;align-items:center;border:1px solid #e2e8f0;border-radius:11px;background:white;padding:13px 14px}.collection-node-name109 strong{display:block;font-size:15px;color:#2b4059}.collection-node-name109 small{display:block;font-size:11px;color:#8a98aa;margin:5px 0}.collection-status109{display:inline-block;font-size:10px;color:#b16b2c;background:#fff1e3;padding:3px 7px;border-radius:12px}.collection-node109.is-paid .collection-status109{color:#218361;background:#e5f5ec}.collection-node-values109{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.collection-node-values109 span{display:block;font-size:11px;color:#8997a9;min-width:0}.collection-node-values109 b{display:block;font-size:14px;color:#425670;line-height:1.5;margin-top:6px;overflow-wrap:anywhere}.collection-node-actions109{display:flex;flex-direction:column;gap:6px;min-width:94px}.collection-node-actions109 button{font-size:12px;min-height:36px;margin:0;padding:7px 10px;white-space:nowrap}.collection-node-actions109 .collect109{background:#138568;border-color:#138568;color:white}.collection-help109,.collection-readonly109{font-size:12px;line-height:1.8;color:#7f8fa4;margin:12px 0}.receipt-quick109{width:min(740px,calc(100vw - 28px))}.receipt-quick-values109{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;border:1px solid #e2e8f0;border-radius:10px;background:#f7f9fc;margin:16px 0}.receipt-quick-values109 span{font-size:12px;color:#8090a5}.receipt-quick-values109 strong{display:block;font-size:20px;color:#354c68;margin-top:8px;overflow-wrap:anywhere}.receipt-quick-form109,.custom-quote109{padding:16px;border:1px solid #d7e8df;background:#f8fcfa;border-radius:12px;margin:16px 0}.receipt-quick-form109 h3{font-size:17px;margin:0 0 14px}.receipt-quick-form109 input,.receipt-quick-form109 select{height:44px;font-size:14px}.receipt-quick-footer109{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.receipt-quick-footer109 button{margin:0;height:46px;min-width:110px;font-weight:600}.receipt-quick-footer109 .primary{background:#138568;border-color:#138568}.receipt-history109 h3{font-size:15px}.receipt-history109 article{padding:14px;border:1px solid #e2e8f0;border-radius:10px;margin:10px 0}.receipt-history109 article>div:first-child{display:flex;align-items:center;justify-content:space-between}.receipt-history109 p{font-size:12px;color:#8492a6;line-height:1.8}.receipt-history-actions109{display:flex;gap:10px;margin-top:10px}.receipt-history-actions109 button{font-size:12px;min-height:34px;margin:0}.receipt-history109 .voided{opacity:.65}.collection-entry109{display:block;width:100%;padding:0!important;border:0!important;background:transparent!important;text-align:left;margin:10px 0!important;min-height:0!important}.collection-entry109 .dual-progress{margin:0!important}.report-dialog108 .report-collection109{display:block;width:100%;min-height:38px;padding:8px 12px;margin:8px 0!important;border:1px solid #d2e9de;border-radius:8px;color:#227d61;background:#f1faf6;text-align:left;font-size:12px;line-height:1.7}
.collection-totals109 .dual-progress strong{font-size:13px;margin-top:0;color:#50667e}.collection-totals109 .dual-progress span{font-size:12px}
@media(max-width:700px){dialog.collection-ledger109{padding:18px;width:calc(100vw - 20px)}.collection-header109 h2{font-size:21px}.collection-header109>button{padding:6px 9px}.collection-setup109{padding:12px}.collection-setup-fields109{grid-template-columns:1fr;gap:12px}.collection-totals109{padding:12px;gap:8px}.collection-totals109 strong{font-size:17px}.collection-node109{grid-template-columns:1fr;padding:12px;gap:10px}.collection-node-name109{display:grid;grid-template-columns:1fr auto;align-items:center}.collection-node-name109 small{grid-column:1}.collection-status109{grid-column:2;grid-row:1/3}.collection-node-values109{gap:8px}.collection-node-actions109{flex-direction:row;justify-content:flex-end}.collection-node-actions109 button{min-width:100px;min-height:40px}.collection-node-heading109{align-items:flex-start;flex-direction:column;gap:5px}.collection-setup-footer109{align-items:stretch;flex-direction:column}.collection-setup-footer109 button{width:100%;min-height:44px}.receipt-quick109{padding:18px}.receipt-quick-values109{padding:12px;gap:8px}.receipt-quick-values109 strong{font-size:17px}.receipt-quick-form109,.custom-quote109{padding:12px}.receipt-quick-form109 .twocol{display:block}.receipt-quick-footer109 button{flex:1;min-width:0}.collection-setup-checks109{gap:12px}.collection-totals109 .dual-progress strong{font-size:12px}}
dialog.bf-dialog.collection-ledger109:not(.photo-lightbox){width:min(960px,calc(100vw - 28px))!important;max-width:960px!important;padding:22px!important}.collection-setup109{display:block!important}.collection-setup109 .collection-preview109{padding:7px 10px;margin:8px 0}.collection-setup109 .collection-setup-checks109{margin:9px 0}.collection-setup109 .collection-setup-footer109{margin-top:10px}.collection-totals109 .dual-progress{margin:4px 0 0}.collection-node-actions109{flex-direction:row}.collection-node109{padding:10px 14px}.collection-setup109 [hidden]{display:none!important}

.report-correction-dialog .correction-complete110{display:flex;align-items:center;gap:12px;padding:14px 16px;margin:14px 0;border:1px solid #b8ddc9;background:#f0f9f3;border-radius:10px;cursor:pointer}.correction-complete110 input[type=checkbox]{width:21px;height:21px;min-height:21px;flex:0 0 21px;margin:0;accent-color:#158565}.correction-complete110 strong{display:block;font-size:15px;color:#28654c;line-height:1.5}.correction-complete110 small{display:block;font-size:12px;color:#74897c;line-height:1.7;margin-top:3px}.report-correction-dialog .correction-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.report-correction-dialog .correction-actions button{height:46px;min-height:46px;margin:0!important;display:inline-flex;align-items:center;justify-content:center}

/* Paired actions share one baseline. The former blanket submit margin shifted
   every primary action 14px below its cancel button. Keep spacing on the row. */
dialog:not(.photo-lightbox) form button.primary[type=submit],
dialog:not(.photo-lightbox) form button.primary:not([type]){margin-top:0}
.report-correction-dialog .duomi-date-field{margin-top:8px}.report-correction-dialog .duomi-date-trigger,.report-correction-dialog input[type=time]{height:46px;min-height:46px}
.employee-avatar-actions,.avatar-editor-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.employee-avatar-actions>label,.employee-avatar-actions>button,.avatar-editor-actions>label,.avatar-editor-actions>button{display:inline-flex!important;align-items:center;justify-content:center;box-sizing:border-box;height:46px;min-height:46px;margin:0!important;padding:10px 16px!important;line-height:1.4!important}
.unified-upload.avatar-editor .avatar-editor-actions>label.avatar-upload,.unified-upload.avatar-editor .avatar-editor-actions>button,.unified-upload.employee-avatar-editor .employee-avatar-actions>label,.unified-upload.employee-avatar-editor .employee-avatar-actions>button{height:46px!important;min-height:46px!important;margin:0!important;line-height:1.4!important}
dialog:not(.photo-lightbox) :is(.actions,.correction-actions,.confirmation-actions,.delete-project-actions,.finance-actions,.historical-actions,.plan108-confirm-actions,.bf-form-actions,.receipt-quick-footer109,.expiry-actions,.avatar-editor-actions,.employee-avatar-actions,.staff-account-actions,.recycle-actions,.bf-calendar-footer){align-items:center;gap:10px}
dialog:not(.photo-lightbox) :is(.actions,.correction-actions,.confirmation-actions,.delete-project-actions,.finance-actions,.historical-actions,.plan108-confirm-actions,.bf-form-actions,.receipt-quick-footer109,.expiry-actions,.avatar-editor-actions,.employee-avatar-actions,.staff-account-actions,.recycle-actions,.bf-calendar-footer)>:is(button,a.button){box-sizing:border-box;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px;min-height:46px;height:46px;margin:0!important;padding:10px 18px!important;line-height:1.4!important;vertical-align:middle;max-width:100%}
dialog:not(.photo-lightbox) :is(.actions,.correction-actions,.confirmation-actions,.delete-project-actions,.finance-actions,.historical-actions,.plan108-confirm-actions,.bf-form-actions,.receipt-quick-footer109,.expiry-actions,.avatar-editor-actions,.employee-avatar-actions,.staff-account-actions,.recycle-actions,.bf-calendar-footer)>button>.ui-icon{display:inline-flex;position:static!important;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px;margin:0!important;padding:0!important}
dialog:not(.photo-lightbox) :is(.actions,.correction-actions,.confirmation-actions,.bf-form-actions,.receipt-quick-footer109)>button>.ui-icon svg{display:block;width:20px;height:20px}
@media(max-width:560px){dialog:not(.photo-lightbox) :is(.actions,.correction-actions,.confirmation-actions,.delete-project-actions,.finance-actions,.historical-actions,.plan108-confirm-actions,.bf-form-actions,.receipt-quick-footer109,.expiry-actions,.avatar-editor-actions,.employee-avatar-actions,.staff-account-actions,.recycle-actions,.bf-calendar-footer)>:is(button,a.button){padding:10px 12px!important;font-size:13px}}

.correction-media111{margin:16px 0}.correction-media111 h3{font-size:14px;margin:10px 0;color:#3c536c}.correction-media111 .report-upload-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px!important;border:1px dashed #ffc295;background:#fffbf6;border-radius:12px;cursor:pointer;margin:14px 0}.correction-media111 .upload-card-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#fff1e6;color:#ff6900;border:1px solid #ffdbc0}.correction-media111 .upload-card-icon svg{width:24px;height:24px}.correction-media111 .upload-card-copy{display:block;min-width:0}.correction-media111 .upload-card-copy strong{display:block;font-size:16px;color:#344b65}.correction-media111 .upload-card-copy>span{display:block;font-size:12px;color:#8794a5;margin-top:4px;line-height:1.7}.correction-media111 .upload-card-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:10px 18px;background:#ff6900;color:white;border-radius:10px;font-weight:600;white-space:nowrap}.correction-media111 input[type=file]{display:none!important}.correction-media111 .gallery{margin:0;grid-template-columns:repeat(4,minmax(0,1fr))}.correction-media111 .gallery img,.correction-media111 .gallery video{height:100px}.correction-pending-grid111{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.correction-pending-grid111 article{min-width:0;border:1px solid #e0e8f0;border-radius:10px;padding:8px}.correction-pending-grid111 .gallery{display:block}.correction-pending-grid111 .gallery img,.correction-pending-grid111 .gallery video{height:130px}.correction-pending-grid111 article>div:last-child{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}.correction-pending-grid111 article>div:last-child span{font-size:11px;color:#73849a;overflow-wrap:anywhere;min-width:0}.correction-pending-grid111 button{font-size:12px;min-height:36px;padding:6px 10px;margin:0;flex-shrink:0}.correction-upload-error111{font-size:12px;color:#bb493e}.correction-upload-error111:empty{display:none}@media(max-width:560px){.correction-media111 .report-upload-card{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:12px!important}.correction-media111 .upload-card-icon{width:38px;height:38px}.correction-media111 .upload-card-copy strong{font-size:15px}.correction-media111 .upload-card-button{grid-column:1/-1;width:100%}.correction-media111 .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.correction-pending-grid111{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}

.collection-breakdown111{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:1px solid #eed9c5;background:#fffaf4;border-radius:12px;padding:14px;margin-top:14px}.collection-breakdown111>div{min-width:0}.collection-breakdown111 span{font-size:12px;color:#8b7c6d}.collection-breakdown111 strong{display:block;font-size:18px;margin-top:6px;color:#42566e;overflow-wrap:anywhere}.collection-breakdown111 b,.collection-extra-tag111{display:inline-block;font-size:10px;font-weight:400;color:#b36c29;background:#ffedda;border-radius:5px;padding:2px 5px}.collection-save-state111{color:#a36121;font-size:12px;line-height:1.7;margin:8px 0 0}.collection-save-state111:empty{display:none}@media(max-width:560px){.collection-breakdown111{grid-template-columns:1fr;padding:12px;gap:10px}.collection-breakdown111>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.collection-breakdown111 strong{font-size:15px;margin:0}.collection-breakdown111 span{font-size:11px}}

.closeout111{border:1px solid #f4c58f;background:#fff8ee;border-radius:13px;padding:18px 20px;margin:16px 0}.closeout111 header{height:auto;padding:0;border:0;background:transparent;display:flex;align-items:center;gap:13px}.closeout111 header>div{min-width:0}.closeout-symbol111{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:12px;background:#ffe7c9;color:#c56a18;font-size:24px;font-weight:700}.closeout-kicker111{font-size:11px;color:#a57542}.closeout111 h3{font-size:21px;margin:3px 0;color:#8c4d16;line-height:1.5}.closeout111 header p{font-size:12px;color:#987b5f;margin:4px 0;line-height:1.8}.closeout-values111{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px;padding:13px;background:#fff;border:1px solid #efddc8;border-radius:10px}.closeout-values111 span{font-size:12px;color:#8f8b84}.closeout-values111 strong{display:block;font-size:23px;color:#9b5a1d;margin-top:4px;overflow-wrap:anywhere}.closeout-actions111{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px;flex-wrap:wrap}.closeout-actions111 button{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-height:46px;height:46px;padding:10px 18px;margin:0!important;line-height:1.4!important}.closeout-actions111 .ui-icon{position:static;flex:0 0 20px;width:20px;height:20px;margin:0;padding:0;background:none}.closeout-warning111{font-size:12px;line-height:1.8;color:#ac6427;margin:12px 0 0}.closeout-note111{font-size:11px;color:#9c8978;margin:9px 0 0}.closeout111.is-settled{background:#f3faf6;border-color:#b9ddca}.closeout111.is-settled h3{color:#25795c}.closeout111.is-settled .closeout-symbol111{background:#e0f1e8;color:#21805e}.closeout111.is-settled .closeout-values111{border-color:#d4e7dc}.closeout111 .dual-progress{margin:12px 0 0}@media(max-width:560px){.closeout111{padding:14px}.closeout111 h3{font-size:18px}.closeout-symbol111{width:38px;height:38px;flex-basis:38px}.closeout111 header{gap:10px}.closeout-values111{padding:10px;gap:8px}.closeout-values111 strong{font-size:18px}.closeout-actions111{display:grid;grid-template-columns:1fr 1fr;gap:8px}.closeout-actions111 button{min-width:0;font-size:12px;padding:9px!important}}
.closeout-actions111 button>.ui-icon{color:inherit!important;border:0!important;border-radius:0!important;background:transparent!important;display:inline-flex;align-items:center;justify-content:center}.closeout-actions111 button>.ui-icon svg{display:block;width:20px;height:20px;flex-shrink:0}
.closeout-archive111{margin:16px 0 0;border:1px solid #e0e8f0;border-radius:10px;padding:0 14px;background:#fff}.closeout-archive111>summary{padding:14px 0;font-size:13px;font-weight:600;color:#667d97;cursor:pointer}.closeout-archive111[open]{padding-bottom:14px}.closeout-archive111 .detail-tabs{margin-top:18px}

.owner-care112{margin:18px 0;padding:22px 24px;background:#fffaf3;border:1px solid #f0dbc0;border-radius:16px}.owner-care-heading112{display:flex;align-items:center;gap:13px}.owner-care-icon112{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:13px;background:#f8ead6;color:#ae783c}.owner-care-icon112 svg{width:27px;height:27px}.owner-care-heading112>div>span{font-size:11px;letter-spacing:1px;color:#ae8b62}.owner-care112 h2{font-size:23px;color:#795735;line-height:1.5;margin:3px 0 0}.owner-care-blessing112{font-size:14px;line-height:1.9;color:#927b64;margin:14px 0}.owner-care-message112{padding:13px 16px;background:#fff;border:1px solid #eee2d1;border-radius:10px}.owner-care-message112 strong{font-size:13px;color:#9d774c}.owner-care-message112 p{font-size:13px;line-height:1.9;color:#8d7a66;margin:5px 0 0}.owner-care112>button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:42px;padding:8px 16px;margin:14px 0 0;border-color:#dfccb4;background:transparent;color:#8b6741;font-size:13px}
.progress-table112 .data-table{width:100%;table-layout:fixed;min-width:0}.progress-table112 th:nth-child(1){width:22%}.progress-table112 th:nth-child(2){width:24%}.progress-table112 th:nth-child(3){width:12%}.progress-table112 th:nth-child(4){width:14%}.progress-table112 th:nth-child(5){width:28%}.progress-table112 td,.progress-table112 th{padding:14px 12px;overflow-wrap:anywhere}.progress-table112 td>.pill{display:inline-block;margin-top:8px;font-size:10px}.progress-table112 td .actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.progress-table112 td .actions>button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;height:42px;margin:0;padding:8px 10px;line-height:1.4;flex:1;min-width:84px;font-size:12px;max-width:100%}.progress-table112 .actions .ui-icon{position:static;flex:0 0 18px;width:18px;height:18px;margin:0;background:none;color:inherit;border:0}.project-name-link112{display:inline-flex;border:0!important;background:transparent!important;color:#253b53;padding:0!important;min-height:30px;font-size:15px;font-weight:700;line-height:1.5;text-align:left;white-space:normal;overflow-wrap:anywhere}.project-name-link112:hover{color:#e46c16;text-decoration:underline}.project h2 .project-name-link112{font-size:21px}.row-progress112{min-width:0}.row-progress112 .dual-progress{margin:0 0 8px}.row-progress112 .dual-progress:last-child{margin:0}.row-progress112 .dual-progress span,.row-progress112 .dual-progress strong{font-size:11px}.row-progress112 .dual-progress progress{margin:5px 0 0;height:4px}.overview-all112{display:block;margin:14px auto 0;color:#b5692b;font-size:13px}.recent-record>span:nth-child(2){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}
dialog.bf-dialog.quick-project112:not(.photo-lightbox){width:min(820px,calc(100vw - 28px))!important;max-width:820px!important;padding:24px!important}.quick-heading112{padding-right:34px}.quick-heading112>span:first-child{font-size:11px;letter-spacing:1px;color:#d77836}.quick-heading112 h2{font-size:25px;line-height:1.5;margin:5px 0}.quick-heading112 p{font-size:12px;color:#8391a3;margin:5px 0 8px}.quick-facts112{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:14px 0;margin:16px 0;border-block:1px solid #e7edf3}.quick-facts112 span{display:block;font-size:12px;color:#8794a6}.quick-facts112 strong{display:block;font-size:16px;color:#354b63;margin-top:7px;overflow-wrap:anywhere}.quick-progress112 .row-progress112{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.quick-progress112 .dual-progress{margin:0}.quick-progress112 .dual-progress span,.quick-progress112 .dual-progress strong{font-size:13px}.quick-logs112 h3,.quick-media112 h3{font-size:15px;color:#40566f;margin:18px 0 10px}.quick-logs112 article{background:#f8fafc;border:1px solid #e6ecf3;border-radius:10px;padding:11px 13px;margin-top:8px}.quick-logs112 article>div{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#8c9aab}.quick-logs112 article p{font-size:13px;color:#52677f;line-height:1.7;margin:7px 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap}.quick-media112 .gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.quick-media112 .gallery img,.quick-media112 .gallery video{height:110px}.quick-actions112{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #e5ecf3}.quick-actions112>button{display:inline-flex!important;align-items:center;justify-content:center;height:46px;min-height:46px;margin:0!important;padding:10px 18px!important;line-height:1.4!important;font-size:13px}.quick-empty112{font-size:13px;color:#8593a4}
@media(max-width:700px){.progress-table112{overflow:visible}.progress-table112 .data-table{display:block}.progress-table112 thead{display:none}.progress-table112 tbody{display:grid;gap:12px}.progress-table112 tr{display:grid;grid-template-columns:1fr 1fr;border:1px solid #e1e8f1;border-radius:12px;background:#fff;padding:12px}.progress-table112 td{display:block;padding:5px 0!important;border:0;min-width:0}.progress-table112 td:nth-child(1),.progress-table112 td:nth-child(2),.progress-table112 td:nth-child(5){grid-column:1/-1}.progress-table112 td:nth-child(3){font-size:12px;color:#7b8ba1}.progress-table112 td:nth-child(3)::before{content:'负责人 ';font-size:11px;color:#a2adbb}.progress-table112 td:nth-child(4){font-size:12px;text-align:right;color:#7b8ba1}.progress-table112 td:nth-child(2){margin:6px 0}.progress-table112 td .actions{margin-top:7px}.progress-table112 .row-progress112 .dual-progress span,.progress-table112 .row-progress112 .dual-progress strong{font-size:12px}.quick-progress112 .row-progress112{gap:12px}.quick-facts112{gap:8px}.quick-facts112 strong{font-size:14px}.quick-media112 .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-actions112>button{flex:1;min-width:0;padding:10px 12px!important}.owner-care112{padding:17px}.owner-care112 h2{font-size:20px}.owner-care-icon112{width:40px;height:40px;flex-basis:40px}.owner-care-blessing112{font-size:13px}.owner-care-message112{padding:12px}.owner-care112>button{width:100%}}
.progress-table112 .project-name-link112{font-size:15px;min-height:28px;white-space:normal;line-height:1.5;text-decoration:underline;text-decoration-color:#d7e3ef;text-underline-offset:4px}.pill.is-followup112{background:#fff0d9;color:#af671d}
@media(max-width:700px){.progress-table112 tr{gap:6px 10px}.progress-table112 td:nth-child(3){grid-column:1;grid-row:3}.progress-table112 td:nth-child(4){grid-column:2;grid-row:3}.progress-table112 td:nth-child(5){grid-row:4}}

.client-archive .owner-care112{position:relative;border:2px solid #ffbf72;border-left:7px solid #ff850e;background:linear-gradient(110deg,#fff0d4 0%,#fff8e9 58%,#fffdf8 100%);box-shadow:0 8px 24px #c77c1617;padding:24px 26px}.owner-care112 .owner-care-icon112{width:55px;height:55px;flex-basis:55px;border-radius:15px;background:#ffdfae;border:1px solid #ffc376;color:#bd6512}.owner-care112 .owner-care-icon112 svg{width:31px;height:31px}.owner-care112 .owner-care-heading112>div>span{color:#ac681e;font-weight:600}.owner-care112 h2{font-size:28px;font-weight:750;color:#a7510b;letter-spacing:.3px}.owner-care112 .owner-care-blessing112{font-size:15px;line-height:1.9;color:#795536}.owner-care112 .owner-care-message112{border:1px solid #ffcc8c;background:#ffffffd9;box-shadow:0 2px 8px #d3932809;padding:16px 18px}.owner-care112 .owner-care-message112 strong{font-size:14px;color:#b76111}.owner-care112 .owner-care-message112 p{font-size:14px;color:#7d5d3d;line-height:1.9}.owner-care112>button{background:#f47c12;color:white;border-color:#f47c12;min-height:46px;font-weight:600}.owner-access-note113,.project-summary-note113{font-size:12px;line-height:1.9;color:#94714c;margin:12px 0 0}.owner-access-note113 strong{font-weight:600;color:#8f612f}.project-summary-note113{padding-top:10px;border-top:1px solid #efd5b0;color:#8d6237}.care-attention113{outline:3px solid #ffbe6b;outline-offset:4px}
dialog.bf-dialog.aftercare-dialog113:not(.photo-lightbox){width:min(480px,calc(100vw - 28px))!important;max-width:480px!important;text-align:center;padding:28px!important;background:#fffcf7}.aftercare-symbol113{display:grid;place-items:center;width:56px;height:56px;background:#fff0db;border:1px solid #ffdfb5;border-radius:16px;color:#c77a27;margin:0 auto 15px}.aftercare-symbol113 svg{width:29px;height:29px}.aftercare-dialog113 h2{font-size:23px;color:#7b5531;margin:8px 0}.aftercare-copy113{font-size:15px;line-height:1.9;color:#89715b;margin:15px 0}.aftercare-expiry113{font-size:12px;color:#9b866e;line-height:1.9;background:#fff4e6;padding:10px;border-radius:8px}.aftercare-expiry113 strong{color:#8a6031;white-space:nowrap}.aftercare-actions113{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:20px}.aftercare-actions113 button{display:inline-flex;align-items:center;justify-content:center;height:46px;min-height:46px;line-height:1.4;margin:0!important;flex:1;padding:10px 14px;font-size:13px}.aftercare-actions113 .primary{background:#eb801f;border-color:#eb801f;color:white}.owner-expired113{max-width:560px;padding-top:60px}.owner-expired113>section{padding:32px;background:white;border:1px solid #e2e8ef;border-radius:16px;text-align:center}.owner-expired113 h1{font-size:25px;letter-spacing:0;margin:10px 0}.owner-expired113 p{font-size:14px;color:#8390a0;line-height:1.9}.owner-expired113 strong{display:block;font-size:15px;color:#6c7b8c;margin-top:20px}.expired-contact113{display:flex;flex-direction:column;gap:10px;margin-top:14px}.expired-contact113>a,.expired-contact113>button{display:flex;align-items:center;justify-content:center;min-height:46px;overflow-wrap:anywhere;white-space:normal}.owner-access-admin113{padding:16px;margin:20px 0;border:1px solid #e0e7ef;border-radius:11px;background:#f8fafc}.owner-access-admin113 h3{font-size:16px;margin:0 0 8px}.owner-access-admin113 p{font-size:12px;color:#8090a5;line-height:1.8;margin:8px 0}.owner-access-admin113 label{margin:10px 0;font-size:13px}.owner-access-actions113{display:flex;justify-content:flex-end}.owner-access-actions113 button{display:inline-flex;align-items:center;justify-content:center;height:44px;min-height:44px;margin:0}.owner-access-admin113 .owner-access-error113{color:#bd5942}
@media(max-width:560px){.client-archive .owner-care112{padding:18px 16px;border-left-width:5px}.owner-care112 h2{font-size:23px}.owner-care112 .owner-care-icon112{width:46px;height:46px;flex-basis:46px}.owner-care112 .owner-care-blessing112,.owner-care112 .owner-care-message112 p{font-size:14px}.owner-care112 .owner-care-message112{padding:13px}.aftercare-dialog113 h2{font-size:21px}.aftercare-actions113{gap:8px}.aftercare-actions113 button{font-size:12px;padding:10px}.owner-expired113{padding-top:28px}.owner-expired113>section{padding:24px 18px}.owner-expired113 h1{font-size:23px}}
/* Project export uses the same aligned controls on desktop and phones. */
.archive-entry113{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0;padding:14px 16px;background:#f6f8fb;border:1px solid #dfe7ef;border-radius:12px}.archive-entry113>span{font-size:13px;color:#718198}.archive-entry113 button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;margin:0;flex-shrink:0}.archive-entry113 button svg{width:19px;height:19px;flex:none}.archive-export-dialog113{width:min(680px,calc(100vw - 28px));padding:28px;box-sizing:border-box}.archive-export-heading113>span{font-size:12px;font-weight:700;color:#e36200}.archive-export-heading113 h2{font-size:24px;margin:12px 36px 9px 0;line-height:1.4}.archive-export-heading113>p{color:#718198;font-size:13px}.archive-editions113{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.archive-editions113 section{padding:18px;border-radius:12px;border:1px solid #dce5ee;background:#f7f9fc}.archive-editions113 section:first-child{background:#fff6e9;border-color:#ffd0a1}.archive-editions113 strong{font-size:17px}.archive-editions113 p{font-size:13px;line-height:1.8;color:#63778e;margin:10px 0}.archive-editions113 span{font-size:12px;color:#65778c}.archive-originals113{display:flex!important;align-items:flex-start;gap:12px;padding:14px;background:#f5f8fb;border-radius:10px}.archive-originals113 input{width:20px!important;height:20px!important;flex:none;margin:1px 0!important;accent-color:#ff6b00}.archive-originals113 small{display:block;margin-top:8px;font-weight:400;color:#738397;line-height:1.7}.archive-finance-unlock113{margin-top:16px}.archive-finance-unlock113[hidden]{display:none!important}.archive-export-note113,.archive-export-status113{font-size:13px;line-height:1.8;color:#738397}.archive-export-status113{color:#a45008;min-height:24px}.archive-export-actions113{display:flex;justify-content:flex-end;align-items:stretch;gap:12px;border-top:1px solid #e2e8f0;padding-top:18px;margin-top:12px}.archive-export-actions113 button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;min-width:116px;margin:0!important;line-height:1.4;box-sizing:border-box;padding:12px 18px}.archive-export-actions113 button.primary{min-width:178px}.project-summary-note113{line-height:1.8}
@media(max-width:600px){.archive-export-dialog113{padding:22px 18px}.archive-export-heading113 h2{font-size:21px}.archive-editions113{grid-template-columns:1fr;gap:10px;margin:18px 0}.archive-editions113 section{padding:14px}.archive-export-actions113 button,.archive-export-actions113 button.primary{min-width:0;flex:1}.archive-entry113{flex-wrap:wrap}.archive-entry113>span{width:100%}.archive-entry113 button{width:100%}}

.business-filter119{display:flex;align-items:center;gap:5px;padding:5px;border:1px solid #e0e6ef;border-radius:11px;background:#fff;margin:18px 0 22px;width:fit-content;max-width:100%;flex-wrap:wrap}
.business-filter119 button{border:0;background:transparent;min-height:40px;padding:9px 18px;color:#74839a;border-radius:8px;display:inline-flex;align-items:center;gap:9px;font-weight:600}
.business-filter119 button span{font-size:11px;background:#f0f3f7;color:#7e8da3;padding:1px 7px;border-radius:5px}
.business-filter119 button.selected{background:#fff1e6;color:#d85c00}
.business-filter119 button.selected[data-business119="full"]{background:#eaf2ff;color:#235fbe}
.business-filter119 button.selected[data-business119="all"]{background:#f0f3f8;color:#263e60}
.business-tag119{display:inline-flex;align-items:center;gap:6px;border-radius:6px;padding:4px 9px;font-size:11px;line-height:1.5;white-space:nowrap;font-weight:600;color:#cc5c11;background:#fff0e5;border:1px solid #ffdfc7;vertical-align:middle}
.business-tag119.full{color:#2863b2;background:#edf4ff;border-color:#d2e3ff}
.business-tag119::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}
.project .business-tag119{margin-bottom:7px}.data-table .business-tag119{margin-top:7px;margin-bottom:5px}.business-quick119{margin:0 0 13px}
.business-scope119{font-size:12px;color:#7a8ba4;margin-top:7px}

.recent-record .business-tag119{justify-self:start;width:fit-content}.business-pending119{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#8191a9;padding:8px 0}.business-pending119 strong{font-size:11px;color:#5277ae;font-weight:500}.row-progress112 .business-pending119{padding-top:6px}.business-pending119+progress{display:none}
.business-choices119{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.business-choices119 button{padding:24px;text-align:left;position:relative;min-height:190px}.business-choices119 button:first-child{border-color:#ffc49c;background:#fff9f3}.business-choices119 button:nth-child(2){border-color:#c5dafa;background:#f6f9ff}.business-choices119 strong{display:block;font-size:25px;margin:14px 0 8px}.business-choices119 small{color:#7e8da3}.business-choices119 span{display:block;font-size:12px;color:#7e8da3}.business-choices119 b{position:absolute;right:20px;bottom:14px;color:#ff6800;font-size:24px}.full-scope119{margin:20px 0 25px}.full-scope119 h3{margin-bottom:5px}.service-grid119{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.service-grid119 label{display:flex!important;align-items:center;gap:12px;background:#f8fafc;border:1px solid #dfe6ef;border-radius:10px;padding:15px;cursor:pointer}.service-grid119 label:has(input:checked){background:#eff5ff;border-color:#b9d3fa;color:#2863b2}.service-grid119 input{width:18px!important;height:18px;accent-color:#2863b2;margin:0!important;flex-shrink:0}.full-stages119{margin:24px 0}.full-stage-group119{padding:14px 16px;background:#f8fafc;border:1px solid #e1e7ef;border-radius:9px;margin-top:10px}.full-stage-group119 strong{font-size:13px;display:block;margin-bottom:10px}.pending-payment119{padding:16px;border:1px solid #d2e3ff;border-radius:10px;background:#f3f7ff;color:#2863b2}.pending-payment119 p{font-size:12px;margin:6px 0 0}.error119{color:#c23838}#newproject>button.primary{margin-top:16px}.brand-img{height:76px;object-fit:contain}@media(max-width:700px){.business-choices119{grid-template-columns:1fr}.service-grid119{grid-template-columns:1fr 1fr}}

.bf-payment-create121{padding:17px 18px;background:#f8fafc;border:1px solid #e0e7ef;border-radius:11px;margin:18px 0}.bf-payment-create121 h3{font-size:15px;margin:0 0 13px}.bf-payment-options121{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.bf-payment-options121 label{display:flex!important;align-items:center;gap:10px;background:white;border:1px solid #dce4ef;border-radius:9px;padding:13px!important;margin:0!important;cursor:pointer;font-size:13px;min-height:47px}.bf-payment-options121 label:has(input:checked){color:#a75513;border-color:#e4ad76;background:#fff5e9}.bf-payment-options121 input{width:17px!important;height:17px!important;margin:0!important;accent-color:#b55b19;flex-shrink:0}.bf-payment-caption121{font-size:12px;color:#7d8da5;margin:13px 0 0}.bf-initial-payment121{border:0;margin:16px 0 0;padding:0;min-width:0}.bf-initial-payment121[hidden]{display:none!important}.bf-save-receipt121{border:1px solid #a6d8c5;border-radius:12px;background:#f2faf6;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;margin-bottom:18px}.bf-save-receipt121 span{font-size:12px;color:#168367}.bf-save-receipt121 h3{font-size:15px;margin:6px 0}.bf-save-receipt121 h3 strong{margin-left:10px}.bf-save-receipt121 p{font-size:12px;color:#5c7e71;margin:0}.bf-save-actions121{display:flex;align-items:center;gap:8px;flex-shrink:0}.bf-recent121 .bf-note{margin:14px 16px}.bf-recent121 .bf-status{display:inline-block}.bf-recent121 td button{margin-left:6px}@media(max-width:680px){.bf-payment-options121{grid-template-columns:1fr}.bf-save-receipt121{flex-direction:column;align-items:stretch}.bf-save-actions121{justify-content:flex-end}}

#bf-entry-form>.bf-form-actions{position:sticky;bottom:-26px;background:#fff;z-index:2;margin:18px -2px -2px;padding:14px 0;border-top:1px solid #e3e8ef}

.cards{align-items:stretch!important}.cards>.project{height:100%;display:flex;flex-direction:column}.cards>.project>.actions{margin-top:auto;padding-top:12px}.project .door-code-region{min-height:74px;display:grid;grid-template-columns:auto 1fr;align-content:center;gap:3px 10px}.project .door-code-region small{grid-column:1/-1;min-height:18px}.project .collection-entry109{min-height:45px}.project .business-pending119{min-height:45px}.bf-payment-options121 input:focus,.bf-payment-options121 input:focus-visible{box-shadow:none!important;outline:none!important}.bf-payment-options121 label:focus-within{outline:2px solid #dd995c;outline-offset:2px}.validation-popup122{width:min(450px,calc(100vw - 32px));padding:26px;border-radius:14px}.validation-popup122 h2{font-size:21px}.validation-popup122 p{white-space:pre-wrap;overflow-wrap:anywhere;margin:15px 0 24px}.validation-popup122 button{width:100%;min-height:46px}.owner-service-dialog122{width:min(800px,calc(100vw - 32px))}.owner-facts122{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px 0}.owner-facts122 small{display:block;color:#8b98aa;font-size:12px}.owner-facts122 strong{font-size:15px;overflow-wrap:anywhere}.owner-access-card122,#owner-password122{padding:18px;border:1px solid #e0e6ef;border-radius:12px;margin:18px 0}.owner-access-switch122{display:flex;align-items:center;gap:12px}.owner-access-switch122 input{width:18px!important;margin:0!important}.owner-access-card122 .actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.owner-access-card122 .actions button{flex:1;min-height:44px}.bf-missing122{border:0;background:transparent;color:#a46318;font-weight:700;padding:0;text-decoration:underline;text-underline-offset:4px}.missing-project122{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #e0e6ef;border-radius:10px;padding:16px;margin:12px 0}.missing-project122 p{font-size:12px;color:#8b98aa;margin:6px 0 0}.missing-project122 button{flex-shrink:0}.mini-owner-output:empty{display:none}
.owner-service-dialog122 .owner-access-switch122{display:flex!important;align-items:center!important;margin:0 0 16px!important;padding:0!important}.owner-service-dialog122 .owner-access-switch122 input{height:18px!important;min-height:18px!important;flex:0 0 18px!important}.owner-service-dialog122 .owner-access-card122 h3,.owner-service-dialog122 #owner-password122 h3{font-size:16px;margin:0 0 16px!important}.owner-service-dialog122 .owner-access-card122{margin:14px 0}.owner-service-dialog122 .hint{line-height:1.7}

.wp-overview123{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.wp-overview123>button{padding:22px;text-align:left;background:white;border:1px solid #dde5f0;border-radius:12px}.wp-overview123 small{display:block;color:#7e8ea4}.wp-overview123 strong{display:block;font-size:30px;margin-top:10px}.wp-admin123{display:flex;gap:18px;align-items:center;border:1px solid #ffd2b3;background:#fff7ee;padding:16px 20px;border-radius:10px;margin-bottom:20px}.wp-admin123 span{font-size:13px;color:#836f60}.wp-shortcuts123{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.wp-shortcuts123 button{text-align:left;min-height:50px}.wp-shortcuts123 button span{float:right;color:#ff6800}.wp-task-grid123,.wp-project-grid123{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.wp-task123,.wp-project123{background:white;border:1px solid #dce5ef;border-radius:13px;padding:20px;min-width:0}.wp-task123.urgent{border-left:5px solid #ed6a20;background:#fffcf8}.wp-line123{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.wp-facts123{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:#6d809a;margin:18px 0}.wp-warning123{padding:12px;background:#fff2e4;color:#a94b13;border-radius:8px}.wp-project123 h2{font-size:21px}.wp-project123 h2 button{padding:0;border:0;background:none;font-size:inherit;font-weight:700;text-align:left}.wp-progress123 span{display:flex;justify-content:space-between;font-size:13px;margin:12px 0 6px}.wp-progress123 progress{width:100%;height:7px;border:0;border-radius:6px;display:block;appearance:none}.wp-progress123 progress::-webkit-progress-bar{background:#edf0f4;border-radius:6px}.wp-progress123 progress::-webkit-progress-value{background:#ff6800;border-radius:6px}.wp-progress123 progress.green::-webkit-progress-value{background:#3ca88d}.wp-project123>.actions{margin-top:20px}.wp-dialog123{width:min(860px,94vw);font-family:Arial,"Microsoft YaHei",sans-serif}.wp-dialog123 .wp-project123{margin:18px 0}.wp-dialog123 .work-panel{padding:18px;margin:16px 0}.wp-dialog123 h3{margin:0 0 14px;font-size:16px}.wp-dialog123 .actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.wp-dialog123 .actions button{min-height:44px;margin:0}.wp-money123{display:flex;gap:30px;margin:15px 0}.wp-money123 span{color:#7e8ea4;font-size:12px;flex:1}.wp-money123 strong{display:block;color:#203148;font-size:21px;margin-top:7px}.wp-gallery123{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.wp-gallery123 img,.wp-gallery123 video{width:110px;height:100px;object-fit:cover;border-radius:8px}.wp-gallery123>div{position:relative}.wp-gallery123 button{display:block;padding:4px 10px;font-size:12px}.wp-upload123{padding:18px;border:1px solid #e3e8f0;background:white;border-radius:12px;margin:18px 0}.wp-add-photo123{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:96px;height:96px;border:1px dashed #ffba8e;border-radius:8px;color:#ff6800;font-size:29px;position:relative;cursor:pointer}.wp-add-photo123 span{font-size:12px}.wp-add-photo123 input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;margin:0!important}.wp-form123>label{display:block;margin:12px 0}.wp-form123 input:not([type=checkbox]),.wp-form123 select,.wp-form123 textarea{width:100%;margin-top:7px}.wp-form123 textarea{min-height:95px}.wp-form-actions123{display:flex;align-items:center;justify-content:flex-end;gap:12px;border-top:1px solid #e4e9f1;padding-top:18px;margin-top:20px}.wp-form-actions123 button{height:46px;min-width:118px;margin:0!important;display:inline-flex;align-items:center;justify-content:center}.wp-check123{display:flex!important;align-items:center;gap:10px;font-weight:400!important}.wp-check123 input[type=checkbox]{width:18px!important;height:18px!important;margin:0!important}.wp-door123{display:flex;gap:20px;align-items:center;background:#fff5e9;padding:14px;border-radius:10px;margin:18px 0}.wp-door123 strong{font-size:21px;letter-spacing:3px;color:#b15d1d}.wp-employee-layout123{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start}.wp-staff-list123{padding:12px!important}.wp-staff-list123 button{display:block;width:100%;text-align:left;margin:5px 0;background:white}.wp-staff-list123 .selected{border-color:#ff9a56;background:#fff7ef}.wp-staff-list123 small{display:block;color:#7d8ea4;margin-top:5px}.wp-permission-group123{border:1px solid #e0e7f0;padding:14px;border-radius:10px;margin:16px 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.wp-permission-group123 legend{padding:0 8px;font-size:15px;font-weight:bold}.wp-permission123{display:flex!important;align-items:flex-start;gap:12px;margin:0!important;padding:12px;border:1px solid #e1e7ef;border-radius:8px;background:#fbfcfd}.wp-permission123:has(input:checked){background:#fff7ef;border-color:#ffd4b5}.wp-permission123 input{width:18px!important;height:18px!important;flex:0 0 18px;margin:3px 0!important;accent-color:#ff6800}.wp-permission123 strong{font-size:13px}.wp-permission123 small{display:block;font-size:11px;color:#7a8ba2;line-height:1.7;margin:4px 0}.wp-permission123 em{font-size:10px;font-style:normal;color:#c76b2a}.wp-sticky123{position:sticky;bottom:0;background:white;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:15px 0;border-top:1px solid #e2e8f0}.wp-sticky123 button{margin:0!important;height:45px}.wp-employee-layout123 form>label{display:block}.wp-employee-layout123 form input:not([type=checkbox]),.wp-employee-layout123 form select{width:100%}@media(max-width:800px){.wp-task-grid123,.wp-project-grid123,.wp-employee-layout123{grid-template-columns:1fr}.wp-overview123,.wp-shortcuts123,.wp-permission-group123{grid-template-columns:1fr 1fr}.wp-admin123{display:block}.wp-admin123 span{display:block;margin-top:6px}.wp-money123{gap:12px}.wp-staff-list123{display:flex;overflow:auto}.wp-staff-list123 button{min-width:150px}.wp-permission-group123{grid-template-columns:1fr}}
/* v124: panel headers are independent from the site navigation header. */
body.owner-surface .owner-confirm109>header,body.staff-session .owner-confirm109>header,.owner-confirm109>header{position:static;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;min-width:0;height:auto;min-height:64px;padding:0 0 16px;margin:0;background:transparent;border:0;border-bottom:1px solid #dce9e2;box-shadow:none;z-index:auto}
.owner-confirm109>header>div{width:auto;min-width:0;flex:none}.owner-confirm109>header h2{white-space:normal;word-break:normal;overflow-wrap:break-word}.owner-confirm109>header .owner-confirm-count109{justify-self:end}
body.owner-surface .closeout111 header,body.staff-session .closeout111 header{position:static;width:100%;height:auto;padding:0;gap:13px;z-index:auto}
.wp-record-grid124{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.wp-record124{margin:0;min-width:0;padding:22px}.wp-record124 h3{font-size:20px;margin:14px 0 10px}.wp-record124 .actions{margin-top:20px;padding-top:14px;border-top:1px solid var(--line)}.wp-record124 .prose{overflow-wrap:anywhere}.wp-tabs124{display:flex;gap:8px;flex-wrap:wrap;background:#fff;padding:6px;border:1px solid var(--line);border-radius:12px;margin-bottom:20px;width:fit-content}.wp-tabs124 button{border-color:transparent;min-height:44px;display:inline-flex;align-items:center;gap:12px}.wp-tabs124 button.selected{background:#fff2e7;border-color:#ffb575;color:#c55300;font-weight:700}.wp-tabs124 b{background:#f0f3f7;border-radius:5px;padding:1px 7px;font-size:12px}.wp-lead-toolbar124{display:flex;align-items:center;gap:22px;margin:0 0 18px}.wp-lead-toolbar124 input{max-width:420px;margin-left:auto}.wp-lead-contact124{display:flex;gap:14px;flex-wrap:wrap;padding:14px;background:#f6f8fb;border-radius:8px}.wp-lead-contact124 a{text-decoration:none;font-weight:600}.wp-danger124{color:#b73535!important;border-color:#efc8c8!important}.wp-photo124{padding:0;border:0;border-radius:9px;overflow:hidden;line-height:0;background:#f3f5f8}.wp-gallery123 .wp-photo124 img{width:100%;height:110px;object-fit:cover;display:block}.wp-lightbox124{width:min(1040px,94vw);max-width:94vw;padding:24px}.wp-full-image124{display:block;max-height:75vh;width:100%;object-fit:contain;background:#f5f6f8;margin:16px 0}.wp-door123 strong{display:block;white-space:pre-wrap;word-break:break-word;font-size:23px;color:#a75109;padding-top:10px}.wp-door123 strong:empty{display:none}
@media(max-width:650px){.owner-confirm109>header,body.owner-surface .owner-confirm109>header,body.staff-session .owner-confirm109>header{grid-template-columns:38px minmax(0,1fr);gap:10px}.owner-confirm109>header .owner-confirm-count109{grid-column:2;justify-self:start;text-align:left;font-size:14px}.owner-confirm109>header .owner-confirm-count109 small{display:inline;margin-left:8px}.wp-record-grid124{grid-template-columns:1fr}.wp-lead-toolbar124{align-items:stretch;flex-direction:column;gap:10px}.wp-lead-toolbar124 input{margin:0;max-width:none}.wp-tabs124{width:100%}.wp-tabs124 button{padding:9px 10px}}

/* v125: optical alignment with the 204px desktop sidebar. */
@media(min-width:901px){body.staff-session>header .brand-img{transform:translateX(-12px)}}
.collection-node-actions109 button:disabled{cursor:not-allowed;opacity:1;color:#8c745f;background:#f6f2ee;border-color:#e7ddd4}

/* DUOMI_QUALITY126_CSS_BEGIN */
.q126-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(115deg,#fff1df,#fffaf4);border:1px solid #ffd3a8;border-radius:20px;padding:26px 30px;margin:20px 0;color:#653b21}.q126-banner h2{font-size:26px;margin:10px 0;color:#263347}.q126-banner p{margin:8px 0 0}.q126-banner small,.q126-heading .eyebrow{color:#d25a00;letter-spacing:1px}.q126-seal{font-size:44px;border:2px solid #f7ad72;padding:10px 18px;border-radius:18px;color:#db650d}.q126-projects,.q126-show-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.q126-project{background:#fff;border:1px solid #dce3ed;border-radius:18px;padding:24px}.q126-project h2{font-size:24px}.q126-line{display:flex;align-items:center;justify-content:space-between;gap:12px}.q126-wide{width:100%;margin-top:15px;min-height:48px}.q126-project progress{width:100%;height:8px;margin-top:14px;accent-color:#ff6800}.q126-dialog{width:min(1200px,calc(100vw - 32px));max-width:1200px;max-height:94dvh;padding:28px;border-radius:24px;color:#243349;box-sizing:border-box}.q126-dialog *{box-sizing:border-box}.q126-dialog .close{z-index:5}.q126-heading{display:flex;align-items:center;justify-content:space-between;padding:8px 38px 22px 0;gap:20px;border-bottom:1px solid #e6ebf1}.q126-heading h1{font-size:30px;margin:10px 0}.q126-heading p{color:#73829a;margin:6px 0}.q126-count{text-align:right;flex-shrink:0}.q126-count strong{display:block;color:#e56508;font-size:36px}.q126-count small{font-size:18px;color:#98a4b4}.q126-count span{font-size:13px;color:#73829a}.q126-steps{display:flex;gap:10px;overflow-x:auto;padding:22px 0 16px;scrollbar-width:thin}.q126-steps button{flex:0 0 145px;display:grid;text-align:left;gap:7px;border-radius:14px;padding:14px;min-height:116px;background:#f7f9fc;border:1px solid #e0e6ee;white-space:normal}.q126-steps button span{color:#9aa6b7;font-size:20px;font-weight:700}.q126-steps button b{font-size:15px;line-height:1.45}.q126-steps button small{font-size:12px;color:#74839a}.q126-steps button.current{border:2px solid #ff6800;background:#fff5e9}.q126-steps button.current span{color:#ff6800}.q126-steps button.done span{color:#15866a}.q126-stage-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0 24px}.q126-stage-head small{color:#c85b09}.q126-stage-head h2{font-size:27px;margin:7px 0}.q126-stage-head p{color:#73829a;font-size:14px;margin:0}.q126-stage-head button{min-height:54px;border-color:#f4cda9;background:#fff8ef;color:#a84d0b;font-weight:700;padding:12px 18px}.q126-split{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:22px;align-items:start}.q126-checklist{display:grid;gap:16px}.q126-check{padding:22px;background:#fff;border:1px solid #dce4ef;border-radius:16px}.q126-item-heading{display:flex;align-items:flex-start;gap:12px}.q126-item-heading>span{border-radius:9px;background:#f0f3f8;color:#8290a5;padding:8px;font-weight:700;flex-shrink:0}.q126-item-heading h3{font-size:19px;line-height:1.5;margin:3px 0}.q126-require{font-size:13px;color:#7c889b;line-height:1.65;margin:12px 0 16px}.q126-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.q126-options button{min-height:54px;font-size:16px;font-weight:700;border-radius:11px;background:#f9fafc;white-space:normal}.q126-options button.selected[data-q126-status=pass]{background:#e4f5ed;border:2px solid #148168;color:#116b55}.q126-options button.selected[data-q126-status=issue]{background:#fff0e7;border:2px solid #ed7538;color:#a64d1d}.q126-options button.selected[data-q126-status=na]{background:#eef2f8;border:2px solid #7889a5;color:#455770}.q126-options button:disabled{opacity:1;cursor:default}.q126-check.pass{border-left:4px solid #179575}.q126-check.issue{border-left:4px solid #ee7633}.q126-note-label{font-size:12px;color:#75839b;margin-top:17px;display:block}.q126-note-label textarea{width:100%;margin-top:8px;min-height:70px;line-height:1.6;font-size:14px;padding:12px}.q126-summary{position:sticky;top:12px;background:#f7f9fc;border:1px solid #e0e7f0;border-radius:16px;padding:20px}.q126-summary h3{margin:0 0 15px}.q126-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;text-align:center}.q126-totals b{display:block;font-size:28px}.q126-totals span{font-size:12px;color:#78869b}.q126-totals .pass{color:#16846b}.q126-totals .issue{color:#e16b21}.q126-summary p{font-size:13px;line-height:1.7;color:#708097}.q126-money-summary,.q126-signed{border-top:1px solid #dde5ee;margin-top:20px;padding-top:20px}.q126-signed h3{color:#16846b}.q126-sign-preview{display:block;width:100%;max-width:400px;background:white;border:1px solid #e3e8ed;border-radius:10px}.q126-footer{position:sticky;bottom:-28px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:18px 0 12px;background:#fff;border-top:1px solid #dde5ee;margin-top:24px;z-index:3;box-shadow:0 -8px 18px #fff}.q126-footer .actions button{min-height:54px;padding:12px 22px;font-size:16px;font-weight:700}.q126-save-state{display:block;font-size:12px;color:#8793a4;margin-top:6px}.q126-error{color:#b23e21;line-height:1.5;margin:6px 0;flex-basis:100%}.q126-error:empty{display:none}.q126-preview{width:min(900px,calc(100vw - 32px));max-width:900px;max-height:90dvh}.q126-preview .wp-gallery123{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.q126-preview .wp-gallery123 img{width:100%;height:150px;object-fit:cover}.q126-evidence{padding:20px 0;border-bottom:1px solid #e5eaf0}.q126-evidence h3{white-space:pre-wrap;line-height:1.6}.q126-evidence small{color:#7e8a9c}.q126-sign-dialog,.q126-money-dialog{width:min(850px,calc(100vw - 32px));max-width:850px;max-height:92dvh}.q126-sign-canvas{display:block;width:100%;height:180px;border:2px dashed #ffb67e;border-radius:14px;background:#fffcf8;touch-action:none;margin:12px 0}.q126-sign-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.q126-sign-actions button{min-height:54px}.q126-present{display:flex!important;align-items:flex-start;gap:12px;line-height:1.7;margin:16px 0}.q126-present input{width:22px!important;height:22px;min-width:22px;margin-top:3px;accent-color:#ff6800}.q126-payment{border:1px solid #dce4ed;border-radius:14px;padding:20px;margin:14px 0;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.q126-payment>div{flex:1;min-width:220px}.q126-payment h3{margin:0 0 7px}.q126-payment p{color:#77859a}.q126-payment details{flex-basis:100%;font-size:13px;border-top:1px solid #edf0f4;padding-top:12px}.q126-payment summary{cursor:pointer;color:#6d7f96}.q126-notice{background:#fff6e9;border:1px solid #ffd4a6;border-radius:16px;padding:22px;margin-top:20px}.q126-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.q126-tabs button{min-height:48px;padding:10px 23px;border-radius:30px}.q126-tabs button.selected{background:#ff6800;color:white;border-color:#ff6800}.q126-guide{background:#fff;border:1px solid #dce4ef;border-radius:18px;padding:26px;margin-bottom:22px}.q126-guide h2{margin:0 0 20px}.q126-guide p{display:flex;align-items:baseline;gap:15px;line-height:1.75}.q126-guide p b{color:#ed741d}.q126-show-card{border:1px solid #dce4ed;border-radius:18px;background:white;overflow:hidden}.q126-show-card>div{padding:20px}.q126-show-card h2{font-size:20px}.q126-show-card h2 button{padding:0;border:0;text-align:left;font-size:inherit;font-weight:700}.q126-show-card p{color:#7a879a;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.q126-cover{display:block;width:100%;padding:0;border:0;border-radius:0}.q126-cover img{width:100%;height:220px;object-fit:cover;display:block}.q126-show-card small{color:#c66018}.q126-upload-list{display:flex;gap:10px;flex-wrap:wrap}.q126-upload-list>div{width:110px}.q126-upload-list img{width:110px;height:85px;object-fit:cover;border-radius:9px}.q126-upload-list button{width:100%;margin-top:6px}.q126-issue{font-size:13px;color:#ba590e;margin-top:10px}.q126-dialog button:focus-visible,.q126-sign-dialog button:focus-visible{outline:3px solid #3857a1;outline-offset:3px}
@media(max-width:1050px){.q126-projects,.q126-show-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.q126-split{grid-template-columns:minmax(0,1fr) 200px}.q126-summary{padding:14px}.q126-dialog{padding:22px}.q126-footer{bottom:-22px}.q126-check{padding:18px}}
@media(max-width:760px){.q126-split{grid-template-columns:1fr}.q126-summary{position:static;grid-row:1}.q126-summary>p,.q126-summary>[data-q126-preview]{display:none}.q126-totals{max-width:300px}.q126-heading{align-items:flex-start}.q126-heading h1{font-size:24px}.q126-count strong{font-size:28px}.q126-stage-head{align-items:flex-start;flex-direction:column}.q126-stage-head button{width:100%}.q126-dialog{width:calc(100vw - 16px);max-height:96dvh;padding:16px;border-radius:18px}.q126-footer{bottom:-16px}.q126-footer>.actions{width:100%;display:grid;grid-template-columns:1fr 1.5fr;gap:8px}.q126-footer .actions button{padding:12px 8px;font-size:14px}.q126-banner{padding:22px}.q126-banner h2{font-size:22px}.q126-banner .q126-seal{display:none}.q126-check{padding:16px}.q126-item-heading h3{font-size:17px}.q126-options{gap:6px}.q126-options button{font-size:14px;padding:10px 4px}.q126-steps button{flex-basis:132px}.q126-projects,.q126-show-grid{grid-template-columns:1fr}.q126-sign-actions{flex-direction:column}.q126-sign-actions button{width:100%}}
dialog.bf-dialog.q126-dialog:not(.photo-lightbox){width:min(1200px,calc(100vw - 32px));max-width:1200px;max-height:94dvh;padding:28px!important;border-radius:24px}
body.staff-session dialog.q126-dialog header.q126-heading{position:static;inset:auto;width:100%;height:auto;min-height:0;z-index:auto;background:#fff;display:flex;padding:8px 38px 22px 0}
dialog.q126-dialog>.close{position:sticky;top:0;z-index:20;background:#f5f7fa}
dialog.bf-dialog.q126-preview:not(.photo-lightbox){width:min(900px,calc(100vw - 32px));max-height:90dvh}
dialog.bf-dialog.q126-sign-dialog:not(.photo-lightbox),dialog.bf-dialog.q126-money-dialog:not(.photo-lightbox){width:min(850px,calc(100vw - 32px));max-height:92dvh}
dialog.bf-dialog svg.q126-sign-preview,.q126-owner-records svg.q126-sign-preview{width:100%;height:auto;max-width:400px}
dialog.q126-dialog aside.q126-summary{display:block}
@media(max-width:1050px){dialog.bf-dialog.q126-dialog:not(.photo-lightbox){padding:22px!important}}
@media(max-width:900px){.q126-split{grid-template-columns:1fr}.q126-dialog aside.q126-summary{position:static;grid-row:1}.q126-summary>p,.q126-summary>[data-q126-preview]{display:none}.q126-totals{max-width:300px}.q126-money-summary{display:none}.q126-summary>[data-q126-history]{display:none}}
@media(max-width:760px){dialog.bf-dialog.q126-dialog:not(.photo-lightbox){width:calc(100vw - 16px);padding:16px!important;max-height:96dvh;border-radius:18px}}
/* DUOMI_QUALITY126_CSS_END */

/* DUOMI_DESIGN127_CSS_BEGIN */
:root{--dm-orange127:#ff6800;--dm-ink127:#233143;--dm-muted127:#7a8798;--dm-line127:#e7eaf0;--dm-soft127:#fff6ed}
.q127-brand{margin:22px 0 26px;padding:36px 38px;display:flex;justify-content:space-between;align-items:center;gap:28px;border:1px solid #e4e8ee;background:#fff;border-radius:20px;position:relative;overflow:hidden}.q127-brand:before{content:"";position:absolute;left:0;top:32px;bottom:32px;width:4px;background:#ff6800;border-radius:4px}.q127-eyebrow{font-size:11px;letter-spacing:2px;color:#ba774b}.q127-brand h2{font-size:32px;letter-spacing:1px;margin:14px 0;color:#233143;font-weight:650}.q127-brand p{font-size:14px;color:#8993a1;margin:0;line-height:1.8}.q127-brand-mark{display:flex;align-items:center;gap:16px;padding-left:30px;border-left:1px solid #eceff3;color:#be7e51;flex-shrink:0}.q127-brand-mark>svg{width:52px;height:52px;stroke-width:1.2}.q127-brand-mark>span{font-size:16px;line-height:1.8;letter-spacing:3px}.q127-brand-mark small{font-size:11px;letter-spacing:2px;color:#9a9fa9}.q127-categories{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 30px;border:0;padding:0}.q127-categories>button{display:flex;align-items:center;gap:14px;text-align:left;padding:20px 16px;background:#fff;border:1px solid #e3e8ef;border-radius:14px;min-height:100px;transition:background .15s,border-color .15s,box-shadow .15s}.q127-cat-icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;background:#f5f7fa;border-radius:11px;color:#718096}.q127-cat-icon svg{width:24px;height:24px;stroke-width:1.5}.q127-categories>button>span:nth-child(2){min-width:0}.q127-categories b{display:block;font-size:15px;font-weight:600;white-space:nowrap;line-height:1.5}.q127-categories small{display:block;font-size:10px;letter-spacing:1px;color:#a4adba;margin-bottom:4px}.q127-categories>button>svg{width:15px;height:15px;margin-left:auto;flex-shrink:0;color:#bdc4ce}.q127-categories>button.selected{border-color:#ffba85;background:#fffaf5;box-shadow:0 4px 18px #bd7b3310}.q127-categories>button.selected .q127-cat-icon{background:#fff0e2;color:#ed690c}.q127-categories>button.selected b{color:#a84f10}.q127-library{border:1px solid #e2e7ee;border-radius:20px;background:#fff;padding:28px 30px 32px}.q127-section-title{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #edf0f4;padding-bottom:24px;margin-bottom:24px}.q127-section-title>div>small{font-size:10px;letter-spacing:2px;color:#bc8058}.q127-section-title h2{font-size:24px;letter-spacing:1px;margin:8px 0}.q127-section-title p{margin:0;color:#8c96a4;font-size:13px}.q127-section-title>span{color:#c88960;font-size:36px;font-weight:300}.q127-section-title>span>small{display:block;font-size:11px;text-align:right;color:#9aa3af}.q127-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.q127-entry{display:flex;align-items:center;gap:16px;min-height:100px;width:100%;border:1px solid #e8ecf2;border-radius:12px;background:#fff;padding:20px;text-align:left;transition:border-color .15s,box-shadow .15s}.q127-entry:hover{border-color:#edba96;box-shadow:0 5px 20px #27374b06;background:#fffdfb}.q127-entry-number{color:#bc8a65;font-size:20px;font-weight:400;font-variant-numeric:tabular-nums;flex:0 0 30px}.q127-entry-text{min-width:0;flex:1}.q127-entry-text>b{display:block;font-size:16px;font-weight:600;color:#29384b;line-height:1.5}.q127-entry-text>small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;color:#939dab;line-height:1.7;margin-top:6px}.q127-entry-meta{display:flex;flex-direction:column;align-items:center;gap:7px;flex-shrink:0;color:#bdc5d0}.q127-entry-meta>svg{width:15px;height:15px;stroke-width:1.5}.q127-entry-meta>small{font-size:10px;white-space:nowrap;color:#a3a9b1}.q127-mode{border:1px solid #e0e5ec;color:#67778c;background:#fff}

/* Consistent modal spacing and typography; specialist layouts retain their sizing. */
dialog.dm-modal127:not(.photo-lightbox){border:1px solid #e2e7ee;border-radius:22px;box-shadow:0 28px 100px #14203026,0 4px 20px #1420300a;padding:30px!important;color:#29374a}
dialog.dm-modal127::backdrop{background:rgba(22,31,44,.48);backdrop-filter:blur(4px)}
dialog.dm-modal127:not(.photo-lightbox)>.close{background:#f6f8fb;border:1px solid #e5eaf1;color:#718096;width:36px;height:36px;min-height:36px;right:20px;top:20px;font-size:22px;border-radius:50%;z-index:50;display:grid;place-items:center;padding:0;line-height:1}
dialog.dm-modal127:not(.photo-lightbox)>.close:hover{color:#e5670a;background:#fff2e6;border-color:#ffd2ac}
dialog.dm-modal127 h2{color:#263548;letter-spacing:.2px}dialog.dm-modal127 form>label{margin:18px 0 12px;line-height:1.65}dialog.dm-modal127 input:not([type=checkbox]):not([type=radio]),dialog.dm-modal127 textarea,dialog.dm-modal127 select{border-color:#dfe5ee;border-radius:10px;background:#fff;box-shadow:none}dialog.dm-modal127 input:focus,dialog.dm-modal127 textarea:focus,dialog.dm-modal127 select:focus{outline:2px solid #ffb77e;outline-offset:1px}dialog.dm-modal127 button.primary{box-shadow:none;border-radius:11px}dialog.dm-modal127 .actions{gap:10px}
dialog.dm-modal127.dm-modal-wide127:not(.photo-lightbox){width:min(980px,calc(100vw - 40px));max-width:980px}
dialog.dm-modal127.q127-detail-dialog:not(.photo-lightbox){width:min(1060px,calc(100vw - 48px));max-width:1060px;max-height:92dvh;padding:34px!important}
.q127-detail-heading{display:flex;align-items:center;gap:16px;padding:0 44px 22px 0;border-bottom:1px solid #edf0f4}.q127-detail-symbol{display:grid;place-items:center;width:52px;height:52px;flex:0 0 52px;border:1px solid #f4d7bd;border-radius:14px;background:#fff8f0;color:#e77623}.q127-detail-symbol svg{width:28px!important;height:28px!important;stroke-width:1.5}.q127-detail-heading small{color:#b67a50;font-size:11px;letter-spacing:1px}.q127-detail-heading h2{margin:7px 0 0!important;font-size:24px;line-height:1.5}.q127-detail-intro{color:#657487;font-size:15px;line-height:1.9;margin:22px 0;white-space:pre-wrap}.q127-detail-post{padding-top:12px;margin-top:24px;border-top:1px solid #edf0f3}.q127-detail-post-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.q127-detail-post-heading h3{font-size:18px!important;margin:18px 0!important}.q127-detail-post p{font-size:14px;color:#778397;line-height:1.85}.q127-detail-photos{display:grid;grid-template-columns:1fr;gap:18px;margin:22px 0 8px}.q127-detail-photos>button{padding:0;border:1px solid #e8edf2;background:#f5f7f9;border-radius:14px;overflow:hidden;width:100%;display:block}.q127-detail-photos img{display:block;width:100%;height:auto;max-height:68dvh;object-fit:contain;margin:auto}.q127-detail-admin{padding-top:20px;margin-top:24px;border-top:1px solid #edf0f3;display:flex;gap:12px}
dialog.dm-modal127.q126-preview:not(.photo-lightbox){width:min(1060px,calc(100vw - 48px));max-width:1060px}.q126-preview .wp-gallery123{display:grid;grid-template-columns:1fr;gap:18px}.q126-preview .wp-gallery123 .wp-photo124{display:block;width:100%;padding:0;background:#f5f7f9;border:1px solid #e7ecf2;border-radius:14px;overflow:hidden}.q126-preview .wp-gallery123 .wp-photo124 img{display:block;width:100%;height:auto;max-height:65dvh;object-fit:contain}.q126-preview .wp-gallery123 video{width:100%;max-height:65dvh;border-radius:12px;background:#17202c}
dialog.dm-modal127.wp-lightbox124:not(.photo-lightbox){width:min(1440px,calc(100vw - 40px));max-width:1440px;max-height:94dvh;padding:26px!important;background:#17202c;color:#e3e9f1;border-color:#344052}.wp-lightbox124 h2{color:#e3e9f1!important;font-size:16px!important;margin:2px 40px 20px 0!important;font-weight:500}.wp-lightbox124 .wp-full-image124{display:block;width:100%!important;height:auto!important;max-width:none!important;max-height:77dvh!important;object-fit:contain;border:0;border-radius:8px;background:#111822}.wp-lightbox124 [data-photo-close124]{display:block;margin:18px auto 0;background:#253244;color:#e9eef5;border-color:#3a4658;min-height:42px}.wp-lightbox124>.close{background:#293647!important;color:#e3e9f1!important;border-color:#405065!important}

/* Acceptance workspace: header and footer remain visible; only the checks scroll. */
dialog.dm-modal127.q127-acceptance.q127-enabled:not(.photo-lightbox){height:min(94dvh,1100px);max-height:94dvh;overflow:hidden;padding:24px!important}
.q127-enabled .q126-root{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.q127-enabled .q126-heading{flex:none;padding:0 42px 16px 0!important;gap:18px}.q127-enabled .q126-heading h1{font-size:26px;margin:6px 0}.q127-enabled .q126-heading p{font-size:12px}.q127-enabled .q126-count strong{font-size:30px}.q127-enabled .q126-count span{font-size:12px}.q127-enabled .q126-steps{flex:none;padding:15px 0 12px;margin:0;gap:9px;min-height:0}.q127-enabled .q126-steps button{min-height:87px;flex-basis:140px;padding:11px 13px;gap:4px;border-radius:12px}.q127-enabled .q126-steps button span{font-size:15px}.q127-enabled .q126-steps button b{font-size:13px}.q127-enabled .q126-steps button small{font-size:11px}.q127-enabled .q126-steps button.done span{color:#e66b14}.q127-enabled .q126-stage-head{flex:none;min-height:85px;margin:0;padding:13px 0 17px;border-bottom:1px solid #e9edf2}.q127-enabled .q126-stage-head h2{font-size:24px;margin:5px 0}.q127-enabled .q126-stage-head small{font-size:11px}.q127-enabled .q126-stage-head p{font-size:12px}.q127-enabled .q126-stage-head button{display:inline-flex;align-items:center;gap:10px;min-height:46px;background:#fffaf5;border-color:#f1d3b9;padding:10px 18px}.q127-enabled .q126-stage-head button svg{width:19px;height:19px;stroke-width:1.6}.q127-enabled .q126-stage-head button small{padding:3px 7px;background:#fff0e3;border-radius:6px;color:#ba6c31}.q127-enabled .q126-split{flex:1;min-height:0;overflow:hidden;padding-top:18px;grid-template-columns:minmax(0,1fr) 222px;gap:20px}.q127-enabled .q126-checklist{display:block;overflow-y:auto;min-height:0;padding:0 8px 18px 0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d9dfe7 transparent}.q127-enabled .q126-check{margin-bottom:14px;padding:20px 22px;border-radius:14px}.q127-enabled .q126-summary{position:static;overflow:auto;max-height:100%;padding:20px;background:#f8f9fb;border:1px solid #e7ebf1;border-radius:14px;scrollbar-width:thin}.q127-enabled .q126-summary h3{font-size:15px;margin:0 0 14px}.q127-enabled .q126-summary p{font-size:12px}.q127-enabled .q126-summary button{min-height:44px;font-size:12px}.q127-enabled .q126-check .q126-item-heading h3{font-size:17px;margin:3px 0}.q127-enabled .q126-item-heading>span{font-size:12px;background:#f4f6f9;color:#8793a3;padding:7px}.q127-enabled .q126-require{font-size:12px;line-height:1.65;margin:11px 0 15px;color:#98a1ad}.q127-enabled .q126-options{gap:12px}.q127-enabled .q126-options button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:50px;font-size:14px;font-weight:550;background:#fafbfd;border-color:#e3e8ef;border-radius:10px;color:#647286}.q127-enabled .q126-options button svg{width:18px;height:18px;stroke-width:1.6;flex-shrink:0}.q127-enabled .q126-options button.selected[data-q126-status=pass]{background:#fff2e6;border:1.5px solid #ff6800;color:#d85e08}.q127-enabled .q126-options button.selected[data-q126-status=issue]{background:#fff5ee;border:1.5px solid #bb774c;color:#a05c32}.q127-enabled .q126-options button.selected[data-q126-status=na]{background:#f0f3f7;border:1.5px solid #9ca8b8;color:#5e718a}.q127-enabled .q126-check.pass{border:1px solid #f1d7bd;border-left:3px solid #f17b23;background:#fffdfb}.q127-enabled .q126-check.issue{border:1px solid #e6c2a6;border-left:3px solid #b57041}.q127-enabled .q126-totals .pass,.q127-enabled .q126-signed h3{color:#e66b14}.q127-enabled .q126-totals .issue{color:#a16a43}.q127-enabled .q126-note-label[hidden],.q127-enabled .q126-issue[hidden]{display:none!important}.q127-enabled .q126-note-label{font-size:12px;margin-top:18px}.q127-enabled .q126-issue{margin-top:12px}.q127-enabled .q126-footer{position:static;flex:none;margin:0;padding:14px 0 0;box-shadow:none;min-height:68px;gap:8px}.q127-enabled .q126-footer .actions button{min-height:47px;font-size:14px;padding:11px 20px}.q127-enabled .q126-footer .q126-error{margin:4px 0 0;font-size:12px}.q127-measure{margin:15px 0 0;padding-top:12px;border-top:1px solid #f2e8de;font-size:12px;color:#9b8069}.q127-measure summary{cursor:pointer;list-style-position:inside}.q127-measure label{font-size:12px;margin-top:12px}.q127-measure textarea{width:100%;min-height:64px;font-size:13px;margin-top:8px}
@media(max-width:1150px){.q127-categories{gap:8px}.q127-categories>button{padding:16px 10px;gap:9px}.q127-categories>button>svg{display:none}.q127-cat-icon{width:34px;height:34px;flex-basis:34px}.q127-categories b{font-size:14px}.q127-entry-grid{grid-template-columns:1fr}}
@media(max-width:900px){.q127-brand{padding:28px}.q127-brand h2{font-size:27px}.q127-brand-mark{display:none}.q127-enabled .q126-split{grid-template-columns:1fr}.q127-enabled aside.q126-summary{display:none!important}.q127-enabled .q126-checklist{padding-right:5px}.q127-enabled .q126-stage-head{flex-direction:row;align-items:center}.q127-enabled .q126-stage-head button{width:auto;flex-shrink:0}.q127-library{padding:24px}.q127-categories{grid-template-columns:repeat(3,minmax(0,1fr))}.q127-categories>button{min-height:80px;padding:14px}}
@media(max-width:600px){dialog.dm-modal127:not(.photo-lightbox){padding:22px!important;border-radius:18px}dialog.dm-modal127.q127-acceptance.q127-enabled:not(.photo-lightbox){width:calc(100vw - 12px);height:96dvh;max-height:96dvh;padding:16px!important}.q127-enabled .q126-heading h1{font-size:20px}.q127-enabled .q126-heading p{font-size:10px}.q127-enabled .q126-count strong{font-size:24px}.q127-enabled .q126-count span{font-size:10px}.q127-enabled .q126-heading{padding-bottom:10px!important;padding-right:34px!important}.q127-enabled .q126-steps{padding:10px 0}.q127-enabled .q126-steps button{min-height:76px;flex-basis:118px;padding:9px 10px}.q127-enabled .q126-stage-head{min-height:78px;padding:9px 0 12px;gap:8px}.q127-enabled .q126-stage-head h2{font-size:19px}.q127-enabled .q126-stage-head button{padding:9px 10px;gap:5px;font-size:12px;min-height:42px}.q127-enabled .q126-stage-head button svg{width:16px;height:16px}.q127-enabled .q126-stage-head button small{display:none}.q127-enabled .q126-stage-head p{font-size:10px}.q127-enabled .q126-check{padding:16px 14px}.q127-enabled .q126-options{gap:7px}.q127-enabled .q126-options button{gap:5px;font-size:12px;padding:8px 4px;min-height:46px}.q127-enabled .q126-options button svg{width:16px;height:16px}.q127-enabled .q126-item-heading h3{font-size:15px!important}.q127-enabled .q126-footer{padding-top:10px}.q127-enabled .q126-footer>.actions{grid-template-columns:1fr 1.5fr}.q127-enabled .q126-footer .actions button{padding:10px 5px;font-size:12px;min-height:44px}.q127-brand{padding:24px}.q127-brand h2{font-size:24px}.q127-brand p{font-size:12px}.q127-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.q127-categories>button:last-child{grid-column:1/-1}.q127-library{padding:20px 16px}.q127-entry{padding:16px 12px;gap:10px;min-height:90px}.q127-entry-meta>small{display:none}.q127-entry-text>b{font-size:15px}.q127-entry-number{flex-basis:24px;font-size:17px}.q127-detail-heading h2{font-size:20px}.q127-detail-symbol{width:42px;height:42px;flex-basis:42px}dialog.dm-modal127.q127-detail-dialog:not(.photo-lightbox){width:calc(100vw - 20px);padding:22px!important}.q127-detail-photos img{max-height:65dvh}.q127-detail-post-heading{align-items:flex-start}.q127-detail-heading{gap:12px}.q127-detail-intro{font-size:14px}}
@media(prefers-reduced-motion:reduce){.q127-categories>button,.q127-entry{transition:none}}
.q127-detail-photos img{max-height:58dvh}.q127-detail-heading{padding-bottom:18px}.q127-detail-intro{margin:18px 0}.q127-detail-post{margin-top:18px;padding-top:8px}.q127-detail-post-heading h3{margin:12px 0!important}.q127-detail-photos{margin-top:16px}
@media(max-width:600px){.q127-enabled .q126-count{display:none}.q127-enabled .q126-heading{padding-right:40px!important}.q127-detail-photos img{max-height:62dvh}}
/* DUOMI_DESIGN127_CSS_END */

/* DUOMI_INTERACTION128_CSS_BEGIN */
.q127-enabled .q126-split{grid-template-rows:minmax(0,1fr);min-width:0}
.q127-enabled .q126-checklist{height:100%;max-height:100%;min-height:0;min-width:0;align-self:stretch;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;touch-action:pan-y;-webkit-overflow-scrolling:touch;overflow-anchor:none}
.q127-enabled aside.q126-summary{height:100%;max-height:100%;min-height:0;align-self:stretch;overflow-y:auto;scrollbar-gutter:stable}
.q128-stable .q126-steps{height:130px;min-height:130px;max-height:130px;align-items:stretch}
.q128-stable .q126-steps button,.q128-stable .q126-steps button.current{height:100px;min-height:100px;max-height:100px;border-width:2px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start;gap:4px}
.q128-stable .q126-steps button>span{display:flex;align-items:center;height:22px;min-height:22px;max-height:22px;line-height:22px;font-size:15px}
.q128-stable .q126-steps button>span svg{width:20px;height:20px;display:block}
.q128-stable .q126-steps button>b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:36px;max-height:36px;font-size:13px;line-height:18px;font-weight:550}
.q128-stable .q126-steps button>small{font-size:11px;line-height:16px;height:16px;min-height:16px;white-space:nowrap}
.q128-stable .q126-stage-head{height:120px;min-height:120px;max-height:120px;flex:0 0 120px;box-sizing:border-box}
.q128-stable .q126-stage-head>div{min-width:0}.q128-stable .q126-stage-head h2{line-height:34px;height:34px;margin:4px 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.q128-stable .q126-stage-head p{height:20px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.q128-stable .q126-check,.q128-stable .q126-check.pass,.q128-stable .q126-check.issue,.q128-stable .q126-check.na{height:244px;min-height:244px;max-height:244px;box-sizing:border-box;border-width:2px;border-left-width:2px;display:flex;flex-direction:column;padding:18px 20px;overflow:hidden}
.q128-stable .q126-item-heading{height:48px;min-height:48px;max-height:48px;flex:none;align-items:flex-start}.q128-stable .q126-item-heading h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:17px!important;line-height:22px;max-height:44px;margin:2px 0!important}.q128-stable .q126-item-heading>span{min-width:32px;flex-shrink:0;text-align:center}
.q128-stable .q126-require{height:40px;min-height:40px;max-height:40px;flex:none;margin:5px 0 12px;line-height:20px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.q128-stable .q126-options{height:50px;min-height:50px;max-height:50px;flex:none}.q128-stable .q126-options button,.q128-stable .q126-options button.selected{height:50px;min-height:50px;max-height:50px;border-width:2px!important;box-sizing:border-box;font-weight:550;padding:8px 10px}
.q128-stable .q126-note-label,.q128-stable .q126-issue,.q128-stable .q127-measure{display:none!important}
.q128-item-tools{display:flex;align-items:center;gap:8px;height:32px;min-height:32px;max-height:32px;margin-top:12px;flex:none;overflow:hidden}.q128-item-summary{flex:1;min-width:0;font-size:12px;color:#8c96a5;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.q126-check.issue .q128-item-summary{color:#a2673b}.q128-item-tools button{height:30px;min-height:30px;max-height:30px;padding:4px 9px;font-size:12px;font-weight:500;border-radius:7px;white-space:nowrap;border:1px solid #e5e9ef;color:#8c613e;background:#fffaf5;line-height:20px}
.q128-stable .q126-footer{height:78px;min-height:78px;max-height:78px;flex:0 0 78px;box-sizing:border-box;overflow:hidden}.q128-stable .q126-footer>.actions{min-height:47px;align-items:center}.q128-stable .q126-footer .actions button{height:47px;min-height:47px;max-height:47px;box-sizing:border-box}.q128-stable .q126-footer .q126-error{font-size:11px;line-height:14px;margin:0;max-height:14px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
dialog.dm-modal127.q128-note-dialog:not(.photo-lightbox){width:min(680px,calc(100vw - 32px))}.q128-note-dialog textarea{width:100%;min-height:160px;line-height:1.7;padding:14px}.q128-note-dialog .actions{justify-content:flex-end;margin-top:20px}
@media(max-width:600px){.q128-stable .q126-steps{height:110px;min-height:110px;max-height:110px}.q128-stable .q126-steps button,.q128-stable .q126-steps button.current{height:88px;min-height:88px;max-height:88px;padding:7px 9px}.q128-stable .q126-steps button>span{height:18px;min-height:18px;max-height:18px;font-size:13px;line-height:18px}.q128-stable .q126-steps button>b{font-size:12px;line-height:16px;min-height:32px;max-height:32px}.q128-stable .q126-steps button>small{font-size:10px;height:14px;line-height:14px;min-height:14px}.q128-stable .q126-stage-head{height:100px;min-height:100px;max-height:100px;flex-basis:100px}.q128-stable .q126-stage-head h2{font-size:19px;height:28px;line-height:28px}.q128-stable .q126-check,.q128-stable .q126-check.pass,.q128-stable .q126-check.issue,.q128-stable .q126-check.na{height:266px;min-height:266px;max-height:266px;padding:16px 12px}.q128-stable .q126-item-heading h3{font-size:15px!important;line-height:22px}.q128-stable .q126-require{height:60px;min-height:60px;max-height:60px;-webkit-line-clamp:3}.q128-stable .q126-options button,.q128-stable .q126-options button.selected{padding:8px 3px;font-size:12px;gap:4px}.q128-item-tools{gap:5px}.q128-item-tools button{font-size:11px;padding:4px 6px}.q128-item-summary{font-size:11px}.q128-stable .q126-footer{height:110px;min-height:110px;max-height:110px;flex-basis:110px;align-content:start}.q128-stable .q126-footer>.actions{min-height:44px}.q128-stable .q126-footer .actions button{height:44px;min-height:44px;max-height:44px}}
/* DUOMI_INTERACTION128_CSS_END */

/* DUOMI_LIBRARY129_CSS_BEGIN */
.q129-categories{grid-template-columns:repeat(4,minmax(0,1fr))}.q129-filter{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:12px;margin-bottom:20px}.q129-filter input,.q129-filter select{margin:0;min-height:46px}.q129-entry-wrap{border:1px solid #e8ecf2;border-radius:13px;overflow:hidden;background:#fff}.q129-entry-wrap>.q127-entry{border:0;border-radius:0;min-height:120px}.q129-entry-wrap .q127-entry-text em{display:block;font-size:11px;font-style:normal;color:#b28b6e;margin-top:7px}.q129-entry-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;border-top:1px solid #eef1f5;padding:9px 13px;background:#fcfcfd}.q129-entry-actions>span{flex:1;color:#b37c4c;font-size:11px}.q129-entry-actions button{font-size:12px;padding:6px 9px;min-height:32px;border-radius:7px;background:#fff}.q129-stage-label{color:#b17d54;font-size:12px;margin:18px 0 -3px}.q129-photo-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.q129-private-note{color:#9b8c7a!important;font-size:12px!important}.q129-form-actions{justify-content:flex-end;margin-top:24px}.q129-form textarea{min-height:150px;line-height:1.75}.q129-manage-list article{display:flex;align-items:center;gap:12px;padding:18px 0;border-bottom:1px solid #edf0f4}.q129-manage-list article>div,.q129-manage-list article>b{flex:1;min-width:0}.q129-manage-list p{color:#8a96a5;font-size:13px;line-height:1.6}.q129-form>.primary{margin-top:20px}.q129-entry-dialog .q127-detail-photos img{max-height:60dvh}
dialog.q126-dialog .q126-options button,dialog.q126-dialog .q126-options button.selected{display:flex!important;align-items:center!important;justify-content:center!important;gap:9px;text-align:center;line-height:1.2}
dialog.q126-dialog .q126-options button>svg{display:block!important;width:18px!important;height:18px!important;flex:0 0 18px;margin:0!important;vertical-align:middle}
dialog.q126-dialog .q126-options button>span{display:block;line-height:20px;white-space:nowrap}
dialog.q126-dialog [data-q126-preview]{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px;line-height:1.2}
dialog.q126-dialog [data-q126-preview]>svg{display:block!important;width:18px!important;height:18px!important;flex:0 0 18px;margin:0!important}
dialog.q126-dialog [data-q126-preview]>span{line-height:20px}.q129-collection-progress{margin-top:17px}.q129-collection-progress progress{margin-top:10px;accent-color:#f19b4b}.q129-collection-progress>small{display:block;color:#8593a7;font-size:11px;margin-top:7px;line-height:1.65}.q126-project>.q129-collection-progress+button{margin-top:20px}
@media(max-width:1000px){.q129-categories{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.q129-filter{grid-template-columns:1fr}.q129-entry-actions{gap:6px;flex-wrap:wrap}.q129-entry-actions>span{flex-basis:100%}.q129-entry-actions button{font-size:11px}.q129-categories>button:last-child{grid-column:auto}.q129-manage-list article{flex-wrap:wrap}.q129-manage-list article>div{flex-basis:100%}dialog.q126-dialog .q126-options button{gap:5px;font-size:12px}}
/* DUOMI_LIBRARY129_CSS_END */

.q130-staff-filter{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px;flex-wrap:wrap}.q130-staff-tabs{display:flex;gap:6px;padding:5px;border:1px solid #dce3ed;background:#fff;border-radius:13px}.q130-staff-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;background:transparent;border-radius:9px;padding:11px 17px;color:#64748b}.q130-staff-tabs button[aria-pressed=true]{background:#fff2e7;color:#e96300;font-weight:700}.q130-staff-tabs span{font-size:12px;padding:1px 6px;border-radius:5px;background:#f1f4f8}.q130-staff-filter p{font-size:12px;color:#7d8ba0;margin:0}.wp-sticky123 .q130-delete-account{border-color:#efb7ad;background:#fff8f6;color:#b44432}.wp-sticky123 .q130-delete-account:hover{background:#fff0ec}@media(max-width:600px){.q130-staff-tabs{width:100%}.q130-staff-tabs button{flex:1;padding:10px 8px}.wp-sticky123{flex-wrap:wrap}}

form label.q131-trade-field[hidden]{display:none!important}

dialog.q132-roles-dialog{width:min(960px,calc(100vw - 40px));max-height:88vh;overflow:auto;padding:30px}.q132-role-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.q132-role-title h2{margin:4px 0 10px}.q132-role-notice{background:#fff5eb;border:1px solid #ffdcbe;color:#8d6242;padding:15px 18px;border-radius:12px;font-size:13px;line-height:1.8}.q132-role-card{display:flex;justify-content:space-between;gap:22px;align-items:center;border:1px solid #e0e6ee;border-radius:14px;padding:22px;margin-top:13px}.q132-role-card h3{font-size:17px;margin:0 0 9px}.q132-role-card p{font-size:13px;line-height:1.8;margin:0 0 9px;color:#64748b}.q132-role-card small{color:#8c99ac}.q132-role-actions{display:flex;gap:8px;flex-shrink:0}.q132-role-actions button{white-space:nowrap}.q132-role-actions [data-q132-delete]{color:#b45240;border-color:#f0d5ce}.q132-role-actions button:disabled{opacity:.4}.q132-role-permissions fieldset{margin-bottom:16px}@media(max-width:600px){.q132-role-card,.q132-role-title{align-items:flex-start;flex-direction:column}.q132-role-actions{width:100%}.q132-role-actions button{flex:1}dialog.q132-roles-dialog{padding:22px}}

.q133-delete-task{color:#b54e3b!important;border-color:#edc9c1!important;background:#fff9f6!important}.q133-task-footer{border-top:1px solid #e5eaf1;margin-top:18px;padding-top:18px;text-align:right}.q133-archived-task{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid #e0e6ee;border-radius:12px;padding:18px;margin-top:12px}.q133-archived-task p{color:#7b8ba0;font-size:13px}.q133-preserved-expenses{padding:18px;background:#fff6ed;border:1px solid #ffe0c6;border-radius:12px}.q133-clean-income{margin:12px 0;color:#af513a!important}
.client-archive.q133-owner{padding-top:18px}.q133-owner .client-project-hero{padding:20px 24px;margin-bottom:14px;min-height:0;gap:22px}.q133-owner .client-project-heading h1{font-size:28px;margin:6px 0}.q133-owner .client-eyebrow{margin-bottom:8px}.q133-owner .client-project-address{margin:6px 0}.q133-owner .client-facts{padding:12px 0}.q133-owner .client-facts strong{font-size:20px}.q133-owner .client-project-number{margin:6px 0}.q133-owner .client-tabs{position:sticky;top:0;z-index:5;background:#f7f8fb;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:0;padding:10px 0;margin:0 0 14px}.q133-owner .client-tabs button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;border:1px solid #dce4ef;border-radius:12px;background:white;font-size:17px;font-weight:700;color:#566b87;padding:12px}.q133-owner .client-tabs button svg{width:21px;height:21px;flex-shrink:0}.q133-owner .client-tabs button.selected{background:#fff0e1;border:2px solid #ff6b00;color:#e65d00}.q133-owner .client-tabs button span{margin:0}.q133-owner .client-journey{padding:18px 22px;margin-bottom:14px}.q133-owner .client-journey-heading{margin-bottom:10px;padding-bottom:10px}.q133-owner .client-journey-heading h2{font-size:20px}.q133-owner .client-progress-caption{margin:10px 0}.q133-owner .journey-steps{padding-top:10px;padding-bottom:6px}.q133-owner .stage-workflow{padding:18px 22px;margin-bottom:14px}.q133-care-details{border:1px solid #ffdbbb;border-radius:12px;background:#fff9f0;margin-bottom:14px}.q133-care-details>summary{padding:13px 20px;cursor:pointer;color:#a75a21;font-weight:600}.q133-care-details .owner-care112{margin:0;border:0;box-shadow:none}.q133-log-section{display:grid;grid-template-rows:auto minmax(0,1fr);height:clamp(420px,75vh,850px);min-height:0;scroll-margin-top:86px}.q133-log-section .client-section-heading{margin-bottom:15px}.q133-log-section .client-log-list{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;touch-action:pan-y;padding-right:8px;outline-offset:3px}.q133-log-section .log{padding:22px;margin-bottom:16px}.q133-log-section .log h3{font-size:21px;margin:15px 0}.q133-log-section .log .q133-log-summary{font-size:18px;line-height:1.9;margin:16px 0 20px}.q133-log-section .log .twocol{gap:18px;margin-top:18px}.q133-log-section .log .twocol section{padding:18px;background:#f7f9fc;border:1px solid #e3e9f1;border-radius:12px}.q133-log-section .log .twocol small{font-size:16px;font-weight:700;color:#34465e}.q133-log-section .log .twocol p{font-size:17px;line-height:1.85;margin:10px 0 0}.q133-log-section .log .logdate{font-size:13px}@media(max-width:650px){.q133-owner .client-project-hero{padding:17px;gap:12px}.q133-owner .client-facts{gap:12px}.q133-owner .client-tabs{gap:6px}.q133-owner .client-tabs button{font-size:14px;gap:5px;padding:10px 5px;min-height:54px}.q133-owner .client-tabs button svg{width:17px;height:17px}.q133-log-section{height:75vh;min-height:400px}.q133-log-section .log{padding:16px}.q133-log-section .log .twocol{grid-template-columns:1fr}.q133-log-section .log .q133-log-summary{font-size:17px}}

.q134-timeline-shell{position:relative;isolation:isolate;min-height:310px;margin-bottom:16px;border-radius:18px;overflow:hidden}.q134-timeline-shell>.client-journey{height:100%;margin:0;pointer-events:none;user-select:none}.q134-progress-lock{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(255,250,244,.9);backdrop-filter:blur(4px);border:1px solid #ffd5ae;border-radius:18px}.q134-lock-content{text-align:center;max-width:620px}.q134-lock-icon{display:inline-flex;align-items:center;justify-content:center;background:#ffeddb;color:#ef6800;width:42px;height:42px;border-radius:13px}.q134-lock-icon svg{width:23px;height:23px}.q134-lock-kicker{color:#e8660b!important;font-size:12px!important;letter-spacing:1px;margin:10px 0 6px!important}.q134-lock-content h2{font-size:26px;margin:6px 0 10px;color:#23344b}.q134-lock-content p{font-size:14px;color:#718097;line-height:1.7;margin:10px 0 14px}.q134-lock-actions{display:flex;align-items:center;justify-content:center;gap:12px}.q134-lock-actions button{min-height:46px;font-size:15px}.q134-lock-content>small{display:block;font-size:12px;color:#8a98aa;margin-top:13px}.q134-completion-card{max-width:680px;margin:0 auto 18px;padding:22px 28px;border:1px solid #ffdbb9;background:linear-gradient(120deg,#fff6e9,#fffdf9);border-radius:16px;display:flex;gap:24px;align-items:center;justify-content:space-between}.q134-completion-card span{font-size:11px;color:#dc762e;letter-spacing:1px}.q134-completion-card h2{font-size:23px;margin:8px 0}.q134-completion-card p{font-size:13px;color:#947b66;margin:0}.q134-completion-card button{flex-shrink:0;color:#d66613;border-color:#ffdab9;background:#fffaf4}dialog.q134-blessing-dialog.dm-modal127{width:min(480px,calc(100vw - 36px))!important;max-height:90vh!important;overflow:auto;padding:34px 30px 24px!important;text-align:center;border:1px solid #ffddbc!important;background:linear-gradient(150deg,#fff7ed 0%,#fff 65%)!important;box-shadow:0 22px 80px #24324930!important}.q134-blessing-emblem{display:flex;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:20px;background:#ffecd8;color:#ef6b0b}.q134-blessing-emblem svg{width:34px;height:34px}.q134-blessing-brand{color:#c9814b;font-size:11px;letter-spacing:2px;margin:0 0 12px}.q134-blessing-dialog h2{font-size:26px;line-height:1.4;margin:0 0 20px;color:#28374a}.q134-blessing-copy{font-size:16px;line-height:2;color:#67778b;margin:0 0 22px}.q134-blessing-note{border-top:1px solid #f1e2d1;padding-top:17px;margin-bottom:20px;font-size:13px;line-height:1.7;color:#99816c}.q134-blessing-dialog>[data-q134-blessing-done]{width:100%;min-height:46px}.q134-blessing-dialog>[data-q134-blessing-contact]{font-size:13px;margin-top:9px;color:#a7764e}.q134-blessing-expiry{display:block;font-size:11px;color:#8f9aab;margin:-9px 0 16px}.q134-clean-due{color:#b35d38!important;margin:8px 0}.q134-due-projects{max-height:240px;overflow-y:auto;background:#f8fafc;border:1px solid #e1e7ef;padding:12px 18px;border-radius:12px}.q134-due-projects p{display:flex;justify-content:space-between;gap:14px;font-size:13px}@media(max-width:650px){.q134-timeline-shell{min-height:400px}.q134-progress-lock{padding:18px}.q134-lock-content h2{font-size:23px}.q134-lock-content p{font-size:13px}.q134-lock-actions{flex-direction:column;gap:8px}.q134-lock-actions button{width:100%;min-height:44px}.q134-completion-card{padding:20px;display:block;text-align:center}.q134-completion-card h2{font-size:22px}.q134-completion-card button{margin-top:14px}.q134-blessing-dialog h2{font-size:24px}}
.q134-wizard-step{font-size:12px;color:#e66a0a;letter-spacing:1px;margin:8px 0 20px}.q134-edit-role{margin-top:10px;color:#dc6817!important;border-color:#ffd5ae!important;background:#fff8f0!important}.q134-audit-row{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid #e0e7ef;border-radius:12px;padding:16px;margin:12px 0}.q134-audit-row p{font-size:13px;color:#7c8ba0;margin:8px 0}.q134-audit-pages{display:flex;align-items:center;justify-content:center;gap:18px;margin:18px 0}.q134-audit-content{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:14px;line-height:1.9;padding:20px;background:#f7f9fc;border:1px solid #e1e7ef;border-radius:12px;max-height:60vh;overflow-y:auto}.q134-audit-open{margin-bottom:20px}dialog.q134-audit-dialog{width:min(900px,calc(100vw - 36px));max-height:88vh;overflow:auto;padding:28px}
dialog.q134-role-permissions-dialog.dm-modal127{height:88vh;max-height:88vh;overflow:hidden;display:flex;flex-direction:column}dialog.q134-role-permissions-dialog>h2{flex:0 0 auto}dialog.q134-role-permissions-dialog>form{display:flex;flex-direction:column;min-height:0;flex:1}.q134-role-permission-body{min-height:0;overflow-y:auto;flex:1;padding-right:8px;scrollbar-gutter:stable}.q134-role-permissions-dialog .wp-form-actions123{flex:0 0 auto;background:#fff;padding-top:15px;border-top:1px solid #e4e9f0}.q134-audit-readable{max-height:60vh;overflow-y:auto;padding-right:8px}.q134-audit-fields{margin:0}.q134-audit-fields>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;padding:13px 0;border-bottom:1px solid #edf0f5}.q134-audit-fields dt{font-size:13px;color:#7a8ba1}.q134-audit-fields dd{margin:0;font-size:14px;line-height:1.9;color:#25364d;overflow-wrap:anywhere}.q134-audit-nested{padding:12px;border:1px solid #e4e9f0;border-radius:9px;margin:8px 0}.q134-audit-muted{color:#a4aebb}.q134-audit-source{font-size:12px;color:#8897a8;margin-top:20px}.q134-audit-source summary{cursor:pointer}@media(max-width:600px){.q134-audit-fields>div{grid-template-columns:80px minmax(0,1fr);gap:10px}}

/* DUOMI_POLISH135_BEGIN */
dialog.q134-blessing-dialog.dm-modal127>h2{box-sizing:border-box;width:100%;padding:0!important;margin:0 0 20px!important;text-align:center!important;font-size:clamp(22px,2.2vw,26px)!important;line-height:1.4!important}
dialog.q134-blessing-dialog.dm-modal127>.q134-blessing-brand,dialog.q134-blessing-dialog.dm-modal127>.q134-blessing-copy,dialog.q134-blessing-dialog.dm-modal127>.q134-blessing-note,dialog.q134-blessing-dialog.dm-modal127>.q134-blessing-expiry{width:100%;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;text-align:center!important;box-sizing:border-box}
dialog.q134-blessing-dialog.dm-modal127>[data-q134-blessing-done]{display:flex!important;align-items:center;justify-content:center;text-align:center!important;line-height:1.4}
dialog.q134-blessing-dialog.dm-modal127>[data-q134-blessing-contact]{display:block!important;width:100%;padding-left:0;padding-right:0;text-align:center!important;margin-left:0;margin-right:0}
.client-archive.q135-owner .client-project-hero{min-height:0!important;padding:18px 22px!important;gap:18px!important;margin-bottom:8px!important}.q135-owner .client-project-heading{min-height:0!important;padding:0!important}.q135-owner .client-title-line{margin:5px 0!important}.q135-owner .client-project-heading h1{margin:0!important;font-size:27px}.q135-owner .client-eyebrow{margin:0 0 8px!important}.q135-owner .client-project-address{margin:5px 0!important}.q135-owner .client-project-number{margin:5px 0!important}.q135-owner .client-project-heading .door-card,.q135-owner .client-project-heading .door-access-card{margin-top:8px!important;margin-bottom:0!important}.q135-owner .client-project-heading .door-code-region{margin-top:8px!important;margin-bottom:0!important}.q135-owner .client-facts{min-height:0!important;padding:5px 0!important}.q135-owner .client-tabs{margin-bottom:12px!important}
.q135-owner .client-log-list .q135-record-title{display:flex!important;align-items:center!important;gap:11px!important;line-height:1.45!important;margin:16px 0!important;font-size:20px!important;letter-spacing:.2px}.q135-record-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;border-radius:9px;color:#ed6809;background:#fff1e4}.q135-record-badge svg{width:20px;height:20px;stroke-width:1.6}.q135-record-title>span:last-child{min-width:0}
.q135-owner .client-log-list .log>.q135-log-notes{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important;border-top:1px solid #e9edf3;padding-top:17px!important;margin-top:19px!important}.q135-owner .client-log-list .q135-log-notes>section{border:1px solid #e5eaf1!important;border-radius:12px!important;background:#fbfcfe!important;padding:17px 20px!important;min-width:0;min-height:112px}.q135-note-heading{display:flex!important;align-items:center;gap:8px;margin:0 0 11px!important;padding:0!important}.q135-note-heading svg{width:18px;height:18px;flex:0 0 18px;color:#e97018;stroke-width:1.6}.q135-owner .client-log-list .q135-note-heading h4{font-size:14px!important;font-weight:700;color:#6b7c92!important;line-height:1.5;margin:0!important;letter-spacing:.4px}.q135-owner .client-log-list .q135-log-notes .q135-note-text{font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif!important;font-size:17px!important;line-height:1.8!important;font-weight:500!important;color:#283c53!important;margin:0!important;white-space:pre-wrap;overflow-wrap:anywhere}.q135-owner .client-log-list .q135-note-next{background:#fffaf4!important;border-color:#f3e4d5!important}
@media(max-width:650px){.client-archive.q135-owner .client-project-hero{padding:16px!important;gap:12px!important}.q135-owner .client-project-heading h1{font-size:25px}.q135-owner .client-log-list .log>.q135-log-notes{grid-template-columns:1fr;gap:10px!important}.q135-owner .client-log-list .q135-log-notes>section{padding:15px 16px!important;min-height:0}.q135-owner .client-log-list .q135-record-title{font-size:18px!important;gap:9px!important}.q135-record-badge{width:30px;height:30px;flex-basis:30px}.q135-owner .client-log-list .q135-log-notes .q135-note-text{font-size:16px!important}}
/* DUOMI_POLISH135_END */

.advisor-actions136{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.advisor-actions136 button{min-height:44px}.advisor-contact136{padding:16px 20px;background:#fff7ef;border:1px solid #ffdbc0;border-radius:12px;margin:16px 0}.advisor-contact136 a{font-weight:600;color:#e96900}.advisor-record136{padding:18px;border:1px solid #e1e7ef;border-radius:12px;margin:12px 0}.duomi-calendar{touch-action:manipulation}.advisor-details136{width:min(920px,94vw)!important}

.receipt-quick109 .receipt-quick-footer109{position:sticky;bottom:0;background:#fff;padding:14px 0;display:flex;gap:12px}.receipt-quick109 .receipt-quick-footer109 button{min-height:46px}.collection-node-actions109 .collect109{background:#ff6b00!important;border-color:#ff6b00!important;color:white!important}

/* DUOMI_VISUAL138: WorkBuddy design tokens adapted to existing production DOM. */
:root{
  /* —— 品牌橙（Logo / 唯一强调色，占比约 10%）—— */
  --orange-50:#FFF3EA; --orange-100:#FFE7D6; --orange-200:#FFD3B8;
  --orange-300:#FFB784; --orange-400:#FF974E;
  --orange-500:#FF8A33; --orange-600:#FF6800; --orange-700:#E85D00; --orange-800:#C24E00;

  /* —— 温暖中性（墨/纸感，体现“家”的温度）——
     60% 主背景 / 30% 表面 / 文字层次 */
  --ink-900:#211C17; --ink-800:#2E2823; --ink-700:#473F38; --ink-600:#6B635A;
  --ink-500:#8C8378; --ink-400:#B0A79C; --ink-300:#CFC7BC;
  --bg:#F6F4F1; --surface:#FFFFFF; --surface-2:#FBFAF8; --surface-3:#F0ECE6;
  --line:#ECE7E0; --line-strong:#DED7CD;

  /* —— 语义色（低饱和、克制）—— */
  --green-50:#EAF7F1; --green-500:#129A5B; --green-600:#0E8A4E;
  --amber-50:#FBF1DE; --amber-500:#D98A0B; --amber-600:#B97406;
  --red-50:#FCECEC; --red-500:#E0484D; --red-600:#C93A3E;
  --blue-50:#EAF2FE; --blue-500:#2D7FF9; --blue-600:#1B66D8;

  /* —— 形状（略大圆角，更柔和高级）—— */
  --radius-xs:10px; --radius-sm:12px; --radius:16px; --radius-lg:22px; --radius-pill:999px;

  /* —— 暖调柔和阴影 —— */
  --shadow-sm:0 1px 2px rgba(33,28,23,.04), 0 1px 3px rgba(33,28,23,.03);
  --shadow:0 2px 10px rgba(33,28,23,.05), 0 1px 2px rgba(33,28,23,.04);
  --shadow-lg:0 18px 44px rgba(33,28,23,.10), 0 6px 14px rgba(33,28,23,.06);
  --shadow-xl:0 26px 60px rgba(33,28,23,.16);
  --shadow-orange:0 8px 22px rgba(255,104,0,.22);

  /* —— 动效 —— */
  --dur-fast:150ms; --dur:260ms; --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(0,0,.2,1);

  /* —— 字体 —— */
  --font:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

/* Map the new visual system without replacing any elements, event handlers or layout engines. */
:root{--orange:var(--orange-600);--ink:var(--ink-900);--muted:var(--ink-500);--paper:var(--bg)}
body{font-family:var(--font)!important;background:var(--bg)!important;color:var(--ink-800)!important;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
body h1,body h2,body h3,body strong{color:var(--ink-900)}
body h1{font-size:clamp(24px,2.2vw,30px);font-weight:800;letter-spacing:-.025em}
body :is(.muted,.hint,.collection-help109,.page-heading p){color:var(--ink-500)}
body .eyebrow{color:var(--orange-700);font-weight:700;letter-spacing:.07em}
body header{background:rgba(255,255,255,.95)!important;border-bottom:1px solid var(--line)!important;box-shadow:0 2px 8px #211c1703}
body .workspace,body .workspace>main,body .client-archive{background:var(--bg)!important}
body .workspace>.duomi-nav{background:var(--surface)!important;border-color:var(--line)!important;padding-inline:12px}
body .duomi-nav .side-link{position:relative;border-radius:12px!important;color:var(--ink-600)!important;font-weight:500;transition:background .15s,border-color .15s}
body .duomi-nav .side-link svg{color:var(--ink-400)}
body .duomi-nav .side-link:hover{background:var(--surface-3)!important;color:var(--orange-700)!important}
body .duomi-nav .side-link.active{background:var(--orange-50)!important;color:var(--orange-700)!important;box-shadow:none!important;font-weight:700}
body .duomi-nav .side-link.active svg{color:var(--orange-600)!important}
body .duomi-nav .side-link.active:before{content:'';position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:4px;background:var(--orange-600);pointer-events:none}
body .duomi-nav :is(.side-title,.side-note){color:var(--ink-500);border-color:var(--line)}
body :is(.work-panel,.wp-project123,.project,.log,.data-table-wrap,.staff-selector-panel,.client-journey,.client-project-hero,.q127-library-section,.q127-showcase-hero){background:var(--surface)!important;border-color:var(--line)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow-sm)!important}
body .wp-overview123>button{background:linear-gradient(160deg,var(--surface),var(--surface-2))!important;border-color:var(--line)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow-sm)!important;text-align:left}
body .wp-overview123 strong{font-size:32px;font-weight:800;color:var(--ink-900)}
body .wp-overview123 small{color:var(--ink-500)}
body :is(.wp-project123,.wp-record124,.log){transition:border-color .16s,box-shadow .16s}
body .wp-project123:hover{border-color:var(--line-strong)!important;box-shadow:var(--shadow)!important}
body button:not(.stage-link):not(.quiet):not(.close){font-family:var(--font);border-radius:var(--radius-sm);border-color:var(--line-strong);color:var(--ink-700)}
body button.primary:not(:disabled),body .primary.collect109:not(:disabled){background:linear-gradient(140deg,var(--orange-500),var(--orange-600))!important;border-color:transparent!important;color:white!important;box-shadow:0 5px 14px #ff68001c}
body button.primary:hover:not(:disabled){background:linear-gradient(140deg,var(--orange-600),var(--orange-700))!important}
body button:disabled{box-shadow:none!important}
body button:focus-visible,body input:focus-visible,body textarea:focus-visible,body select:focus-visible{outline:2px solid var(--orange-400);outline-offset:3px}
body :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){background:var(--surface)!important;border-color:var(--line-strong)!important;border-radius:12px!important;color:var(--ink-800)!important;font-family:var(--font)}
body :is(input,textarea)::placeholder{color:var(--ink-400)}
body :is(.wp-admin123,.demo-banner,.notice){background:var(--orange-50)!important;border-color:var(--orange-100)!important;color:var(--ink-600)}
body :is(.pill,.business-tag119){border-radius:999px}
body :is(.pill.done,.collection-status109){background:var(--orange-50);color:var(--orange-700)}
body :is(.data-table,.bf-table) th{background:var(--surface-2)!important;color:var(--ink-500)!important;border-color:var(--line)!important}
body :is(.data-table,.bf-table) td{border-color:var(--line)!important;color:var(--ink-700)}
body :is(.data-table,.bf-table) tbody tr:hover{background:var(--surface-2)}
body progress{background:var(--surface-3);border-radius:999px}
body progress::-webkit-progress-bar{background:var(--surface-3);border-radius:999px}
body progress::-webkit-progress-value{background:linear-gradient(90deg,var(--orange-500),var(--orange-600));border-radius:999px}
body progress.green::-webkit-progress-value{background:#72a590}
body dialog{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-xl)!important;color:var(--ink-800)}
body dialog::backdrop{background:rgba(33,28,23,.38);backdrop-filter:blur(5px)}
body dialog :is(.close,.q127-close){background:var(--surface-2)!important;color:var(--ink-500)!important;border-color:var(--line)!important;border-radius:50%!important}
body :is(.wp-form-actions123,.q126-footer,.wp-sticky123,.receipt-quick-footer109){border-color:var(--line)!important}
body :is(.wp-tabs124,.q130-filters,.business-tabs119){background:var(--surface)!important;border-color:var(--line)!important;border-radius:14px}
body :is(.wp-tabs124,.q130-filters,.business-tabs119) button.selected{background:var(--orange-50)!important;color:var(--orange-700)!important;border-color:var(--orange-200)!important}
body :is(.wp-permission-group123,.wp-permission123,.advisor-record136){border-color:var(--line)!important}
body .wp-permission123{background:var(--surface-2)!important}
body .wp-permission123:has(input:checked){background:var(--orange-50)!important;border-color:var(--orange-200)!important}
body .q127-enabled :is(.q126-check,.q126-summary,.q126-stage){border-color:var(--line)!important;background:var(--surface)!important}
body .q127-enabled .q126-options button{background:var(--surface-2)!important;border-color:var(--line-strong)!important;color:var(--ink-600)!important}
body .q127-enabled .q126-options button.selected[data-q126-status=pass]{background:var(--orange-50)!important;border-color:var(--orange-600)!important;color:var(--orange-700)!important}
body .q127-enabled .q126-options button.selected[data-q126-status=issue]{background:#fff4ec!important;border-color:#c78358!important;color:#a45a2c!important}
body .q127-enabled .q126-options button.selected[data-q126-status=na]{background:var(--surface-3)!important;border-color:var(--ink-400)!important;color:var(--ink-600)!important}
body .q127-enabled .q126-check.pass{border-left-color:var(--orange-600)!important}
body .q127-enabled .q126-check.issue{border-left-color:#c78358!important}
body :is(.q126-stage.active,.q127-quality-tab.active,.q127-quality-entry:hover){background:var(--orange-50)!important;border-color:var(--orange-300)!important;color:var(--orange-700)!important}
body :is(.collection-setup109,.collection-progress109,.receipt-quick-values109,.wp-money123){border-color:var(--line)!important;border-radius:16px}
body .collection-setup109{background:var(--surface-2)!important}
body .collection-node109{border-color:var(--line)!important;background:var(--surface)!important;border-radius:14px}
body :is(.q135-log-notes>section,.door-code-region){background:var(--surface-2)!important;border-color:var(--line)!important}
body .client-tabs>button{background:var(--surface)!important;border-color:var(--line-strong)!important;color:var(--ink-600)!important;border-radius:14px!important}
body .client-tabs>button.active{background:var(--orange-50)!important;border-color:var(--orange-600)!important;color:var(--orange-700)!important}
body .q134-progress-lock{background:rgba(255,250,244,.94)!important;border-color:var(--orange-200)!important}
body .q134-completion-card{background:linear-gradient(130deg,var(--orange-50),var(--surface))!important;border-color:var(--orange-200)!important}
body .q134-blessing-dialog{background:linear-gradient(150deg,#fff7ee,#fff 70%)!important}
body footer{background:var(--surface)!important;border-color:var(--line)!important;color:var(--ink-400)!important}
@media(prefers-reduced-motion:reduce){body *,body *:before,body *:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* Tablet ergonomics: retain existing responsive layouts, improve target and text clarity. */
body :is(h1,h2,h3,h4,button,input,textarea,select,label,.prose){font-family:var(--font)!important}
body :is(.receipt-quick-form109,.receipt-entry,.bf-upload-card){background:var(--surface-2)!important;border-color:var(--line)!important}
body .wp-project123 .actions button[data-wp-ledger123]{background:var(--orange-50)!important;border-color:var(--orange-300)!important;color:var(--orange-700)!important;font-weight:700}
body :is(.q126-hero,.q127-brand,.q127-library,.q127-entry,.q127-categories>button){border-color:var(--line)!important;box-shadow:var(--shadow-sm);border-radius:var(--radius)}
body .q127-brand{background:linear-gradient(125deg,#fffaf5,#fff)!important}
body .q127-categories>button.selected{background:var(--orange-50)!important;border-color:var(--orange-300)!important;color:var(--orange-700)!important}
@media(min-width:801px) and (max-width:1180px){body .workspace>main{padding-inline:24px!important}body .wp-project-grid123{gap:16px}body .advisor-actions136 button{padding-inline:10px;min-height:46px}}
@media(pointer:coarse){body :is(.actions button,.wp-shortcuts123 button,.advisor-actions136 button,.wp-form-actions123 button,.receipt-quick-footer109 button){min-height:46px}body .duomi-calendar button{min-width:36px;min-height:36px}body :is(.toolbar input,.toolbar select){min-height:46px}}
@media(max-width:650px){body .wp-overview123 strong{font-size:28px}body dialog{border-radius:18px!important}}

/* DUOMI_UI139_STAFF_ONLY */
body.nu-staff{
  
  --orange-50:#FFF3EA; --orange-100:#FFE7D6; --orange-200:#FFD3B8;
  --orange-300:#FFB784; --orange-400:#FF974E;
  --orange-500:#FF8A33; --orange-600:#FF6800; --orange-700:#E85D00; --orange-800:#C24E00;

  
  --ink-900:#211C17; --ink-800:#2E2823; --ink-700:#473F38; --ink-600:#6B635A;
  --ink-500:#8C8378; --ink-400:#B0A79C; --ink-300:#CFC7BC;
  --bg:#F6F4F1; --surface:#FFFFFF; --surface-2:#FBFAF8; --surface-3:#F0ECE6;
  --line:#ECE7E0; --line-strong:#DED7CD;

  
  --green-50:#EAF7F1; --green-500:#129A5B; --green-600:#0E8A4E;
  --amber-50:#FBF1DE; --amber-500:#D98A0B; --amber-600:#B97406;
  --red-50:#FCECEC; --red-500:#E0484D; --red-600:#C93A3E;
  --blue-50:#EAF2FE; --blue-500:#2D7FF9; --blue-600:#1B66D8;

  
  --radius-xs:10px; --radius-sm:12px; --radius:16px; --radius-lg:22px; --radius-pill:999px;

  
  --shadow-sm:0 1px 2px rgba(33,28,23,.04), 0 1px 3px rgba(33,28,23,.03);
  --shadow:0 2px 10px rgba(33,28,23,.05), 0 1px 2px rgba(33,28,23,.04);
  --shadow-lg:0 18px 44px rgba(33,28,23,.10), 0 6px 14px rgba(33,28,23,.06);
  --shadow-xl:0 26px 60px rgba(33,28,23,.16);
  --shadow-orange:0 8px 22px rgba(255,104,0,.22);

  
  --dur-fast:150ms; --dur:260ms; --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(0,0,.2,1);

  
  --font:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
body.nu-staff *{box-sizing:border-box}
html.nu-html,body.nu-staff{margin:0;height:100%}
body.nu-staff{font-family:var(--font);background:var(--bg);color:var(--ink-800);
  font-size:14px;line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  font-variant-numeric:tabular-nums}
body.nu-staff #app{display:flex;flex-direction:column;height:100vh;min-height:0}
body.nu-staff h1,body.nu-staff h2,body.nu-staff h3{margin:0;color:var(--ink-900);font-weight:800;letter-spacing:-.01em;line-height:1.3}
body.nu-staff button{font-family:inherit;cursor:pointer}
body.nu-staff a{color:var(--blue-600);text-decoration:none}
body.nu-staff .muted{color:var(--ink-500)}
body.nu-staff .tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
body.nu-staff .ic{width:20px;height:20px;flex-shrink:0;color:inherit;display:block}
body.nu-staff .topbar{height:62px;flex-shrink:0;background:rgba(255,255,255,.86);backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:0 22px;position:relative;z-index:20}
body.nu-staff .brand{display:flex;align-items:center;gap:11px;font-weight:800;color:var(--ink-900);font-size:16px;letter-spacing:.01em}
body.nu-staff .logo{width:32px;height:32px;border-radius:10px;background:linear-gradient(140deg,var(--orange-500),var(--orange-700));
  color:#fff;display:grid;place-items:center;font-weight:800;font-size:17px;box-shadow:var(--shadow-orange)}
body.nu-staff .crumbs{color:var(--ink-500);font-size:13px;font-weight:500}
body.nu-staff .spacer{flex:1}
body.nu-staff .shell{flex:1;display:flex;min-height:0}
body.nu-staff .role-switch{position:relative}
body.nu-staff .role-switch>button{display:flex;align-items:center;gap:8px;border:1px solid var(--line-strong);
  background:var(--surface);border-radius:var(--radius-pill);padding:8px 14px;font-size:13px;font-weight:600;color:var(--ink-700);
  transition:.15s var(--ease)}
body.nu-staff .role-switch>button:hover{border-color:var(--orange-300);color:var(--orange-700);box-shadow:var(--shadow-sm)}
body.nu-staff .role-switch>button .ic:last-child{transform:rotate(90deg);color:var(--ink-400)}
body.nu-staff .role-menu{position:absolute;top:calc(100% + 10px);right:0;width:196px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:6px;display:none;z-index:50}
body.nu-staff .role-menu.open{display:block;animation:popIn .16s var(--ease-out)}
body.nu-staff .role-menu button{display:flex;align-items:center;gap:10px;width:100%;border:none;background:none;
  padding:10px 11px;border-radius:var(--radius-sm);font-size:13px;color:var(--ink-700);text-align:left;transition:.12s}
body.nu-staff .role-menu button:hover{background:var(--orange-50);color:var(--orange-700)}
body.nu-staff .user-pill{display:flex;align-items:center;gap:8px;background:var(--surface-3);
  border-radius:var(--radius-pill);padding:5px 13px 5px 6px;font-size:13px;font-weight:700;color:var(--ink-700)}
body.nu-staff .avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(140deg,var(--orange-200),var(--orange-400));
  color:var(--orange-800);display:grid;place-items:center;font-weight:800;font-size:13px}
body.nu-staff .nav{width:256px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--line);
  padding:18px 13px;display:flex;flex-direction:column;overflow-y:auto}
body.nu-staff .nav-role{font-size:13px;font-weight:800;color:var(--ink-900);margin:2px 8px 6px}
body.nu-staff .nav-caption{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--ink-400);margin:18px 8px 9px}
body.nu-staff .nav-group{display:flex;flex-direction:column;gap:4px}
body.nu-staff .nav-item{position:relative;display:flex;align-items:center;gap:12px;width:100%;border:none;background:none;text-align:left;
  padding:11px 13px;border-radius:var(--radius-sm);color:var(--ink-600);font-size:14px;font-weight:500;transition:.14s var(--ease)}
body.nu-staff .nav-item .ic{color:var(--ink-400);transition:.14s}
body.nu-staff .nav-item .lb{flex:1}
body.nu-staff .nav-item .badge{background:var(--orange-600);color:#fff;font-size:11px;font-weight:700;min-width:19px;height:19px;
  border-radius:var(--radius-pill);display:grid;place-items:center;padding:0 6px;box-shadow:var(--shadow-orange)}
body.nu-staff .nav-item:hover{background:var(--orange-50);color:var(--orange-700)}
body.nu-staff .nav-item:hover .ic{color:var(--orange-600)}
body.nu-staff .nav-item.active{background:var(--orange-50);color:var(--orange-700);font-weight:700}
body.nu-staff .nav-item.active .ic{color:var(--orange-600)}
body.nu-staff .nav-item.active::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--orange-600)}
body.nu-staff .nav-foot{margin-top:auto;padding:14px 9px 4px;border-top:1px solid var(--line);font-size:12px;color:var(--ink-400);line-height:1.7}
body.nu-staff .main{flex:1;overflow-y:auto;padding:30px 34px;background:
  radial-gradient(1200px 480px at 100% -10%, rgba(255,104,0,.05), transparent 60%),
  var(--bg)}
body.nu-staff .main > *{animation:fadeUp .34s var(--ease) both}
body.nu-staff .page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px;gap:16px}
body.nu-staff .eyebrow{font-size:12px;font-weight:800;letter-spacing:.06em;color:var(--orange-700)}
body.nu-staff .page-head h1{font-size:24px;margin:7px 0 5px}
body.nu-staff .sub{color:var(--ink-500);font-size:13px}
body.nu-staff .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-sm);
  transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease),border-color var(--dur) var(--ease)}
body.nu-staff .card .eyebrow{margin-bottom:3px}
body.nu-staff .row{display:flex;align-items:center;gap:10px}
body.nu-staff .grid{display:grid;gap:18px}
body.nu-staff .cols-2{grid-template-columns:repeat(2,1fr)}
body.nu-staff .cols-3{grid-template-columns:repeat(3,1fr)}
body.nu-staff .cols-4{grid-template-columns:repeat(4,1fr)}
body.nu-staff .notice{background:var(--orange-50);border:1px solid var(--orange-100);color:var(--orange-700);
  border-radius:var(--radius-sm);padding:12px 15px;font-size:13px;margin-bottom:20px}
body.nu-staff .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;padding:0 18px;
  border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-700);
  border-radius:var(--radius-sm);font-size:14px;font-weight:600;transition:all var(--dur-fast) var(--ease)}
body.nu-staff .btn:hover{background:var(--surface-3);border-color:var(--ink-300);transform:translateY(-1px)}
body.nu-staff .btn.primary{background:linear-gradient(140deg,var(--orange-500),var(--orange-600));border-color:transparent;color:#fff;box-shadow:var(--shadow-orange)}
body.nu-staff .btn.primary:hover{background:linear-gradient(140deg,var(--orange-600),var(--orange-700));box-shadow:0 10px 26px rgba(255,104,0,.30)}
body.nu-staff .btn.sm{height:32px;padding:0 14px;font-size:13px}
body.nu-staff .btn.warn{background:var(--amber-50);border-color:var(--amber-200);color:var(--amber-600)}
body.nu-staff .btn.warn:hover{background:var(--amber-50);border-color:var(--amber-500);color:var(--amber-600);box-shadow:0 8px 20px rgba(217,138,11,.18)}
body.nu-staff .btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
body.nu-staff .stat{background:linear-gradient(160deg,var(--surface),var(--surface-2));border:1px solid var(--line);border-radius:var(--radius);
  padding:20px 22px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}
body.nu-staff .stat::after{content:"";position:absolute;right:-20px;top:-20px;width:90px;height:90px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,104,0,.08),transparent 70%)}
body.nu-staff .stat .num{font-size:32px;font-weight:800;color:var(--ink-900);line-height:1.1}
body.nu-staff .stat .num.warn{color:var(--amber-600)}
body.nu-staff .stat .lbl{font-size:13px;color:var(--ink-500);margin-top:7px;font-weight:500}
body.nu-staff .tag{display:inline-flex;align-items:center;gap:4px;padding:3px 11px;border-radius:var(--radius-pill);font-size:12px;font-weight:700;line-height:1.7}
body.nu-staff .tag.green{background:var(--green-50);color:var(--green-600)}
body.nu-staff .tag.amber{background:var(--amber-50);color:var(--amber-600)}
body.nu-staff .tag.orange{background:var(--orange-50);color:var(--orange-700)}
body.nu-staff .tag.gray{background:var(--surface-3);color:var(--ink-500)}
body.nu-staff .tag.red{background:var(--red-50);color:var(--red-600)}
body.nu-staff .tag.blue{background:var(--blue-50);color:var(--blue-600)}
body.nu-staff .tbl{width:100%;border-collapse:collapse;font-size:13px}
body.nu-staff .tbl th{text-align:left;color:var(--ink-400);font-weight:700;font-size:12px;letter-spacing:.04em;
  padding:12px 14px;border-bottom:1px solid var(--line-strong);background:var(--surface-2)}
body.nu-staff .tbl td{padding:14px;border-bottom:1px solid var(--line);color:var(--ink-700)}
body.nu-staff .tbl tbody tr{transition:background .12s}
body.nu-staff .tbl tbody tr:hover{background:var(--orange-50)}
body.nu-staff .tbl tbody tr:last-child td{border-bottom:none}
body.nu-staff .track{height:8px;background:var(--surface-3);border-radius:var(--radius-pill);overflow:hidden}
body.nu-staff .fill{height:100%;background:linear-gradient(90deg,var(--orange-500),var(--orange-600));border-radius:var(--radius-pill)}
body.nu-staff .lifecycle{display:flex;align-items:flex-start;margin-top:16px}
body.nu-staff .stage{flex:1;display:flex;flex-direction:column;align-items:center;position:relative}
body.nu-staff .node{display:flex;flex-direction:column;align-items:center;gap:7px;z-index:1;width:100%}
body.nu-staff .bubble{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;
  background:var(--surface-3);color:var(--ink-400);border:2px solid transparent;transition:.2s}
body.nu-staff .stage.done .bubble{background:linear-gradient(140deg,var(--orange-500),var(--orange-600));color:#fff;border-color:transparent;box-shadow:var(--shadow-orange)}
body.nu-staff .stage.current .bubble{background:var(--orange-50);color:var(--orange-700);border-color:var(--orange-600)}
body.nu-staff .nm{font-size:12px;color:var(--ink-500);text-align:center}
body.nu-staff .stage.done .nm,body.nu-staff .stage.current .nm{color:var(--ink-700);font-weight:600}
body.nu-staff .conn{flex:1;height:2px;background:var(--line-strong);margin:18px -1px 0;min-width:16px}
body.nu-staff .stage.done .conn{background:var(--orange-600)}
body.nu-staff .owner-access{display:flex;gap:18px;align-items:flex-start}
body.nu-staff .qr{width:108px;height:108px;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--line-strong);
  position:relative;overflow:hidden;flex-shrink:0;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:13px 13px}
body.nu-staff .qr::after{content:"扫码";position:absolute;inset:0;display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--ink-400);
  background:radial-gradient(circle at center,#fff 38%,transparent 39%)}
body.nu-staff .owner-hero{background:linear-gradient(135deg,#241C16 0%,#3A2C20 100%);color:#fff;border-radius:var(--radius-lg);padding:32px 34px;
  display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;position:relative;overflow:hidden;
  box-shadow:var(--shadow-lg)}
body.nu-staff .owner-hero::before{content:"";position:absolute;right:-40px;bottom:-60px;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,104,0,.22),transparent 70%)}
body.nu-staff .owner-hero .eyebrow{color:var(--orange-300)}
body.nu-staff .owner-hero h1{color:#fff;font-size:25px;margin:9px 0 7px}
body.nu-staff .owner-hero .sub{color:rgba(255,255,255,.74)}
body.nu-staff .owner-hero .big{color:#fff}
body.nu-staff .trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
body.nu-staff .trust-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow-sm)}
body.nu-staff .trust-card .big{font-size:26px;font-weight:800;color:var(--ink-900);margin:6px 0 2px}
body.nu-staff .owner-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:0}
body.nu-staff .tool-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm);
  cursor:pointer;transition:.18s var(--ease);position:relative;overflow:hidden}
body.nu-staff .tool-card:hover{border-color:var(--orange-300);box-shadow:var(--shadow);transform:translateY(-3px)}
body.nu-staff .tool-ico{width:44px;height:44px;border-radius:12px;background:var(--orange-50);color:var(--orange-700);display:grid;place-items:center;margin-bottom:12px}
body.nu-staff .tool-ico .ic{width:24px;height:24px}
body.nu-staff .tool-card h3{font-size:16px}
body.nu-staff .tool-card p{font-size:12.5px;color:var(--ink-500);margin:5px 0 0;line-height:1.6}
body.nu-staff .tool-arrow{position:absolute;top:22px;right:18px;color:var(--ink-300)}
body.nu-staff .guardian{display:flex;align-items:center;gap:14px}
body.nu-staff .guardian .avatar{width:48px;height:48px;font-size:18px}
body.nu-staff .guardian .g-name{font-weight:800;color:var(--ink-900);font-size:15px}
body.nu-staff .guardian .g-role{font-size:12px;color:var(--ink-500)}
body.nu-staff .guardian .g-contacts{display:flex;gap:8px;margin-top:10px}
body.nu-staff .g-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:var(--radius-pill);border:1px solid var(--line-strong);
  font-size:13px;font-weight:600;color:var(--ink-700);background:var(--surface);transition:.14s}
body.nu-staff .g-chip:hover{border-color:var(--orange-300);color:var(--orange-700);background:var(--orange-50)}
body.nu-staff .g-chip .ic{width:16px;height:16px}
body.nu-staff a.g-chip{text-decoration:none}
body.nu-staff .blessing{margin-top:20px;background:linear-gradient(135deg,var(--orange-50),#FFF7EF);border:1px solid var(--orange-100);
  border-radius:var(--radius-lg);padding:26px 28px;text-align:center;box-shadow:var(--shadow-sm);animation:fadeUp .4s var(--ease) both}
body.nu-staff .blessing .b-ico{width:54px;height:54px;border-radius:50%;background:linear-gradient(140deg,var(--orange-500),var(--orange-600));
  color:#fff;display:grid;place-items:center;margin:0 auto 14px;box-shadow:var(--shadow-orange)}
body.nu-staff .blessing .b-ico .ic{width:28px;height:28px}
body.nu-staff .blessing h3{font-size:20px;color:var(--orange-800)}
body.nu-staff .blessing p{color:var(--ink-600);font-size:14px;margin:8px auto 0;max-width:520px;line-height:1.8}
body.nu-staff .twocol{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 18px}
body.nu-staff .field{display:flex;flex-direction:column;gap:7px}
body.nu-staff .field label{font-size:13px;font-weight:600;color:var(--ink-600)}
body.nu-staff .field input,body.nu-staff .field select{height:42px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);
  padding:0 13px;font-size:14px;background:var(--surface);color:var(--ink-900);font-family:inherit;transition:.14s}
body.nu-staff .field input:focus,body.nu-staff .field select:focus{outline:none;border-color:var(--orange-600);box-shadow:0 0 0 3px var(--orange-50)}
body.nu-staff .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
body.nu-staff .date-field{position:relative}
body.nu-staff .date-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:42px;border:1px solid var(--line-strong);
  border-radius:var(--radius-sm);padding:0 13px;background:var(--surface);font-size:14px;color:var(--ink-900);transition:.14s}
body.nu-staff .date-trigger:hover{border-color:var(--orange-300)}
body.nu-staff .date-trigger:focus{border-color:var(--orange-600);box-shadow:0 0 0 3px var(--orange-50)}
body.nu-staff .date-trigger .glyph{color:var(--ink-400)}
body.nu-staff .calendar{position:fixed;width:300px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:14px;z-index:1000;box-sizing:border-box}
body.nu-staff .cal-head{display:flex;justify-content:space-between;align-items:center;font-weight:700;color:var(--ink-900)}
body.nu-staff .cal-nav button{width:30px;height:30px;border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius-xs);font-size:16px;color:var(--ink-600)}
body.nu-staff .cal-nav button:hover{border-color:var(--orange-300);color:var(--orange-700)}
body.nu-staff .cal-weeks{display:grid;grid-template-columns:repeat(7,1fr);margin:10px 0 6px}
body.nu-staff .cal-weeks span{text-align:center;font-size:12px;color:var(--ink-400)}
body.nu-staff .cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
body.nu-staff .cal-days button{height:36px;border:none;background:none;border-radius:var(--radius-xs);font-size:13px;color:var(--ink-700);transition:.12s}
body.nu-staff .cal-days button:hover{background:var(--orange-50);color:var(--orange-700)}
body.nu-staff .cal-days button.chosen{background:var(--orange-600);color:#fff}
body.nu-staff .cal-days button.today{border:1px solid var(--orange-600);color:var(--orange-700);font-weight:700}
body.nu-staff .cal-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
body.nu-staff .cal-foot button{border:none;background:none;color:var(--orange-700);font-weight:600;font-size:13px;padding:6px 8px;border-radius:var(--radius-xs)}
body.nu-staff .cal-foot button:hover{background:var(--orange-50)}
body.nu-staff .overlay{position:fixed;inset:0;background:rgba(33,28,23,.46);backdrop-filter:blur(2px);display:none;align-items:center;
  justify-content:center;z-index:200;padding:20px}
body.nu-staff .overlay.open{display:flex}
body.nu-staff .dialog{background:var(--surface);border-radius:var(--radius-lg);padding:26px;width:min(720px,94vw);
  max-height:88vh;overflow:auto;box-shadow:var(--shadow-xl);border:1px solid var(--line)}
body.nu-staff .overlay.open .dialog{animation:modalIn .26s var(--ease-out)}
body.nu-staff .dialog h2{font-size:19px;margin-bottom:2px}
body.nu-staff .dialog .eyebrow{margin-bottom:4px}
body.nu-staff .logs{display:flex;flex-direction:column}
body.nu-staff .log-item{display:flex;gap:13px;padding:12px 0;border-bottom:1px solid var(--line)}
body.nu-staff .log-item:last-child{border-bottom:none}
body.nu-staff .log-date{font-size:12px;color:var(--ink-400);width:76px;flex-shrink:0;padding-top:1px}
body.nu-staff .log-body{flex:1;font-size:13px;color:var(--ink-700);line-height:1.7}
body.nu-staff .media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
body.nu-staff .media-card{border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface);transition:.16s var(--ease)}
body.nu-staff .media-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
body.nu-staff .media-thumb{height:94px;display:grid;place-items:center;color:var(--ink-400);
  background:linear-gradient(135deg,var(--surface-3),#ECE7E0);position:relative}
body.nu-staff .media-thumb svg{width:30px;height:30px}
body.nu-staff .media-thumb img{width:100%;height:100%;object-fit:cover;display:block}
body.nu-staff .media-thumb.video{background:linear-gradient(135deg,var(--blue-50),#EAF2FE);color:var(--blue-500)}
body.nu-staff .media-kind{position:absolute;top:8px;right:8px;background:var(--ink-900);color:#fff;font-size:10px;padding:2px 7px;border-radius:var(--radius-pill);font-weight:700}
body.nu-staff .media-del{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;background:rgba(33,28,23,.6);color:#fff;
  display:grid;place-items:center;font-size:14px;line-height:1;cursor:pointer}
body.nu-staff .media-del:hover{background:var(--red-600)}
body.nu-staff .media-name{font-size:13px;font-weight:600;color:var(--ink-800);padding:8px 10px 1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.nu-staff .media-meta{font-size:12px;color:var(--ink-400);padding:0 10px 10px}
body.nu-staff .list{display:flex;flex-direction:column}
body.nu-staff .list-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 6px;border-bottom:1px solid var(--line);cursor:pointer;transition:.12s}
body.nu-staff .list-row:last-child{border-bottom:none}
body.nu-staff .list-row:hover{background:var(--surface-2)}
body.nu-staff .kv{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;font-size:14px;color:var(--ink-800);line-height:1.75}
body.nu-staff .kv.lg{font-size:16px;padding:15px 17px}
body.nu-staff .chips{display:flex;flex-wrap:wrap;gap:6px}
body.nu-staff .schip{font-size:12px;font-weight:700;padding:3px 10px;border-radius:var(--radius-pill);line-height:1.6;background:var(--surface-3);color:var(--ink-400)}
body.nu-staff .schip.done{background:linear-gradient(140deg,var(--orange-500),var(--orange-600));color:#fff}
body.nu-staff .schip.active{background:var(--orange-50);color:var(--orange-700);border:1px solid var(--orange-600)}
body.nu-staff .upload{display:flex;flex-direction:column;align-items:center;gap:7px;justify-content:center;border:1.6px dashed var(--line-strong);
  border-radius:var(--radius);padding:24px;color:var(--ink-400);font-size:13px;cursor:pointer;background:var(--surface-2);transition:.16s}
body.nu-staff .upload:hover{border-color:var(--orange-300);color:var(--orange-700);background:var(--orange-50)}
body.nu-staff .upload .ic{width:28px;height:28px}
body.nu-staff textarea{width:100%;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:11px 13px;
  font-size:14px;font-family:inherit;color:var(--ink-900);resize:vertical;background:var(--surface);line-height:1.7}
body.nu-staff textarea:focus{outline:none;border-color:var(--orange-600);box-shadow:0 0 0 3px var(--orange-50)}
body.nu-staff .empty{color:var(--ink-400);font-size:13px;padding:34px;text-align:center;background:var(--surface-2);
  border:1px dashed var(--line-strong);border-radius:var(--radius);margin-top:8px}
body.nu-staff .wtasks{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
body.nu-staff .wtask{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-sm);
  cursor:pointer;transition:.18s var(--ease);position:relative;overflow:hidden}
body.nu-staff .wtask::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--orange-600);opacity:.0;transition:.18s}
body.nu-staff .wtask:hover{border-color:var(--orange-300);box-shadow:var(--shadow);transform:translateY(-3px)}
body.nu-staff .wtask:hover::before{opacity:.9}
body.nu-staff .wtask.wt-done{opacity:.62}
body.nu-staff .wtask.wt-done::before{background:var(--green-500)}
body.nu-staff .wt-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
body.nu-staff .wt-stage{font-size:19px;font-weight:800;color:var(--ink-900)}
body.nu-staff .wt-proj{color:var(--ink-500);font-size:13px;margin:7px 0 11px}
body.nu-staff .wt-content{font-size:15px;color:var(--ink-800);line-height:1.75;min-height:50px}
body.nu-staff .wt-blocked{display:flex;gap:9px;align-items:flex-start;margin-top:11px;padding:11px 13px;background:var(--amber-50);border:1px solid var(--amber-200);border-radius:var(--radius-sm)}
body.nu-staff .wt-blocked .ic{width:18px;height:18px;color:var(--amber-600);flex-shrink:0;margin-top:1px}
body.nu-staff .wt-blocked b{color:var(--amber-600);margin-right:6px;font-weight:800}
body.nu-staff .wt-blocked span{color:var(--ink-600);line-height:1.7}
body.nu-staff .wtask.wt-urgent{border-color:var(--red-500)}
body.nu-staff .wtask.wt-urgent::before{background:var(--red-500);opacity:.9}
body.nu-staff .wt-urgent-bar{display:flex;gap:9px;align-items:flex-start;margin-top:11px;padding:11px 13px;background:var(--red-50);border:1px solid #F2C6C7;border-radius:var(--radius-sm)}
body.nu-staff .wt-urgent-bar .ic{width:18px;height:18px;color:var(--red-600);flex-shrink:0;margin-top:1px}
body.nu-staff .wt-urgent-bar b{color:var(--red-600);margin-right:6px;font-weight:800}
body.nu-staff .wt-urgent-bar span{color:var(--ink-600);line-height:1.7}
body.nu-staff .wt-foot{display:flex;align-items:center;gap:8px;color:var(--orange-700);font-size:13px;font-weight:600;margin-top:13px}
body.nu-staff .wt-stage-lg{font-size:23px;font-weight:800;color:var(--ink-900);margin:8px 0}
body.nu-staff .op-list{display:flex;flex-direction:column;gap:2px}
body.nu-staff .op-stage{display:flex;align-items:center;gap:15px;padding:15px 6px;border-bottom:1px solid var(--line)}
body.nu-staff .op-stage:last-child{border-bottom:none}
body.nu-staff .op-dot{width:15px;height:15px;border-radius:50%;flex-shrink:0;background:var(--surface-3);border:2px solid var(--line-strong);transition:.2s}
body.nu-staff .op-dot.done{background:var(--orange-600);border-color:var(--orange-600)}
body.nu-staff .op-dot.active{background:var(--orange-50);border-color:var(--orange-600)}
body.nu-staff .op-body{flex:1}
body.nu-staff .op-name{font-size:15px;font-weight:600;color:var(--ink-800)}
body.nu-staff .op-meta{font-size:12px;color:var(--ink-400)}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes modalIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes popIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@keyframes toastIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
body.nu-staff .dp{position:relative}
body.nu-staff .dp-input{cursor:pointer;background-image:linear-gradient(var(--surface),var(--surface));padding-right:34px}
body.nu-staff .dp-input:focus{border-color:var(--orange-600);box-shadow:0 0 0 3px var(--orange-50)}
body.nu-staff .dp-panel{position:fixed;z-index:300;width:286px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 16px 38px rgba(43,38,32,.16);padding:12px;animation:popIn .16s ease}
body.nu-staff .dp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
body.nu-staff .dp-head b{font-size:14px;color:var(--ink-800)}
body.nu-staff .dp-nav{width:28px;height:28px;border:1px solid var(--line);background:var(--surface-2);border-radius:9px;cursor:pointer;
  font-size:16px;color:var(--ink-600);line-height:1}
body.nu-staff .dp-nav:hover{background:var(--orange-50);border-color:var(--orange-300);color:var(--orange-700)}
body.nu-staff .dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
body.nu-staff .dp-wd{font-size:11px;color:var(--ink-400);text-align:center;padding:4px 0;font-weight:600}
body.nu-staff .dp-d{height:32px;display:grid;place-items:center;font-size:13px;color:var(--ink-700);border-radius:9px;cursor:pointer}
body.nu-staff .dp-d.empty{visibility:hidden}
body.nu-staff .dp-d:hover{background:var(--surface-3)}
body.nu-staff .dp-d.today{color:var(--orange-700);font-weight:700}
body.nu-staff .dp-d.sel{background:var(--orange-600);color:#fff;font-weight:700}
body.nu-staff .dp-foot{margin-top:9px;border-top:1px solid var(--line);padding-top:9px;text-align:right}
body.nu-staff .dp-todaybtn{border:0;background:transparent;color:var(--orange-600);font-size:12.5px;font-weight:700;cursor:pointer}
body.nu-staff .type-pick{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}
body.nu-staff .type-card{border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;background:var(--surface);
  display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:.18s}
body.nu-staff .type-card b{font-size:14.5px;color:var(--ink-800)}
body.nu-staff .type-card span{font-size:12px;color:var(--ink-500);line-height:1.55}
body.nu-staff .type-card i{font-style:normal;font-size:11.5px;color:var(--ink-400);margin-top:2px}
body.nu-staff .type-card:hover{border-color:var(--orange-300);background:var(--orange-50)}
body.nu-staff .type-card.on{border-color:var(--orange-600);background:var(--orange-50);box-shadow:0 0 0 3px var(--orange-50)}
body.nu-staff .type-card.on b{color:var(--orange-700)}
body.nu-staff .type-card.on i{color:var(--orange-600)}
body.nu-staff .pt-preview{background:var(--surface-2);border:1px dashed var(--line-strong);border-radius:var(--radius-sm);padding:12px 14px}
body.nu-staff .pt-label{font-size:11.5px;font-weight:700;letter-spacing:.06em;color:var(--ink-500);margin-bottom:6px}
body.nu-staff .pt-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:5px 10px;border-radius:999px;
  background:var(--surface);border:1px solid var(--line);color:var(--ink-700)}
body.nu-staff .pt-chip.money{border-color:var(--orange-100);background:var(--orange-50);color:var(--orange-700)}
@media (max-width:520px){body.nu-staff .type-pick{grid-template-columns:1fr}}
body.nu-staff .perm-group{margin-bottom:12px}
body.nu-staff .perm-gname{font-size:12.5px;font-weight:700;color:var(--ink-700);margin-bottom:6px}
body.nu-staff .perm-chip{display:inline-flex;align-items:center;font-size:12.5px;padding:6px 12px;margin:0 6px 6px 0;border-radius:999px;
  border:1px solid var(--line);color:var(--ink-600);background:var(--surface);cursor:pointer;user-select:none;transition:.16s}
body.nu-staff .perm-chip:hover{border-color:var(--orange-300);color:var(--orange-700)}
body.nu-staff .perm-chip.on{background:var(--orange-50);border-color:var(--orange-300);color:var(--orange-700);font-weight:600}
body.nu-staff .perm-chip.ro{background:var(--surface-3);border-color:var(--line);color:var(--ink-500);cursor:default}
body.nu-staff .todo-list{display:flex;flex-direction:column;gap:8px}
body.nu-staff .todo-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;
  border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);transition:.16s}
body.nu-staff .todo-row:hover{border-color:var(--orange-300);background:var(--orange-50)}
body.nu-staff .todo-main{min-width:0}
body.nu-staff .pay-form{border:1px solid var(--orange-100);background:var(--orange-50);border-radius:var(--radius-sm);padding:14px;margin-top:14px}
body.nu-staff .pay-recs{display:flex;flex-direction:column;gap:8px;margin-top:6px}
body.nu-staff .pay-rec{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:10px 12px}
body.nu-staff .muted-kv{color:var(--ink-500)}
body.nu-staff .stage.clickable .node{cursor:pointer}
body.nu-staff .stage.clickable:hover .bubble{transform:scale(1.08);box-shadow:0 0 0 4px var(--orange-50)}
body.nu-staff .stage.clickable:hover .nm{color:var(--orange-700)}
body.nu-staff .final-cta{border:1px solid var(--orange-200);background:var(--orange-50);border-radius:var(--radius-sm);padding:12px 14px;margin-top:10px}
body.nu-staff .final-done{border:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius-sm);padding:12px 14px;margin-top:10px}
body.nu-staff .acc-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:9px;
  border:1px solid var(--line);background:var(--surface);margin-bottom:6px;transition:.16s}
body.nu-staff .acc-item.st-ok{border-color:#BFE3C8;background:#F4FBF6}
body.nu-staff .acc-item.st-fix{border-color:#F3D6A8;background:#FEF8EE}
body.nu-staff .acc-item.st-miss{border-color:var(--red-300);background:#FDF3F3}
body.nu-staff .acc-name{font-size:13.5px;color:var(--ink-800)}
body.nu-staff .acc-radios{display:flex;gap:8px;flex-shrink:0}
body.nu-staff .acc-r{font-size:12.5px;color:var(--ink-500);display:inline-flex;align-items:center;gap:4px;cursor:pointer}
body.nu-staff .acc-r input{accent-color:var(--orange-600)}
body.nu-staff .sign-pad{width:100%;height:112px;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);
  background:var(--surface-2);cursor:crosshair;touch-action:none;display:block}
body.nu-staff .sign-view{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);
  display:grid;place-items:center;padding:6px}
body.nu-staff .sign-view img{max-width:100%;max-height:104px;display:block}
body.nu-staff .acc-view-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;
  border-bottom:1px dashed var(--line);font-size:13px;color:var(--ink-700)}
body.nu-staff .rowlink{cursor:pointer}
body.nu-staff .prog2{display:flex;flex-direction:column;gap:7px;min-width:190px}
body.nu-staff .prog-line{display:flex;align-items:center;gap:8px}
body.nu-staff .prog-line .track{flex:1;height:6px}
body.nu-staff .prog-lbl{font-size:11px;font-weight:700;color:var(--ink-400);width:24px;flex-shrink:0}
body.nu-staff .prog-num{font-size:12px;font-weight:700;color:var(--ink-500);width:36px;text-align:right;flex-shrink:0}
body.nu-staff .fill.money{background:linear-gradient(90deg,var(--green-500),var(--green-600))}
body.nu-staff .q-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
body.nu-staff .q-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface);
  cursor:pointer;transition:.18s var(--ease)}
body.nu-staff .q-card:hover{border-color:var(--orange-300);box-shadow:var(--shadow);transform:translateY(-3px)}
body.nu-staff .q-thumb{height:170px;display:grid;place-items:center;position:relative;color:var(--ink-300);
  background:linear-gradient(135deg,var(--surface-3),#EBE6DE)}
body.nu-staff .q-thumb .ic{width:38px;height:38px}
body.nu-staff .q-thumb span{font-size:12.5px;font-weight:600;color:var(--ink-400);margin-top:6px}
body.nu-staff .q-card.empty .q-thumb{border-bottom:1.6px dashed var(--line-strong)}
body.nu-staff .q-thumb img{width:100%;height:100%;object-fit:cover}
body.nu-staff .q-badge{position:absolute;top:10px;left:10px}
body.nu-staff .q-edit{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.92);color:var(--orange-600);box-shadow:var(--shadow-sm)}
body.nu-staff .q-edit .ic{width:15px;height:15px}
body.nu-staff .q-body{padding:15px 17px 14px}
body.nu-staff .q-body h3{font-size:15.5px;font-weight:700;color:var(--ink-900)}
body.nu-staff .q-body p{font-size:13px;color:var(--ink-500);line-height:1.7;margin:7px 0 9px;display:-webkit-box;
  -webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.nu-staff .q-meta{font-size:11.5px;color:var(--ink-400);font-weight:600}
body.nu-staff .fin-gate{max-width:440px;margin:56px auto;text-align:center;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius-lg);padding:42px 34px;box-shadow:var(--shadow)}
body.nu-staff .fin-lock{width:64px;height:64px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;
  background:var(--orange-50);color:var(--orange-600)}
body.nu-staff .fin-lock .ic{width:28px;height:28px}
body.nu-staff .field-error{display:block;color:var(--red-600);font-size:12.5px;font-weight:600;margin-top:7px}
body.nu-staff .dr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
body.nu-staff .dr-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:17px 18px 15px;
  cursor:pointer;transition:.18s var(--ease)}
body.nu-staff .dr-card:hover{border-color:var(--orange-300);box-shadow:var(--shadow);transform:translateY(-3px)}
body.nu-staff .dr-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
body.nu-staff .dr-top b{font-size:16px;color:var(--ink-900)}
body.nu-staff .dr-top .muted{font-size:12.5px;margin-top:4px}
body.nu-staff .dr-foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px;
  padding-top:12px;border-top:1px solid var(--line)}
body.nu-staff .dr-go{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--orange-600)}
body.nu-staff .dr-go .ic{width:15px;height:15px}
body.nu-staff .share-box{display:flex;gap:20px;align-items:center;margin-top:16px}
body.nu-staff .qr.lg{width:148px;height:148px;flex-shrink:0}
body.nu-staff .share-info{flex:1;min-width:0}
body.nu-staff .share-row{display:flex;gap:8px}
body.nu-staff .share-row input{flex:1;min-width:0;height:38px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);
  padding:0 12px;font-size:13px;color:var(--ink-700);background:var(--surface-2)}
@media (max-width:560px){body.nu-staff .share-box{flex-direction:column}}
body.nu-staff .check-row{display:flex;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;
  background:var(--orange-50);border:1px solid var(--orange-100);border-radius:var(--radius-sm);
  font-size:13.5px;color:var(--ink-700);cursor:pointer;user-select:none}
body.nu-staff .check-row input{width:18px;height:18px;accent-color:var(--orange-600);flex-shrink:0;cursor:pointer}
body.nu-staff .check-row b{color:var(--orange-700)}
body.nu-staff .owner-todo{margin-top:18px;background:linear-gradient(135deg,var(--amber-50),#FDF6E8);border:1px solid var(--amber-200);
  border-radius:var(--radius);padding:16px 18px}
body.nu-staff .owner-todo .eyebrow{color:var(--amber-600)}
body.nu-staff .todo-row{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:14px;color:var(--ink-800)}
body.nu-staff .todo-row+.todo-row{border-top:1px solid rgba(217,138,11,.18)}
body.nu-staff .todo-row .ic{width:17px;height:17px;color:var(--amber-600);flex-shrink:0}
body.nu-staff .todo-row span{flex:1}
body.nu-staff .todo-row.muted-row{color:var(--ink-500);font-size:13px}
body.nu-staff .op-stage.clickable{cursor:pointer}
body.nu-staff .owner-act{display:flex;flex-direction:column;gap:12px;margin-top:14px;padding:14px;
  background:var(--orange-50);border:1px solid var(--orange-100);border-radius:var(--radius-sm)}
body.nu-staff .pay-box{display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:var(--surface);
  border:1px solid var(--amber-200);border-radius:var(--radius-sm)}
body.nu-staff .pay-box b{font-size:15px;color:var(--ink-900)}
body.nu-staff .pay-box .muted{font-size:12.5px}
body.nu-staff .pay-box .btn{margin-top:6px;align-self:flex-start}
body.nu-staff .share-hero{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:18px;padding:20px;
  background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius)}
body.nu-staff .share-hero-cap{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
body.nu-staff .share-hero-cap b{font-size:15px;color:var(--ink-900)}
body.nu-staff .share-hero-cap .muted{font-size:12.5px}
body.nu-staff .appr-mini{display:flex;flex-direction:column}
body.nu-staff .appr-row{display:flex;align-items:center;gap:16px;padding:14px 4px;border-bottom:1px solid var(--line)}
body.nu-staff .appr-row:last-child{border-bottom:none}
body.nu-staff .appr-main{flex:1;min-width:0}
body.nu-staff .appr-main b{font-size:14.5px;color:var(--ink-900)}
body.nu-staff .appr-main .muted{font-size:12.5px;margin-top:3px}
body.nu-staff .appr-desc{color:var(--ink-400)}
body.nu-staff .appr-amt{font-size:16px;font-weight:800;color:var(--ink-900);white-space:nowrap}
body.nu-staff .appr-act{display:flex;gap:8px;flex-shrink:0}
@media (max-width:560px){body.nu-staff .appr-row{flex-wrap:wrap}
body.nu-staff .appr-act{width:100%}}
@media (max-width:1100px){body.nu-staff .cols-4{grid-template-columns:repeat(2,1fr)}
body.nu-staff .cols-3{grid-template-columns:repeat(2,1fr)}
body.nu-staff .cols-2{grid-template-columns:1fr}
body.nu-staff .owner-tools{grid-template-columns:repeat(3,1fr)}
body.nu-staff .trust-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){body.nu-staff #app{height:auto;min-height:100vh}
body.nu-staff .shell{flex-direction:column}
body.nu-staff .nav{position:fixed;left:0;right:0;bottom:0;top:auto;width:100%;height:auto;flex-direction:row;overflow-x:auto;overflow-y:hidden;
    border-right:none;border-top:1px solid var(--line);padding:7px 8px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);z-index:30;gap:2px}
body.nu-staff .nav-role,body.nu-staff .nav-caption,body.nu-staff .nav-foot{display:none}
body.nu-staff .nav-group{flex-direction:row;gap:2px}
body.nu-staff .nav-item{flex-direction:column;gap:3px;padding:8px 11px;font-size:11px;white-space:nowrap;min-width:64px;justify-content:center}
body.nu-staff .nav-item .lb{font-size:11px}
body.nu-staff .nav-item.active::before{display:none}
body.nu-staff .nav-item.active{background:var(--orange-600);color:#fff}
body.nu-staff .nav-item.active .ic{color:#fff}
body.nu-staff .main{padding:20px 16px 92px}
body.nu-staff .page-head{flex-direction:column;align-items:flex-start;gap:12px}
body.nu-staff .owner-tools,body.nu-staff .trust-grid{grid-template-columns:1fr}

}
@media (max-width:560px){body.nu-staff .wtasks{grid-template-columns:1fr}
body.nu-staff .stat .num{font-size:26px}
body.nu-staff .topbar{padding:0 13px;gap:9px}
body.nu-staff .brand span:last-child{font-size:14px}
body.nu-staff .user-pill{display:none}
body.nu-staff .crumbs{display:none}

}
body.nu-staff .mt3{margin-top:3px}
body.nu-staff .mt4{margin-top:4px}
body.nu-staff .mt6{margin-top:6px}
body.nu-staff .mt8{margin-top:8px}
body.nu-staff .mt10{margin-top:10px}
body.nu-staff .mt12{margin-top:12px}
body.nu-staff .mt14{margin-top:14px}
body.nu-staff .mt16{margin-top:16px}
body.nu-staff .mt18{margin-top:18px}
body.nu-staff .mtn6{margin-top:-6px}
body.nu-staff .mb8{margin-bottom:8px}
body.nu-staff .mb10{margin-bottom:10px}
body.nu-staff .mb12{margin-bottom:12px}
body.nu-staff .mb14{margin-bottom:14px}
body.nu-staff .mb18{margin-bottom:18px}
body.nu-staff .my4{margin:4px 0}
body.nu-staff .my8{margin:8px 0}
body.nu-staff .my10{margin:10px 0}
body.nu-staff .m0a{margin:0 auto}
body.nu-staff .ml6{margin-left:6px}
body.nu-staff .pr4{padding-right:4px}
body.nu-staff .p7{padding:7px 0}
body.nu-staff .fs11{font-size:11px}
body.nu-staff .fs12{font-size:12px}
body.nu-staff .fs125{font-size:12.5px}
body.nu-staff .fs13{font-size:13px}
body.nu-staff .fs135{font-size:13.5px}
body.nu-staff .fs20{font-size:20px}
body.nu-staff .fs22{font-size:22px}
body.nu-staff .fs38{font-size:38px}
body.nu-staff .fw400{font-weight:400}
body.nu-staff .fw700{font-weight:700}
body.nu-staff .fw800{font-weight:800}
body.nu-staff .g6{gap:6px}
body.nu-staff .g8{gap:8px}
body.nu-staff .g10{gap:10px}
body.nu-staff .g14{gap:14px}
body.nu-staff .jcb{justify-content:space-between}
body.nu-staff .jfe{justify-content:flex-end}
body.nu-staff .aic{align-items:center}
body.nu-staff .f1{flex:1}
body.nu-staff .fww{flex-wrap:wrap}
body.nu-staff .rel{position:relative}
body.nu-staff .dn{display:none}
body.nu-staff .w80{width:80px}
body.nu-staff .w90{width:90px}
body.nu-staff .w100{width:100%}
body.nu-staff .nowrap{white-space:nowrap}
body.nu-staff .tar{text-align:right}
body.nu-staff .oxa{overflow-x:auto}
body.nu-staff .mw320{min-width:320px}
body.nu-staff .mxw280{max-width:280px}
body.nu-staff .mxw760{max-width:760px}
body.nu-staff .lh18{line-height:1.8}
body.nu-staff .bdb{border-bottom:1px dashed var(--line)}
body.nu-staff .mh180{max-height:180px;overflow:auto}
body.nu-staff .mh260{max-height:260px;overflow:auto}
body.nu-staff .mh60vh{max-height:60vh;overflow:auto}
body.nu-staff .hr{border:0;border-top:1px solid var(--line);margin:12px 0}
body.nu-staff .fill[data-w]{width:0}
body.nu-staff.login-mode{overflow:hidden}
body.nu-staff .login-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;
  background:radial-gradient(1200px 600px at 20% 0%,#FFF3E8 0%,var(--bg) 55%);padding:24px}
body.nu-staff .login-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);padding:34px 32px 28px}
body.nu-staff .login-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}
body.nu-staff .login-brand .logo{width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,var(--orange-500),var(--orange-600));
  color:#fff;display:grid;place-items:center;font-size:22px;font-weight:800;box-shadow:var(--shadow-orange)}
body.nu-staff .login-brand b{font-size:18px;color:var(--ink-900);display:block}
body.nu-staff .login-brand span{font-size:12px;color:var(--ink-400)}
body.nu-staff .login-tabs{display:flex;background:var(--surface-2);border-radius:12px;padding:4px;margin-bottom:18px}
body.nu-staff .login-tab{flex:1;border:0;background:transparent;padding:9px 0;border-radius:9px;font-size:14px;font-weight:700;
  color:var(--ink-500);cursor:pointer;transition:.18s var(--ease)}
body.nu-staff .login-tab.on{background:var(--surface);color:var(--orange-700);box-shadow:var(--shadow-sm)}
body.nu-staff .login-go{width:100%;margin-top:18px;padding:13px 0;font-size:15px;letter-spacing:6px}
body.nu-staff .login-hint{margin-top:14px;font-size:12px;color:var(--ink-400);line-height:1.8;text-align:center}
body.nu-staff .login-hint b{color:var(--orange-700)}
body.nu-staff .login-foot{font-size:12px;color:var(--ink-300)}
body.nu-staff .logout{margin-left:10px}
body.nu-staff .cs-native{display:none}
body.nu-staff .cs{position:relative}
body.nu-staff .cs-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:10px 13px;font-size:14px;color:var(--ink-800);cursor:pointer;transition:.18s var(--ease);text-align:left}
body.nu-staff .cs-btn:hover{border-color:var(--orange-300)}
body.nu-staff .cs-btn .ic{width:14px;height:14px;color:var(--ink-400);transform:rotate(-90deg);flex-shrink:0}
body.nu-staff .cs-panel{position:fixed;z-index:300;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);
  box-shadow:var(--shadow-lg);padding:6px;overflow:auto;animation:pop .16s var(--ease)}
body.nu-staff .cs-opt{padding:9px 12px;border-radius:9px;font-size:13.5px;color:var(--ink-700);cursor:pointer;transition:.14s}
body.nu-staff .cs-opt:hover{background:var(--orange-50);color:var(--orange-700)}
body.nu-staff .cs-opt.sel{background:var(--orange-50);color:var(--orange-700);font-weight:700}
body.nu-staff .btn.danger{background:var(--red-50, #FEF2F2);border-color:var(--red-200, #FECACA);color:var(--red-600, #DC2626)}
body.nu-staff .btn.danger:hover{background:var(--red-600, #DC2626);border-color:var(--red-600, #DC2626);color:#fff}


html.nu-html,body.nu-staff{height:100%;overflow:hidden;background:#f6f4f1!important}
body.nu-staff #app.nu{height:100dvh;display:flex;flex-direction:column;min-height:0}
body.nu-staff .nu .topbar{height:72px;flex:none;padding:0 24px;position:relative;width:100%;max-width:none;margin:0;z-index:10}
body.nu-staff .nu .brand{display:flex;flex-direction:row;align-items:center;gap:12px;color:#211c17}
body.nu-staff .nu .brand img{width:56px;height:44px;object-fit:contain}
body.nu-staff .nu .brand>span{font-size:16px;line-height:1.3;margin:0;letter-spacing:0}
body.nu-staff .nu .nu-brand-sub{display:block;font-size:10px;font-weight:500;color:#8c8378;margin-top:5px}
body.nu-staff .nu .crumbs{margin-left:20px}
body.nu-staff .nu .shell{min-height:0;flex:1;display:flex}
body.nu-staff .nu .nav{width:236px;max-width:none;min-width:236px;position:relative;left:auto;top:auto;bottom:auto;height:auto;display:flex!important;flex-direction:column;overflow-y:auto;border:0;border-right:1px solid #ece7e0;padding:22px 13px;background:white}
body.nu-staff .nu .nav-item{height:auto;min-height:45px;flex:none;border-radius:12px!important;padding:11px 13px;margin:0;background:transparent;color:#6b635a}
body.nu-staff .nu .nav-item svg{width:20px;height:20px;stroke-width:1.6;flex:none}
body.nu-staff .nu .nav-item.active{background:#fff3ea;color:#e85d00;font-weight:700}
body.nu-staff .nu .main{display:block;flex:1;width:0;min-width:0;max-width:none;margin:0;padding:30px 32px;overflow-y:auto;background:#f6f4f1;overscroll-behavior:contain}
body.nu-staff .nu .page-head{margin:0 0 24px;display:flex;align-items:center}
body.nu-staff .nu .page-head h1{font-size:26px;margin:7px 0}
body.nu-staff .nu .sub{font-size:13px;line-height:1.7}
body.nu-staff .nu .card{border-radius:16px;border:1px solid #ece7e0;box-shadow:0 1px 3px #211c1708;background:white;padding:22px}
body.nu-staff .nu .btn{min-height:42px;height:auto;white-space:nowrap;border-radius:12px!important;display:inline-flex;justify-content:center;align-items:center;gap:7px;padding:10px 15px;color:#473f38;border:1px solid #ded7cd;background:white;font-weight:600;line-height:1.4}
body.nu-staff .nu .btn.sm{min-height:36px;font-size:12px;padding:8px 11px}
body.nu-staff .nu .btn.primary{color:white;background:linear-gradient(140deg,#ff8a33,#ff6800);border-color:transparent;box-shadow:0 5px 14px #ff68001b}
body.nu-staff .nu .btn svg{width:16px;height:16px;flex:none}
body.nu-staff .nu .nu-table{overflow:auto;padding:8px 20px}
body.nu-staff .nu .tbl{min-width:700px;margin:0;width:100%;font-size:13px}
body.nu-staff .nu .tbl th{white-space:nowrap;font-size:12px;padding:16px 12px;background:#fbfaf8}
body.nu-staff .nu .tbl td{padding:20px 12px;vertical-align:middle}
body.nu-staff .nu .nu-project-name{background:none;border:none;padding:0;display:flex;gap:8px;align-items:center;color:#211c17;font-size:16px;font-weight:800}
body.nu-staff .nu .nu-project-name svg{width:14px;height:14px;color:#b0a79c}
body.nu-staff .nu .prog2{min-width:170px;margin:10px 0}
body.nu-staff .nu .prog-line{display:flex;align-items:center;gap:8px;margin:7px 0;font-size:11px}
body.nu-staff .nu .prog-line progress{flex:1;min-width:50px;width:100px;height:6px;border:0;border-radius:20px;appearance:none}
body.nu-staff .nu progress::-webkit-progress-bar{background:#f0ece6;border-radius:20px}
body.nu-staff .nu progress::-webkit-progress-value{background:#ff8a33;border-radius:20px}
body.nu-staff .nu progress.money::-webkit-progress-value{background:#72a590}
body.nu-staff .nu .prog-lbl{color:#8c8378}
body.nu-staff .nu .prog-num{min-width:38px;text-align:right;color:#473f38}
body.nu-staff .nu .nu-row-actions{display:grid;grid-template-columns:repeat(2,auto);gap:7px}
body.nu-staff .nu .nu-stat-icon{position:absolute;right:18px;top:20px;background:#fff3ea;border-radius:12px;padding:9px;color:#e85d00;display:grid}
body.nu-staff .nu .nu-stat-icon svg{width:20px;height:20px}
body.nu-staff .nu .nu-stats{margin-bottom:26px;gap:16px}
body.nu-staff .nu .stat{min-height:144px;text-align:left;white-space:normal}
body.nu-staff .nu .stat .lbl{margin:0 0 20px}
body.nu-staff .nu .stat .num{font-size:32px}
body.nu-staff .nu .stat .num small{font-size:12px;font-weight:400;color:#8c8378}
body.nu-staff .nu .nu-dashboard-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 0 16px}
body.nu-staff .nu .nu-dashboard-title h2{font-size:18px}
body.nu-staff .nu .nu-task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body.nu-staff .nu .nu-task-grid h3{font-size:16px}
body.nu-staff .nu .nu-filter{display:flex;gap:16px;align-items:center;margin-bottom:18px}
body.nu-staff .nu .nu-filter input{max-width:500px;margin:0;min-height:44px;flex:1}
body.nu-staff .nu .nu-project-hero{display:flex;justify-content:space-between;align-items:center;padding:26px 30px;background:linear-gradient(135deg,#2e251e,#4b3828);border:none;color:white}
body.nu-staff .nu .nu-project-hero h2{color:#fff;font-size:24px;margin:12px 0}
body.nu-staff .nu .nu-project-hero .eyebrow{color:#ffb784}
body.nu-staff .nu .nu-project-hero .muted{color:#d6cdc3}
body.nu-staff .nu .nu-progress-big{font-size:48px;font-weight:800;line-height:1.2;text-align:right}
body.nu-staff .nu .nu-progress-big small{font-size:20px;margin-left:3px}
body.nu-staff .nu .nu-progress-big span{display:block;font-size:12px;font-weight:400;color:#d6cdc3}
body.nu-staff .nu .lifecycle{overflow-x:auto;margin:0;gap:12px;padding:6px 0}
body.nu-staff .nu .nu-stage{min-width:92px;border:none;background:none;margin:0;padding:4px;gap:8px;display:flex;align-items:center}
body.nu-staff .nu .nu-stage small{font-size:10px;color:#8c8378}
body.nu-staff .nu .nu-stage .nm{white-space:normal;min-height:32px}
body.nu-staff .nu .nu-stage .bubble{width:36px;height:36px;font-size:13px;min-height:36px}
body.nu-staff .nu .nu-money{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}
body.nu-staff .nu .nu-money small{display:block;color:#8c8378;font-size:11px}
body.nu-staff .nu .nu-money b{display:block;font-size:18px;margin-top:5px;color:#211c17}
body.nu-staff .nu .nu-detail-buttons{display:flex;flex-wrap:wrap;gap:10px}
body.nu-staff .nu .nu-log-list{display:grid;gap:14px}
body.nu-staff .nu .nu-log-item{padding:18px;border:1px solid #ece7e0;border-radius:12px;background:#fbfaf8}
body.nu-staff .nu .nu-log-item>small{margin-left:12px}
body.nu-staff .nu .nu-log-item h3{font-size:16px;margin:12px 0}
body.nu-staff .nu .nu-preview-label{font-size:11px;color:#9b8069;background:#fff3ea;border-radius:20px;padding:4px 10px}
body.nu-staff .nu #nu-switch{width:135px;margin:0;padding:7px 10px;font-size:12px;height:36px}
body.nu-staff .nu-preview-entry>img{width:100px;height:68px;object-fit:contain;margin-bottom:22px}
body.nu-staff .nu-preview-entry h1{font-size:28px;margin:14px 0}
body.nu-staff .nu-entry-buttons{display:grid;gap:12px;margin:28px 0}
body.nu-staff .nu-entry-buttons button{width:100%;min-height:48px}
body.nu-staff dialog{max-height:92dvh;overflow:auto;border:1px solid #ece7e0;border-radius:20px!important;box-shadow:0 24px 60px #211c1729;color:#2e2823;font-family:var(--font)}
body.nu-staff dialog button:not(.close){min-height:40px;border-radius:11px;font-family:inherit}
body.nu-staff dialog button.primary{background:linear-gradient(140deg,#ff8a33,#ff6800)!important;border-color:transparent!important;color:white!important}
body.nu-staff dialog::backdrop{background:#211c1766;backdrop-filter:blur(4px)}
body.nu-staff dialog h2{color:#211c17}
body.nu-staff dialog :is(input,textarea,select){border-color:#ded7cd;border-radius:10px;background:white}
body.nu-staff .nu .main .primary{color:white}
body.nu-staff .nu .main .q127-brand{background:linear-gradient(135deg,#fff5e9,#fff)}
@media(max-width:1100px){body.nu-staff .nu .nav{width:200px;min-width:200px}
body.nu-staff .nu .main{padding:24px}
body.nu-staff .nu .nu-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
body.nu-staff .nu .crumbs{display:none}
body.nu-staff .nu .nu-preview-label{display:none}
body.nu-staff .nu .grid.cols-2{grid-template-columns:1fr}
body.nu-staff .nu .page-head h1{font-size:24px}
body.nu-staff .nu .nu-money b{font-size:16px}}
@media(max-width:720px){body.nu-staff .nu .topbar{padding:0 12px;height:65px;gap:8px}
body.nu-staff .nu .brand>span,body.nu-staff .nu .user-pill,body.nu-staff .nu #nu-switch{display:none}
body.nu-staff .nu .nav{width:72px;min-width:72px;padding:16px 8px}
body.nu-staff .nu .nav-role,body.nu-staff .nu .nav-caption,body.nu-staff .nu .nav-foot,body.nu-staff .nu .nav-item .lb{display:none}
body.nu-staff .nu .nav-item{justify-content:center;min-height:46px}
body.nu-staff .nu .main{padding:18px 14px}
body.nu-staff .nu .page-head{align-items:flex-start;gap:10px;flex-wrap:wrap}
body.nu-staff .nu .page-head h1{font-size:22px}
body.nu-staff .nu .nu-task-grid{grid-template-columns:1fr}
body.nu-staff .nu .nu-project-hero{padding:22px;gap:14px}
body.nu-staff .nu .nu-project-hero h2{font-size:20px}
body.nu-staff .nu .nu-progress-big{font-size:38px}
body.nu-staff .nu .nu-stats{gap:10px}
body.nu-staff .nu .stat{padding:17px;min-height:132px}
body.nu-staff .nu .nu-stat-icon{right:12px;top:14px;padding:6px}
body.nu-staff .nu .nu-dashboard-title{flex-wrap:wrap}
body.nu-staff .nu .nu-money{grid-template-columns:1fr;gap:14px}}
@media(pointer:coarse){body.nu-staff .nu .btn,body.nu-staff .nu .btn.sm{min-height:44px}
body.nu-staff .nu .nav-item{min-height:46px}}
html.nu-html,body.nu-staff{overflow:hidden!important}
body.nu-staff .nu .nav{gap:0}
body.nu-staff .nu .nav-caption{margin:18px 8px 10px;padding:0}
body.nu-staff .nu .nav-group{gap:3px;flex-direction:column}
body.nu-staff .nu .nav-item{box-shadow:none;min-height:43px;padding:10px 13px}
body.nu-staff .nu .nav-foot{margin-top:24px}
body.nu-staff .nu .brand>span{display:block}
body.nu-staff .nu .brand .nu-brand-sub{display:block}
body.nu-staff .nu .prog-line progress{margin:0;display:block}
body.nu-staff .nu .prog-line{margin:10px 0}
body.nu-staff .nu .tbl td{padding:20px 12px}
body.nu-staff .nu .stat{min-height:126px}
body.nu-staff .nu .stat .lbl{color:#72695f;margin-bottom:18px}
body.nu-staff .nu .main>.nu-stats{margin-bottom:22px}
body.nu-staff .nu .tbl th{color:#8b8074}
body.nu-staff .nu .nu-money small{color:#766c61}
body.nu-staff .nu .nu-stage small{color:#766c61}
body.nu-staff .nu .nav-item.active{box-shadow:none}
body.nu-staff .nu .nu-task-grid .card{padding:20px}
body.nu-staff .nu .nav-item .lb{font-size:14px}
body.nu-staff .nu .nu-stage{flex-direction:column}
body.nu-staff .nu .nu-stage.done .bubble{background:#edf6ef;color:#287c58;border:1px solid #cbe5d5}
body.nu-staff .nu .nu-stage.current .bubble{background:#fff0df;color:#dd5b00;border:1px solid #ffb77a}
@media(max-width:720px){body.nu-staff .nu .brand>span{display:none}
body.nu-staff .nu .nav-role,body.nu-staff .nu .nav-caption,body.nu-staff .nu .nav-foot{display:none}
body.nu-staff .nu .nu-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
body.nu-staff .nu .nav-group{flex-direction:column}}
body.nu-staff .nu .nav-item.active{box-shadow:none!important}
body.nu-staff .nu .brand>span{color:#3b332a!important}
body.nu-staff .nu .nu-stats .stat:hover{border-color:#ffb57e;background:#fff9f3}
body.nu-staff .nu .nu-table tr:hover td{background:#fff9f3}


body.nu-staff .nu-login-submit{width:100%;margin-top:18px;min-height:46px}
body.nu-staff .nu-filter select{width:140px;margin:0;min-height:44px}
body.nu-staff .nu-more{margin:0 0 16px;border:1px solid #ece7e0;background:#fff;border-radius:12px;padding:12px 16px}
body.nu-staff .nu-more summary{font-weight:700;color:#6b635a;cursor:pointer}
body.nu-staff .nu-more[open] .nu-detail-buttons{margin-top:14px}
body.nu-staff .nu-log-notes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}
body.nu-staff .nu-log-notes section{padding:14px;background:white;border-radius:10px;border:1px solid #ece7e0}
body.nu-staff .nu-log-notes strong{font-size:14px;color:#473f38}
body.nu-staff .nu-log-notes p{font-size:15px;color:#473f38;margin:8px 0 0;white-space:pre-wrap}
body.nu-staff .nu-project-hero h2{color:white}
html.nu-html,body.nu-staff{overflow:hidden!important;height:100%}
body.nu-staff #app.nu{height:100dvh}
body.nu-staff .nu .nav-item .lb{font-size:14px}
body.nu-staff .nu .shell{flex-direction:row}
body.nu-staff .nu .nav-item{flex-direction:row;justify-content:flex-start;min-width:0}
body.nu-staff dialog{font-family:var(--font)}
@media(max-width:1000px){body.nu-staff .nu .tbl{min-width:0}body.nu-staff .nu .tbl thead{display:none}body.nu-staff .nu .tbl tbody{display:block}body.nu-staff .nu .tbl tr{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:18px 0;border-bottom:1px solid #ece7e0}body.nu-staff .nu .tbl tr:last-child{border-bottom:0}body.nu-staff .nu .tbl td{display:block;padding:6px;border:0}body.nu-staff .nu .tbl td:nth-child(3),body.nu-staff .nu .tbl td:nth-child(4){grid-column:1/-1}body.nu-staff .nu .nu-row-actions{grid-template-columns:repeat(2,minmax(0,1fr))}body.nu-staff .nu .prog2{margin:0}body.nu-staff .nu .nav-item.active::before{display:block}}
@media(max-width:720px){body.nu-staff .nu-log-notes{grid-template-columns:1fr}body.nu-staff .nu-filter{flex-wrap:wrap}body.nu-staff .nu-filter input{max-width:none;flex-basis:100%}}

/* DUOMI_ADDITIONS140 */
.q140-policy{background:#fff7ee;border:1px solid #f0d5b8;border-radius:14px;padding:16px;margin:18px 0}.q140-policy b{color:#b75b13}.q140-policy p{font-size:13px;margin:8px 0 0;color:#8c735c}.q140-card{border:1px solid #e7ddd0;background:#fff;border-radius:14px;padding:18px;margin:14px 0}.q140-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.q140-head h3{margin:0}.q140-amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.q140-amounts span{font-size:12px;color:#8b7968}.q140-amounts b{display:block;font-size:20px;color:#473f38}.q140-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.q140-error,.q140-scope-status{font-size:13px;color:#c45710}.q140-entry{margin:14px 0}.q140-scope{padding:12px;border:1px solid #efdbc4;border-radius:12px;background:#fffaf4}.q140-scope small{font-size:12px;color:#9c7f62}.q140-owner-entry{margin:12px 0}.q140-owner-entry button{width:100%;text-align:left;border:1px solid #ecd8c1;background:#fffaf4;min-height:46px}.q140-owner-entry span{float:right;background:#ff6800;color:white;border-radius:15px;padding:1px 9px}.q140-sign canvas{display:block;touch-action:none}.q140-sign [type=checkbox]{width:18px;height:18px;flex-shrink:0}@media(max-width:600px){.q140-head{align-items:flex-start}.q140-amounts b{font-size:17px}.q140-card{padding:14px}}

/* DUOMI_DOCUMENT141 */
.q141-document{width:min(760px,94vw);max-height:92dvh;background:#f6f4f1;padding:26px;overflow-y:auto}.q141-sheet{background:white;border:1px solid #e9dfd3;border-radius:6px;padding:28px;color:#473b2c}.q141-brand{display:flex;gap:16px;align-items:center;border-bottom:2px solid #ff6800;padding-bottom:20px}.q141-brand img{width:80px;height:60px;object-fit:contain}.q141-brand b{font-size:19px}.q141-brand small{display:block;font-size:10px;color:#a58f76;letter-spacing:1px;margin-top:4px}.q141-title{text-align:center;margin:25px 0 8px;font-size:26px;letter-spacing:2px}.q141-subtitle{text-align:center;color:#947d62;font-size:13px}.q141-meta{background:#faf8f5;border:1px solid #ede3d7;border-radius:9px;padding:14px;font-size:13px;line-height:2;overflow-wrap:anywhere}.q141-sheet h3{font-size:15px;margin:28px 0 13px}.q141-prose{white-space:pre-wrap;overflow-wrap:anywhere}.q141-net{background:#372c20;color:#fff;border-radius:12px;padding:20px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.q141-net b{font-size:28px;color:white}.q141-net small{width:100%;font-size:12px;border-top:1px solid #ffffff30;margin-top:12px;padding-top:10px;color:#dfc9b2}.q141-terms{padding-left:20px;font-size:13px;line-height:2}.q141-terms li{margin:8px 0}.q141-seal{display:flex;align-items:center;gap:16px;border:1px solid #e8d8c4;border-radius:10px;padding:16px;margin-top:22px}.q141-seal>div{flex:0 0 78px;height:78px;border:1px dashed #c6b297;border-radius:8px;display:grid;place-content:center;text-align:center;font-size:12px;color:#a08b70}.q141-seal p{font-size:12px;color:#95806a;margin-bottom:0}.q141-sheet footer{text-align:center;border-top:1px solid #e8dfd1;margin-top:24px;padding-top:20px;font-size:13px}.q141-sheet footer small{display:block;color:#9b8770;font-size:11px;margin-top:6px}.q141-hash{font-size:10px;overflow-wrap:anywhere;color:#9b8770}.q141-document .wp-check123{align-items:flex-start;line-height:1.9}.q141-document .q126-sign-canvas{width:100%;height:140px;box-sizing:border-box}.q141-document button{min-height:44px}@media(max-width:600px){.q141-document{padding:16px 10px}.q141-sheet{padding:20px 15px}.q141-brand b{font-size:15px}.q141-brand img{width:63px}.q141-net b{font-size:24px}.q141-seal{gap:10px;padding:12px}.q141-seal>div{flex-basis:65px;height:65px}}

/* Journal and operational board, v145 */
.q145-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}.q145-board section>h2{font-size:16px}.q145-board article{padding:20px;margin-bottom:14px}.q145-journal-head{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:22px;border:1px solid #e8e0d7;border-radius:16px;margin-bottom:20px}.q145-journal-head>div:last-child{display:flex;gap:10px}.q145-day{font-size:15px;margin:24px 0 10px}.q145-entry{background:white;border:1px solid #e8e0d7;border-radius:12px;margin-bottom:8px}.q145-entry summary{display:grid;grid-template-columns:95px 155px minmax(0,1fr) 110px;gap:15px;align-items:center;padding:18px;cursor:pointer;list-style:none}.q145-entry small{display:block;color:#8a8279;font-size:12px}.q145-stage{font-size:12px;color:#c66013;background:#fff3e6;border-radius:7px;padding:7px}.q145-summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.q145-entry-body{border-top:1px solid #eee8e1;padding:20px}.q145-stats{margin-bottom:20px}
progress[aria-label*="收款"]::-webkit-progress-value,progress.money::-webkit-progress-value,progress.collection::-webkit-progress-value{background:#45957e!important}progress[aria-label*="收款"]::-moz-progress-bar,progress.money::-moz-progress-bar{background:#45957e!important}
@media(max-width:850px){.q145-board{grid-template-columns:1fr}.q145-entry summary{grid-template-columns:80px 1fr}.q145-journal-head{display:block}.q145-summary{grid-column:1/-1}}

#q145-write-go{white-space:nowrap;min-width:90px;flex-shrink:0}.q145-journal-head select{min-width:220px}.q145-entry summary{min-height:72px}

[hidden]{display:none!important}.q126-steps{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;overflow:visible!important;gap:8px!important;max-height:none!important}.q126-steps button{min-width:0!important;width:100%!important;white-space:normal!important}.q146-service{display:flex;flex-direction:column}.q146-service-status{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px 0}.q146-service-status small{display:block;color:#91867b;font-size:12px}.q146-service-status b{display:block;font-size:21px;margin-top:8px}.q146-service-status p{grid-column:1/-1;font-size:13px;color:#91867b}.q146-service .nu-detail-buttons{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px}.q146-service-action{min-height:44px}.wp-task123.urgent{border:2px solid #d64b36!important;border-left:6px solid #d64b36!important;background:#fff0eb!important;box-shadow:0 4px 18px #d64b3615}.wp-task123.urgent .pill{background:#c33d2a!important;color:white!important;font-weight:700}.q146-urgent-banner{border-radius:12px;background:#b93e2c;color:#fff;padding:18px 24px;margin-bottom:20px;font-weight:700;font-size:17px}@media(max-width:700px){.q126-steps{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

.q126-dialog .q126-steps{height:auto!important;min-height:0!important;max-height:none!important;flex-shrink:0!important;grid-auto-rows:100px}.q126-dialog .q126-steps button{height:100px!important;max-height:none!important}

.q147-urgent-dialog{border:2px solid #cb4632!important}.q147-task-alert{font-size:15px;line-height:1.6}.q147-version{display:block;margin-top:8px;font-size:11px}

/* v148 structured acceptance evidence */
.q148-evidence{margin:18px 0;padding:18px;background:#fffaf4;border:1px solid #efd9c5;border-radius:12px}.q148-evidence[hidden]{display:none}.q148-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.q148-evidence input{max-width:100%;box-sizing:border-box}.q148-evidence fieldset{margin:15px 0;border:1px solid #e9ded2;border-radius:10px}.q148-photo{display:inline-flex;align-items:center;gap:8px;margin:8px;font-size:12px}.q148-photo img{width:62px;height:50px;object-fit:cover;border-radius:6px}.q148-photo input,.q148-conclusion input{width:auto}.q148-conclusion{display:flex;align-items:center;gap:8px}@media(max-width:700px){.q148-evidence-grid{grid-template-columns:1fr}}

.door-datetime-dialog [data-expiry-clear][hidden]{display:none!important}.q148-snapshot{display:grid;grid-template-columns:140px minmax(0,1fr);gap:8px;font-size:13px}.q148-snapshot dd{margin:0;overflow-wrap:anywhere}

.q150-focus{outline:3px solid #e36c12!important;outline-offset:4px}.q150-context{padding:12px 16px;background:#fff5e9;border:1px solid #f3d4b0;border-radius:10px;margin:12px 0}.q150-context p{margin:6px 0}.q150-steps{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.q150-steps span{border:1px solid #e7d8c8;padding:6px 9px;border-radius:6px}.q150-steps .done{background:#ecf7f1;color:#247751}

.q151-block{padding:16px;border:1px solid #ebbc8c;background:#fff7ed;border-radius:12px;margin:12px 0}.q151-block button{margin:5px}.q151-task-list{max-height:55vh;overflow:auto}.q151-task-row{padding:12px;border-bottom:1px solid #e9ded4}.q151-task-row p{margin:6px 0}

.manager152-card{display:flex;align-items:center;gap:32px;padding:18px 22px;background:#fff9f2;border:1px solid #f2d9bf;border-radius:14px;margin-bottom:18px}.manager152-card small,.manager152-button small{display:block;color:#867668;font-size:12px}.manager152-card h3{margin:5px 0}.manager152-card button{margin-left:auto}.manager152-button{text-align:left;white-space:normal;min-width:110px}.manager152-card b{display:block;margin-top:6px}@media(max-width:650px){.manager152-card{flex-wrap:wrap;gap:16px}}

/* V152 detail polish: preserve original structure, colors and business scripts. */
body.nu-staff{font-size:16px;line-height:1.65;--font:"Microsoft YaHei","PingFang SC",sans-serif}
body.nu-staff .nu .topbar{height:84px;gap:18px}
body.nu-staff .nu .brand{gap:14px;flex-shrink:0}
body.nu-staff .nu .brand img{width:76px;height:60px}
body.nu-staff .nu .brand>span{font-size:18px}
body.nu-staff .nu .brand .nu-brand-sub{font-size:12px;line-height:1.4}
body.nu-staff .nu .nav-item{min-height:46px;gap:12px;align-items:center}
body.nu-staff .nu .nav-item .lb{font-size:15px;line-height:1.4}
body.nu-staff .nu .nav-item svg{display:block;flex-shrink:0}
body.nu-staff .nu .sub,body.nu-staff .hint,body.nu-staff .nu .stat .lbl{font-size:14px;line-height:1.65}
body.nu-staff .nu .tbl{font-size:15px}
body.nu-staff .nu .tbl th{font-size:14px;text-align:left;vertical-align:middle}
body.nu-staff .nu .tbl td{vertical-align:middle;line-height:1.65}
body.nu-staff .nu .nu-project-name{font-size:17px;text-align:left;line-height:1.5}
body.nu-staff .nu .prog-line{font-size:13px;gap:10px}
body.nu-staff .nu .prog-num{min-width:44px;font-variant-numeric:tabular-nums}
body.nu-staff .nu .btn{min-height:44px;font-size:15px;line-height:1.4;align-items:center;justify-content:center}
body.nu-staff .nu .btn.sm{min-height:40px;font-size:14px;padding:9px 12px}
body.nu-staff .nu .btn svg{display:block;flex-shrink:0}
body.nu-staff .nu .nu-row-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
body.nu-staff .nu .nu-filter{flex-wrap:wrap;align-items:center;gap:12px}
body.nu-staff .nu .nu-filter :is(input,select){height:44px;font-size:15px;min-width:0}
body.nu-staff .nu .page-head{gap:16px;flex-wrap:wrap}
body.nu-staff .nu .nu-dashboard-title{flex-wrap:wrap}
body.nu-staff .nu .nu-money small,body.nu-staff .nu .nu-stage small{font-size:13px;line-height:1.5}
body.nu-staff .nu .nu-stage .nm{text-align:center;line-height:1.5}
body.nu-staff .nu .nu-money b{font-variant-numeric:tabular-nums}
body.nu-staff dialog{font-size:16px;scrollbar-gutter:stable;max-width:calc(100vw - 24px)}
body.nu-staff dialog :is(label,.field label){font-size:15px;line-height:1.6}
body.nu-staff dialog :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){font-size:16px;min-height:44px;line-height:1.5}
body.nu-staff dialog :is(input[type=checkbox],input[type=radio]){width:18px;height:18px;flex-shrink:0;accent-color:var(--orange)}
body.nu-staff dialog button:not(.close){font-size:15px;min-height:44px}
body.nu-staff dialog .close{width:44px;height:44px;min-width:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:28px;border-radius:10px;color:#6b635a}
body.nu-staff dialog.dm-modal127:not(.photo-lightbox)>.close{width:44px!important;height:44px!important;min-width:44px!important;display:inline-flex!important;align-items:center;justify-content:center;padding:0!important;line-height:1!important}
body.nu-staff dialog .close:hover{background:#fff0e3;color:#c64f00}
body.nu-staff :is(button,a,input,select,textarea):focus-visible{outline:2px solid #d95600;outline-offset:3px}
body.nu-staff button:disabled{cursor:not-allowed}
@media(hover:hover){body.nu-staff .nu .btn:not(:disabled):hover{border-color:#e8843d;filter:brightness(.98)}body.nu-staff .nu .btn:not(:disabled):active{transform:translateY(1px)}}
@media(max-width:720px){body.nu-staff .nu .topbar{height:74px;padding:0 12px;gap:8px}body.nu-staff .nu .brand img{width:66px;height:52px}body.nu-staff .nu .nav-item{justify-content:center;padding:10px 4px}body.nu-staff .nu .main{padding:18px 14px}body.nu-staff .nu .nu-row-actions .btn{white-space:normal}body.nu-staff dialog{padding:20px}body.nu-staff .nu .nu-filter input{flex-basis:100%}}
@media(pointer:coarse){body.nu-staff .nu .btn.sm{min-height:44px}}
@media(max-width:720px){body.nu-staff .nu .stat{padding-top:48px;min-height:148px}body.nu-staff .nu .stat .lbl{margin-bottom:12px}body.nu-staff .nu .nu-stat-icon{top:10px;right:10px}body.nu-staff .nu .nu-table .tbl td:nth-child(1),body.nu-staff .nu .nu-table .tbl td:nth-child(2),body.nu-staff .nu .nu-table .tbl td:nth-child(5){grid-column:1/-1}body.nu-staff .nu .nu-project-name{overflow-wrap:anywhere;white-space:normal}}
@media(prefers-reduced-motion:reduce){body.nu-staff *,body.nu-staff *::before,body.nu-staff *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
