:root{--bg:#06101c;--bg2:#081522;--panel:#0c1b2b;--panel2:#10243a;--panel3:#132b45;--line:#223c57;--line2:#315777;--text:#eef7ff;--muted:#8fa7be;--cyan:#19d4d0;--blue:#3478f6;--green:#29c46d;--orange:#f0a32f;--red:#ef5969;--purple:#8b7cf6;--shadow:0 18px 50px rgba(0,0,0,.24)}
*{box-sizing:border-box;}html,body{margin:0;min-height:100%;font-family:Inter,"Microsoft YaHei",Arial,sans-serif;background:linear-gradient(160deg,var(--panel2),var(--panel2) 55%,var(--panel2));color:var(--text);}button,input,select,textarea{font:inherit;}.hidden{display:none!important;}.muted{color:var(--muted);}.money{font-variant-numeric:tabular-nums;}.wide{width:100%;}
.app{min-height:100vh;display:grid;grid-template-columns:248px 1fr;}aside{background:linear-gradient(180deg,var(--panel2),var(--panel2));border-right:1px solid var(--line);padding:18px 12px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:8;}.brand{padding:4px 10px 18px;}.brand b{display:block;font-size:17px;letter-spacing:.2px;}.brand span{display:block;margin-top:5px;font-size:12px;color:var(--cyan);}.nav-group{margin-bottom:14px;}.nav-title{font-size:11px;color:var(--muted);padding:6px 11px;text-transform:uppercase;letter-spacing:.08em;}nav{display:flex;flex-direction:column;gap:5px;}nav button{border:0;background:transparent;color:var(--text);text-align:left;padding:10px 12px;border-radius:10px;cursor:pointer;transition:.15s;}nav button:hover,nav button.active{background:linear-gradient(90deg,var(--panel2),var(--panel2));color:var(--text);box-shadow:inset 3px 0 0 var(--cyan);}.side-bottom{margin-top:auto;padding:12px 6px;border-top:1px solid var(--line);display:grid;gap:9px;}.user-chip{display:flex;gap:9px;align-items:center;border:0;background:transparent;color:var(--text);text-align:left;padding:7px;cursor:pointer;border-radius:10px;}.user-chip:hover{background:var(--panel2);}.user-chip>span:first-child{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan),var(--blue));font-weight:800;}.user-chip small{display:block;color:var(--muted);font-size:11px;margin-top:2px;}
main{min-width:0;}header{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:var(--panel2);position:sticky;top:0;z-index:6;backdrop-filter:blur(14px);}header h2{margin:0 0 4px;font-size:23px;}header small{color:var(--muted);}.header-actions{display:flex;align-items:center;gap:10px;}.page{display:none;padding:24px 28px;}.page.active{display:block;}
button{cursor:pointer;}.primary{background:linear-gradient(90deg,var(--panel),var(--panel));border:0;color:var(--text);border-radius:9px;padding:9px 14px;font-weight:700;}.secondary{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 11px;}.ghost{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:9px;padding:8px 12px;}.danger-btn{background:var(--danger-bg);color:var(--text);border:1px solid var(--line2);border-radius:8px;padding:7px 10px;}.success-btn{background:var(--success-bg);color:var(--text);border:1px solid var(--line2);border-radius:8px;padding:7px 10px;}.primary:hover,.secondary:hover,.ghost:hover,.danger-btn:hover,.success-btn:hover{filter:brightness(1.12);}
.input{background:var(--panel2);border:1px solid var(--line2);color:var(--text);border-radius:8px;padding:8px 10px;min-width:130px;}.input:focus{outline:1px solid var(--cyan);border-color:var(--cyan);}textarea.input{min-height:84px;resize:vertical;}.field label{display:block;color:var(--muted);font-size:12px;margin-bottom:5px;}.field .input{width:100%;}.grid-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}.grid-form.cols2{grid-template-columns:repeat(2,minmax(0,1fr));}.grid-form.cols4{grid-template-columns:repeat(4,minmax(0,1fr));}.span2{grid-column:span 2;}.span3{grid-column:span 3;}.toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:12px;}.toolbar.right{justify-content:flex-end;}.check{width:17px;height:17px;}.section-title{font-size:15px;font-weight:800;margin:18px 0 10px;padding-left:9px;border-left:3px solid var(--cyan);}
.card{background:linear-gradient(160deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:14px;margin-top:16px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.12);}.card-h{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px;}.card-b{padding:16px;}.card.compact .card-b{padding:10px 14px;}.two{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}.kpi{position:relative;background:linear-gradient(160deg,var(--panel2),var(--panel2));border:1px solid var(--line);border-radius:16px;padding:18px;min-height:120px;box-shadow:var(--shadow);overflow:hidden;}.kpi:after{content:"";position:absolute;right:-30px;top:-35px;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(25,212,208,.16),transparent 70%);}.kpi .label{color:var(--muted);font-size:13px;}.kpi .value{font-size:30px;font-weight:850;margin-top:9px;letter-spacing:-.02em;}.kpi .sub{font-size:12px;color:var(--muted);margin-top:8px;}.kpi.important{border-color:var(--line2);background:linear-gradient(160deg,var(--panel2),var(--panel2));}.kpi.warn{border-color:var(--line2);}.kpi.danger{border-color:var(--line2);}.kpi.good{border-color:var(--line2);}.progress{height:9px;background:var(--panel2);border-radius:999px;overflow:hidden;margin-top:12px;}.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--blue));border-radius:999px;}
.metric-ring{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--cyan) var(--p),var(--panel2) 0);position:relative;}.metric-ring:after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--panel2);}.metric-ring span{z-index:1;font-weight:800;}.dashboard-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;}.hero-panel{background:radial-gradient(circle at 80% 10%,rgba(52,120,246,.2),transparent 35%),linear-gradient(140deg,var(--panel2),var(--panel2));border:1px solid var(--line2);border-radius:18px;padding:22px;box-shadow:var(--shadow);}.hero-panel h3{margin:0 0 8px;}.hero-big{font-size:42px;font-weight:900;letter-spacing:-.04em;}.hero-row{display:flex;gap:18px;align-items:center;margin-top:15px;}.hero-mini b{display:block;font-size:22px;}.hero-mini span{font-size:12px;color:var(--muted);}
table{width:100%;border-collapse:collapse;font-size:13px;}th,td{padding:10px;border-bottom:1px solid var(--line2);text-align:left;vertical-align:middle;}th{color:var(--muted);font-weight:650;background:var(--panel2);position:sticky;top:0;z-index:1;}tr:hover td{background:var(--panel2);}.table-wrap{overflow:auto;max-width:100%;}.tag{display:inline-block;padding:3px 8px;border-radius:999px;background:var(--panel2);color:var(--text);font-size:12px;white-space:nowrap;}.tag.green{background:var(--success-bg);color:var(--text);}.tag.orange{background:var(--warning-bg);color:var(--orange);}.tag.red{background:var(--danger-bg);color:var(--text);}.tag.cyan{background:var(--panel2);color:var(--blue);}.tag.purple{background:var(--panel2);color:var(--text);}.pill-row{display:flex;gap:6px;flex-wrap:wrap;}.empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line2);border-radius:12px;background:var(--panel2);}.alert-list{display:grid;gap:8px;}.alert-row{padding:11px 13px;border-radius:9px;background:var(--panel2);border-left:3px solid var(--orange);display:flex;justify-content:space-between;gap:10px;}.alert-row.good{border-left-color:var(--green);}
.bulkbar{display:flex;gap:8px;align-items:center;padding:10px;background:var(--panel2);border:1px dashed var(--line2);border-radius:10px;margin-bottom:12px;}.dict-grid{display:grid;grid-template-columns:280px 1fr;gap:15px;}.dict-cats{max-height:68vh;overflow:auto;}.dict-cats button{display:flex;width:100%;justify-content:space-between;text-align:left;margin-bottom:6px;}.config-tabs,.tabs{display:flex;gap:7px;overflow:auto;border-bottom:1px solid var(--line);padding-bottom:0;}.config-tabs button,.tabs button{border:0;background:transparent;color:var(--muted);padding:11px 13px;white-space:nowrap;border-bottom:2px solid transparent;}.config-tabs button.active,.tabs button.active{color:var(--text);border-color:var(--cyan);background:linear-gradient(180deg,transparent,rgba(25,212,208,.06));}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 20%,var(--panel2),var(--panel2) 48%);}.login-card{width:420px;padding:34px;background:var(--panel2);border:1px solid var(--line2);border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.45);}.login-mark{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan),var(--blue));font-weight:900;margin-bottom:18px;}.login-card h1{font-size:25px;margin:0 0 6px;}.login-card p{color:var(--cyan);margin:0 0 22px;}.login-card input{width:100%;margin-bottom:12px;background:var(--panel2);border:1px solid var(--line2);color:var(--text);padding:13px;border-radius:10px;}.login-card>button:first-of-type{width:100%;background:linear-gradient(90deg,var(--panel),var(--panel));border:0;color:var(--text);padding:12px;border-radius:10px;font-weight:800;margin-bottom:9px;}.msg{color:var(--text);margin-top:12px;font-size:13px;line-height:1.5;min-height:20px;}
.modal{position:fixed;inset:0;background:var(--panel2);z-index:30;display:flex;align-items:center;justify-content:center;padding:25px;}.modal-card{position:relative;width:min(1120px,96vw);max-height:92vh;overflow:auto;background:var(--panel2);border:1px solid var(--line2);border-radius:18px;padding:24px;box-shadow:0 30px 90px rgba(0,0,0,.55);}.modal-card.small{width:min(620px,96vw);}.modal-x{position:sticky;top:0;float:right;width:36px;height:36px;border-radius:50%;background:var(--panel2);color:var(--text);border:1px solid var(--line2);font-size:21px;cursor:pointer;z-index:2;}.modal h2{margin:2px 0 18px;}.toast{position:fixed;right:24px;bottom:24px;z-index:50;background:var(--panel2);border:1px solid var(--line2);color:var(--text);padding:12px 16px;border-radius:10px;box-shadow:var(--shadow);}.toast.error{border-color:var(--line2);color:var(--text);}
.workspace{padding:0 28px 32px;}.workspace-head{display:flex;align-items:center;gap:16px;padding:18px 0 14px;position:sticky;top:76px;background:var(--panel2);z-index:5;backdrop-filter:blur(12px);}.workspace-title{flex:1;}.workspace-title h2{margin:0 0 5px;font-size:24px;}.workspace-actions{display:flex;gap:8px;}.workspace-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:15px;}.workspace-kpis .mini-kpi{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:12px;}.mini-kpi span{display:block;color:var(--muted);font-size:11px;}.mini-kpi b{display:block;margin-top:5px;font-size:18px;}.workspace .tabs{position:sticky;top:139px;background:var(--panel2);z-index:4;padding-top:5px;}.workspace-body{padding-top:2px;}.overview-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}.info-item{background:var(--panel2);border:1px solid var(--line2);border-radius:10px;padding:11px;}.info-item span{font-size:11px;color:var(--muted);}.info-item b{display:block;margin-top:4px;}.timeline{display:grid;gap:10px;}.timeline-row{display:grid;grid-template-columns:110px 1fr;gap:12px;}.timeline-dot{color:var(--cyan);font-size:12px;}.timeline-card{border-left:2px solid var(--line2);padding:0 0 12px 13px;}.person-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:9px;padding:9px;}.person-checks label{display:flex;gap:7px;align-items:center;background:var(--panel2);padding:7px;border-radius:7px;}.travel-row{display:grid;grid-template-columns:1.1fr 1.1fr .7fr .8fr 1fr .8fr 1fr .8fr 40px;gap:7px;margin-bottom:7px;}.travel-row .input{min-width:0;width:100%;}.preview-frame{width:100%;height:70vh;border:1px solid var(--line);border-radius:10px;background:var(--panel);}.file-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}.file-card{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:13px;min-width:0;}.file-card b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.file-card .file-actions{display:flex;gap:6px;margin-top:10px;}.sensitive{filter:blur(5px);user-select:none;}.legacy-note{padding:10px 12px;border:1px dashed var(--line2);background:var(--warning-bg);color:var(--text);border-radius:10px;}
@media(max-width:1200px){.workspace-kpis{grid-template-columns:repeat(3,1fr);}.kpi-grid{grid-template-columns:repeat(2,1fr);}.grid-form.cols4{grid-template-columns:repeat(2,1fr);}.file-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:1000px){.app{grid-template-columns:1fr;}aside{height:auto;position:static;}.nav-group{margin:0;}.nav-title{display:none;}aside nav{flex-direction:row;overflow:auto;}.side-bottom{display:none;}.two,.dashboard-hero,.overview-grid,.dict-grid{grid-template-columns:1fr;}.grid-form{grid-template-columns:1fr 1fr;}.workspace-head{top:76px;}.workspace .tabs{top:142px;}.travel-row{grid-template-columns:1fr 1fr 1fr;}.travel-row>*{min-width:0;}}
@media(max-width:650px){.page,.workspace{padding-left:14px;padding-right:14px;}header{padding:0 14px;}.kpi-grid,.grid-form,.grid-form.cols2,.grid-form.cols4,.info-grid,.workspace-kpis,.file-grid{grid-template-columns:1fr;}.span2,.span3{grid-column:span 1;}.workspace-head{align-items:flex-start;flex-wrap:wrap;}.workspace-actions{width:100%;}.person-checks{grid-template-columns:1fr;}.login-card{width:94vw;}.three{grid-template-columns:1fr;}}

/* ===== Alpha5 interaction + information architecture ===== */
:root{--panel-soft:#0b1a2a;--panel-hover:#10253a;--line-soft:#1b344d;--cyan-soft:rgba(25,212,208,.09);--blue-soft:rgba(52,120,246,.12)}
button:disabled{opacity:.48;cursor:not-allowed;filter:none!important;}.required{color:var(--red);font-weight:700;}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--cyan);text-transform:uppercase;margin-bottom:5px;}.login-help{font-size:12px;color:var(--muted);line-height:1.55;margin:5px 2px 0;}.input.invalid{border-color:var(--line2)!important;box-shadow:0 0 0 2px rgba(232,92,105,.08);}.field-error{color:var(--text);font-size:12px;line-height:1.5;margin-top:6px;}.field-success{color:var(--green);font-size:12px;line-height:1.5;margin-top:6px;}.form-message{margin:12px 0;padding:10px 12px;border-radius:9px;background:var(--danger-bg);border:1px solid var(--line2);color:var(--text);font-size:13px;}.inline-input{display:flex;gap:8px;align-items:stretch;}.inline-input>.input{flex:1;min-width:0;}.inline-input>button{white-space:nowrap;}.modal-title-row{display:flex;justify-content:space-between;gap:20px;padding-right:44px;margin-bottom:16px;}.modal-title-row h2{margin:0 0 7px;font-size:23px;}.modal-title-row p{margin:0;max-width:760px;}.modal-actions{padding-top:16px;border-top:1px solid var(--line);margin-top:18px;}.security-hint{margin-top:12px;padding:10px 12px;border:1px solid var(--line2);border-radius:9px;background:var(--panel2);color:var(--muted);font-size:12px;line-height:1.55;}
.register-steps{display:flex;align-items:center;gap:10px;margin:16px 0 20px;}.register-steps span{font-size:12px;color:var(--muted);padding:6px 10px;border-radius:999px;border:1px solid var(--line2);background:var(--panel2);}.register-steps span.active{color:var(--text);border-color:var(--line2);background:var(--panel2);}.register-steps span.done{color:var(--text);border-color:var(--line2);background:var(--success-bg);}.register-steps i{height:1px;width:36px;background:var(--panel2);}.register-invite-box{border:1px solid var(--line2);background:linear-gradient(140deg,var(--panel2),var(--panel2));border-radius:13px;padding:15px;}.register-account-fields{margin-top:15px;transition:.2s;}.disabled-section{opacity:.4;pointer-events:none;filter:saturate(.5);}

/* workspace */
.workspace{padding:20px 30px 42px;max-width:1720px;margin:0 auto;}.workspace-topbar{display:flex;align-items:center;gap:14px;margin-bottom:14px;}.back-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line2);background:var(--panel2);color:var(--text);padding:9px 13px;border-radius:10px;}.back-btn:hover{background:var(--panel2);}.workspace-breadcrumb{font-size:12px;color:var(--muted);flex:1;}.workspace-breadcrumb i{margin:0 7px;color:var(--muted);}.workspace-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;background:radial-gradient(circle at 88% 0%,rgba(40,124,255,.18),transparent 35%),linear-gradient(135deg,var(--panel2),var(--panel2));border:1px solid var(--line2);border-radius:18px;padding:21px 22px;box-shadow:0 18px 45px rgba(0,0,0,.16);margin-bottom:12px;}.workspace-title h2{font-size:28px;margin:0 0 8px;letter-spacing:-.02em;}.workspace-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--text);}.code-badge{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--text);background:var(--panel2);border:1px solid var(--line2);border-radius:7px;padding:4px 8px;font-size:12px;}.workspace-location{font-size:12px;color:var(--muted);}.workspace-hero-note{max-width:420px;text-align:right;color:var(--muted);font-size:12px;line-height:1.65;}.workspace-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:12px 0;}.workspace-kpis .mini-kpi{background:linear-gradient(160deg,var(--panel2),var(--panel2));border:1px solid var(--line2);border-radius:12px;padding:13px 14px;min-height:92px;transition:.15s;}.workspace-kpis .mini-kpi:hover{border-color:var(--line2);transform:translateY(-1px);}.mini-kpi span{display:block;color:var(--muted);font-size:11px;}.mini-kpi b{display:block;margin-top:5px;font-size:20px;letter-spacing:-.02em;}.mini-kpi small{display:block;color:var(--muted);font-size:10px;margin-top:7px;}.mini-kpi.money-kpi{border-color:var(--line2);}.mini-kpi.warn{border-color:var(--line2);background:var(--warning-bg);}
.workspace-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0 16px;}.ws-nav-group{border:1px solid var(--line2);background:var(--panel2);border-radius:12px;padding:9px;}.ws-nav-group>span{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.1em;margin:0 5px 6px;}.ws-nav-group>div{display:flex;gap:5px;flex-wrap:wrap;}.ws-nav-group button{border:0;background:transparent;color:var(--muted);padding:7px 9px;border-radius:7px;font-size:12px;white-space:nowrap;}.ws-nav-group button:hover{background:var(--panel2);color:var(--text);}.ws-nav-group button.active{background:linear-gradient(90deg,var(--panel2),var(--panel2));color:var(--text);box-shadow:inset 0 0 0 1px var(--line2);}.workspace-body{min-height:420px;}.workspace-body>.card:first-child{margin-top:0;}.module-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(130deg,var(--panel2),var(--panel2));border:1px solid var(--line2);border-radius:13px;padding:15px 16px;margin-bottom:14px;}.module-intro b{font-size:16px;}.module-intro p{margin:5px 0 0;color:var(--muted);font-size:12px;}.compact-kpis .kpi{min-height:94px;padding:14px;}.compact-kpis .kpi .value{font-size:23px;}.assessment-summary-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:16px;margin-top:16px;}.cost-stack{display:grid;grid-template-columns:1fr 1fr;gap:7px;}.cost-stack>div{background:var(--panel2);border:1px solid var(--line2);border-radius:9px;padding:9px 11px;}.cost-stack span{display:block;color:var(--muted);font-size:11px;}.cost-stack b{display:block;margin-top:3px;}.assessment-result{margin:13px 0 5px;}.details-box{margin-top:14px;border-top:1px dashed var(--line2);padding-top:12px;}.details-box summary{cursor:pointer;color:var(--text);font-size:12px;}.form-section{border:1px solid var(--line2);background:var(--panel2);border-radius:13px;padding:15px;margin-top:13px;}.form-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px;}.form-section-head b{display:block;font-size:14px;}.form-section-head small{display:block;color:var(--muted);margin-top:3px;}.empty-state{text-align:center;padding:42px 24px;border:1px dashed var(--line2);border-radius:14px;background:var(--panel2);color:var(--muted);}.empty-state b{font-size:16px;color:var(--text);}.empty-state p{margin:7px auto 15px;max-width:600px;}

/* configuration center */
.config-hero{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;background:radial-gradient(circle at 85% 10%,rgba(25,212,208,.1),transparent 30%),linear-gradient(135deg,var(--panel2),var(--panel2));border:1px solid var(--line2);border-radius:16px;padding:18px 20px;margin-bottom:14px;}.config-hero h3{font-size:22px;margin:0 0 6px;}.config-hero p{margin:0;max-width:770px;color:var(--muted);font-size:12px;line-height:1.6;}.config-search{display:flex;gap:7px;min-width:380px;}.config-search .input{flex:1;}.config-layout{display:grid;grid-template-columns:265px minmax(0,1fr);gap:14px;align-items:start;}.config-module-list{display:grid;gap:7px;position:sticky;top:92px;}.config-module{display:grid;grid-template-columns:34px minmax(0,1fr) 14px;align-items:center;gap:9px;text-align:left;border:1px solid var(--line2);background:var(--panel2);color:var(--muted);border-radius:11px;padding:10px;}.config-module:hover{background:var(--panel2);border-color:var(--line2);}.config-module.active{background:linear-gradient(100deg,var(--panel2),var(--panel2));border-color:var(--line2);color:var(--text);box-shadow:inset 3px 0 0 var(--cyan);}.config-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:var(--panel2);color:var(--blue);font-size:14px;font-weight:900;}.config-module b{display:block;font-size:13px;}.config-module small{display:block;color:var(--muted);font-size:10px;line-height:1.35;margin-top:3px;}.config-module i{font-style:normal;color:var(--muted);}.config-main{min-width:0;}.config-module-head{display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px solid var(--line2);background:var(--panel2);border-radius:13px;padding:14px 16px;}.config-module-head h3{font-size:16px;margin:0;}.config-section{margin-top:13px;border:1px solid var(--line2);background:var(--panel2);border-radius:13px;padding:14px;}.config-section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;}.config-section-title b{display:block;font-size:14px;}.config-section-title small{display:block;color:var(--muted);font-size:11px;margin-top:3px;}.option-group-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px;}.option-group-tabs button{border:1px solid var(--line2);background:var(--panel2);color:var(--muted);border-radius:9px;padding:8px 10px;text-align:left;}.option-group-tabs button b{display:block;font-size:12px;}.option-group-tabs button small{display:block;color:var(--muted);font-size:9px;margin-top:2px;}.option-group-tabs button.active{background:var(--panel2);border-color:var(--line2);color:var(--text);}.option-panel{border:1px solid var(--line2);border-radius:11px;overflow:hidden;background:var(--panel2);}.option-panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 13px;border-bottom:1px solid var(--line2);}.option-panel-head b{display:block;}.option-panel-head small{display:block;color:var(--muted);font-size:10px;margin-top:2px;}.row-disabled{opacity:.55;}.field-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}.field-config-card{border:1px solid var(--line2);border-radius:11px;background:var(--panel2);padding:12px;}.field-config-card.disabled{opacity:.56;}.field-config-top{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:start;}.drag-order{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:var(--panel2);color:var(--muted);font-size:10px;}.field-config-top b{display:block;font-size:13px;}.field-config-top small{display:block;font-size:9px;color:var(--muted);margin-top:2px;}.field-config-card p{font-size:11px;color:var(--muted);line-height:1.45;min-height:32px;margin:9px 0;}.field-config-meta{display:flex;gap:5px;flex-wrap:wrap;}.field-config-meta span{font-size:9px;color:var(--muted);background:var(--panel2);border:1px solid var(--line2);border-radius:999px;padding:3px 6px;}.field-config-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;}.field-config-actions button{font-size:10px;padding:6px 8px;}.field-group-block+.field-group-block{margin-top:15px;}.field-group-title{font-size:12px;color:var(--muted);margin:0 0 8px;padding-left:8px;border-left:2px solid var(--line2);}.search-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 13px;padding:12px;border:1px solid var(--line2);background:var(--panel2);border-radius:12px;}.search-results>b{grid-column:1/-1;font-size:12px;color:var(--muted);}.search-results button{display:grid;text-align:left;border:1px solid var(--line2);background:var(--panel2);color:var(--text);border-radius:9px;padding:9px;}.search-results button span{font-size:9px;color:var(--blue);}.search-results button b{font-size:12px;margin:2px 0;}.search-results button small{font-size:9px;color:var(--muted);}

@media(max-width:1250px){.workspace-nav{grid-template-columns:repeat(2,minmax(0,1fr));}.workspace-kpis{grid-template-columns:repeat(3,minmax(0,1fr));}.config-layout{grid-template-columns:220px minmax(0,1fr);}.field-config-grid{grid-template-columns:1fr;}.search-results{grid-template-columns:repeat(2,1fr);}}
@media(max-width:900px){.workspace{padding:14px;}.workspace-topbar{flex-wrap:wrap;}.workspace-breadcrumb{display:none;}.workspace-hero{align-items:flex-start;flex-direction:column;}.workspace-hero-note{text-align:left;}.workspace-actions{margin-left:auto;}.workspace-nav{grid-template-columns:1fr;}.assessment-summary-grid{grid-template-columns:1fr;}.config-hero{align-items:flex-start;flex-direction:column;}.config-search{min-width:0;width:100%;}.config-layout{grid-template-columns:1fr;}.config-module-list{position:static;grid-template-columns:repeat(2,1fr);}.config-main{min-width:0;}.search-results{grid-template-columns:1fr;}}
@media(max-width:600px){.workspace-kpis{grid-template-columns:1fr 1fr;}.config-module-list{grid-template-columns:1fr;}.inline-input{flex-direction:column;}.register-steps i{width:18px;}.cost-stack{grid-template-columns:1fr;}.workspace-actions{width:auto;}.workspace-topbar .workspace-actions{margin-left:0;}.modal-title-row{padding-right:30px;}.form-section{padding:11px;}}

/* Alpha6 permissions & second-layer security */
.security-center-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;background:radial-gradient(circle at 90% 0%,rgba(48,116,255,.16),transparent 30%),linear-gradient(135deg,var(--panel2),var(--panel2));border:1px solid var(--line2);border-radius:16px;padding:18px 20px;margin-bottom:12px;}.security-center-hero h3{font-size:22px;margin:0 0 6px;}.security-center-hero p{margin:0;max-width:900px;color:var(--muted);font-size:12px;line-height:1.6;}.security-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px;padding:7px;background:var(--panel2);border:1px solid var(--line2);border-radius:12px;}.security-tabs button{border:0;background:transparent;color:var(--muted);padding:9px 12px;border-radius:8px;}.security-tabs button.active{background:var(--panel2);color:var(--text);box-shadow:inset 0 0 0 1px var(--line2);}.section-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:10px 0 12px;}.section-toolbar b{font-size:15px;}.section-toolbar p{margin:4px 0 0;color:var(--muted);font-size:11px;max-width:850px;}.security-inline{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line2);border-radius:13px;padding:13px 15px;margin-bottom:12px;}.security-inline div{display:grid;gap:3px;}.security-inline b{font-size:13px;}.security-inline span{font-size:11px;color:var(--muted);}.security-inline.locked{background:linear-gradient(100deg,var(--danger-bg),var(--panel2));border-color:var(--line2);}.security-inline.unlocked{background:linear-gradient(100deg,var(--panel2),var(--panel2));border-color:var(--line2);}.locked-field{background:var(--panel2);border:1px solid var(--line2);border-radius:9px;padding:10px 11px;color:var(--muted);font-size:11px;}.security-lock-card{display:flex;gap:13px;align-items:center;border:1px solid var(--line2);background:var(--panel2);border-radius:12px;padding:13px;margin:12px 0;}.security-lock-card .lock-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:var(--panel2);color:var(--blue);font-size:23px;}.security-lock-card b{display:block;}.security-lock-card p{margin:4px 0 0;color:var(--muted);font-size:11px;}.role-grid,.module-policy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}.role-card,.module-policy-card{border:1px solid var(--line2);background:var(--panel2);border-radius:13px;padding:13px;}.role-card-head,.module-policy-head{display:flex;justify-content:space-between;align-items:start;gap:10px;}.role-card-head b,.module-policy-head b{display:block;font-size:14px;}.role-card code,.module-policy-card code{display:block;color:var(--muted);font-size:9px;margin-top:3px;}.role-card p,.module-policy-card p{color:var(--muted);font-size:11px;line-height:1.5;min-height:34px;}.permission-count{color:var(--muted);font-size:11px;margin:8px 0;}.module-policy-card.protected{border-color:var(--line2);background:linear-gradient(145deg,var(--panel2),var(--warning-bg));}.module-policy-meta{display:flex;gap:5px;flex-wrap:wrap;}.module-policy-meta span{font-size:9px;background:var(--panel2);border:1px solid var(--line2);border-radius:999px;padding:4px 7px;color:var(--muted);}.security-note{border:1px solid var(--line2);background:var(--warning-bg);color:var(--muted);border-radius:11px;padding:10px 12px;font-size:11px;margin-bottom:12px;}.permission-editor{display:grid;gap:10px;max-height:58vh;overflow:auto;padding-right:4px;margin-top:12px;}.permission-group{border:1px solid var(--line2);border-radius:11px;background:var(--panel2);padding:11px;}.permission-group h4{margin:0 0 8px;color:var(--text);display:flex;align-items:center;gap:6px;}.permission-check{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;padding:7px 5px;border-top:1px solid rgba(70,103,126,.18);}.permission-check span{display:grid;}.permission-check b{font-size:11px;}.permission-check small{font-size:9px;color:var(--muted);margin-top:2px;}.permission-check code,.permission-row code{font-size:8px;color:var(--muted);margin-top:3px;}.permission-row{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:12px;align-items:center;padding:7px 5px;border-top:1px solid rgba(70,103,126,.18);}.permission-row>div{display:grid;}.permission-row b{font-size:11px;}.permission-row small{font-size:9px;color:var(--muted);margin-top:2px;}.mini-btn{border:1px solid var(--line2);background:var(--panel2);color:var(--muted);border-radius:6px;font-size:9px;padding:3px 6px;}.hidden{display:none!important;}

.security-module-section{margin:14px 0 18px;}.security-module-section>.section-title{margin:10px 0 9px;color:var(--text);}.locked-panel{border:1px dashed var(--line2);background:linear-gradient(100deg,var(--panel2),var(--panel2));color:var(--muted);border-radius:11px;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;}.locked-panel b{color:var(--text);}.locked-panel p{margin:3px 0 0;color:var(--muted);font-size:11px;}.locked-panel .toolbar{margin:0;}
@media(max-width:1200px){.role-grid,.module-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px){.role-grid,.module-policy-grid{grid-template-columns:1fr;}.security-center-hero,.section-toolbar,.security-inline,.locked-panel{align-items:flex-start;flex-direction:column;}.permission-row{grid-template-columns:1fr;}}

/* Alpha7 recovery & security interaction */
.link-btn{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:8px 10px;font-size:12px;}.link-btn:hover{color:var(--text);text-decoration:underline;}.recovery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0;}.recovery-card{border:1px solid var(--line2);background:var(--panel2);border-radius:12px;padding:13px;}.recovery-card b{display:block;margin-bottom:7px;}.recovery-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.65;}.recovery-card code{color:var(--text);}.security-tabs button{transition:background .12s,border-color .12s,color .12s;}.security-tabs button.active{color:var(--text);border-color:var(--cyan);background:linear-gradient(180deg,transparent,rgba(25,212,208,.08));}
@media(max-width:900px){.recovery-grid{grid-template-columns:1fr;}}


/* Alpha10 daily-work, dashboard privacy and form usability */
.dashboard-privacy-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;padding:12px 15px;border:1px solid var(--line2);border-radius:12px;background:linear-gradient(90deg,var(--panel2),var(--panel2));}
.dashboard-privacy-bar div{display:grid;gap:3px;}.dashboard-privacy-bar span{font-size:11px;color:var(--muted);}.sensitive-mask .value{letter-spacing:.18em;color:var(--muted);filter:blur(.2px);}
.worklog-card{overflow:visible;}.worklog-table{min-width:1120px;}.worklog-table .wl-date-col{width:120px;}.worklog-table .wl-engineer-col{width:100px;}.worklog-table .wl-content-col{min-width:420px;}.work-date-cell{font-weight:800;color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums;}.worklog-summary{max-width:760px;line-height:1.55;}.worklog-summary>b{display:block;color:var(--text);margin-bottom:5px;}.action-cell{white-space:nowrap;}
.worklog-form{display:grid;gap:14px;}.worklog-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}.worklog-content-input{min-height:240px!important;line-height:1.65;background:var(--panel2)!important;border-color:var(--line2)!important;}.worklog-detail-grid{display:grid;grid-template-columns:1.45fr .75fr;gap:12px;}.worklog-issues-input{min-height:120px!important;}.worklog-next-input{min-height:92px!important;}.work-date-input,input[type=date].input{color:var(--text);color-scheme:dark;font-weight:750;letter-spacing:.03em;}.field-disabled{opacity:.48;}.switch-line{display:flex!important;align-items:center;gap:9px;color:var(--text)!important;padding:9px 10px;background:var(--panel2);border:1px solid var(--line2);border-radius:9px;margin:0!important;}.switch-line input{width:18px;height:18px;accent-color:#20c9d4;}.allowance-toggle small{display:block;margin-top:6px;}
.confirm-dialog{text-align:center;max-width:650px;margin:0 auto;}.confirm-danger-icon{width:54px;height:54px;margin:4px auto 12px;border-radius:50%;display:grid;place-items:center;background:var(--danger-bg);border:1px solid var(--line2);color:var(--text);font-size:28px;font-weight:900;}.confirm-dialog p{color:var(--muted);}.confirm-detail{text-align:left;display:grid;gap:7px;padding:13px 15px;border:1px solid var(--line2);background:var(--panel2);border-radius:11px;margin:14px 0 18px;}.confirm-detail span{font-size:12px;color:var(--muted);line-height:1.5;}.danger-strong{padding:9px 16px;font-weight:800;background:var(--danger-bg);}
@media(max-width:1050px){.worklog-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.worklog-detail-grid{grid-template-columns:1fr;}}


/* Alpha11 camera catalog, phase distinction and labor-cost linkage */
.tag.phase-presales{background:var(--panel2);color:var(--blue);border:1px solid var(--line2);}
.tag.phase-contract{background:var(--success-bg);color:var(--text);border:1px solid var(--line2);}
.tag.phase-aftersales{background:var(--warning-bg);color:var(--orange);border:1px solid var(--line2);}
.tag.phase-other{background:var(--panel2);color:var(--text);border:1px solid var(--line2);}
.camera-model-table{min-width:1680px;}
.camera-model-table th,.camera-model-table td{vertical-align:top;}
.camera-model-code{font-weight:850;color:var(--text);white-space:nowrap;}
.camera-spec-mini{display:grid;gap:2px;color:var(--text);font-size:11px;line-height:1.45;}
.camera-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0;}
.camera-detail-grid>div{background:var(--panel2);border:1px solid var(--line2);border-radius:10px;padding:10px;min-height:72px;}
.camera-detail-grid span{display:block;color:var(--muted);font-size:10px;margin-bottom:5px;}.camera-detail-grid b{font-size:12px;line-height:1.5;}
.expense-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0 14px;}
.expense-kpi{border:1px solid var(--line2);background:var(--panel2);border-radius:11px;padding:12px;}.expense-kpi span{display:block;color:var(--muted);font-size:10px;}.expense-kpi b{display:block;margin-top:5px;font-size:18px;}.expense-kpi.good{border-color:var(--line2);}.expense-kpi.cyan{border-color:var(--line2);}
.labor-rate-note{font-size:11px;color:var(--muted);line-height:1.55;}.cost-history-table{min-width:760px;}
@media(max-width:1100px){.camera-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.expense-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:650px){.camera-detail-grid,.expense-kpis{grid-template-columns:1fr;}}


/* Alpha12 project archive + system operations */
.pager{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 4px 0;}.pager>div{display:flex;align-items:center;gap:8px;}.compact-select{width:82px!important;min-width:82px;}.project-toolbar{flex-wrap:wrap;}
.file-summary{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0;}.file-category-chip{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:14px;padding:10px 14px;display:flex;gap:8px;align-items:center;cursor:pointer;}.file-category-chip b{font-size:18px;}.file-category-chip span{color:var(--muted);}.file-category-chip.active{border-color:var(--cyan);box-shadow:0 0 0 1px rgba(16,216,229,.25) inset;}.file-toolbar .input:first-child{min-width:360px;flex:1;}.file-group{margin:18px 0 28px;}.file-group-head{display:flex;align-items:center;justify-content:space-between;padding:0 2px 10px;border-bottom:1px solid var(--line);margin-bottom:12px;}.organized-file{overflow:hidden;padding:0!important;}.file-thumb{height:128px;background:linear-gradient(135deg,var(--panel2),var(--panel2));display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:22px;font-weight:700;border-bottom:1px solid var(--line);}.file-thumb img{width:100%;height:100%;object-fit:cover;}.file-video{font-size:17px;}.file-doc{letter-spacing:1px;}.file-card-body{padding:14px;}.file-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;}.logistics-meta{margin-top:8px;padding:8px 10px;border-radius:10px;background:rgba(9,200,220,.08);color:var(--text);font-size:13px;}.file-note{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.5;}.upload-drop{border:1.5px dashed var(--line2);border-radius:16px;padding:28px;text-align:center;background:var(--panel2);cursor:pointer;margin:14px 0;}.upload-drop.drag{border-color:var(--cyan);background:rgba(8,180,200,.12);}.upload-drop b,.upload-drop span{display:block;}.upload-drop span{margin-top:8px;color:var(--muted);}.upload-file-list{max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:16px;}.upload-file-list>div{display:flex;justify-content:space-between;gap:14px;padding:7px 4px;border-bottom:1px solid rgba(120,170,200,.1);}.upload-list-head{position:sticky;top:0;background:var(--panel);z-index:1;}.video-preview{width:min(100%,1100px);max-height:70vh;background:var(--panel2);border-radius:12px;}.ops-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,var(--panel2),var(--panel2));margin-bottom:14px;}.ops-alert{display:flex;gap:12px;align-items:center;padding:13px 16px;border-radius:12px;margin:9px 0;}.ops-alert.warning{background:rgba(244,170,44,.12);border:1px solid rgba(244,170,44,.35);}.ops-alert.critical{background:rgba(255,77,87,.12);border:1px solid rgba(255,77,87,.35);}.ops-alert.healthy{background:rgba(37,190,110,.12);border:1px solid rgba(37,190,110,.35);}.ops-alert span{color:var(--muted);}.ops-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:16px 0;}.ops-card{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:16px;}.ops-card>span,.ops-card>small{display:block;color:var(--muted);}.ops-card>b{display:block;font-size:26px;margin:7px 0;}.meter{height:6px;border-radius:6px;background:var(--panel2);overflow:hidden;margin:10px 0;}.meter i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--panel));}
@media(max-width:1200px){.ops-grid{grid-template-columns:repeat(3,1fr);}}@media(max-width:760px){.ops-grid{grid-template-columns:1fr 1fr;}.file-toolbar .input:first-child{min-width:100%;}.pager{align-items:flex-start;flex-direction:column;}}

.project-viewbar{display:flex;gap:8px;margin-bottom:10px;}.view-chip{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:999px;padding:8px 14px;cursor:pointer;}.view-chip.active{background:linear-gradient(135deg,var(--panel),var(--panel));color:var(--text);border-color:transparent;}.project-pinned{background:rgba(18,184,199,.045);}.focus-40{background:var(--danger-bg)!important;color:var(--text)!important;}.focus-30{background:var(--warning-bg)!important;color:var(--orange)!important;}.focus-20{background:var(--panel2)!important;color:var(--text)!important;}.business-doc-list{display:grid;gap:12px;}.business-doc-card{display:flex;justify-content:space-between;gap:20px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);}.business-doc-card h3{margin:8px 0 4px;}.doc-money{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0;}.settings-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 20px;margin-bottom:14px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,rgba(14,184,200,.08),rgba(44,105,238,.05));}.settings-hero h3{margin:3px 0;}.preview-frame{background:var(--panel);}.file-actions{flex-wrap:wrap;}

/* Alpha14 personnel workload, waiting-risk and cleaner enterprise visual system */
.field-split{grid-template-columns:1fr 1fr!important;align-items:start;}.field-split>div{min-width:0;}.field-split .toolbar .primary{min-width:180px;}
.project-name-link{border:0;background:transparent;color:var(--text);font-weight:800;padding:0;cursor:pointer;text-align:left;}.project-name-link:hover{color:var(--blue);text-decoration:underline;}.row-menu{display:inline-block;position:relative;margin-left:6px;}.row-menu summary{list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:8px;padding:7px 10px;background:var(--panel2);color:var(--muted);}.row-menu summary::-webkit-details-marker{display:none;}.row-menu>div{position:absolute;right:0;top:38px;z-index:20;min-width:140px;background:var(--panel);border:1px solid var(--line);box-shadow:0 12px 28px rgba(0,0,0,.22);border-radius:10px;padding:6px;}.row-menu>div button{width:100%;border:0;background:transparent;color:var(--text);text-align:left;padding:8px;border-radius:7px;}.row-menu>div button:hover{background:var(--panel2);}
.project-attention-row td{background:rgba(240,163,47,.035);}.attention-mini{font-size:10px;color:var(--orange);margin-top:4px;white-space:normal;}.attention-text{color:var(--orange);font-weight:700;}.zero-money{color:var(--orange)!important;}.wait-note{font-size:10px;color:var(--orange);margin-top:5px;max-width:180px;white-space:normal;}.tag.purple{background:var(--panel);color:var(--purple);border:1px solid var(--line2);}
.employee-viewbar{display:flex;gap:8px;margin-bottom:14px;}.workload-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--panel);margin-bottom:14px;}.workload-hero h3{font-size:24px;margin:3px 0 5px;}.workload-hero p{margin:0;color:var(--muted);max-width:760px;}.workload-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}.workload-kpis .small-value{font-size:19px;line-height:1.25;}.workload-table{min-width:1100px;}.util-cell{min-width:150px;}.util-bar{height:7px;background:var(--panel);border-radius:999px;overflow:hidden;margin-top:7px;}.util-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--success-bg),var(--panel));}.workload-warning td{background:rgba(245,158,11,.06);}.workload-critical td{background:rgba(239,68,68,.07);}

/* Cleaner Apple-inspired enterprise palette: light, restrained, high legibility */
:root{--bg:#f5f5f7;--bg2:#fbfbfd;--panel:#ffffff;--panel2:#f7f8fa;--panel3:#eef2f7;--line:#e1e5ea;--line2:#cbd3dc;--text:#1d1d1f;--muted:#6e6e73;--cyan:#0a84ff;--blue:#0071e3;--green:#238636;--orange:#b96900;--red:#d70015;--purple:#6e5bd6;--shadow:0 8px 26px rgba(0,0,0,.055)}
html,body{background:var(--bg);color:var(--text);}aside{background:rgba(255,255,255,.95);border-color:var(--line);}.brand span{color:var(--blue);}.nav-title{color:var(--muted);}nav button{color:var(--text);}nav button:hover,nav button.active{background:var(--panel);color:var(--text);box-shadow:inset 3px 0 0 var(--blue);}.side-bottom{border-color:var(--line);}.user-chip{color:var(--text);}.user-chip:hover{background:var(--panel);}header{background:rgba(255,255,255,.88);border-color:var(--line);box-shadow:0 1px 0 rgba(0,0,0,.02);}
.primary{background:var(--blue);border-radius:10px;}.secondary{background:var(--panel);color:var(--text);border-color:var(--line2);}.ghost{background:var(--panel);color:var(--text);border-color:var(--line2);}.danger-btn{background:var(--panel);color:var(--red);border-color:var(--line2);}.success-btn{background:var(--panel);color:var(--muted);border-color:var(--line2);}.input{background:var(--panel);border-color:var(--line2);color:var(--text);}.input:focus{outline:2px solid rgba(0,113,227,.18);border-color:var(--blue);}.field label{color:var(--muted);}.card,.kpi,.hero-panel,.ops-card,.ops-hero,.security-center-hero,.role-card,.module-policy-card,.workload-hero{background:var(--panel)!important;border-color:var(--line)!important;box-shadow:var(--shadow);}.card-h{border-color:var(--line2);}.kpi:after{display:none;}.kpi.important{background:var(--panel)!important;border-color:var(--line2)!important;}.kpi.warn{border-color:var(--line2)!important;}.kpi.danger{border-color:var(--line2)!important;}.kpi.good{border-color:var(--line2)!important;}.hero-panel{background:var(--panel)!important;}.metric-ring:after{background:var(--panel);}.progress,.meter{background:var(--panel);}table{color:var(--text);}th{background:var(--panel);color:var(--muted);border-color:var(--line2);}td{border-color:var(--line2);}tr:hover td{background:var(--panel);}.tag{background:var(--panel);color:var(--muted);}.tag.green{background:var(--panel);color:var(--muted);}.tag.orange{background:var(--panel);color:var(--orange);}.tag.red{background:var(--panel);color:var(--red);}.tag.cyan{background:var(--panel);color:var(--blue);}.tag.phase-presales{background:var(--panel);color:var(--blue);border-color:var(--line2);}.tag.phase-contract{background:var(--panel);color:var(--muted);border-color:var(--line2);}.tag.phase-aftersales{background:var(--panel);color:var(--orange);border-color:var(--line2);}.tag.phase-other{background:var(--panel);color:var(--muted);border-color:var(--line2);}.empty{background:var(--panel);border-color:var(--line2);}.bulkbar{background:var(--panel);border-color:var(--line2);}.config-tabs,.tabs{border-color:var(--line2);}.config-tabs button,.tabs button{color:var(--muted);}.config-tabs button.active,.tabs button.active{color:var(--blue);border-color:var(--blue);background:transparent;}.login-wrap{background:linear-gradient(180deg,var(--bg),var(--panel));}.login-card{background:var(--panel);border-color:var(--line);box-shadow:0 24px 70px rgba(0,0,0,.12);}.login-card p{color:var(--muted);}.login-card input{background:var(--panel);border-color:var(--line2);color:var(--text);}.modal{background:var(--panel2);backdrop-filter:blur(8px);}.modal-card{background:var(--panel);border-color:var(--line);box-shadow:0 28px 80px rgba(0,0,0,.16);}.modal-x{background:var(--panel);color:var(--text);border-color:var(--line2);}.toast{background:var(--text);border:0;color:var(--text);}.workspace-hero,.workspace-nav,.workspace-topbar,.mini-kpi,.info-item,.form-section,.assessment-summary,.dashboard-privacy-bar{background:var(--panel)!important;border-color:var(--line)!important;box-shadow:none;}.workspace-location,.workspace-hero-note,.muted{color:var(--muted)!important;}.code-badge{background:var(--panel);color:var(--muted);border-color:var(--line2);}.worklog-content-input,.switch-line,.locked-field,.confirm-detail,.upload-drop,.upload-file-list{background:var(--panel)!important;color:var(--text)!important;border-color:var(--line2)!important;}.work-date-cell,.worklog-summary>b{color:var(--text);}.file-thumb{background:var(--panel);}.row-menu>div{background:var(--panel);}.row-menu summary{background:var(--panel);}.dashboard-privacy-bar{background:var(--panel)!important;}.sensitive-mask .value{color:var(--muted);}.workspace{background:var(--bg);}.alert-row{background:var(--panel);}.alert-row.good{background:var(--panel);}.security-tabs{background:var(--panel2);border-color:var(--line);}.security-tabs button{color:var(--muted);}.security-tabs button.active{background:var(--panel);color:var(--blue);border-color:var(--line2);}.locked-panel,.security-note{background:var(--panel);color:var(--orange);border-color:var(--line2);}.locked-panel b{color:var(--orange);}.ops-alert.healthy{background:var(--panel);}.ops-alert.warning{background:var(--panel);}.ops-alert.critical{background:var(--panel);}
@media(max-width:1000px){.field-split{grid-template-columns:1fr!important;}.workload-hero{flex-direction:column;}}
.attention-strip{margin:14px 0;}.attention-strip>button{width:100%;display:flex;align-items:center;gap:18px;border:1px solid var(--line2);background:var(--panel);color:var(--muted);border-radius:14px;padding:13px 16px;text-align:left;}.attention-strip b{color:var(--muted);}.attention-strip span{background:var(--panel);border-radius:999px;padding:4px 9px;font-size:12px;}.attention-strip i{margin-left:auto;color:var(--orange);font-style:normal;}.waiting-info{grid-column:span 2;border-color:var(--line2)!important;background:var(--panel)!important;}

/* Alpha14.2: light themes and native picker contrast share one palette. */
:root{--input-bg:#fff;--input-text:#18212f;--nav-active:#eaf3ff;--focus:#0071e3;color-scheme:light}
:root[data-theme="blue"]{--bg:#edf3fa;--bg2:#f5f9ff;--panel:#fff;--panel2:#eef4fb;--panel3:#e1ebf7;--line:#c5d4e6;--line2:#9fb6d0;--text:#183047;--muted:#4b6075;--blue:#145fa9;--cyan:#145fa9;--nav-active:#dceaff;--focus:#145fa9}
:root[data-theme="green"]{--bg:#eff5f1;--bg2:#f8fcf9;--panel:#fff;--panel2:#edf5ef;--panel3:#ddece2;--line:#c7dacf;--line2:#9bbda7;--text:#193b2b;--muted:#4a6656;--blue:#17683f;--cyan:#17683f;--nav-active:#dceee2;--focus:#17683f}
:root[data-theme="contrast"]{--bg:#eceff3;--bg2:#fff;--panel:#fff;--panel2:#e9edf2;--panel3:#dce3ed;--line:#596579;--line2:#35445b;--text:#101824;--muted:#344054;--blue:#00459e;--cyan:#00459e;--nav-active:#dbe8ff;--focus:#00459e;--shadow:none}
html,body,.workspace{background:var(--bg);color:var(--text);}aside,header{background:var(--panel);}
.primary{background:var(--blue);color:var(--text);}.brand span,.eyebrow{color:var(--blue);}
.nav-title,.field label,.muted,.workspace-location,.workspace-hero-note{color:var(--muted)!important;}
nav button{color:var(--text);}nav button:hover,nav button.active{background:var(--nav-active);color:var(--text);box-shadow:inset 3px 0 0 var(--blue);}
.input,.login-card input{background:var(--input-bg);color:var(--input-text);border-color:var(--line2);color-scheme:light;}
.input:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--focus);}
input[type="date"],input[type="datetime-local"],input[type="month"],input[type="time"]{background:var(--input-bg)!important;color:var(--input-text)!important;color-scheme:light!important;}
input::-webkit-calendar-picker-indicator{filter:none!important;opacity:1!important;cursor:pointer;background-color:var(--panel);border-radius:3px;padding:4px;}
.worklog-content-input,.switch-line{color:var(--text)!important;background:var(--panel)!important;border-color:var(--line2)!important;}
.theme-control{display:flex;align-items:center;gap:6px;color:var(--text);white-space:nowrap;font-size:13px;}.theme-control .input{width:110px;min-width:0;padding:6px 9px;}
header .header-actions{flex-wrap:wrap;}.modal{backdrop-filter:none;}.card,.kpi{box-shadow:var(--shadow);}
:root[data-theme="contrast"] .tag{border:1px solid currentColor}

/* All four light themes use paired semantic colors. */
:root{--warning-bg:#fff4e2;--danger-bg:#fff0f1;--success-bg:#eaf7ef;--on-accent:#fff;--selected-bg:#e7f0ff;--selected-text:#133f7a;--line:#c3cbd5;--line2:#a6b2c2;--muted:#525f70}
:root[data-theme="blue"]{--selected-bg:#dfebfc;--selected-text:#173d70;--line:#b5c7dc}
:root[data-theme="green"]{--selected-bg:#deeee3;--selected-text:#174d30;--line:#b4cbbb}
:root[data-theme="contrast"]{--selected-bg:#dce9ff;--selected-text:#003377;--line:#596579;--line2:#35445b;--muted:#344054}
.primary,.login-card>button:not(.ghost):not(.link-btn),.user-chip>span:first-child,.view-chip.active,.ws-nav-group button.active{background:var(--blue);color:var(--on-accent)}
.person-checks{background:var(--panel);border-color:var(--line2)}
.person-checks label{background:var(--panel2);color:var(--text);border:1px solid var(--line);min-height:38px}
.person-checks label:has(input:first-child:checked){background:var(--selected-bg);color:var(--selected-text);border-color:var(--blue)}
.person-checks label small{color:var(--muted)!important}.person-checks input{accent-color:var(--blue);width:17px;height:17px;flex-shrink:0}
.ws-nav-group,.module-intro,.config-section,.config-module-head,.option-panel,.field-config-card,.security-lock-card,.confirm-detail{background:var(--panel2);color:var(--text);border-color:var(--line)}
.secondary,.ghost{background:var(--panel);color:var(--text);border-color:var(--line2)}
.tag{background:var(--panel3);color:var(--text)}.tag.green,.success-btn{background:var(--success-bg);color:var(--green)}.tag.red,.danger-btn{background:var(--danger-bg);color:var(--red)}.tag.orange{background:var(--warning-bg);color:var(--orange)}
.toast{background:var(--text);color:var(--panel)}.modal{background:rgba(20,25,35,.28)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.input:disabled,.row-disabled,.field-disabled{opacity:1;background:var(--panel2);color:var(--muted)}
pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:500px}.notice{background:var(--panel2);color:var(--text);border:1px solid var(--line);padding:12px;border-radius:10px;margin-bottom:12px}

:root{--green:#176b32;--orange:#915200;--red:#a11225}
.field-config-card.disabled{opacity:1;background:var(--panel2);color:var(--muted)}

.login-card #loginBtn{display:block;width:100%;min-height:56px;margin:18px 0 0;font-size:19px;font-weight:700;border:1px solid var(--blue);border-radius:12px;background:var(--blue);color:var(--on-accent);cursor:pointer}
.login-secondary{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.login-secondary button{min-height:44px;width:100%}.login-card h1{margin-bottom:28px}.login-card #recentAccounts{margin-bottom:12px}
.activity-bubbles{position:fixed;right:20px;bottom:22px;z-index:900;display:flex;flex-direction:column;gap:10px;width:min(360px,calc(100vw - 40px));pointer-events:none}
.activity-bubble{pointer-events:auto;background:var(--panel);color:var(--text);border:1px solid var(--line2);border-left:4px solid var(--blue);border-radius:12px;box-shadow:var(--shadow);padding:14px;display:flex;gap:10px;align-items:flex-start}
.activity-bubble .activity-open{flex:1;text-align:left;background:transparent;border:0;color:var(--text);cursor:pointer;line-height:1.7}.activity-bubble small{display:block;color:var(--muted)}
.activity-feed-row{padding:14px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}.activity-feed{max-height:55vh;overflow:auto}.activity-feed-row small{display:block;color:var(--muted)}

/* Toast variants use explicit semantic pairs, including the more-specific error selector. */
#toast.toast{top:24px;bottom:auto;left:50%;right:auto;transform:translateX(-50%);z-index:1200;width:max-content;max-width:calc(100vw - 32px);padding:15px 24px;border:1px solid var(--green);border-radius:12px;background:var(--success-bg);color:var(--green);font-size:16px;font-weight:600;line-height:1.6;white-space:normal;overflow-wrap:anywhere;box-shadow:var(--shadow);pointer-events:none}
#toast.toast.error{background:var(--danger-bg);color:var(--red);border-color:var(--red)}
#wlSaveError{width:100%;text-align:left}.modal-actions{flex-wrap:wrap}

.work-type-field{grid-column:1/-1}.work-type-tags{display:flex;flex-wrap:wrap;gap:8px}.work-type-tag{background:var(--panel);color:var(--text);border:1px solid var(--line2);border-radius:20px;padding:8px 14px;cursor:pointer}.work-type-tag.selected{background:var(--selected-bg);color:var(--selected-text);border-color:var(--blue);font-weight:700}

.work-coverage-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;margin:0 0 20px;border:2px solid var(--cyan);border-radius:12px;background:var(--panel);color:var(--text)}
.work-coverage-banner b,.work-coverage-banner span{display:block}.work-coverage-banner span{margin-top:5px}.work-coverage-banner>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.work-coverage-banner.hidden{display:none}
.employee-viewbar{display:flex;flex-wrap:wrap;gap:10px}@media(max-width:700px){.work-coverage-banner{align-items:stretch;flex-direction:column}}

.approval-details{background:var(--panel2);border:1px solid var(--line);padding:14px 18px;border-radius:12px;margin-bottom:16px;overflow-wrap:anywhere}.approval-history{padding:10px 0;border-bottom:1px solid var(--line)}.approval-history p{margin:6px 0;color:var(--muted)}#approvals .toolbar{flex-wrap:wrap}#approvals table{min-width:720px}

/* Alpha14.14: readable record actions and separated form submission. */
.record-actions{display:flex;flex-wrap:wrap;gap:12px;min-width:220px}
.toolbar{gap:14px;flex-wrap:wrap}
.toolbar button,.record-actions button,.card-h button,td>button{min-height:42px;padding:10px 16px;font-weight:650}
.toolbar .primary,.modal-actions .primary{min-height:46px;min-width:120px;font-size:15px}
.grid-form+.toolbar,.modal-actions{margin-top:22px;padding-top:14px;border-top:1px solid var(--line)}
td>button+button,.card-h button+button{margin-left:12px}
.record-detail{margin-top:18px;padding:14px;background:var(--panel2);border:1px solid var(--line);border-radius:10px}
.record-detail h3{margin:0 0 10px;font-size:15px}
.record-detail>div{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}
.worklog-waiting{background:var(--warning-bg)}
.worklog-waiting td:first-child{border-left:4px solid var(--orange)}
@media(max-width:700px){.record-actions{min-width:140px}.modal-actions button{flex:1}.toolbar button{min-height:46px}}
/* Alpha14.15: grouped directory data and bottom-right notifications. */
#toast.toast{top:auto;bottom:24px;left:auto;right:24px;transform:none;width:min(420px,calc(100vw - 48px));animation:notification-rise .24s ease-out}
.activity-bubbles{bottom:96px}.activity-bubble{animation:notification-rise .3s ease-out}
@keyframes notification-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.employee-directory-table{min-width:1100px;table-layout:fixed}.employee-directory-table th,.employee-directory-table td{padding:16px 12px;vertical-align:top}
.employee-directory-table th{white-space:nowrap}.employee-directory-table th:nth-child(1){width:42px}.employee-directory-table th:nth-child(2){width:110px}.employee-directory-table th:nth-child(3){width:135px}.employee-directory-table th:nth-child(4){width:230px}.employee-directory-table th:nth-child(5){width:155px}.employee-directory-table th:nth-child(6){width:80px}.employee-directory-table th:nth-child(8){width:205px}
.employee-directory-table td>small{display:block;margin-top:8px;color:var(--muted)}
.employee-directory-table .record-actions{min-width:0;gap:10px}.employee-note{overflow-wrap:anywhere;line-height:1.6}
.employee-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;padding:10px;border-radius:10px;background:var(--panel2)}
.employee-metrics span,.employee-prices span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.employee-metrics b{display:block;white-space:nowrap}.employee-prices{display:grid;gap:4px}.employee-prices span:not(:first-child){margin-top:10px}.employee-prices b{white-space:nowrap;font-size:14px}
.employee-more{width:100%;padding-top:6px}.employee-more summary{cursor:pointer;color:var(--blue);padding:9px 4px}.employee-more>div{display:flex;flex-wrap:wrap;gap:10px;padding-top:10px}
#employees .bulkbar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:18px;margin:16px 0;border:1px solid var(--line);border-radius:12px}#employees .bulkbar .input{width:220px;max-width:100%}
#directoryWorkloadControls .toolbar{padding:16px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;margin:16px 0}
#directoryWorkloadControls select{width:90px}#directoryWorkloadControls input[type=date]{width:180px}
.approval-route-panel{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);margin:18px 0}
.approval-route-panel span{display:block;margin-top:8px}.approval-details{background:var(--panel2);border:1px solid var(--line);padding:18px;border-radius:12px;line-height:1.8}.approval-details p{white-space:pre-wrap;overflow-wrap:anywhere}
#approvals td{padding:16px 12px}#approvals th{white-space:nowrap}#approvals table{min-width:860px}.modal .grid-form{gap:20px}.modal .field label{font-size:13px;line-height:1.6}.modal .grid-form textarea{min-height:110px}
.coverage-person-list{display:grid;gap:16px}.coverage-person{padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.coverage-person>div{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.coverage-person summary{cursor:pointer;color:var(--blue);padding-top:16px}.coverage-dates{display:grid;gap:10px;margin-top:16px}.coverage-dates>div{display:flex;flex-wrap:wrap;align-items:center;gap:14px;border-top:1px solid var(--line);padding-top:12px}
@media(prefers-reduced-motion:reduce){#toast.toast,.activity-bubble{animation:none}}
@media(max-width:700px){#toast.toast{right:16px;bottom:16px;width:calc(100vw - 32px)}.activity-bubbles{right:16px;bottom:100px;width:calc(100vw - 32px)}.modal-card{padding:18px}.approval-route-panel{align-items:stretch;flex-direction:column}.coverage-dates>div{align-items:flex-start;flex-direction:column}}
.employee-directory-table{font-size:14px}#approvals table{font-size:14px}.workload-table td,.workload-table th{padding:14px 12px}
/* Alpha14.16: restore compact flat rows, with bounded text and stable action columns. */
.employee-compact-table{min-width:1320px;font-size:13px;table-layout:auto}.employee-compact-table th{white-space:nowrap}.employee-compact-table th,.employee-compact-table td{padding:11px 10px;vertical-align:middle}
.employee-compact-table th:nth-child(3),.employee-compact-table td:nth-child(3){min-width:82px;white-space:nowrap}.employee-compact-table th:nth-child(7),.employee-compact-table th:nth-child(8){min-width:110px}
.employee-compact-table th:nth-child(12),.employee-compact-table td:nth-child(12){width:180px;max-width:220px;overflow-wrap:anywhere}
.employee-compact-table th:last-child,.employee-compact-table td:last-child{width:330px;min-width:280px}.employee-compact-table .employee-actions button{min-height:36px;padding:7px 10px;font-size:13px;margin:3px 6px 3px 0}.employee-compact-table .employee-actions button+button{margin-left:0}
.employee-compact-table .ghost{min-height:34px;padding:6px 9px}.employee-compact-table .muted{font-size:12px}
.worklog-table{min-width:1280px}.worklog-table th{white-space:nowrap}.worklog-table th:nth-child(1){width:112px}.worklog-table th:nth-child(2){width:92px}.worklog-table th:nth-child(3){width:210px}.worklog-table th:nth-child(4){width:100px}.worklog-table th:nth-child(5){width:78px}.worklog-table th:nth-child(6){width:110px}.worklog-table th:last-child{width:240px}
.worklog-table td:nth-child(2){white-space:nowrap}.worklog-table .record-actions{min-width:220px;gap:8px;flex-wrap:nowrap}.worklog-table .record-actions button{min-height:38px;padding:8px 12px;font-size:13px;white-space:nowrap}
.worklog-filters,.worklog-pagination{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:14px 0}.worklog-filters label{display:grid;gap:7px;color:var(--muted);font-size:12px}.worklog-filters .input{width:170px}.worklog-pagination{align-items:center;justify-content:flex-end}.worklog-pagination>span{margin-right:auto}.worklog-pagination .input{width:90px;min-width:90px}.worklog-pagination button,.worklog-filters button{min-height:38px;padding:8px 14px}

/* Alpha14.17: independently scrollable navigation with pinned account controls. */
aside{height:100vh;height:100dvh;box-sizing:border-box;overflow:hidden}.brand,.side-bottom{flex-shrink:0}.sidebar-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--muted) var(--panel2);padding-right:4px}.sidebar-scroll:focus-visible{outline:2px solid var(--focus)}.route-cc-options{max-height:220px;overflow-y:auto;border:1px solid var(--line);border-radius:8px;padding:10px;display:grid;gap:10px}.route-cc-options label{display:flex;gap:8px;align-items:center}
@media(max-width:1000px){aside{height:auto;overflow:visible}.sidebar-scroll{flex:none;max-height:40vh;overflow-y:auto}}
/* Alpha14.19: compact summaries and contextual actions. */
.work-coverage-banner{min-height:48px;padding:8px 14px;margin:0 0 12px;border:1px solid var(--line2);border-left:3px solid var(--blue);border-radius:9px;gap:12px;box-sizing:border-box}
.work-coverage-banner .coverage-summary{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:13px}.work-coverage-banner .coverage-summary b,.work-coverage-banner .coverage-summary span{display:inline;margin:0}.coverage-summary b{font-size:14px}.coverage-count{color:var(--orange);font-weight:600}.coverage-note{color:var(--muted);font-size:12px}.work-coverage-banner button{min-height:36px;padding:7px 12px;white-space:nowrap}
.employee-tools{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:10px 12px;margin-bottom:12px}.employee-tools-top,.employee-tools-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.employee-tools-top{padding-bottom:8px;border-bottom:1px solid var(--line)}.employee-tools-bottom{padding-top:8px}.employee-tools .employee-viewbar{gap:6px;margin:0}.employee-tools button{min-height:36px;padding:7px 12px;font-size:13px}.employee-tools .view-chip{border-radius:8px}.employee-cost-tools,.employee-list-actions,.employee-period-tools,.employee-period-tools label{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.employee-tools .input{height:36px;padding:6px 9px}.employee-period-tools{font-size:12px}.employee-period-tools select{width:70px}.employee-period-tools input{width:155px}.employee-period-label{color:var(--muted)}.employee-list-actions input{width:180px}.employee-list-actions.hidden{display:none}.cost-status{font-size:12px;color:var(--muted)}.workload-report-heading{display:flex;align-items:center;justify-content:space-between;margin:12px 0;gap:12px}.workload-notes{margin-top:12px;color:var(--muted);font-size:13px}.workload-notes summary{cursor:pointer;padding:8px 0}.workload-notes .notice{margin-top:8px}
.coverage-drawer{justify-content:flex-end;align-items:stretch;padding:0}.coverage-drawer .modal-card{width:min(620px,100%);height:100vh;height:100dvh;max-height:100dvh;margin:0;border-radius:12px 0 0 12px;box-sizing:border-box}.coverage-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:28px}.coverage-drawer-head h2{margin:0}.coverage-drawer-head>span{font-size:12px;color:var(--muted)}.coverage-drawer-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.coverage-drawer-tools input{flex:1;min-width:140px}.coverage-drawer-tools select{width:150px}.coverage-person-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.coverage-person-title span{font-size:12px;color:var(--muted)}.coverage-person details{margin-top:8px}.coverage-person summary{cursor:pointer;font-size:13px}.coverage-dates>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.coverage-dates small{display:block;color:var(--muted);margin-top:4px}.coverage-task{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.coverage-task span{display:block;font-size:12px;color:var(--muted);margin-top:4px}.coverage-task>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.coverage-task button,.coverage-dates button{min-height:36px;padding:7px 12px;white-space:nowrap}
@media(max-width:700px){.work-coverage-banner{flex-direction:row;align-items:center}.work-coverage-banner .coverage-summary{gap:6px 10px}.employee-tools-bottom>div{width:100%}.employee-period-label{width:100%}.employee-list-actions input{flex:1;min-width:100px}.employee-cost-tools{margin-left:auto}.coverage-task{flex-wrap:wrap}.coverage-drawer .modal-card{border-radius:0}.coverage-drawer-head{align-items:flex-start;flex-direction:column}}
/* Alpha14.20: profiles show today's facts; report periods stay in reports. */
#directoryWorkloadControls.hidden,#employeeProfileHint.hidden{display:none}.employee-profile-table{min-width:1060px;font-size:13px}.employee-profile-table th,.employee-profile-table td{padding:10px}.employee-profile-table th:nth-child(8){min-width:175px}.employee-profile-table td:nth-child(9){width:160px;max-width:200px;white-space:normal;overflow-wrap:anywhere}.employee-profile-table td:last-child,.employee-profile-table th:last-child{width:138px;min-width:138px}.employee-profile-table .employee-action-line{display:flex;gap:8px;align-items:center;flex-wrap:nowrap;white-space:nowrap}.employee-profile-table .employee-action-line button{margin:0;min-height:36px;padding:7px 10px}.employee-today-status{display:flex;align-items:center;gap:5px;flex-wrap:wrap;max-width:235px;margin-top:5px}.employee-today-status .tag{font-size:11px;line-height:1.4;max-width:225px;white-space:normal}.employee-active-state{display:block;color:var(--muted);font-size:11px;margin-top:4px}.today-trip{color:var(--blue)}.today-leave{color:var(--orange)}.today-outing{color:var(--blue)}.today-overtime{color:var(--orange)}.today-unconfirmed{color:var(--muted)}.employee-more-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.employee-more-actions button{min-height:42px;padding:10px 16px}.approval-ledger-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.approval-ledger-heading{display:flex;align-items:center;gap:12px;margin-bottom:12px}.workload-report-heading{flex-wrap:wrap}
.employee-list-actions .employee-status-filter{width:110px;min-width:100px}
/* Alpha14.21: one scalable records entry instead of permanent ledger buttons. */
.approval-record-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.approval-record-menu button{text-align:left;padding:14px 16px;min-height:74px}.approval-record-menu b{display:block;font-size:15px}.approval-record-menu span{display:block;margin-top:7px;font-size:12px;color:var(--muted)}.approval-record-filter{display:flex;align-items:center;gap:8px;font-size:13px;margin-left:auto}.approval-record-filter .input{width:110px;min-height:36px;padding:6px 8px}@media(max-width:600px){.approval-record-menu{grid-template-columns:1fr}.approval-record-filter{margin-left:0}}
/* Alpha14.22: business access is distinct from extra verification. */
.module-access-summary{display:grid;gap:5px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;font-size:12px;background:var(--panel2)}.module-access-summary span{color:var(--muted)}.admin-module-policies{margin-top:18px;border:1px solid var(--line);border-radius:10px;padding:14px}.admin-module-policies>summary{cursor:pointer;font-weight:700;font-size:14px}.admin-module-policies>.module-policy-grid{margin-top:12px}

/* Alpha14.23: staff dynamics and multi-person travel */
.employee-name-dynamic{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:180px}.employee-name-dynamic>b{white-space:nowrap}.employee-name-dynamic .employee-today-status{display:flex;gap:5px;flex-wrap:wrap;margin:0}.trip-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:180px;overflow:auto;margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:8px}.trip-people label{display:flex;align-items:center;gap:8px;font-size:14px;margin:0;cursor:pointer;color:var(--text)}.trip-people label[hidden]{display:none}.trip-people input{width:18px;height:18px}.approval-upload{margin-top:20px;padding:16px;border:1px solid var(--line);border-radius:10px}.modal-card td:first-child{white-space:nowrap}.modal-card #lvDaily{max-height:280px;overflow:auto}.modal-card button{min-height:40px}.modal-card .toolbar{gap:14px}@media(max-width:650px){.trip-people{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-name-dynamic{min-width:140px}}

.approval-config-field{padding:16px;border:1px solid var(--line);border-radius:10px;margin:12px 0}

.expense-item{padding:14px;margin-bottom:12px;border:1px solid var(--line);border-radius:10px}.expense-item>button{margin-top:12px}

.faq-list{display:grid;gap:12px;margin-bottom:16px}.faq-card{text-align:left;padding:18px;background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:10px;display:grid;gap:10px}.faq-card span,.faq-card small{color:var(--muted)}

.change-order{margin-bottom:16px}.change-version{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.change-version>div{display:grid;gap:6px}.change-version span{color:var(--muted)}.change-attachments>div{display:flex;align-items:center;gap:14px;padding:12px 0;flex-wrap:wrap}.change-attachments span{color:var(--muted);font-size:12px}#projectChangesBody table{min-width:750px}#projectChangesBody td small{display:block;margin-top:6px}

:root{--brand-image-bg:#fff;--brand-image-border:#d4dce8}
.brand-image-frame{background:var(--brand-image-bg);border:1px solid var(--brand-image-border);border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:6px}.brand-image-frame img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;filter:none}.sidebar-brand{width:100%;height:76px;margin-bottom:10px}.login-brand{width:100%;height:118px;margin-bottom:20px}.branding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.branding-slot{min-width:0}.branding-preview{height:180px;margin:12px 0}.branding-slot .toolbar{gap:12px;margin-top:16px}.branding-tip{padding:0 18px 18px}.branding-settings{margin-bottom:22px}@media(max-width:650px){.branding-grid{grid-template-columns:1fr}.sidebar-brand{max-width:240px}}

.login-brand.vertical-logo{width:200px;height:190px;margin-left:auto;margin-right:auto}.sidebar-brand.vertical-logo{height:130px}

.money-eye{background:transparent;color:var(--text);border:0;cursor:pointer;min-width:30px;min-height:30px}.project-parent{margin:6px 0}.announcement-banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 20px;background:var(--panel);border-bottom:1px solid var(--line)}.announcement-row{display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding:16px 0}.announcement-row small{display:block;margin-top:8px;color:var(--muted)}.announcement-content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}

.source-sheet-scroll{max-height:60vh;overflow:auto;border:1px solid var(--line)}.source-sheet-scroll td{white-space:pre-wrap;min-width:140px;max-width:500px;border:1px solid var(--line);overflow-wrap:anywhere}.source-sheet-scroll th{position:sticky;left:0;background:var(--panel2)}.source-pdf{width:100%;height:65vh;border:1px solid var(--line)}
.project-support-summary{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px;margin-top:6px;max-width:380px;font-size:12px}
.project-support-person{display:inline-flex;align-items:center;gap:4px;padding:2px 5px;border-radius:5px;background:var(--bg);color:var(--text)}
.project-support-person small{color:var(--muted);font-size:11px}
.employee-contact{display:block;color:var(--muted);font-variant-numeric:tabular-nums}
.support-contact-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.support-contact-card small{display:block;color:var(--muted);margin-top:7px}
.support-contact-actions{display:flex;align-items:center;gap:12px;white-space:nowrap}
.support-person-options{display:flex;gap:12px;flex-wrap:wrap;max-height:220px;overflow:auto;padding:12px;border:1px solid var(--line);border-radius:8px}
@media(max-width:600px){.support-contact-card{align-items:flex-start;flex-direction:column}.project-support-summary{max-width:240px}.support-contact-actions{width:100%;justify-content:space-between}}
.nav-title{width:100%;display:flex;align-items:center;justify-content:space-between;font-size:15px;font-weight:600;text-transform:none;background:transparent;border:0;color:var(--muted);padding:10px 11px;border-radius:8px;text-align:left}
.nav-title:hover{background:var(--panel2);color:var(--text)}
.nav-collapsed>nav{display:none}.nav-collapsed>.nav-title>span{transform:rotate(-90deg)}
.daily-preview-image{display:block;max-width:100%;max-height:70vh;margin:auto;object-fit:contain}
.daily-text-preview{white-space:pre-wrap;overflow:auto;max-height:65vh;padding:16px;background:var(--panel2);color:var(--text)}
.archive-work-card{margin-bottom:14px}.archive-work-card p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}
.daily-drop-zone{border:2px dashed var(--line2);padding:18px;border-radius:10px;background:var(--panel2);outline-offset:4px}
.daily-drop-zone.drag-over{border-color:var(--blue);background:var(--panel3)}
.daily-gallery{display:flex;align-items:center;gap:12px;justify-content:center}.daily-gallery img{min-width:0;max-width:calc(100% - 180px)}
@media(max-width:600px){.daily-gallery{flex-wrap:wrap}.daily-gallery img{max-width:100%;order:-1;width:100%}}

.pending-image-overlay{position:fixed;inset:0;z-index:120;background:var(--panel);color:var(--text);padding:24px;overflow:auto;display:flex;flex-direction:column;align-items:center;gap:14px}

/* Employee per-day allowance and settlement comparison. */
.employee-profile-table{min-width:1390px}.employee-profile-table th:nth-child(8){min-width:120px}.employee-profile-table td:nth-child(9){width:auto;max-width:none;white-space:nowrap}.employee-profile-table td:nth-child(12){width:160px;max-width:220px;white-space:normal;overflow-wrap:anywhere}.employee-profile-table .money{white-space:nowrap}.employee-profile-table .money .tag{display:table;margin-top:5px}

/* Alpha14.34: sidebar-only palette; never alters shared theme tokens. */
aside .sidebar-scroll{--sidebar-heading:#174b85;--sidebar-heading-bg:#eaf2fc;--sidebar-item:#374151;--sidebar-selected:#174b85;--sidebar-selected-bg:#e2edfb}
:root[data-theme="blue"] aside .sidebar-scroll{--sidebar-heading:#124f8c;--sidebar-heading-bg:#e3eefb;--sidebar-item:#344b63;--sidebar-selected:#103f73;--sidebar-selected-bg:#d4e5fa}
:root[data-theme="green"] aside .sidebar-scroll{--sidebar-heading:#155f36;--sidebar-heading-bg:#e2f0e7;--sidebar-item:#40564a;--sidebar-selected:#124b2d;--sidebar-selected-bg:#cfe6d8}
:root[data-theme="contrast"] aside .sidebar-scroll{--sidebar-heading:#003c8f;--sidebar-heading-bg:#dce8fa;--sidebar-item:#17212f;--sidebar-selected:#fff;--sidebar-selected-bg:#003c8f}
aside .sidebar-scroll .nav-title{color:var(--sidebar-heading)!important;background:var(--sidebar-heading-bg);font-weight:750;margin-bottom:5px}
aside .sidebar-scroll nav button{color:var(--sidebar-item);padding-left:24px}
aside .sidebar-scroll nav button:hover,aside .sidebar-scroll nav button.active{color:var(--sidebar-selected);background:var(--sidebar-selected-bg);box-shadow:inset 3px 0 0 var(--sidebar-heading)}

/* Alpha14.37: compact cockpit. Chart semantics are local, independent of theme accents. */
#dashboard .cockpit-v37{max-width:1420px;margin:0 auto;container-type:inline-size;font-variant-numeric:tabular-nums}
#dashboard .cockpit-v37 .cp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
#dashboard .cockpit-v37 .cp-period{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
#dashboard .cockpit-v37 .cp-period b{font-size:15px;letter-spacing:-.02em}
#dashboard .cockpit-v37 .cp-period>span{font-size:11px;color:var(--muted)}
#dashboard .cockpit-v37 .cp-actions{display:flex;gap:7px;align-items:center;flex-shrink:0}
#dashboard .cockpit-v37 .cp-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:7px;padding:7px 10px;font-size:12px;line-height:1.3;cursor:pointer;white-space:nowrap}
#dashboard .cockpit-v37 .cp-button:hover{border-color:var(--line2);background:var(--panel2)}
#dashboard .cockpit-v37 .cp-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
#dashboard .cockpit-v37 .cp-grid{display:grid;grid-template-columns:1.18fr 1.12fr .9fr;gap:12px}
#dashboard .cockpit-v37 .cp-panel{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:17px 16px 12px;box-shadow:0 3px 12px rgba(20,40,70,.025)}
#dashboard .cockpit-v37 .cp-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}
#dashboard .cockpit-v37 .cp-overline{font-size:9px;letter-spacing:.14em;font-weight:700;color:var(--muted);line-height:1.5}
#dashboard .cockpit-v37 h3{font-size:15px;line-height:1.4;margin:3px 0 0;font-weight:700;letter-spacing:-.025em}
#dashboard .cockpit-v37 .cp-badge{font-size:10px;color:#1b6246;background:#ecf7f1;padding:4px 7px;border:1px solid #cde7d8;border-radius:5px;white-space:nowrap}
#dashboard .cockpit-v37 .cp-badge-warning{color:#8a4308;background:#fff4e4;border-color:#f1d6b0}
#dashboard .cockpit-v37 .cp-unit{font-size:10px;color:var(--muted);white-space:nowrap}
#dashboard .cockpit-v37 .cp-chart-layout{display:grid;grid-template-columns:144px minmax(0,1fr);align-items:center;gap:12px;min-height:156px}
#dashboard .cockpit-v37 .cp-ring-wrap{width:144px;height:144px;position:relative;flex-shrink:0}
#dashboard .cockpit-v37 .cp-ring-wrap svg{display:block;width:100%;height:100%}
#dashboard .cockpit-v37 .cp-ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;pointer-events:none}
#dashboard .cockpit-v37 .cp-ring-center strong{font-size:25px;letter-spacing:-.055em;line-height:1.1;font-weight:750}
#dashboard .cockpit-v37 .cp-ring-center span{font-size:9px;color:var(--muted)}
#dashboard .cockpit-v37 .cp-cost-ring{width:132px;height:132px}
#dashboard .cockpit-v37 .cp-cost-ring .cp-ring-center strong{font-size:13px;letter-spacing:-.03em}
#dashboard .cockpit-v37 .cp-cost-panel .cp-chart-layout{grid-template-columns:132px minmax(0,1fr)}
#dashboard .cockpit-v37 .cp-legend{display:grid;gap:12px;min-width:0}
#dashboard .cockpit-v37 .cp-legend>div{display:grid;gap:3px}
#dashboard .cockpit-v37 .cp-legend span{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted);white-space:nowrap}
#dashboard .cockpit-v37 .cp-legend b{font-size:18px;font-weight:700;line-height:1.3;letter-spacing:-.02em;white-space:nowrap}
#dashboard .cockpit-v37 .cp-legend small{font-size:10px;font-weight:400;color:var(--muted)}
#dashboard .cockpit-v37 .cp-cost-legend b{font-size:15px}
#dashboard .cockpit-v37 .cp-key{display:inline-block;width:7px;height:7px;border-radius:2px;flex-shrink:0;background:#98a5b5}
#dashboard .cockpit-v37 .cp-key-target{background:#2563eb}
#dashboard .cockpit-v37 .cp-key-recorded{background:#0891b2}
#dashboard .cockpit-v37 .cp-key-payroll{background:#4338ca}
#dashboard .cockpit-v37 .cp-key-allowance{background:#d97706}
#dashboard .cockpit-v37 .cp-person-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);margin-top:10px;padding-top:11px;font-size:10px;color:var(--muted);flex-wrap:wrap}
#dashboard .cockpit-v37 .cp-person-footer b{font-weight:650;color:var(--text)}
#dashboard .cockpit-v37 .cp-card-note{margin:10px 0 0;padding-top:11px;border-top:1px solid var(--line);font-size:10px;line-height:1.5;color:var(--muted)}
#dashboard .cockpit-v37 .cp-outcome{padding:12px 0 15px;display:flex;flex-direction:column;gap:9px}
#dashboard .cockpit-v37 .cp-outcome>span{font-size:12px;color:var(--muted)}
#dashboard .cockpit-v37 .cp-outcome strong{font-size:clamp(23px,2vw,31px);letter-spacing:-.055em;line-height:1.2;font-weight:750;overflow-wrap:anywhere}
#dashboard .cockpit-v37 .cp-outcome>small{font-size:10px;color:var(--muted)}
#dashboard .cockpit-v37 .cp-positive strong,#dashboard .cockpit-v37 .cp-positive>span{color:#16724f}
#dashboard .cockpit-v37 .cp-negative strong,#dashboard .cockpit-v37 .cp-negative>span{color:#b42332}
#dashboard .cockpit-v37 .cp-revenue{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:10px 0;font-size:11px}
#dashboard .cockpit-v37 .cp-revenue>span{color:var(--muted)}
#dashboard .cockpit-v37 .cp-revenue b{font-size:15px;white-space:nowrap}
#dashboard .cockpit-v37 .cp-context{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:12px 2px;font-size:10px;color:var(--muted)}
#dashboard .cockpit-v37 .cp-context>span{display:flex;align-items:center;gap:6px}
#dashboard .cockpit-v37 .cp-lower{display:grid;grid-template-columns:1.18fr 2.02fr;gap:12px;align-items:start}
#dashboard .cockpit-v37 .cp-detail{border:1px solid var(--line);border-radius:9px;background:var(--panel);overflow:hidden}
#dashboard .cockpit-v37 .cp-detail summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;cursor:pointer;font-size:11px;list-style:none}
#dashboard .cockpit-v37 .cp-detail summary::-webkit-details-marker{display:none}
#dashboard .cockpit-v37 .cp-detail summary:after{content:'＋';font-size:14px;color:var(--muted)}
#dashboard .cockpit-v37 .cp-detail[open] summary:after{content:'−'}
#dashboard .cockpit-v37 .cp-summary-value{font-size:10px;color:var(--muted);margin-left:auto}
#dashboard .cockpit-v37 .cp-detail-body{border-top:1px solid var(--line);padding:10px 13px;font-size:11px;line-height:1.8;color:var(--muted)}
#dashboard .cockpit-v37 .cp-detail-body p{margin:0 0 9px}
#dashboard .cockpit-v37 .cp-detail-body p:last-child{margin-bottom:0}
#dashboard .cockpit-v37 .cp-project-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0}
#dashboard .cockpit-v37 .cp-project-row>div{min-width:0}
#dashboard .cockpit-v37 .cp-project-row b{display:block;font-weight:600;color:var(--text)}
#dashboard .cockpit-v37 .cp-project-row small{display:block;font-size:10px;overflow-wrap:anywhere}
@container(max-width:900px){
 #dashboard .cockpit-v37 .cp-grid{grid-template-columns:1fr 1fr}
 #dashboard .cockpit-v37 .cp-outcome-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:center;gap:12px;padding-top:12px}
 #dashboard .cockpit-v37 .cp-outcome-panel .cp-card-head{margin:0}
 #dashboard .cockpit-v37 .cp-outcome{padding:0;gap:5px}
 #dashboard .cockpit-v37 .cp-outcome-panel .cp-card-note{grid-column:1/-1;margin-top:0;padding-top:8px}
 #dashboard .cockpit-v37 .cp-lower{grid-template-columns:1fr 1fr}
}
@container(max-width:620px){
 #dashboard .cockpit-v37 .cp-toolbar{align-items:flex-start;flex-direction:column;gap:10px}
 #dashboard .cockpit-v37 .cp-grid{grid-template-columns:1fr}
 #dashboard .cockpit-v37 .cp-chart-layout{grid-template-columns:144px 1fr;gap:18px;min-height:144px}
 #dashboard .cockpit-v37 .cp-outcome-panel{display:block}
 #dashboard .cockpit-v37 .cp-outcome{padding:12px 0}
 #dashboard .cockpit-v37 .cp-lower{grid-template-columns:1fr}
 #dashboard .cockpit-v37 .cp-context{gap:8px 16px}
}
@media(prefers-reduced-motion:reduce){#dashboard .cockpit-v37 *{animation:none!important;transition:none!important}}

#dashboard .cockpit-v37 .cp-badge-muted{color:var(--muted);background:var(--panel2);border-color:var(--line)}

/* Alpha14.38: medium-size cockpit proportions, scoped to the cockpit. */
#dashboard .cockpit-v37{max-width:1480px}
#dashboard .cockpit-v37 .cp-toolbar{margin-bottom:18px}
#dashboard .cockpit-v37 .cp-period b{font-size:17px}
#dashboard .cockpit-v37 .cp-period>span{font-size:12px}
#dashboard .cockpit-v37 .cp-grid{grid-template-columns:1.18fr 1fr;gap:16px}
#dashboard .cockpit-v37 .cp-panel{padding:22px 22px 17px;border-radius:14px}
#dashboard .cockpit-v37 .cp-card-head{margin-bottom:15px}
#dashboard .cockpit-v37 h3{font-size:18px;margin-top:4px}
#dashboard .cockpit-v37 .cp-overline{font-size:10px}
#dashboard .cockpit-v37 .cp-badge,#dashboard .cockpit-v37 .cp-unit{font-size:12px}
#dashboard .cockpit-v37 .cp-chart-layout{grid-template-columns:216px minmax(0,1fr);gap:24px;min-height:226px}
#dashboard .cockpit-v37 .cp-ring-wrap{width:210px;height:210px}
#dashboard .cockpit-v37 .cp-ring-center strong{font-size:34px}
#dashboard .cockpit-v37 .cp-ring-center span{font-size:12px}
#dashboard .cockpit-v37 .cp-cost-ring{width:194px;height:194px}
#dashboard .cockpit-v37 .cp-cost-ring .cp-ring-center strong{font-size:19px}
#dashboard .cockpit-v37 .cp-cost-panel .cp-chart-layout{grid-template-columns:198px minmax(0,1fr)}
#dashboard .cockpit-v37 .cp-legend{gap:19px}
#dashboard .cockpit-v37 .cp-legend span{font-size:12px}
#dashboard .cockpit-v37 .cp-legend b{font-size:24px}
#dashboard .cockpit-v37 .cp-legend small{font-size:12px}
#dashboard .cockpit-v37 .cp-cost-legend b{font-size:21px}
#dashboard .cockpit-v37 .cp-key{width:8px;height:8px}
#dashboard .cockpit-v37 .cp-person-footer,#dashboard .cockpit-v37 .cp-card-note{font-size:12px;margin-top:13px;padding-top:13px}
#dashboard .cockpit-v37 .cp-outcome-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:22px;align-items:center;padding-top:18px}
#dashboard .cockpit-v37 .cp-outcome-panel .cp-card-head{margin:0}
#dashboard .cockpit-v37 .cp-outcome{padding:0;gap:7px}
#dashboard .cockpit-v37 .cp-outcome>span{font-size:13px}
#dashboard .cockpit-v37 .cp-outcome strong{font-size:36px}
#dashboard .cockpit-v37 .cp-outcome>small{font-size:12px}
#dashboard .cockpit-v37 .cp-revenue{font-size:13px;flex-wrap:wrap}
#dashboard .cockpit-v37 .cp-revenue b{font-size:21px}
#dashboard .cockpit-v37 .cp-outcome-panel .cp-card-note{grid-column:1/-1;margin:0;padding-top:10px;font-size:11px}
#dashboard .cockpit-v37 .cp-context{font-size:11px;padding:14px 2px}
#dashboard .cockpit-v37 .cp-lower{grid-template-columns:1fr 1fr;gap:16px}
#dashboard .cockpit-v37 .cp-detail summary{font-size:12px;padding:13px 15px}
#dashboard .cockpit-v37 .cp-summary-value{font-size:11px}
@container(max-width:900px){
 #dashboard .cockpit-v37 .cp-grid{grid-template-columns:1fr}
 #dashboard .cockpit-v37 .cp-chart-layout{max-width:620px;margin:0 auto}
 #dashboard .cockpit-v37 .cp-outcome-panel{grid-template-columns:.9fr 1.2fr 1fr}
 #dashboard .cockpit-v37 .cp-outcome strong{font-size:30px}
}
@container(max-width:620px){
 #dashboard .cockpit-v37 .cp-panel{padding:18px 16px 15px}
 #dashboard .cockpit-v37 .cp-chart-layout,#dashboard .cockpit-v37 .cp-cost-panel .cp-chart-layout{grid-template-columns:160px minmax(0,1fr);gap:15px;min-height:174px}
 #dashboard .cockpit-v37 .cp-ring-wrap,#dashboard .cockpit-v37 .cp-cost-ring{width:156px;height:156px}
 #dashboard .cockpit-v37 .cp-ring-center strong{font-size:27px}
 #dashboard .cockpit-v37 .cp-cost-ring .cp-ring-center strong{font-size:15px}
 #dashboard .cockpit-v37 .cp-ring-center span{font-size:10px}
 #dashboard .cockpit-v37 .cp-legend{gap:15px}
 #dashboard .cockpit-v37 .cp-legend span,#dashboard .cockpit-v37 .cp-legend small{font-size:11px}
 #dashboard .cockpit-v37 .cp-legend b{font-size:21px}
 #dashboard .cockpit-v37 .cp-cost-legend b{font-size:17px}
 #dashboard .cockpit-v37 .cp-person-footer{font-size:11px}
 #dashboard .cockpit-v37 .cp-outcome-panel{display:block}
 #dashboard .cockpit-v37 .cp-outcome{padding:15px 0}
 #dashboard .cockpit-v37 .cp-lower{grid-template-columns:1fr}
}
@container(max-width:345px){
 #dashboard .cockpit-v37 .cp-chart-layout,#dashboard .cockpit-v37 .cp-cost-panel .cp-chart-layout{grid-template-columns:135px minmax(0,1fr);gap:10px}
 #dashboard .cockpit-v37 .cp-ring-wrap,#dashboard .cockpit-v37 .cp-cost-ring{width:132px;height:132px}
 #dashboard .cockpit-v37 .cp-cost-ring .cp-ring-center strong{font-size:13px}
 #dashboard .cockpit-v37 .cp-cost-legend b{font-size:15px}
}

/* Monthly scenarios live only inside employee costs. */
#employeeCostForecast{container-type:inline-size;min-width:0;margin-top:12px}
#employeeCostForecast .forecast-controls{display:grid;grid-template-columns:1fr 1.15fr 1.4fr auto;gap:12px;align-items:end;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
#employeeCostForecast .forecast-controls label{display:grid;gap:7px;color:var(--muted);font-size:12px;min-width:0}
#employeeCostForecast .forecast-controls input{min-width:0;width:100%}
#employeeCostForecast .forecast-controls button{white-space:nowrap}
#employeeCostForecast .forecast-assumptions{display:flex;gap:10px 20px;flex-wrap:wrap;font-size:12px;color:var(--muted);padding:15px 2px}
#employeeCostForecast .forecast-scenarios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
#employeeCostForecast .forecast-scenario{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:19px 20px}
#employeeCostForecast .forecast-card-title{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:14px;flex-wrap:wrap}
#employeeCostForecast .forecast-card-title>span{font-size:11px;color:var(--muted)}
#employeeCostForecast .forecast-card-value{margin-top:17px;display:flex;align-items:baseline;gap:9px;font-size:29px;font-weight:750;letter-spacing:-.035em;overflow-wrap:anywhere}
#employeeCostForecast .forecast-card-value small{font-size:12px;font-weight:500;letter-spacing:0}
#employeeCostForecast .forecast-card-sub{font-size:12px;color:var(--muted);margin-top:10px}
#employeeCostForecast .forecast-positive{color:#16724f}
#employeeCostForecast .forecast-negative{color:#b42332}
#employeeCostForecast .forecast-impact{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 2px;font-size:12px;color:var(--muted)}
#employeeCostForecast .forecast-impact b{color:var(--text)}
#employeeCostForecast .forecast-table-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto;max-width:100%;background:var(--panel)}
#employeeCostForecast .forecast-table{min-width:1080px;white-space:nowrap;font-variant-numeric:tabular-nums}
#employeeCostForecast .forecast-table th,#employeeCostForecast .forecast-table td{padding:12px 14px;font-size:12px}
#employeeCostForecast .forecast-table td:not(:first-child),#employeeCostForecast .forecast-table th:not(:first-child){text-align:right}
#employeeCostForecast .forecast-table th:first-child,#employeeCostForecast .forecast-table td:first-child{position:sticky;left:0;z-index:1;background:var(--panel);text-align:left}
#employeeCostForecast .forecast-table small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:3px}
#employeeCostForecast .forecast-table tfoot td{font-weight:700;background:var(--panel2);border-top:1px solid var(--line2)}
#employeeCostForecast .forecast-notes{margin-top:15px;border:1px solid var(--line);border-radius:10px;padding:13px 15px;background:var(--panel);font-size:12px;line-height:1.75;color:var(--muted)}
#employeeCostForecast .forecast-notes summary{cursor:pointer;color:var(--text)}
#employeeCostForecast .forecast-notes p{margin:10px 0 0}
#employeeCostForecast .forecast-warning{padding:12px 15px;margin:12px 0;border:1px solid var(--line2);border-radius:8px;background:var(--panel2);font-size:12px;color:var(--text);line-height:1.6}
#employeeCostForecast .forecast-locked{padding:25px;border:1px solid var(--line);border-radius:12px;background:var(--panel);font-size:13px}
@container(max-width:780px){#employeeCostForecast .forecast-controls{grid-template-columns:1fr 1fr}#employeeCostForecast .forecast-card-value{font-size:23px}}
@container(max-width:520px){#employeeCostForecast .forecast-controls,#employeeCostForecast .forecast-scenarios{grid-template-columns:1fr}#employeeCostForecast .forecast-scenario{padding:18px}#employeeCostForecast .forecast-card-value{font-size:28px}}
/* Balance the larger charts against one-screen desktop height. */
#dashboard .cockpit-v37 .cp-panel{padding:20px 20px 16px}
#dashboard .cockpit-v37 .cp-chart-layout{grid-template-columns:202px minmax(0,1fr);gap:20px;min-height:202px}
#dashboard .cockpit-v37 .cp-ring-wrap{width:192px;height:192px}
#dashboard .cockpit-v37 .cp-cost-ring{width:180px;height:180px}
#dashboard .cockpit-v37 .cp-cost-panel .cp-chart-layout{grid-template-columns:188px minmax(0,1fr)}
#dashboard .cockpit-v37 .cp-ring-center strong{font-size:32px}
#dashboard .cockpit-v37 .cp-cost-ring .cp-ring-center strong{font-size:18px}
#dashboard .cockpit-v37 .cp-outcome-panel{gap:12px 20px;padding-top:16px}
#dashboard .cockpit-v37 .cp-context{padding:12px 2px}
@container(max-width:620px){
 #dashboard .cockpit-v37 .cp-panel{padding:18px 16px 15px}
 #dashboard .cockpit-v37 .cp-chart-layout,#dashboard .cockpit-v37 .cp-cost-panel .cp-chart-layout{grid-template-columns:160px minmax(0,1fr);gap:15px;min-height:174px}
 #dashboard .cockpit-v37 .cp-ring-wrap,#dashboard .cockpit-v37 .cp-cost-ring{width:156px;height:156px}
 #dashboard .cockpit-v37 .cp-ring-center strong{font-size:27px}
 #dashboard .cockpit-v37 .cp-cost-ring .cp-ring-center strong{font-size:15px}
}
@container(max-width:345px){
 #dashboard .cockpit-v37 .cp-chart-layout,#dashboard .cockpit-v37 .cp-cost-panel .cp-chart-layout{grid-template-columns:135px minmax(0,1fr);gap:10px}
 #dashboard .cockpit-v37 .cp-ring-wrap,#dashboard .cockpit-v37 .cp-cost-ring{width:132px;height:132px}
 #dashboard .cockpit-v37 .cp-cost-ring .cp-ring-center strong{font-size:13px}
}

#employeeCostForecast .forecast-risk-count{display:inline-block;margin-left:10px;color:#b42332}

/* Alpha14.39: focal person-day ring and a generous, padded cost-ring center. */
#dashboard .cockpit-v37 .cp-person-panel .cp-chart-layout{grid-template-columns:248px minmax(180px,220px);justify-content:center;gap:28px;min-height:258px;max-width:560px;margin:0 auto}
#dashboard .cockpit-v37 .cp-person-ring-wrap{width:248px;height:248px}
#dashboard .cockpit-v37 .cp-person-center{inset:18%;gap:8px}
#dashboard .cockpit-v37 .cp-person-center strong{font-size:var(--person-number-size);letter-spacing:-.035em;line-height:1.1}
#dashboard .cockpit-v37 .cp-person-center>span{font-size:13px}
#dashboard .cockpit-v37 .cp-progress-chip{border-radius:20px;padding:5px 9px;background:#edf4ff;color:#1e55a8;font-size:11px;line-height:1.3;white-space:nowrap}
#dashboard .cockpit-v37 .cp-person-panel .cp-legend{gap:22px}
#dashboard .cockpit-v37 .cp-person-panel .cp-legend b{font-size:27px}
#dashboard .cockpit-v37 .cp-cost-panel .cp-chart-layout{grid-template-columns:240px minmax(165px,210px);justify-content:center;gap:24px;min-height:258px;max-width:540px;margin:0 auto}
#dashboard .cockpit-v37 .cp-cost-ring{width:240px;height:240px}
#dashboard .cockpit-v37 .cp-cost-center{inset:25% 18%;padding:8px 0;gap:10px}
#dashboard .cockpit-v37 .cp-cost-center strong{font-size:var(--cost-font-size);line-height:1.2;letter-spacing:-.025em;white-space:nowrap;max-width:100%}
#dashboard .cockpit-v37 .cp-cost-center>span{font-size:12px;line-height:1.5;white-space:nowrap}
#dashboard .cockpit-v37 .cp-cost-legend{gap:24px}
#dashboard .cockpit-v37 .cp-cost-legend b{white-space:normal;overflow-wrap:anywhere}
@container(max-width:620px){
 #dashboard .cockpit-v37 .cp-person-panel .cp-chart-layout,#dashboard .cockpit-v37 .cp-cost-panel .cp-chart-layout{grid-template-columns:1fr;justify-items:center;gap:20px;min-height:0;max-width:100%}
 #dashboard .cockpit-v37 .cp-person-ring-wrap{width:240px;height:240px}
 #dashboard .cockpit-v37 .cp-cost-ring{width:224px;height:224px}
 #dashboard .cockpit-v37 .cp-person-panel .cp-legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%}
 #dashboard .cockpit-v37 .cp-person-panel .cp-legend span{white-space:normal;font-size:11px}
 #dashboard .cockpit-v37 .cp-person-panel .cp-legend b{font-size:20px;white-space:normal;overflow-wrap:anywhere}
 #dashboard .cockpit-v37 .cp-cost-legend{grid-template-columns:1fr 1fr;gap:15px;width:100%}
 #dashboard .cockpit-v37 .cp-cost-legend>div:last-child{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline}
 #dashboard .cockpit-v37 .cp-cost-center strong{font-size:min(var(--cost-font-size),20px)}
}
/* Keep the ticking timestamp local: fixed footprint, stable glyph widths and paint. */
#mainHeader{backdrop-filter:none}
#mainHeader .header-actions #clock{display:inline-flex;align-items:center;justify-content:center;flex:0 0 164px;inline-size:164px;min-inline-size:164px;max-inline-size:164px;block-size:24px;font-size:13px;line-height:24px;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";white-space:nowrap;contain:layout paint;isolation:isolate;transform:translateZ(0)}
@container(min-width:621px) and (max-width:1040px){
 #dashboard .cockpit-v37 .cp-person-panel .cp-chart-layout{grid-template-columns:232px minmax(170px,210px);gap:20px}
 #dashboard .cockpit-v37 .cp-person-ring-wrap{width:232px;height:232px}
 #dashboard .cockpit-v37 .cp-cost-panel .cp-chart-layout{grid-template-columns:220px minmax(140px,190px);gap:20px}
 #dashboard .cockpit-v37 .cp-cost-ring{width:220px;height:220px}
}

.trip-action-cell{min-width:160px;vertical-align:middle}.trip-record-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch}.trip-record-actions>button{width:100%;min-height:36px;margin:0;white-space:nowrap}

/* Alpha14.46: compact live approval reminder, outside transient bubbles. */
.pending-approval-bubble{position:fixed;right:20px;bottom:18px;z-index:910;max-width:calc(100vw - 40px);width:340px;text-align:left;padding:12px 16px;border:1px solid var(--line2);border-left:4px solid var(--blue);border-radius:12px;background:var(--panel);color:var(--text);box-shadow:var(--shadow);cursor:pointer}
.pending-approval-bubble strong,.pending-approval-bubble span{display:block}.pending-approval-bubble span{font-size:12px;color:var(--muted);margin-top:5px}
.approval-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px;border-bottom:1px solid var(--line2);padding:8px 0 18px;margin-bottom:16px}.approval-context small{display:block;color:var(--muted);margin-bottom:5px}.approval-context b{font-weight:500;overflow-wrap:anywhere}.approval-reason{white-space:pre-wrap}
@media(max-width:600px){.approval-context{grid-template-columns:1fr}.pending-approval-bubble{right:16px;width:300px}}
/* Alpha14.47 shared template and permission-separated company/progress views. */
.template-fields{display:grid;gap:14px}.template-field{border:1px solid var(--line2);border-radius:12px;padding:16px}.template-inactive{opacity:.65;background:var(--bg)}.template-field .toolbar{margin-top:10px}.company-layout{display:grid;gap:20px;max-width:1150px;margin:auto}.company-files{margin-top:18px}.company-files .activity-feed-row{gap:14px;flex-wrap:wrap}.company-files b{overflow-wrap:anywhere}
@media(max-width:650px){.template-field .grid-form{grid-template-columns:1fr}.company-layout .card-h{flex-wrap:wrap;gap:10px}}
#dashboard .cockpit-v37 .cp-grid.cp-no-progress{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){#dashboard .cockpit-v37 .cp-grid.cp-no-progress{grid-template-columns:1fr}}
.approval-summary-list{display:grid;gap:12px}.approval-summary-card{padding:16px 20px;border:1px solid var(--line2);border-radius:12px;background:var(--panel);color:var(--text)}.approval-summary-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.approval-summary-head button{margin-left:auto}.approval-summary-grid{display:grid;grid-template-columns:1.1fr 1.4fr 1fr;gap:16px;margin:14px 0 10px}.approval-summary-grid>div{display:grid;gap:4px;align-content:start;overflow-wrap:anywhere}.approval-summary-card small{color:var(--muted);font-size:12px}.approval-summary-reason p{margin:4px 0 8px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:7em;overflow:auto;line-height:1.6}.approval-summary-card strong{font-weight:600}.approval-summary-grid span{font-size:13px;line-height:1.65}
@media(max-width:700px){.approval-summary-grid{grid-template-columns:1fr;gap:10px}.approval-summary-card{padding:14px}.approval-summary-head button{margin-left:0}}


@media(max-width:650px){#mainHeader{height:auto;min-height:76px;flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px}#mainHeader .header-actions{flex-wrap:wrap;gap:7px}#mainHeader h2{font-size:20px}#mainHeader .header-actions .theme-control{margin-left:0}}
.office-main-tabs,.ledger-kind-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.office-main-tabs{border-bottom:1px solid var(--line2);padding-bottom:12px}.office-main-tabs button,.ledger-kind-tabs button{border:1px solid var(--line2);background:var(--panel);color:var(--muted);border-radius:9px;padding:10px 16px;cursor:pointer}.office-main-tabs button.active,.ledger-kind-tabs button.active{background:var(--blue);border-color:var(--blue);color:#fff}.ledger-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.ledger-heading h3{margin:0}.ledger-filters{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr)) 1.5fr auto auto;gap:10px;align-items:end;padding:16px 0}.ledger-filters label{font-size:12px;display:grid;gap:5px;color:var(--muted);min-width:0}.ledger-filters .input{min-width:0;width:100%}.ledger-row-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.ledger-reason{margin:0;max-height:7em;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.ledger-pagination{margin-top:16px}#lateApplicationBox textarea{background:var(--panel)}
@media(max-width:1200px){.ledger-filters{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:650px){.ledger-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-heading{display:block}.ledger-row-actions{margin-left:0;width:100%}.ledger-kind-tabs button{padding:8px 10px}.office-main-tabs button{flex:1}}

/* Alpha14.49: scoped daily form layout, shared palette variables retained. */
.daily-entry-title h2{margin-bottom:6px}.daily-entry-title p{margin:0 0 18px}
.daily-entry{gap:14px}.daily-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;align-items:start}
.daily-entry-grid .field{min-width:0;margin:0}.daily-entry .input{width:100%;box-sizing:border-box}
.daily-entry-rule{font-size:12px;line-height:1.6;color:var(--muted);padding:8px 12px;background:var(--panel2);border-radius:8px}
.daily-entry .work-type-tags{gap:6px}.daily-entry .work-type-tag{padding:6px 11px;font-size:13px;line-height:1.4}
.daily-entry .worklog-content-input{min-height:160px!important}.daily-entry .worklog-detail-grid{grid-template-columns:1fr 1fr}
.daily-entry .worklog-issues-input,.daily-entry .worklog-next-input{min-height:82px!important}
@media(max-width:650px){.daily-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-entry .worklog-detail-grid{grid-template-columns:1fr}}
@media(max-width:400px){.daily-entry-grid{grid-template-columns:1fr}}

/* Alpha14.53: only the onsite-billing modal. Cockpit charts unchanged. */
.site-billing-controls{display:grid;grid-template-columns:1fr 2fr;gap:16px;margin:16px 0 10px}.site-billing-controls>label,.site-row-fields>label{display:grid;gap:7px;color:var(--muted);font-size:13px}.site-default-rate{display:flex;gap:8px;align-items:center;font-size:13px}.site-billing-groups{display:grid;gap:12px}.site-billing-group{border:1px solid var(--line2);border-radius:12px;overflow:hidden}.site-billing-group>summary{display:flex;justify-content:space-between;gap:24px;cursor:pointer;padding:16px;background:var(--panel2)}.site-group-person{display:grid;gap:5px;flex:1;min-width:0}.site-group-person b{font-size:16px}.site-group-person span{font-size:13px;overflow-wrap:anywhere}.site-group-summary{display:grid;gap:5px;font-size:12px;flex:1}.site-group-summary b{font-size:14px;color:var(--blue)}.site-group-summary small{color:var(--muted)}.site-group-body{padding:0 16px}.site-billing-row{padding:16px 0;border-top:1px solid var(--line)}.site-source{display:grid;gap:5px;font-size:13px}.site-source span,.site-source small{color:var(--muted);overflow-wrap:anywhere}.site-row-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.site-row-fields .input{width:100%;box-sizing:border-box;min-width:0}.site-actual-value{padding:10px 0;color:var(--text)}.site-billing-total{font-weight:700;color:var(--blue);padding:12px;background:var(--panel2);border-radius:9px}
@media(max-width:650px){.site-billing-controls,.site-row-fields{grid-template-columns:1fr}.site-billing-group>summary{flex-direction:column;gap:12px}.site-group-summary span{overflow-wrap:anywhere}}

.site-billing-title{padding-right:40px}.site-billing-notes{margin:12px 0;color:var(--muted);font-size:13px}.site-billing-group>summary{position:relative;padding-right:34px}.site-billing-group>summary::after{content:'⌄';position:absolute;right:12px;top:14px;color:var(--muted)}.site-billing-group[open]>summary::after{content:'⌃'}

/* Alpha14.55: compact read-only reconciliation entry and dialog. */
#dashboard .cockpit-v37 .cp-days-detail{border:0;background:transparent;color:var(--blue);font-size:12px;padding:2px 0;cursor:pointer}
.person-day-totals,.person-day-values{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:13px}.person-day-totals{padding:14px;background:var(--panel2);border-radius:10px}.person-day-list{display:grid;gap:12px}.person-day-row{padding:16px;border:1px solid var(--line2);border-radius:10px}.person-day-heading{display:grid;gap:5px;margin-bottom:12px}.person-day-heading span{font-size:13px;overflow-wrap:anywhere}.person-day-row p{font-size:12px;line-height:1.6;margin:8px 0 0;overflow-wrap:anywhere}
/* Alpha14.56: compact operational summaries, scoped to avoid theme changes. */
.summary-period{flex-wrap:wrap;margin:12px 0}.summary-filters{margin-bottom:16px}.summary-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.summary-table{width:100%;border-collapse:collapse;font-size:14px}.summary-table th,.summary-table td{padding:12px 16px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--line)}.summary-table th{font-weight:500;color:var(--muted,#64748b)}.summary-explanation{font-size:13px;line-height:1.8;margin:12px 0 18px}.summary-groups{display:grid;gap:10px}.summary-group{border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}.summary-group>summary{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px;cursor:pointer;list-style:none}.summary-group>summary:after{content:'展开 ▾';white-space:nowrap;font-size:12px;color:var(--muted,#64748b)}.summary-group[open]>summary:after{content:'收起 ▴'}.summary-group>summary>div:first-child{display:grid;gap:5px;min-width:0}.summary-group>summary span{font-size:13px;color:var(--muted,#64748b);overflow-wrap:anywhere}.summary-chips{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-left:auto}.summary-chips b{font-size:16px;color:var(--text,#172338)}.summary-group-rows{padding:0 16px 16px;display:grid;gap:10px}.summary-source{border-top:1px solid var(--line);padding:12px 0 0}.summary-source>div:first-child{display:flex;gap:12px;flex-wrap:wrap}.summary-source p{margin:6px 0;font-size:13px;overflow-wrap:anywhere}.summary-source>div>span{font-size:12px;color:var(--muted,#64748b)}.return-pending,.return-reset,.return-history{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:10px}.return-history p{font-size:13px;line-height:1.8;border-bottom:1px solid var(--line);padding-bottom:10px}.return-reset summary,.return-history summary{cursor:pointer;font-weight:600}.return-actual{min-width:0}.return-actual label{display:block}@media(max-width:700px){.summary-group>summary{flex-wrap:wrap;gap:12px}.summary-chips{margin:0;width:100%;gap:12px}.summary-group>summary:after{margin-left:auto}.summary-table th,.summary-table td{padding:10px}.summary-period{gap:6px}}
/* Alpha14.58: scoped form helpers, retaining all existing theme colors. */
.plan-time-shortcuts{padding:10px 0;gap:12px;font-size:13px}.plan-time-shortcuts label{display:flex;gap:5px;align-items:center}.daily-finish{display:flex;align-items:center;gap:7px;font-size:13px;padding:8px 0}.daily-entry #dailyLinkHint{display:block;margin-top:6px;line-height:1.6}

.daily-execution{margin:0 0 16px;padding:12px 16px;border:1px solid var(--border);border-radius:10px}.daily-execution>summary{cursor:pointer;font-weight:600}.plan-date-copy{display:flex;gap:6px;align-items:center;font-size:13px;margin-top:6px}.field>.plan-time-shortcuts{margin:0 0 8px;padding:6px 8px;font-size:12px}

.grid-form>.plan-time-shortcuts{grid-column:1 / -1;margin:0;padding:6px 8px;font-size:12px}

.daily-upload-row{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.daily-upload-row>div:first-child{flex:1;min-width:0}.daily-upload-row b{overflow-wrap:anywhere}.daily-upload-row small{display:block;margin:4px 0}.daily-upload-row progress{width:100%;height:10px;accent-color:var(--primary)}

/* Alpha14.62: stable time editor and usable recycle cards */
.outing-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.outing-time-field{min-width:0;display:grid;gap:9px}.outing-time-field>label{font-weight:650}.outing-time-row{display:grid;grid-template-columns:minmax(130px,2fr) minmax(72px,1fr) minmax(72px,1fr);gap:8px}.outing-time-row .input{min-width:0;width:100%;box-sizing:border-box}.recycle-tabs,.recycle-footer{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0}.recycle-list{display:grid;gap:12px}.recycle-item{display:flex;justify-content:space-between;gap:20px;padding:17px;border:1px solid var(--line2);border-radius:12px;background:var(--panel);min-width:0}.recycle-content{min-width:0;overflow-wrap:anywhere}.recycle-content h3{font-size:16px;margin:10px 0}.recycle-content p{font-size:13px;color:var(--muted);margin:6px 0}.recycle-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted)}.recycle-reason{white-space:pre-wrap}.recycle-actions{display:flex;gap:8px;align-items:flex-start;justify-content:flex-end;flex-wrap:wrap;flex:0 0 230px}.recycle-actions button{white-space:nowrap}.recycle-policy{margin:12px 0;padding:12px;border:1px solid var(--line2);border-radius:8px}.recycle-footer small{margin-right:auto}@media(max-width:740px){.outing-time-grid{grid-template-columns:1fr}.recycle-item{flex-direction:column}.recycle-actions{flex:initial;justify-content:flex-start}.outing-time-row{grid-template-columns:minmax(120px,2fr) minmax(66px,1fr) minmax(66px,1fr)}}

/* alpha14.66: compact module verification prompt, not a full-width form */
#modal.module-verify-compact .modal-card{width:min(430px,calc(100vw - 24px));padding:20px 22px;max-height:min(90vh,520px)}
#modal.module-verify-compact .modal-title-row h2{font-size:18px}
#modal.module-verify-compact .modal-title-row p{font-size:12px;line-height:1.45}
#modal.module-verify-compact .security-lock-card{padding:10px;margin:12px 0;font-size:12px}
#modal.module-verify-compact #moduleUnlockPwd{height:42px}

/* R2: module password prompt ONLY; existing pages and other dialogs untouched. */
#modal.module-verify-compact{padding:12px;box-sizing:border-box;background:rgba(15,31,24,.38)}
#modal.module-verify-compact .modal-card{width:min(400px,calc(100vw - 24px));box-sizing:border-box;max-height:calc(100dvh - 24px);padding:20px 22px 18px;border-radius:16px;overflow:auto;box-shadow:0 20px 64px rgba(0,0,0,.19)}
#modal.module-verify-compact .modal-x{position:absolute;right:16px;top:16px;float:none;width:30px;height:30px;min-height:30px;font-size:19px;display:grid;place-items:center}
#modal.module-verify-compact .module-unlock-head{padding-right:35px;margin:0 0 16px}
#modal.module-verify-compact .module-unlock-head .eyebrow{font-size:10px;letter-spacing:.1em;margin-bottom:5px}
#modal.module-verify-compact .module-unlock-head h2{font-size:18px;line-height:1.35;margin:0 0 6px}
#modal.module-verify-compact .module-unlock-head p{font-size:12px;line-height:1.55;margin:0}
#modal.module-verify-compact .module-unlock-tip{display:flex;align-items:center;gap:8px;padding:9px 11px;margin:0 0 14px;border:1px solid var(--line);background:var(--panel2);border-radius:9px}
#modal.module-verify-compact .module-unlock-tip span{font-size:13px;font-weight:600}
#modal.module-verify-compact .module-unlock-tip small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:2px;line-height:1.45}
#modal.module-verify-compact .module-unlock-field{margin:0}
#modal.module-verify-compact .module-unlock-field label{font-size:12px;margin-bottom:7px;display:block}
#modal.module-verify-compact #moduleUnlockPwd{display:block;width:100%;height:42px;min-height:42px;box-sizing:border-box;font-size:14px;padding:8px 12px;border-radius:9px}
#modal.module-verify-compact .module-unlock-actions{display:flex;justify-content:flex-end;gap:9px;align-items:center;margin-top:17px;padding:0}
#modal.module-verify-compact .module-unlock-actions button{font-size:13px;min-height:38px;padding:7px 13px;white-space:nowrap;border-radius:9px}
#modal.module-verify-compact .module-unlock-actions button.primary{min-width:110px}
@media(max-width:420px){#modal.module-verify-compact .modal-card{padding:18px 16px 16px}#modal.module-verify-compact .module-unlock-actions button{flex:1}}

/* R4: separate archived field visits from active work, preserving read/correct actions */
.revoked-visits{margin:10px 0;padding:9px 12px;background:var(--surface,#fff);border:1px dashed var(--border);border-radius:9px}
.revoked-visits>summary{cursor:pointer;font-size:13px;font-weight:600}
.revoked-visits .table-wrap{margin-top:10px}

/* V1 daily Step 4: progressive layout; no hidden functional controls */
.daily-entry .daily-step-section{border:1px solid var(--border);border-radius:14px;padding:18px;margin:12px 0;background:var(--card,#fff)}
.daily-entry .daily-step-section>h3{font-size:16px;margin:0 0 6px;display:flex;gap:10px;align-items:center}
.daily-entry .daily-step-section>h3 span{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--primary,#2563eb);color:white;font-size:12px}
.daily-entry .daily-step-section>h3 small{font-size:12px;color:var(--muted,#64748b);font-weight:400}
.daily-entry .daily-step-section>.muted{margin:0 0 14px;font-size:12px}
.daily-entry .daily-step-section .daily-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}
.daily-entry .daily-step-section .work-type-field{margin-bottom:14px}
.daily-step-extra{border:1px solid var(--border);border-radius:12px;padding:13px 16px;margin:12px 0}
.daily-step-extra>summary{font-weight:600;cursor:pointer}.daily-step-extra>summary+*{margin-top:14px}
.daily-entry-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px}.daily-entry-title p{flex-basis:100%}
.daily-hours-shortcuts{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.daily-hours-shortcuts button{padding:6px 10px}
@media(max-width:700px){.daily-entry .daily-step-section{padding:12px}.daily-entry .daily-step-section .daily-entry-grid{grid-template-columns:1fr}}

/* === V1 R5.0 shared brand login enhancement BEGIN === */
/* Only login visual treatment; no change to app navigation, tables or permissions. */
#login.login-wrap{background:radial-gradient(circle at 82% 18%,rgba(72,155,122,.23),transparent 29%),radial-gradient(circle at 15% 88%,rgba(55,109,90,.18),transparent 35%),linear-gradient(132deg,#102f2c,#245b4b 51%,#eef5ee 170%);position:fixed;inset:0;overflow:auto;isolation:isolate}
#login.login-wrap::before{content:'';position:fixed;pointer-events:none;width:36vw;height:36vw;min-width:280px;min-height:280px;right:-13vw;top:-16vw;border-radius:50%;border:1px solid #ffffff26;box-shadow:0 0 0 42px #ffffff08,0 0 0 92px #ffffff09}
#login .login-card{position:relative;background:rgba(255,255,255,.97);border:1px solid #e5efe7;box-shadow:0 20px 70px #081f1a45;border-radius:20px}
#login .login-card h1{letter-spacing:.035em}
#login .login-card h1::after{content:'每一份认真完成的工作，都值得被记录。';display:block;font-size:13px;line-height:1.65;letter-spacing:0;font-weight:400;color:#638174;margin:12px 0 15px}
#login #loginUser:focus-visible,#login #loginPass:focus-visible{outline:2px solid #25886a;outline-offset:2px}
@media(max-width:640px){#login .login-card{border-radius:16px;margin:12px}#login.login-wrap::before{display:none}}
@media(prefers-reduced-motion:reduce){#login *{animation:none!important;transition:none!important}}
/* === V1 R5.0 shared brand login enhancement END === */

/* R5.3 project workspace hierarchy */
.workspace .r53-main-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.workspace .r53-main-actions .r53-daily{font-size:16px;font-weight:750;padding:12px 22px;min-height:46px}
.workspace .r53-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:8px 0}
.workspace .r53-tabs button{min-height:40px}
.workspace .r53-more{border-top:1px solid #d9e6df;padding:10px 0}
.workspace .r53-more summary{cursor:pointer;font-weight:650;padding:8px 3px}
.workspace .workspace-hero-note{display:none}
@media(max-width:700px){.workspace .r53-main-actions{display:grid;grid-template-columns:1fr 1fr}.workspace .r53-main-actions .r53-daily{grid-column:1/-1}.workspace .r53-main-actions>button{white-space:normal}.workspace .r53-tabs{overflow-x:auto;flex-wrap:nowrap}.workspace .r53-tabs button{flex:none}}

/* R5.3.1 workspace nav override: #wsTabs is the real root, not .workspace. */
#wsTabs .r53-main-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:6px 0 8px;padding:0}
#wsTabs .r53-main-actions button{width:auto;max-width:100%;min-height:40px;padding:9px 15px;border-radius:10px;background:#fff;color:#155b40;border:1px solid #b4d0bf;box-shadow:none;font-size:14px;font-weight:600;white-space:normal}
#wsTabs .r53-main-actions button.r53-daily{background:#11643f;color:#fff;border-color:#11643f;padding:11px 20px;font-size:15px;font-weight:750}
#wsTabs .r53-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:0;margin:3px 0 9px}
#wsTabs .r53-tabs button{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:0;min-height:37px;padding:8px 13px;background:#fff;border:1px solid #c5dacf;border-radius:9px;color:#27483a;line-height:1.35;font-size:14px;font-weight:500;box-shadow:none;white-space:normal}
#wsTabs .r53-tabs button.active{background:#e4f2ea;color:#0c5e3e;border-color:#6aaf8c;font-weight:700}
#wsTabs .r53-more{min-width:0;display:block;border-top:1px solid #d9e6df;margin:3px 0 8px;padding-top:7px}
#wsTabs .r53-more summary{padding:8px 5px;cursor:pointer;list-style:revert;font-size:14px;font-weight:650;color:#155b40}
#wsTabs .r53-more>.r53-tabs{padding:8px 0}
#wsTabs button:hover{filter:brightness(.96)}
@media(max-width:690px){#wsTabs .r53-main-actions{display:flex;gap:8px}#wsTabs .r53-tabs{gap:6px}#wsTabs .r53-tabs button{font-size:13px;padding:8px 10px}}

/* R5.3.2 — single primary action, stable task/quote navigation */
.r532-workbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0 10px}
.r532-workbar button{border-radius:9px;min-height:38px;padding:8px 13px;width:auto;min-width:0;white-space:normal;font:inherit}
.r532-workbar .r532-cta{background:#116744!important;border-color:#116744!important;color:white!important;font-weight:700}
.r532-workbar .secondary{background:#fff!important;color:#205b43!important;border:1px solid #b8d1c3!important}
.r532-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 0 12px;border-bottom:1px solid #dbe6df}
.r532-nav .r532-tab{width:auto!important;min-width:0!important;min-height:34px!important;padding:7px 11px!important;border:1px solid transparent!important;border-radius:8px!important;background:transparent!important;color:#345647!important;font:inherit!important;box-shadow:none!important}
.r532-nav .r532-tab:hover{background:#ecf4ef!important}
.r532-nav .r532-tab.active{background:#e3f2e9!important;color:#116744!important;border-color:#afcdbd!important;font-weight:650!important}
.r532-doc-actions{display:flex;gap:8px;flex-wrap:wrap}.r532-quote-path{font-size:12px;color:#62776b;margin-top:6px}
@media(max-width:740px){.r532-workbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.r532-workbar button{width:100%}.r532-workbar .r532-cta{grid-column:1/-1}.r532-nav{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:thin}.r532-nav .r532-tab{flex:0 0 auto}}

/* ===== V1 R5.3.3: restore original four-zone navigation, without flattening modules ===== */
#wsTabs.workspace-nav{display:block!important;grid-template-columns:none!important;min-width:0;margin:12px 0 17px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
#wsTabs .r533-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px;padding:0}
#wsTabs .r533-toolbar .r533-action{display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:100%;min-height:43px;padding:10px 16px;border:1px solid var(--line2);border-radius:10px;background:var(--panel);color:var(--text);font-size:14px;font-weight:600;line-height:1.35;white-space:normal;box-shadow:none;cursor:pointer}
#wsTabs .r533-toolbar .r533-action:hover{border-color:#4f9b74;background:var(--panel2)}
#wsTabs .r533-toolbar .r533-action.r533-primary{background:#116743!important;color:white!important;border-color:#116743!important;font-size:16px;font-weight:750;padding:11px 22px;min-height:45px}
#wsTabs .r533-toolbar .r533-action.r533-primary:hover{background:#0c5838!important}
#wsTabs .r533-groups{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:stretch;min-width:0}
#wsTabs .r533-group{display:block;min-width:0;margin:0;padding:16px 15px 17px;border:1px solid var(--line);border-radius:13px;background:var(--panel);box-shadow:none;overflow:hidden}
#wsTabs .r533-group-title{display:flex;align-items:center;gap:9px;margin:0 0 13px;padding:0 0 11px;border-bottom:1px solid var(--line2);font-size:15px;font-weight:750;line-height:1.4;color:var(--text);letter-spacing:.01em}
#wsTabs .r533-group-title::before{content:'';display:block;flex:none;width:4px;height:17px;border-radius:4px;background:#188258}
#wsTabs .r533-group-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:0}
#wsTabs .r533-group-items .r533-nav-btn{display:flex;align-items:center;justify-content:flex-start;min-width:0;width:100%;min-height:40px;margin:0;padding:9px 10px;border:1px solid transparent!important;border-radius:8px;background:transparent!important;color:var(--text)!important;box-shadow:none!important;font-size:14px;font-weight:500;line-height:1.4;text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:normal;cursor:pointer}
#wsTabs .r533-group-items .r533-nav-btn:hover{background:var(--panel2)!important;border-color:var(--line2)!important}
#wsTabs .r533-group-items .r533-nav-btn.active,#wsTabs .r533-group-items .r533-nav-btn[aria-current="page"]{background:#e4f2ea!important;border-color:#a4d1b5!important;color:#0d603f!important;font-weight:750!important}
#wsTabs .r533-group-items .r533-nav-btn:focus-visible,#wsTabs .r533-toolbar .r533-action:focus-visible{outline:3px solid #7dbd97!important;outline-offset:2px}
@media(max-width:1480px){#wsTabs .r533-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){#wsTabs .r533-groups{grid-template-columns:1fr}#wsTabs .r533-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#wsTabs .r533-toolbar .r533-action{width:100%;font-size:13px;padding:9px 10px}#wsTabs .r533-toolbar .r533-action.r533-primary{grid-column:1/-1}#wsTabs .r533-group{padding:14px}#wsTabs .r533-group-items .r533-nav-btn{font-size:14px;min-height:42px}}

/* R5.3.4: semantic brand palette for default (简洁白) and green themes.
   Respect an explicitly chosen blue or high-contrast theme. */
/* R5.3.5: each theme owns its own accent. No blanket green override. */
:root:not([data-theme="blue"]):not([data-theme="contrast"]):not([data-theme="green"]){
  --blue:#1469ae; --cyan:#1469ae; --focus:#1469ae; --nav-active:#e6eff9;
  --selected-bg:#e6eff9; --selected-text:#124871;
}
/* Compact, accessible lead/batch dialogs: avoid collisions with generic card and field styles. */
#modal:has(.r534-lead) .modal-card{width:min(820px,calc(100vw - 32px));padding:26px;max-height:88vh}
#modal:has(.r534-visit-editor) .modal-card{width:min(900px,calc(100vw - 32px));padding:26px;max-height:90vh}
.r534-lead,.r534-visit-editor{font-size:15px;color:var(--text);line-height:1.55;min-width:0}
.r534-lead *,.r534-visit-editor *{box-sizing:border-box}
.r534-lead h2,.r534-visit-editor h2{margin:0 0 5px!important;font-size:24px;letter-spacing:-.015em;line-height:1.35}
.r534-lead-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:2px 36px 16px 0}
.r534-intro,.r534-editor-head p{margin:4px 0 0;color:var(--muted);font-size:14px}
.r534-lead .primary,.r534-visit-editor .primary{background:#176746!important;border:1px solid #176746!important;color:#fff!important;box-shadow:none!important}
.r534-lead .primary:hover,.r534-visit-editor .primary:hover{background:#105637!important}
.r534-lead .secondary,.r534-visit-editor .secondary{background:var(--panel)!important;color:var(--text)!important;border:1px solid var(--line2)!important;box-shadow:none!important}
.r534-lead button,.r534-visit-editor button{font-size:14px;min-height:42px;border-radius:10px;padding:9px 14px;line-height:1.35;white-space:normal}
.r534-new-batch{flex:0 0 auto;min-height:44px!important;padding:10px 18px!important;white-space:nowrap!important}
.r534-visit-card{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:17px 19px;margin:12px 0;box-shadow:0 4px 20px rgba(16,45,30,.035)}
.r534-visit-head{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:13px}
.r534-visit-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0}
.r534-visit-title strong{font-size:17px;font-weight:750;overflow-wrap:anywhere}
.r534-batch-pill{font-size:12px;font-weight:700;color:#176746;background:#e6f3eb;border:1px solid #c6e2d2;border-radius:999px;padding:4px 10px;white-space:nowrap}
.r534-edit-members{flex:0 0 auto}
.r534-member-row{display:grid;gap:8px;margin:0 0 16px}
.r534-small-label,.r534-lead-select>label{display:block;font-size:13px;color:var(--muted);font-weight:650;margin:0}
.r534-person-chips{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.r534-person{display:inline-flex;padding:5px 11px;border-radius:999px;background:var(--panel2);border:1px solid var(--line);font-size:13px;font-weight:600}
.r534-empty-person{color:var(--muted);font-size:13px}
.r534-lead-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.r534-lead-select{min-width:0;display:grid;gap:6px}
.r534-lead-select select{min-width:0;width:100%;max-width:100%;height:44px;margin:0;font-size:15px;background:var(--panel);color:var(--text)}
.r534-save-lead{min-height:44px!important;white-space:nowrap!important}
.r534-alert{color:#a45313;background:#fff4e2;padding:9px 12px;border-radius:8px;margin:0 0 12px;font-size:13px}
.r534-lead-footer{display:flex;justify-content:flex-end;border-top:1px solid var(--line);padding-top:15px;margin-top:16px}
.r534-footnote{font-size:12px;color:var(--muted);line-height:1.65;margin:13px 0 0}
.r534-empty-visit{border:1px dashed var(--line2);border-radius:12px;background:var(--panel2);padding:28px;text-align:center;color:var(--muted)}
.r534-editor-head{padding-right:30px;margin-bottom:17px}
.r534-edit-section{padding:17px;border:1px solid var(--line);border-radius:13px;margin:13px 0;background:var(--panel)}
.r534-edit-section>h3{font-size:16px;font-weight:750;margin:0 0 12px}
.r534-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 15px}
.r534-edit-grid>.field{min-width:0;margin:0;max-width:100%}
.r534-edit-grid .input,.r534-edit-grid input,.r534-edit-grid select,.r534-edit-grid textarea{max-width:100%;min-width:0;width:100%;box-sizing:border-box}
.r534-edit-grid .span2{grid-column:1/-1}
.r534-help{font-size:13px;color:var(--muted);margin:-5px 0 12px}
.r534-person-checks{max-height:220px;overflow-y:auto;min-width:0}
.r534-advanced{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:14px 17px;margin-top:13px}
.r534-advanced>summary{font-weight:700;cursor:pointer}
.r534-advanced[open]>summary{margin-bottom:15px}
.r534-edit-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:17px;margin-top:16px}
@media(max-width:680px){
  #modal:has(.r534-lead) .modal-card,#modal:has(.r534-visit-editor) .modal-card{width:calc(100vw - 20px);padding:18px 14px}
  .r534-lead-head,.r534-visit-head{flex-direction:column;align-items:stretch;gap:10px}
  .r534-new-batch,.r534-edit-members{align-self:stretch}
  .r534-lead-controls{grid-template-columns:1fr;gap:10px}
  .r534-save-lead{width:100%}
  .r534-visit-card{padding:14px}
  .r534-edit-grid{grid-template-columns:1fr}
  .r534-edit-grid .span2{grid-column:auto}
}

/* R5.3.5: compact project header, task-first top navigation. No repeated KPI table. */
#projectWorkspace .workspace-topbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 12px;padding:10px 0}
#projectWorkspace .workspace-topbar>.back-btn{flex:0 0 auto;font-weight:700;min-height:42px}
#projectWorkspace .workspace-topbar .workspace-actions{margin-left:auto;flex:none}
#projectWorkspace .r535-quick-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:5px;min-width:0}
#projectWorkspace .r535-top-link{border:1px solid transparent!important;border-radius:8px!important;background:transparent!important;color:var(--text)!important;padding:9px 14px!important;min-height:40px!important;font-size:14px;font-weight:600;box-shadow:none!important;white-space:nowrap;cursor:pointer}
#projectWorkspace .r535-top-link:hover{background:var(--panel2)!important}
#projectWorkspace .r535-top-link.active{background:#e7f3eb!important;border-color:#a9d1b9!important;color:#11613e!important}
#projectWorkspace .workspace-hero{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:12px 24px;padding:17px 21px!important;min-height:0!important}
#projectWorkspace .workspace-title{min-width:0;padding:0!important;margin:0!important}
#projectWorkspace .workspace-title .eyebrow{font-size:10px;letter-spacing:.09em;margin:0 0 4px}
#projectWorkspace .workspace-title h2{font-size:clamp(20px,1.6vw,27px)!important;line-height:1.3;overflow-wrap:anywhere}
#projectWorkspace .r535-project-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 15px;min-width:0;padding:3px 0 0}
#projectWorkspace .r535-info-item{min-width:0;display:flex;align-items:baseline;gap:8px;padding:0}
#projectWorkspace .r535-info-item span{font-size:12px;color:var(--muted);white-space:nowrap}
#projectWorkspace .r535-info-item b{font-size:13px;font-weight:650;color:var(--text);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}
#projectWorkspace .workspace-hero #wsKpis{grid-column:1/-1;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;margin:5px 0 0!important;padding-top:12px;border-top:1px solid var(--line);min-width:0}
#projectWorkspace .workspace-hero #wsKpis .mini-kpi{padding:9px 13px!important;border-radius:10px;min-width:0}
#projectWorkspace .workspace-hero #wsKpis .mini-kpi span{font-size:12px!important}
#projectWorkspace .workspace-hero #wsKpis .mini-kpi b{font-size:19px!important;line-height:1.2}
#projectWorkspace #wsTabs{margin:10px 0 12px!important}
#projectWorkspace .r535-work-actions{display:flex;align-items:center;gap:12px;margin-bottom:11px;flex-wrap:wrap}
#projectWorkspace .r535-work-actions>span{font-size:12px;color:var(--muted)}
#projectWorkspace .r535-new-work{background:var(--ux-accent)!important;color:#fff!important;border:1px solid var(--ux-accent)!important;border-radius:10px;min-height:43px;padding:9px 21px;font-size:15px;font-weight:750;box-shadow:none!important}
#projectWorkspace .r535-new-work:hover{background:var(--ux-accent-hover)!important}
#projectWorkspace .r533-groups{gap:10px!important}
#projectWorkspace .r533-group{padding:12px!important}
#projectWorkspace .r533-group-items{gap:4px!important}
#projectWorkspace .r533-group-title{margin:0 0 7px!important;padding-bottom:8px!important}
#projectWorkspace .r535-overview{padding:9px 0 0}
#projectWorkspace .r535-overview-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px}
#projectWorkspace .r535-overview-head h3{font-size:18px;margin:0 0 3px}
#projectWorkspace .r535-overview-head p{color:var(--muted);font-size:13px;margin:0}
#projectWorkspace .r535-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#projectWorkspace .r535-overview-tile{border:1px solid var(--line);border-radius:13px;background:var(--panel);padding:15px;min-width:0}
#projectWorkspace .r535-overview-tile h4{font-size:14px;margin:0 0 10px;color:var(--muted)}
#projectWorkspace .r535-overview-tile>b{font-size:21px}
#projectWorkspace .r535-overview-tile p{font-size:13px;line-height:1.6;color:var(--muted);margin:7px 0}
#projectWorkspace .r535-overview-tile button{margin-right:6px;margin-top:6px}
#projectWorkspace .r535-mini-list{display:flex;flex-wrap:wrap;gap:6px;font-size:12px}
#projectWorkspace .r535-mini-list span{background:var(--panel2);padding:5px 8px;border-radius:7px}
.r535-quote-dialog{min-width:0;max-width:800px}
.r535-quote-dialog>p{font-size:13px;color:var(--muted);line-height:1.6}
.r535-quote-list{max-height:380px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:7px;margin:12px 0}
.r535-quote-item{display:flex;align-items:start;gap:12px;padding:12px;border-bottom:1px solid var(--line);cursor:pointer}
.r535-quote-item:last-child{border-bottom:0}
.r535-quote-item input{width:17px;height:17px;flex:none;margin-top:3px}
.r535-quote-item span{min-width:0;display:grid;gap:3px}
.r535-quote-item strong{font-size:14px;overflow-wrap:anywhere}
.r535-quote-item small{font-size:12px;color:var(--muted)}
@media(max-width:1260px){#projectWorkspace .r535-quick-tabs{order:3;width:100%;overflow-x:auto;flex-wrap:nowrap}#projectWorkspace .workspace-topbar .workspace-actions{margin-left:auto}#projectWorkspace .r535-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){#projectWorkspace .workspace-hero{grid-template-columns:1fr;padding:14px!important}#projectWorkspace .r535-project-details{grid-template-columns:repeat(2,minmax(0,1fr))}#projectWorkspace .workspace-hero #wsKpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}#projectWorkspace .r535-overview-grid{grid-template-columns:1fr}#projectWorkspace .r535-overview-head{align-items:start;flex-direction:column}}

/* R5.3.5 unified adaptive identity / workbench theme.
   Semantic business statuses (success, warning, danger) remain meaningful. */
:root{
  --ux-accent:#1469ae; --ux-accent-hover:#105990; --ux-soft:#e6eff9;
  --ux-border:#b9d1e8; --ux-ink:#124871; --ux-focus:#5197cf;
}
:root[data-theme="blue"]{
  --ux-accent:#145fa9; --ux-accent-hover:#104e90; --ux-soft:#dfebfc;
  --ux-border:#acc8e8; --ux-ink:#173d70; --ux-focus:#5294cc;
}
:root[data-theme="green"]{
  --ux-accent:#17683f; --ux-accent-hover:#105631; --ux-soft:#deeee3;
  --ux-border:#9ac6aa; --ux-ink:#174d30; --ux-focus:#55a978;
}
:root[data-theme="contrast"]{
  --ux-accent:#00459e; --ux-accent-hover:#003779; --ux-soft:#dce9ff;
  --ux-border:#234b80; --ux-ink:#003377; --ux-focus:#003377;
}
/* No special fixed-color avatar: account chip, menu emphasis and actions track live theme selection. */
aside .user-chip>span:first-child, .side-bottom .user-chip>span:first-child{
  background:var(--ux-accent)!important;color:white!important;border:1px solid var(--ux-accent)!important;
}
#wsTabs .r533-toolbar .r533-action.r533-primary,
#wsTabs .r53-main-actions button.r53-daily,
#projectWorkspace .r535-new-work,
.r534-lead .primary,.r534-visit-editor .primary{
  background:var(--ux-accent)!important;border-color:var(--ux-accent)!important;color:#fff!important;
}
#wsTabs .r533-toolbar .r533-action.r533-primary:hover,
#projectWorkspace .r535-new-work:hover,
.r534-lead .primary:hover,.r534-visit-editor .primary:hover{background:var(--ux-accent-hover)!important;border-color:var(--ux-accent-hover)!important}
#wsTabs .r533-group-title::before{background:var(--ux-accent)!important}
#wsTabs .r533-group-items .r533-nav-btn.active,
#wsTabs .r533-group-items .r533-nav-btn[aria-current="page"],
#wsTabs .r53-tabs button.active,
#projectWorkspace .r535-top-link.active{
  background:var(--ux-soft)!important;border-color:var(--ux-border)!important;color:var(--ux-ink)!important;
}
#wsTabs .r533-group-items .r533-nav-btn:focus-visible,
#wsTabs .r533-toolbar .r533-action:focus-visible,
#projectWorkspace button:focus-visible,
.r534-lead button:focus-visible,.r534-visit-editor button:focus-visible{
  outline:2px solid var(--ux-focus)!important;outline-offset:3px;
}
.r534-batch-pill{background:var(--ux-soft)!important;border-color:var(--ux-border)!important;color:var(--ux-ink)!important}
.r534-lead .r534-person{border-color:var(--ux-border)!important}
#projectWorkspace .r535-top-link:hover{border-color:var(--ux-border)!important}
#projectWorkspace .r535-work-actions{justify-content:flex-start}
#projectWorkspace .r535-work-actions>span{max-width:480px;line-height:1.5}
#projectWorkspace .r535-info-item{min-width:0}
#projectWorkspace .r535-info-item b{max-width:270px}
#projectWorkspace .workspace-topbar{min-height:55px}
@media(max-width:550px){#projectWorkspace .r535-project-details{grid-template-columns:1fr}#projectWorkspace .r535-info-item b{max-width:220px}}
/* Prevent global <nav> column rule from stacking horizontal workspace tabs. */
#projectWorkspace .r535-quick-tabs{display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-start;gap:6px;flex-wrap:wrap;width:auto;max-width:100%}
#projectWorkspace .r535-quick-tabs button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:auto}
#projectWorkspace .workspace-topbar{display:flex;flex-direction:row;align-items:center;gap:12px;min-height:52px}
@media(max-width:1260px){#projectWorkspace .r535-quick-tabs{flex-wrap:nowrap;justify-content:flex-start}}


/* R5.4.0: dashboard + favorites, all accent colors theme driven */
#projectWorkspace .r54-star-hero{margin-top:10px;min-height:38px;padding:7px 13px;border:1px solid var(--ux-accent);border-radius:10px;color:var(--ux-accent);background:transparent;font-size:13px;font-weight:700;box-shadow:none}
#projectWorkspace .r54-star-hero[aria-pressed="true"]{background:var(--selected-bg);color:var(--ux-accent)}
#projectWorkspace .r54-dashboard{display:grid;gap:16px;margin-top:5px;max-width:100%;min-width:0}
#projectWorkspace .r54-featured{border:1px solid var(--line);border-radius:16px;padding:20px 22px;background:var(--panel);min-width:0}
#projectWorkspace .r54-featured-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
#projectWorkspace .r54-featured h3,#projectWorkspace .r54-personal h3{margin:2px 0 0;font-size:19px;line-height:1.4;color:var(--text)}
#projectWorkspace .r54-eyebrow{font-size:12px;letter-spacing:.08em;font-weight:750;color:var(--ux-accent)}
#projectWorkspace .r54-progress-numbers{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
#projectWorkspace .r54-progress-numbers b{font-size:32px;color:var(--text)}
#projectWorkspace .r54-progress-numbers small{font-size:15px;font-weight:500;color:var(--muted)}
#projectWorkspace .r54-progress-numbers strong{font-size:22px;color:var(--ux-accent)}
#projectWorkspace .r54-progress-track{height:11px;margin:10px 0;background:var(--panel2);border:1px solid var(--line);border-radius:99px;overflow:hidden}
#projectWorkspace .r54-progress-track>div{height:100%;border-radius:99px;background:var(--ux-accent);transition:width .2s}
#projectWorkspace .r54-progress-meta,#projectWorkspace .r54-hint{font-size:13px;line-height:1.6;color:var(--muted)}
#projectWorkspace .r54-personal{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:20px 22px;min-width:0}
#projectWorkspace .r54-personal-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}
#projectWorkspace .r54-personal-heading p{color:var(--muted);font-size:13px;margin:5px 0 0}
#projectWorkspace .r54-personal-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:14px}
#projectWorkspace .r54-personal-card{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:17px;min-width:0}
#projectWorkspace .r54-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}
#projectWorkspace .r54-card-head h4{margin:0;font-size:15px;font-weight:750}
#projectWorkspace .r54-outline{background:var(--panel)!important;color:var(--ux-accent)!important;border:1px solid var(--line2)!important;border-radius:9px;min-height:37px;padding:8px 12px;font-size:13px;font-weight:650;box-shadow:none!important}
#projectWorkspace .r54-outline:hover,#projectWorkspace .r54-tab:hover{border-color:var(--ux-accent)!important}
#projectWorkspace .r54-strong{background:var(--ux-accent)!important;color:white!important;border:1px solid var(--ux-accent)!important;border-radius:9px;min-height:40px;padding:8px 15px;font-size:14px;font-weight:750;box-shadow:none!important}
#projectWorkspace .r54-subtle{color:var(--ux-accent);background:transparent;border:0;padding:5px;font-size:13px;min-height:30px}
#projectWorkspace .r54-favorite-projects,#projectWorkspace .r54-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
#projectWorkspace .r54-project-chip{background:var(--panel);border:1px solid var(--line2);color:var(--text);padding:8px 10px;min-height:37px;border-radius:8px;text-align:left;font-size:13px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#projectWorkspace .r54-project-chip.selected{color:var(--ux-accent);border-color:var(--ux-accent)}
#projectWorkspace .r54-tool{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--panel);border:1px solid var(--line2);color:var(--text);border-radius:9px;padding:9px 12px;min-height:40px;font-size:14px}
#projectWorkspace .r54-tool span{color:var(--ux-accent)}
#projectWorkspace .r54-recent{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
#projectWorkspace .r54-recent>span{font-size:12px;color:var(--muted)}
#projectWorkspace .r54-recent button{font-size:12px;min-height:28px;background:transparent;color:var(--text);padding:4px 7px;border:1px solid var(--line);border-radius:8px}
#projectWorkspace .r54-dashboard-bottom{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#projectWorkspace .r54-brief{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:18px;min-width:0}
#projectWorkspace .r54-brief h3{font-size:15px;margin:0 0 13px}
#projectWorkspace .r54-brief p{color:var(--muted);font-size:13px;line-height:1.7}
#projectWorkspace .r54-small-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#projectWorkspace .r54-small-kpis>div{display:flex;flex-direction:column;gap:4px;border-radius:10px;background:var(--panel2);padding:9px;min-width:0}
#projectWorkspace .r54-small-kpis b{font-size:22px}
#projectWorkspace .r54-small-kpis span{font-size:12px;color:var(--muted)}
#projectWorkspace .r54-phase-tags{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}
#projectWorkspace .r54-phase-tags span{font-size:12px;border:1px solid var(--line);padding:5px 9px;border-radius:8px}
#projectWorkspace #wsTabs:empty{display:none!important}
#projectWorkspace .r54-secondary-nav{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--panel);display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:9px}
#projectWorkspace .r54-subpages,#projectWorkspace .r54-section-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#projectWorkspace .r54-tab{border:1px solid transparent;background:transparent;color:var(--text);padding:9px 13px;min-height:39px;border-radius:8px;font-size:14px}
#projectWorkspace .r54-tab.active{background:var(--selected-bg);color:var(--ux-accent);border-color:var(--line2);font-weight:750}
#projectWorkspace .r535-top-link.active{background:var(--selected-bg)!important;color:var(--ux-accent)!important;border-color:var(--line2)!important}
.r54-manage-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0}
.r54-manage-row{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:12px;border:1px solid var(--line);border-radius:10px}
.r54-manage-row strong{font-size:14px;font-weight:650}
@media(max-width:980px){#projectWorkspace .r54-personal-grid{grid-template-columns:1fr}#projectWorkspace .r54-dashboard-bottom{grid-template-columns:1fr}}
@media(max-width:640px){#projectWorkspace .r54-featured,#projectWorkspace .r54-personal{padding:15px}#projectWorkspace .r54-featured-title,#projectWorkspace .r54-personal-heading{align-items:stretch;flex-direction:column}#projectWorkspace .r54-small-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}#projectWorkspace .r54-secondary-nav{align-items:stretch}#projectWorkspace .r54-subpages{gap:2px}#projectWorkspace .r54-section-actions{width:100%}#projectWorkspace .r54-section-actions button{flex:1}.r54-manage-grid{grid-template-columns:1fr}}

/* R5.4.1 targeted layout cleanup, themed values only; leaves original worklog/visit functions intact. */
#workCoverageBanner{display:none!important}
.r541-coverage-chip{white-space:nowrap;min-height:36px;padding:7px 11px!important;border-radius:9px!important;font-weight:650;color:var(--ux-ink)!important;border:1px solid var(--ux-border)!important;background:var(--panel)!important}
.r541-coverage-chip.hidden{display:none!important}
#projectWorkspace .workspace-hero #wsKpis{display:none!important}
#projectWorkspace .r541-hero-stats{grid-column:1/-1;display:flex;gap:9px;flex-wrap:wrap;margin-top:5px;padding-top:9px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
#projectWorkspace .r541-hero-stats span{white-space:nowrap;border:1px solid var(--line);background:var(--panel2);padding:6px 9px;border-radius:8px}
#projectWorkspace .r541-hero-stats b{color:var(--text);font-size:15px}
#projectWorkspace .r54-secondary-nav{justify-content:flex-start!important;gap:8px!important;align-items:center!important}
#projectWorkspace .r54-section-actions{margin-left:auto}
#projectWorkspace .r54-subpages{gap:4px}
#projectWorkspace .r54-tab{padding:9px 11px!important;min-height:40px}
#projectWorkspace .r541-main-tabs{display:flex!important;align-items:center!important;flex-direction:row!important;justify-content:flex-start!important;width:100%!important;max-width:100%!important;flex-wrap:wrap!important;gap:7px!important;padding:10px 12px;margin:0 0 10px;border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow-x:visible!important;order:unset!important}
#projectWorkspace .r541-main-tabs button{flex:0 0 auto!important}
#projectWorkspace .workspace-topbar{min-height:40px}
#projectWorkspace .r541-personal{padding:16px 18px}
#projectWorkspace .r541-personal .r54-personal-heading{margin-bottom:12px}
#projectWorkspace .r541-personal .r54-personal-heading h3{font-size:17px}
#projectWorkspace .r541-personal .r54-tools{gap:8px}
#projectWorkspace .r541-main-tabs .r535-top-link.active{background:var(--selected-bg)!important;color:var(--ux-accent)!important;border-color:var(--ux-accent)!important}
.r541-project-favorites{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:9px 10px;margin:8px 0 10px;background:var(--panel);border:1px solid var(--line);border-radius:10px}
.r541-fav-title{font-size:13px;font-weight:700;color:var(--text);margin-right:4px;white-space:nowrap}
.r541-fav-hint{font-size:12px;color:var(--muted)}
.r541-fav-chip{border:1px solid var(--line2);background:var(--panel2);color:var(--text);border-radius:8px;padding:7px 10px;max-width:240px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:13px}
.r541-fav-chip:hover{border-color:var(--ux-accent);color:var(--ux-accent)}
.r541-project-star{border:none!important;background:transparent!important;color:var(--ux-accent)!important;font-size:20px;min-height:32px;padding:0 5px 0 0;vertical-align:middle}
@media(max-width:800px){#projectWorkspace .r541-hero-stats{gap:5px}#projectWorkspace .r541-hero-stats span{padding:5px 6px}#projectWorkspace .r54-section-actions{margin-left:0}#projectWorkspace .r54-secondary-nav{flex-wrap:wrap}#projectWorkspace .r541-main-tabs{overflow-x:auto!important;flex-wrap:nowrap!important} .r541-project-favorites{align-items:flex-start}}

/* R5.4.2 — Quote-to-task review dialog: scoped spacing and no inherited label/toolbar collision */
#modal:has(.r542-quote-dialog) .modal-card{width:min(830px,calc(100vw - 32px));max-height:min(88vh,940px);overflow:auto;padding:28px 30px;box-sizing:border-box}
.r542-quote-dialog{width:100%;max-width:100%;min-width:0;display:grid;gap:20px;box-sizing:border-box;color:var(--text)}
.r542-quote-dialog *{box-sizing:border-box}
.r542-quote-header{padding-right:42px;display:grid;gap:9px}
.r542-quote-header h2{margin:0;font-size:23px;line-height:1.35}
.r542-quote-header p{margin:0;color:var(--muted);font-size:13px;line-height:1.75}
.r542-source{display:grid;gap:9px;min-width:0}
.r542-source>label{font-size:14px;font-weight:650;margin:0;line-height:1.4;display:block}
.r542-source .input{display:block;width:100%;min-width:0;min-height:46px;margin:0;padding:10px 14px}
.r542-scope{min-width:0;display:grid;gap:12px}
.r542-section-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:15px}
.r542-section-top>span{color:var(--muted);font-size:12px}
.r542-help,.r542-empty{padding:15px 18px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);display:grid;gap:7px;line-height:1.65}
.r542-help strong,.r542-empty strong{font-size:14px;line-height:1.5}
.r542-help p,.r542-empty span{color:var(--muted);font-size:13px;margin:0;line-height:1.75}
.r542-quote-rows{border:1px solid var(--line);border-radius:12px;max-height:310px;overflow:auto;min-width:0}
.r542-quote-item{display:flex;gap:13px;align-items:start;min-width:0;margin:0;padding:13px 16px;cursor:pointer;border-bottom:1px solid var(--line)}
.r542-quote-row{display:grid;grid-template-columns:minmax(0,1fr);gap:0;border-bottom:1px solid var(--line);min-width:0}.r542-quote-row:last-child{border-bottom:0}.r542-quote-row .r542-quote-item{border-bottom:0}.r542-quote-edit{display:grid;gap:6px;padding:0 16px 13px 47px;min-width:0}.r542-quote-edit label{font-size:12px;color:var(--muted)}.r542-quote-edit .input{width:100%;min-width:0;min-height:40px}.r542-order{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;margin-right:4px;border-radius:50%;background:var(--panel2);color:var(--accent);font-size:12px;font-style:normal;font-weight:700}.r542-quote-row.is-existing .r542-quote-edit{opacity:.68}
.r542-quote-item:last-child{border-bottom:0}
.r542-quote-item.is-existing{opacity:.68;cursor:default}
.r542-quote-item input{flex:none;width:18px;height:18px;margin:3px 0 0}
.r542-quote-item span{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}
.r542-quote-item strong{font-size:14px;line-height:1.6;font-weight:600}
.r542-quote-item small{font-size:12px;color:var(--muted)}
.r542-quote-note{font-size:12px;color:var(--muted);line-height:1.6}
.r542-quote-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--line)}
.r542-quote-footer .r542-selected{margin-right:auto;color:var(--muted);font-size:13px}
.r542-quote-footer button{white-space:normal;min-height:42px;padding:9px 16px;margin:0;max-width:100%}
.r542-quote-footer button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:680px){#modal:has(.r542-quote-dialog) .modal-card{width:calc(100vw - 20px);padding:22px 16px;max-height:calc(100dvh - 18px)}.r542-quote-dialog{gap:16px}.r542-quote-header h2{font-size:20px}.r542-quote-footer{display:grid;grid-template-columns:1fr 1fr}.r542-quote-footer .r542-selected{grid-column:1/-1}.r542-quote-footer button{width:100%}.r542-quote-footer button:last-child{grid-column:1/-1}}


/* R5.4.3: compact daily work zone; keep global/hero unchanged. */
#projectWorkspace .r543-daily-nav{padding:9px 12px;margin-top:10px;justify-content:flex-start!important}
#projectWorkspace .r543-daily-nav .r54-subpages{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}
#projectWorkspace .r543-new-daily{white-space:nowrap;font-weight:720;min-height:39px;padding:9px 14px;border-radius:8px;}
#projectWorkspace .r543-alert-summary{display:flex;gap:12px;flex-wrap:wrap;align-items:center;min-height:42px;border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:10px 0 6px;background:var(--panel);color:var(--text);font-size:13px}
#projectWorkspace .r543-alert-summary b{font-weight:750}
#projectWorkspace .r543-alert-summary small{font-size:11px;color:var(--muted)}
#projectWorkspace .r543-alert-filter{display:inline-flex;align-items:center;gap:7px;margin-left:4px;cursor:pointer;white-space:nowrap;font-size:13px;font-weight:650}
#projectWorkspace .r543-alert-filter input{accent-color:var(--ux-accent);width:16px;height:16px;margin:0}
#projectWorkspace .r543-alert-summary + .worklog-filters{margin-top:8px}
@media(max-width:640px){#projectWorkspace .r543-daily-nav .r54-subpages{gap:5px}#projectWorkspace .r543-alert-summary{gap:8px;padding:9px}#projectWorkspace .r543-alert-summary small{flex-basis:100%}}

/* R5.4.4 — execution task modal: responsive task cards (no squeezed table columns) */
#modal:has(.r544-task-dialog) .modal-card{width:min(1000px,calc(100vw - 40px));max-height:calc(100dvh - 38px);box-sizing:border-box;padding:26px 28px;overflow-x:hidden}
.r544-task-dialog{display:flex;flex-direction:column;gap:18px;min-width:0;font-size:14px;line-height:1.6}
.r544-task-dialog *{box-sizing:border-box}
.r544-task-heading{position:static;top:auto;z-index:auto;display:block;height:auto;min-height:0;align-items:initial;justify-content:initial;border:0;padding:0 48px 0 0;background:transparent;backdrop-filter:none;min-width:0}
.r544-task-heading h2{font-size:23px;line-height:1.3;margin:0 0 6px}
.r544-task-heading p{margin:0;font-size:13px;line-height:1.6}
.r544-task-overview{padding:14px 17px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}
.r544-task-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}
.r544-task-summary strong{font-size:17px;color:var(--text)}
.r544-task-summary span{font-size:13px;color:var(--muted)}
.r544-task-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px}
.r544-task-section-head h3{font-size:16px;line-height:1.45;margin:0}
.r544-task-list{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel)}
.r544-task-item{padding:16px 18px;min-width:0}
.r544-task-item+.r544-task-item{border-top:1px solid var(--line)}
.r544-task-title{font-weight:680;font-size:15px;line-height:1.68;overflow-wrap:anywhere;word-break:normal;white-space:normal}
.r544-task-criteria{color:var(--muted);font-size:13px;line-height:1.6;margin-top:7px;overflow-wrap:anywhere}
.r544-task-lower{display:flex;justify-content:space-between;align-items:center;gap:12px 20px;flex-wrap:wrap;margin-top:12px}
.r544-task-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:13px;color:var(--muted);min-width:0}
.r544-task-meta>span{white-space:normal;overflow-wrap:anywhere}
.r544-task-status{display:inline-flex;align-items:center;min-height:26px;padding:2px 10px;border-radius:999px;background:var(--panel2);border:1px solid var(--line);color:var(--text)}
.r544-task-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;flex-shrink:0}
.r544-task-dialog .r544-task-actions button{min-width:94px;min-height:38px;padding:8px 12px;font-size:13px;white-space:nowrap}
.r544-task-empty{padding:28px 16px;color:var(--muted);text-align:center}
.r544-task-lead details{border:1px solid var(--line);border-radius:11px;padding:11px 14px}
.r544-task-lead summary{font-size:14px;cursor:pointer;font-weight:650}
.r544-task-lead #cyR2Leads{margin-top:12px}
.r544-task-lead #cyR2Leads .card-b{padding:12px}
.r544-task-lead #cyR2Leads p{margin:7px 0}
.r544-task-footer{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;padding-top:16px;border-top:1px solid var(--line)}
.r544-task-footer-primary,.r544-task-footer-secondary{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.r544-task-footer button{font-size:13px;min-height:40px;padding:8px 14px;white-space:nowrap}
@media(max-width:700px){
 #modal:has(.r544-task-dialog){padding:10px}
 #modal:has(.r544-task-dialog) .modal-card{width:100%;max-height:calc(100dvh - 20px);padding:19px 16px}
 .r544-task-dialog{gap:14px}
 .r544-task-heading h2{font-size:20px}
 .r544-task-item{padding:14px 12px}
 .r544-task-lower{align-items:stretch}
 .r544-task-actions{width:100%}
 .r544-task-actions button{flex:1}
 .r544-task-footer-primary,.r544-task-footer-secondary{width:100%}
 .r544-task-footer{gap:10px}
 .r544-task-footer button{flex:1 1 auto;white-space:normal}
}


/* R5.4.5 — labeled travel assessments and stable daily filter layout */
#modal:has(.r545-assessment-modal) .modal-card{width:min(1120px,calc(100vw - 28px));max-height:calc(100dvh - 28px);box-sizing:border-box;padding:24px clamp(14px,2.2vw,30px);overflow-x:hidden}
#modal:has(.r545-assessment-modal) .form-section{margin-top:18px;padding:18px}
#modal:has(.r545-assessment-modal) .r545-assessment-dynamic>.field{min-width:0}
#modal:has(.r545-assessment-modal) .r545-assessment-dynamic small{display:block;line-height:1.45;margin-top:6px}
#modal:has(.r545-assessment-modal) .form-section-head{gap:10px;flex-wrap:wrap}
#modal .form-section .r545-travel-card{display:block;width:100%;min-width:0;border:1px solid var(--line2);background:var(--panel);border-radius:12px;padding:16px;margin:0 0 14px;box-sizing:border-box}
#modal .r545-travel-card legend{padding:0 8px;font-size:15px;font-weight:700;color:var(--text);max-width:95%}
#modal .r545-travel-card legend .muted{font-size:12px;font-weight:400}
#modal .r545-travel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
#modal .r545-travel-field{display:flex;flex-direction:column;align-items:stretch;min-width:0;gap:6px;font-size:13px;line-height:1.3;color:var(--text);font-weight:500}
#modal .r545-travel-field>span{display:block}
#modal .r545-travel-field>.input{box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;height:44px;min-height:44px;font-size:14px;font-weight:400}
#modal .r545-travel-foot{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:12px;flex-wrap:wrap}
#modal .r545-travel-foot small{min-width:0;flex:1 1 300px;line-height:1.5}
#modal .r545-travel-remove{min-height:36px;white-space:nowrap}
#projectWorkspace .worklog-filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding:12px 0}
#projectWorkspace .worklog-filters>label{min-width:150px;flex:0 1 188px}
#projectWorkspace .worklog-filters>label:has(#wlfSort){flex:0 1 255px;min-width:200px}
#projectWorkspace .worklog-filters .input{box-sizing:border-box;min-width:0;width:100%}
#projectWorkspace .worklog-pagination{gap:10px;flex-wrap:wrap}
@media(max-width:920px){
 #modal .r545-travel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #modal:has(.r545-assessment-modal) .r545-assessment-dynamic{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
 #modal:has(.r545-assessment-modal) .modal-card{padding:18px 12px}
 #modal:has(.r545-assessment-modal) .form-section{padding:12px}
 #modal .r545-travel-grid{grid-template-columns:minmax(0,1fr)}
 #modal .r545-travel-card legend .muted{display:none}
 #modal .r545-travel-remove{width:100%}
 #modal:has(.r545-assessment-modal) .r545-assessment-dynamic{grid-template-columns:minmax(0,1fr)}
 #projectWorkspace .worklog-filters>label,#projectWorkspace .worklog-filters>label:has(#wlfSort){min-width:0;flex:1 1 100%}
}

/* R5.4.5 — phase and batch headings, no floating unlabelled CTA */
#projectWorkspace .r545-field-split{gap:18px;align-items:start}
#projectWorkspace .r545-field-split>div{min-width:0}
#projectWorkspace .r545-field-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;min-height:50px;border-bottom:1px solid var(--line2);padding:4px 2px 10px}
#projectWorkspace .r545-field-section-head b{display:block;font-size:17px}
#projectWorkspace .r545-field-section-head small{display:block;font-size:12px;color:var(--muted);margin-top:4px}
#projectWorkspace .r545-field-section-head button{white-space:normal;min-height:40px}
#projectWorkspace .r545-field-split .card-h{flex-wrap:wrap;gap:12px}
#projectWorkspace .r545-field-split .card-h>div{min-width:0;overflow-wrap:anywhere}
@media(max-width:760px){
 #projectWorkspace .r545-field-split{grid-template-columns:minmax(0,1fr)}
 #projectWorkspace .r545-field-section-head{flex-wrap:wrap}
}


/* R5.5.0 PC / 待整理手机采集；仅作用于 r550 组件 */
.r550-inbox{background:var(--card,#fff);border:1px solid var(--line,#d6e1e6);border-radius:14px;padding:18px;margin-bottom:18px;min-width:0}
.r550-inbox *,.r550-detail *{box-sizing:border-box}
.r550-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:14px}.r550-header h3{font-size:18px;margin:0 0 7px}.r550-header p{font-size:13px;line-height:1.6;color:var(--muted,#617080);margin:0}.r550-actions{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.r550-actions label{font-size:13px;display:flex;flex-direction:column;gap:5px}.r550-actions select{min-width:170px;max-width:100%}
.r550-grid{display:grid;gap:10px}.r550-row{border:1px solid var(--line,#e1e7eb);padding:13px 15px;border-radius:12px;display:flex;gap:12px;justify-content:space-between;align-items:center;min-width:0}.r550-row-main{min-width:0;flex:1}.r550-row-title{font-weight:700;line-height:1.5;overflow-wrap:anywhere}.r550-meta{font-size:12px;color:var(--muted,#63717b);margin-top:5px}.r550-row-main p{font-size:13px;margin:6px 0 0;overflow-wrap:anywhere}.r550-row button{flex:0 0 auto}.r550-empty,.r550-missing{color:var(--muted,#677889);padding:14px 10px;line-height:1.6}.r550-footer{text-align:center;margin-top:8px}
.r550-detail{max-width:780px;min-width:0}.r550-detail h2{line-height:1.45;overflow-wrap:anywhere}.r550-mini{color:var(--muted,#678);font-weight:400;font-size:13px}.r550-note{background:var(--bg,#f5f7f9);padding:13px;border-radius:10px;margin:14px 0}.r550-note p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0}.r550-files{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:8px}.r550-files li{display:flex;gap:10px;justify-content:space-between;align-items:center;border:1px solid var(--line,#ddd);padding:10px 12px;border-radius:10px}.r550-files li>div{min-width:0}.r550-files strong,.r550-files small{display:block;overflow-wrap:anywhere}.r550-files small{color:var(--muted,#687);margin-top:3px}.r550-file-link{white-space:nowrap}.r550-upload{margin-top:16px;border-top:1px solid var(--line,#ddd);padding-top:16px;display:grid;gap:10px}.r550-upload label{display:grid;gap:6px}.r550-upload input{width:100%;min-width:0}.r550-upload button{justify-self:start}
@media(max-width:640px){.r550-inbox{padding:12px}.r550-row,.r550-files li{align-items:stretch;flex-direction:column}.r550-row button,.r550-file-link{align-self:flex-start}.r550-actions,.r550-actions label{width:100%}.r550-actions select{width:100%}}

/* R5.5.1 scoped project capture inbox + gallery */
.r551-inbox,.r551-inbox *,.r551-detail,.r551-detail *,.r551-lightbox,.r551-lightbox *{box-sizing:border-box}
.r551-toolbar{display:grid;grid-template-columns:minmax(160px,230px) minmax(180px,1fr) minmax(140px,195px);gap:12px;margin:15px 0;align-items:end}
.r551-toolbar label,.r551-archive label{display:grid;gap:7px;min-width:0;font-size:13px;font-weight:600}
.r551-toolbar input,.r551-toolbar select,.r551-archive input,.r551-archive select{width:100%;min-width:0;max-width:100%;padding:10px 12px;font-size:14px}
.r551-records{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:12px}
.r551-record{min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:12px;border:1px solid var(--line,#dce5e9);border-radius:12px;padding:14px;background:var(--card,#fff)}
.r551-record-head,.r551-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}
.r551-kind,.r551-state,.r551-tags span{font-size:12px;border:1px solid var(--line,#d7e0e7);border-radius:99px;padding:3px 8px;overflow-wrap:anywhere}
.r551-kind{font-weight:700;background:var(--bg,#f6f8fb)}.r551-state{color:var(--muted,#566);background:var(--bg,#f6f8fb)}
.r551-title{font-size:16px;line-height:1.6;display:block;overflow-wrap:anywhere}
.r551-muted{font-size:12px;color:var(--muted,#687580);line-height:1.55;overflow-wrap:anywhere;margin:5px 0}
.r551-record>button{align-self:flex-start;max-width:100%}.r551-file-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.r551-detail{max-width:850px}.r551-detail h2{overflow-wrap:anywhere}.r551-archive{margin-top:18px;border:1px solid var(--line,#dce5e9);border-radius:12px;padding:14px;display:grid;gap:12px;min-width:0}
.r551-archive h3{margin:0}.r551-archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.r551-archive>button{justify-self:start}.r551-detail .r550-files li{gap:12px;min-width:0}
.r551-lightbox{position:fixed;inset:0;z-index:100005;background:rgba(8,15,20,.95);color:#fff;display:flex;flex-direction:column;align-items:stretch;padding:12px;gap:8px;max-height:100dvh}
.r551-lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}.r551-picture-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.r551-lightbox button{border:1px solid rgba(255,255,255,.3);border-radius:10px;background:rgba(255,255,255,.14);color:#fff;min-width:44px;min-height:44px;padding:8px 13px;cursor:pointer;font-size:17px;flex:0 0 auto}
.r551-lightbox-image{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:0;flex:1;overflow:hidden}
.r551-lightbox-image img{max-width:calc(100% - 132px);max-height:100%;width:auto;height:auto;object-fit:contain;transition:transform 150ms ease;transform-origin:center}
.r551-lightbox-image button{font-size:36px}.r551-lightbox-bottom{justify-content:center;flex-wrap:wrap}.r551-lightbox-bottom span{font-size:12px;opacity:.75}
@media(max-width:700px){.r551-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.r551-toolbar label:nth-child(2){grid-column:1/-1;grid-row:2}.r551-archive-grid{grid-template-columns:minmax(0,1fr)}.r551-lightbox-image{gap:5px}.r551-lightbox-image img{max-width:calc(100% - 105px)}}
@media(max-width:430px){.r551-toolbar{grid-template-columns:minmax(0,1fr)}.r551-toolbar label:nth-child(2){grid-column:auto;grid-row:auto}.r551-lightbox{padding:6px}.r551-lightbox-image img{max-width:calc(100% - 96px)}.r551-lightbox-image button{min-width:40px;padding:4px}}

/* R5.5.2 media management modal: scoped layout, supports long filenames and narrow screens */
.r552-manager,.r552-manager *{box-sizing:border-box}
.r552-manager{display:grid;gap:18px;max-width:980px;font-size:14px;color:var(--text)}
.r552-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-right:44px}
.r552-heading h2{margin:0 0 6px;font-size:22px}.r552-heading p,.r552-note{margin:0;color:var(--muted);line-height:1.6;overflow-wrap:anywhere}
.r552-manager>h3{margin:0;font-size:18px;overflow-wrap:anywhere}
.r552-status{padding:6px 10px;border:1px solid var(--line);border-radius:8px;white-space:nowrap}
.r552-block{border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;gap:14px;min-width:0;background:var(--panel2)}
.r552-block h3{margin:0;font-size:16px}.r552-block-head{display:flex;justify-content:space-between;gap:14px;align-items:baseline;flex-wrap:wrap}.r552-block-head small{color:var(--muted)}
.r552-files{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:12px}
.r552-file{border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;min-width:0}
.r552-file-preview>button{width:120px;height:120px;padding:0;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;cursor:zoom-in;color:var(--muted)}
.r552-file-preview img{width:100%;height:100%;object-fit:contain}.r552-nonimage{font-weight:700;color:var(--muted);display:grid;place-items:center;width:120px;height:120px;background:var(--panel)}
.r552-file-info{min-width:0;display:grid;align-content:start;gap:8px}.r552-file-info small{color:var(--muted);overflow-wrap:anywhere;word-break:break-word}
.r552-manager label{display:grid;gap:6px;min-width:0;font-size:13px;font-weight:650}
.r552-manager input,.r552-manager select{width:100%;min-width:0;max-width:100%;font-size:14px;padding:10px}
.r552-file-buttons,.r552-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.r552-file-buttons a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.r552-file-buttons button,.r552-file-buttons a,.r552-actions button{min-height:38px;padding:8px 12px;white-space:nowrap}
.r552-feedback{font-size:12px;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}
.r552-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.r552-empty{border:1px dashed var(--line);padding:18px;text-align:center;border-radius:10px;color:var(--muted)}
@media(max-width:700px){.r552-files{grid-template-columns:minmax(0,1fr)}.r552-file{grid-template-columns:90px minmax(0,1fr);gap:10px}.r552-file-preview>button,.r552-nonimage{width:90px;height:100px}.r552-grid{grid-template-columns:minmax(0,1fr)}.r552-heading{padding-right:28px}}
@media(max-width:380px){.r552-file{grid-template-columns:minmax(0,1fr)}.r552-file-preview>button,.r552-nonimage{width:100%;height:120px}}

.r552-file-preview .r552-thumb-error{display:none;color:var(--muted);font-size:12px;padding:8px}.r552-file-preview .r552-thumb-broken img{display:none}.r552-file-preview .r552-thumb-broken .r552-thumb-error{display:block}



/* V1 R5.5.3 targeted trip status & media viewer layout */
.r553-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.r553-plan-card{border:1px solid var(--line,#d6dee7);border-radius:10px;padding:12px;min-width:0;overflow-wrap:anywhere;background:var(--panel,#fff)}
.r553-plan-card strong{display:block;font-size:16px;margin-top:6px;line-height:1.5}.r553-plan-card span{font-size:12px;color:var(--muted,#64748b)}
.r553-plan-card.current{border-color:#83a7ce;background:var(--panel2,#f5f9fe)}
.r553-plan-meta{margin:8px 0 12px;color:var(--muted,#64748b);font-size:13px;line-height:1.6}
.r551-lightbox-image{position:relative;min-width:0;min-height:0}
.r551-lightbox-image img{flex:0 0 auto;max-width:none;max-height:none;object-fit:contain}
.r553-photo-wait{font-size:13px;color:#e2e8f0;text-align:center;position:absolute;top:12px;left:60px;right:60px;pointer-events:none}
.r551-lightbox-bottom{min-height:52px;gap:8px}
.r551-lightbox-bottom button{font-size:14px;line-height:1.35}
.r553-save-rotation{background:#1b70ae!important;border-color:#75b8f2!important;font-weight:700}
.r553-save-rotation:disabled{opacity:.5;cursor:default}
.r553-rotate-note{font-size:12px;line-height:1.4;max-width:260px;color:#d6e5f4}
@media(max-width:700px){.r553-plan-grid{grid-template-columns:minmax(0,1fr)}.r551-lightbox{gap:6px}.r551-lightbox-bottom{padding-bottom:max(4px,env(safe-area-inset-bottom,0px));justify-content:center}.r553-rotate-note{max-width:100%;width:100%;text-align:center}.r551-lightbox-image button{position:relative;z-index:1}}

/* V1 R5.5.3 FIX2: plan correction and return dialogs use compact independent business sections. */
#modal:has(.r553-plan-grid) .modal-card,#modal:has(.r553-plan-editor) .modal-card{width:min(980px,calc(100vw - 24px));box-sizing:border-box;max-height:calc(100dvh - 24px);overflow-x:hidden;padding:24px clamp(14px,2.2vw,28px)}
#modal:has(.r553-plan-grid) .grid-form.cols2{gap:14px 18px;align-items:start}
#modal:has(.r553-plan-grid) .grid-form.cols2>*{min-width:0}
#modal:has(.r553-plan-grid) .grid-form.cols2 .input,#modal:has(.r553-plan-editor) .input{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.r553-return-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 14px;flex-wrap:wrap}
.r553-return-tip{font-size:13px;line-height:1.6;color:var(--muted);flex:1 1 350px}
.r553-plan-editor{display:grid;gap:14px;min-width:0}.r553-plan-editor h2{margin:0}.r553-plan-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.r553-plan-edit-grid>label{min-width:0;display:grid;gap:6px}.r553-plan-proof{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.r553-plan-proof>div{padding:12px;border:1px solid var(--line);border-radius:10px;font-size:12px;color:var(--muted);min-width:0}.r553-plan-proof strong{display:block;color:var(--text);margin-top:7px;font-size:15px;overflow-wrap:anywhere}
.r553-plan-field{display:grid;gap:6px;min-width:0}.r553-plan-estimate{padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:var(--panel2)}.r553-plan-estimate.invalid{color:var(--red)}.r553-plan-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin:8px 0}
.r553-billing-review{color:#a65300;font-weight:650;display:block;padding:6px 0}.r553-original-plan{color:var(--muted);font-size:12px}
@media(max-width:650px){#modal:has(.r553-plan-grid) .modal-card,#modal:has(.r553-plan-editor) .modal-card{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);padding:18px 13px}.r553-plan-edit-grid,.r553-plan-proof{grid-template-columns:minmax(0,1fr)}.r553-plan-actions button{flex:1 1 auto}.r553-return-actions button{width:100%}}

/* R5.5.3 FIX3: readable approved plan, original audit date and action wrapping */
.approval-summary-grid>*{min-width:0;overflow-wrap:anywhere}
.approval-summary-grid .r553-original-plan{display:block;color:#66758a;font-size:12px;line-height:1.5;margin-top:6px}
.ledger-row-actions{display:flex;flex-wrap:wrap;gap:6px}
@media(max-width:600px){.ledger-row-actions>*{max-width:100%;white-space:normal}.site-billing-row{overflow-wrap:anywhere}}

/* PC batch customer quote inquiries, 320px -> 1440px responsive */
.r555-quote{display:grid;gap:14px;min-width:0;max-width:100%}
.r555-quote header h2{margin:0 0 6px}
.r555-quote header p{margin:0}
.r555-quote-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.r555-quote-filter label{display:grid;gap:6px;min-width:0}
.r555-quote-note{font-size:13px;color:#855a00;background:#fff7df;border:1px solid #f7dfae;border-radius:10px;padding:10px;margin:0}
.r555-quote-table{width:100%;min-width:0;overflow-x:auto;border:1px solid #dbe3ec;border-radius:12px}
.r555-quote-table table{width:100%;min-width:650px;border-collapse:collapse;font-size:14px}
.r555-quote-table td,.r555-quote-table th{text-align:left;vertical-align:middle;padding:9px 12px;border-bottom:1px solid #e9eef5}
.r555-quote-table small{display:block;color:#66758a;line-height:1.55;margin-top:3px;overflow-wrap:anywhere}
.r555-quote-table strong{overflow-wrap:anywhere}
.r555-quote-table .input{max-width:195px}
.r555-quote-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.r555-quote-actions span{margin-right:auto;color:#65758a}
.r555-quote-pending{color:#805000}
.r555-quote-review{color:#a34224;font-weight:600}
.r555-retired-history{margin:10px 0 16px;border:1px solid #d8e1eb;border-radius:12px;padding:12px 14px;background:#f8fafc}
.r555-retired-history>summary{cursor:pointer;font-weight:700}
.r555-history-rows{display:grid;gap:6px;margin-top:10px}
.r555-history-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px;border-top:1px solid #e4eaf3}
.r555-history-row span{min-width:0;overflow-wrap:anywhere}
.r555-history-row small{display:block;color:#64748b}
@media(max-width:640px){.r555-quote-filter{grid-template-columns:1fr}.r555-quote-actions>*{flex:1 1 100%}.r555-history-row{align-items:flex-start}.r555-quote{gap:10px}.r555-quote-filter .input{width:100%;min-width:0}}

/* R5.5.6: unified selectable work-type pills in daily and site visits. */
.r556-tag-field{grid-column:1/-1;min-width:0}
.r556-task-tags,.r556-batch-tags{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.r556-task-tags{padding:4px 0}
.r534-visit-editor .r556-task-tags .work-type-tag{width:auto;max-width:100%;min-height:38px;border-radius:999px;padding:8px 14px;white-space:normal;overflow-wrap:anywhere;font-size:14px;line-height:1.35}
.r556-task-tags .work-type-tag:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.r556-read-tag{display:inline-flex;align-items:center;cursor:default;font-size:13px;padding:4px 10px}
.r556-batch-tags:empty{display:none}
@media(max-width:420px){.r534-visit-editor .r556-task-tags{gap:7px}.r534-visit-editor .r556-task-tags .work-type-tag{font-size:13px;padding:8px 12px}}

/* R5.5.7 monthly customer settlement export and travel context */
.site-export-options{border:1px solid #d3deea;border-radius:12px;padding:12px;margin-top:14px;background:#f8fafc}.site-export-options>summary{font-weight:700;cursor:pointer}.site-export-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin:12px 0}.site-export-fields label,.site-export-rows label{display:flex;gap:8px;align-items:flex-start;padding:8px;border:1px solid #dbe3ed;border-radius:8px;background:white;overflow-wrap:anywhere}.site-export-fields input,.site-export-rows input{flex:none;margin-top:3px}.site-export-rows{display:grid;gap:6px;margin-top:12px}.site-export-rows>b{margin-bottom:3px}.batch-travel-context{display:grid;gap:6px;border:1px solid #dbe6f0;border-radius:10px;background:#f7fafc;padding:10px;margin:10px 0}.batch-travel-context>div{overflow-wrap:anywhere;line-height:1.6}.batch-travel-context small{color:#64748b}.visit-delete-approval{border-color:#f0c4c4}.internal-work-panel .announcement-row{align-items:flex-start}.internal-work-panel .announcement-row p{margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:600px){.site-export-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.site-export-rows label{font-size:13px}}
