:root{--nav:#0b1f3a;--nav2:#102b4f;--blue:#246bfd;--blue2:#4f8cff;--cyan:#0ea5c6;--green:#10a36a;--amber:#d18b12;--red:#d84b5b;--bg:#f4f7fb;--card:#fff;--text:#17263b;--muted:#718096;--line:#e4eaf2;--shadow:0 10px 32px rgba(22,42,71,.07)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial;color:var(--text);background:var(--bg);font-size:14px}.app-shell{display:grid;grid-template-columns:255px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,var(--nav),#08182c);color:#fff;padding:18px 14px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:30}.brand{display:flex;align-items:center;gap:11px;padding:4px 5px 20px}.brand-mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#2f76ff,#13b7cf);display:grid;place-items:center;font-weight:900;letter-spacing:.5px;box-shadow:0 8px 20px #0003}.brand strong{display:block;font-size:14px}.brand span{display:block;font-size:10px;color:#9db1c8;margin-top:2px}.new-side{height:39px;border:1px solid #294667;background:#122e50;color:#dcecff;border-radius:10px;font-weight:750;cursor:pointer}.side-title{font-size:9px;letter-spacing:1.5px;color:#7892ad;font-weight:800;margin:22px 8px 8px}.project-list{display:grid;gap:5px;overflow:auto}.project-item{border:0;background:transparent;color:#b8c9dc;border-radius:10px;text-align:left;padding:9px 8px;display:grid;grid-template-columns:5px 1fr;gap:9px;cursor:pointer}.project-item>span{border-radius:99px;background:transparent}.project-item b{font-size:9px;letter-spacing:.7px;color:#738da9}.project-item small{display:block;color:inherit;font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-item:hover,.project-item.active{background:#143355;color:#fff}.project-item.active>span{background:#37a2ff}.side-footer{margin-top:auto;border-top:1px solid #1e3959;padding:14px 5px 2px;color:#7892ad;display:grid;gap:8px}.server-pill{font-size:10px;color:#9fc7b6}.server-pill i{display:inline-block;width:7px;height:7px;background:#33c486;border-radius:50%;margin-right:5px;box-shadow:0 0 0 3px #33c48620}.side-footer small{font-size:9px}.main-shell{min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:20}.top-left{display:flex;align-items:center;gap:11px}.topbar h1{font-size:17px;margin:2px 0 0}.eyebrow,.section-kicker{font-size:9px;font-weight:850;letter-spacing:1.3px;color:#8797aa}.top-actions{display:flex;gap:8px;align-items:center}.top-actions>span{font-size:11px;color:var(--muted);margin-right:5px}.mobile-menu{display:none;border:0;background:#edf3fa;border-radius:8px;width:38px;height:38px}.btn{height:38px;padding:0 13px;border-radius:9px;border:1px solid var(--line);background:#fff;color:#3c4d61;font-weight:750;font-size:11px;cursor:pointer}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 5px 14px #246bfd28}.btn.ghost{background:#fff}.content{padding:22px 24px 38px;max-width:1650px;margin:auto}.project-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:17px}.project-code{font-size:10px;font-weight:850;letter-spacing:1.2px;color:var(--blue)}.project-head h2{font-size:25px;margin:3px 0}.project-head p{margin:0;color:var(--muted);font-size:12px}.period{text-align:right}.period span{display:block;color:#8b9aab;font-size:9px;font-weight:800;letter-spacing:.8px}.period strong{display:block;margin-top:5px;font-size:12px}.kpi-grid{display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:11px;margin-bottom:18px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:15px 16px;box-shadow:var(--shadow)}.kpi>span{font-size:9px;letter-spacing:.8px;color:#8796a8;font-weight:800}.kpi>strong,.kpi-value strong{display:block;font-size:25px;margin:6px 0 7px;letter-spacing:-.6px}.kpi small{font-size:10px;color:#8a99aa}.kpi-value{display:flex;align-items:center;justify-content:space-between}.kpi-value em{font-style:normal;font-size:10px;border-radius:99px;padding:4px 7px;background:#eef4ff;color:var(--blue);font-weight:800}.bar{height:6px;background:#edf1f6;border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan));border-radius:inherit;width:0;transition:.25s}.bar.plan i{background:#8fa4bd}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px;overflow:auto}.tabs button{background:transparent;border:0;border-bottom:2px solid transparent;color:#6f7f92;padding:12px 14px;font-size:11px;font-weight:780;cursor:pointer;white-space:nowrap}.tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}.tab{display:none;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}.tab.active{display:block}.overview-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:13px}.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px}.tab .panel{box-shadow:none}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.panel-head h3{margin:2px 0 0;font-size:15px}.panel-head p{font-size:11px;color:var(--muted);margin:4px 0 0}.badge{font-size:9px;font-weight:900;padding:6px 9px;border-radius:99px;background:#eaf8f2;color:var(--green)}.badge.warn{background:#fff6df;color:var(--amber)}.badge.danger{background:#fff0f2;color:var(--red)}.compare{display:grid;grid-template-columns:1fr 1fr;gap:18px}.compare span{font-size:10px;color:var(--muted)}.compare strong{display:block;font-size:21px;margin:4px 0 7px}.health-note{margin-top:14px;background:#f7f9fc;border-radius:9px;padding:10px 12px;font-size:11px;color:#66778b}.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.status-grid>div{border:1px solid var(--line);border-radius:10px;padding:10px}.status-grid strong{display:block;font-size:18px;margin:4px 0 1px}.status-grid span{font-size:9px;color:var(--muted)}.dot{width:7px;height:7px;border-radius:50%;display:block}.dot.active{background:var(--blue)}.dot.done{background:var(--green)}.dot.hold{background:var(--amber)}.dot.delay{background:var(--red)}.mt{margin-top:13px}.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.quick-actions button{height:48px;border:1px solid var(--line);border-radius:10px;background:#f9fbfd;color:#42556b;font-size:11px;font-weight:750;cursor:pointer;text-align:left;padding:0 12px}.quick-actions button:hover{border-color:#b9cbe1;background:#f2f7fd}.link-btn{border:0;background:transparent;color:var(--blue);font-size:10px;font-weight:800;cursor:pointer}.snapshot-list{display:grid}.snapshot-row{display:grid;grid-template-columns:80px minmax(220px,1.5fr) 100px 150px;gap:10px;align-items:center;padding:10px 4px;border-top:1px solid #edf1f5;font-size:11px}.snapshot-row:first-child{border-top:0}.snapshot-row .wbs{font-weight:800;color:#58708a}.snapshot-row .pic{color:var(--muted)}.progress-cell{display:flex;align-items:center;gap:7px}.progress-cell .bar{flex:1}.progress-cell b{font-size:10px;min-width:35px;text-align:right}.actions,.date-control{display:flex;gap:8px;align-items:center}.toolbar{display:flex;align-items:center;gap:8px;margin-bottom:11px}.search{display:flex;align-items:center;gap:7px;border:1px solid #d8e1ec;border-radius:9px;height:38px;padding:0 10px;flex:1;max-width:420px}.search input{border:0;outline:0;width:100%;font:inherit}.toolbar select,.date-control input{height:38px;border:1px solid #d8e1ec;border-radius:9px;padding:0 10px;background:#fff;color:#43556a;font-size:11px}.table-stat{margin-left:auto;color:#718096;font-size:10px;font-weight:750}.table-wrap{border:1px solid var(--line);border-radius:10px;overflow:auto;max-height:64vh}table{border-collapse:separate;border-spacing:0;width:100%;min-width:1300px}th,td{padding:7px 7px;border-bottom:1px solid #eaf0f5;text-align:left;white-space:nowrap;font-size:10px}th{position:sticky;top:0;background:#f7f9fc;color:#65778b;text-transform:uppercase;font-size:9px;letter-spacing:.3px;z-index:2;height:38px}tbody tr:hover{background:#fbfdff}td input,td select{height:32px;border:1px solid transparent;border-radius:7px;background:transparent;padding:5px 6px;font:inherit;color:#26384b;width:100%}td input:hover,td input:focus,td select:hover,td select:focus{border-color:#cbd8e7;background:#fff;outline:0}.task-name{min-width:260px}.date-input{min-width:120px}.pic-input{min-width:110px}.mini-btn{height:28px;border:1px solid #dce5ee;background:#fff;border-radius:7px;font-size:9px;font-weight:800;cursor:pointer;padding:0 8px}.mini-btn.start{color:var(--green)}.mini-btn.delete{color:var(--red)}.row-actions{display:flex;gap:4px}.daily-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.mini-stat{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fafcff}.mini-stat span{font-size:9px;color:var(--muted);font-weight:800}.mini-stat strong{display:block;font-size:19px;margin-top:2px}.daily-filter{font-size:10px;color:#607287;margin:2px 0 10px}.daily-cards{display:grid;gap:8px}.daily-card{border:1px solid var(--line);border-radius:11px;padding:12px;display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(90px,.55fr)) minmax(170px,1fr) auto;gap:9px;align-items:end}.daily-card:hover{border-color:#c5d3e2}.daily-title{align-self:center}.daily-title b{display:block;font-size:10px;color:#58708a}.daily-title strong{display:block;margin-top:3px;font-size:11px}.daily-title small{display:block;color:#8a99aa;margin-top:4px;font-size:9px}.daily-field label{display:block;font-size:8px;font-weight:850;color:#8797a9;margin-bottom:4px;text-transform:uppercase}.daily-field input{width:100%;height:34px;border:1px solid #d9e2ec;border-radius:8px;padding:0 8px;font-size:11px}.daily-field.remark input{min-width:160px}.save-daily{height:34px}.viz{border:1px solid var(--line);border-radius:10px;overflow:auto;min-height:390px;background:#fff}.chart{padding:8px}.segmented{display:flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}.segmented button{border:0;background:#fff;padding:8px 11px;font-size:9px;font-weight:800;color:#68798d}.segmented button.active{background:#edf4ff;color:var(--blue)}.curve-now{display:flex;gap:13px;font-size:10px;color:var(--muted)}.curve-now b{color:var(--text);margin-left:3px}.empty-state{min-height:70vh;display:grid;place-items:center;align-content:center;text-align:center}.empty-state .empty-art{width:64px;height:64px;border-radius:18px;background:#eaf2ff;color:var(--blue);display:grid;place-items:center;font-size:28px}.empty-state h2{margin:16px 0 5px;font-size:22px}.empty-state p{max-width:520px;color:var(--muted);margin:0 0 17px;font-size:12px}.toast{position:fixed;right:20px;bottom:20px;background:#17263b;color:#fff;padding:11px 14px;border-radius:9px;opacity:0;transform:translateY(8px);transition:.2s;z-index:100;font-size:11px;pointer-events:none}.toast.show{opacity:1;transform:none}.toast.error{background:#a92f3d}dialog{border:0;border-radius:16px;padding:0;box-shadow:0 25px 80px #0b1f3a40;width:min(620px,94vw)}dialog::backdrop{background:#07182a99}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:17px}.modal-head h3{margin:3px 0 0;font-size:19px}.close{border:0;width:33px;height:33px;border-radius:9px;background:#f0f4f8;color:#52667d;font-size:19px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}#projectForm,.import-modal{padding:20px}.form-grid label{display:grid;gap:5px;color:#607287;font-size:10px;font-weight:750}.form-grid input{height:40px;border:1px solid #d7e1ec;border-radius:8px;padding:0 10px}.span2{grid-column:span 2}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}.steps{display:flex;gap:5px;margin-bottom:13px}.steps span{font-size:9px;padding:5px 8px;border-radius:99px;background:#f0f3f7;color:#8b99aa}.steps span.active{background:#eaf2ff;color:var(--blue);font-weight:800}.dropzone{border:1.5px dashed #bfd0e4;border-radius:12px;min-height:155px;display:grid;place-items:center;align-content:center;gap:4px;background:#f8fbff;cursor:pointer;color:#6d8197}.dropzone div{font-size:28px;color:var(--blue)}.dropzone strong{font-size:12px}.dropzone span{font-size:10px}.import-info{display:flex;justify-content:space-between;margin:10px 0;font-size:10px;color:#607287}.preview-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;max-height:240px}.preview-wrap table{min-width:700px}.hint{font-size:9px;color:#7f8fa1}.mobile-overlay{display:none}
@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.kpi.hero{grid-column:span 1}.daily-card{grid-template-columns:minmax(200px,1.4fr) repeat(3,minmax(90px,.6fr));}.daily-field.remark{grid-column:2/span 2}.save-daily{grid-column:4}}
@media(max-width:1024px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-265px;width:255px;transition:.2s}.sidebar.open{left:0}.mobile-overlay.show{display:block;position:fixed;inset:0;background:#06142688;z-index:25}.mobile-menu{display:block}.topbar{padding:0 13px}.top-actions>span,.top-actions .ghost{display:none}.content{padding:15px 11px 28px}.project-head{align-items:flex-start;flex-direction:column;gap:10px}.period{text-align:left}.kpi-grid{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:1fr}.quick-actions{grid-template-columns:1fr 1fr}.responsive{flex-direction:column}.actions,.date-control{width:100%}.toolbar{flex-wrap:wrap}.search{max-width:none;min-width:100%}.table-stat{margin-left:0}.daily-summary{grid-template-columns:1fr 1fr}.daily-card{grid-template-columns:1fr 1fr;align-items:end}.daily-title{grid-column:1/-1}.daily-field.remark{grid-column:1/-1}.save-daily{grid-column:1/-1}.snapshot-row{grid-template-columns:60px 1fr 120px}.snapshot-row .pic{display:none}}
@media(max-width:520px){.topbar h1{font-size:14px}.top-actions .btn{padding:0 9px}.project-head h2{font-size:20px}.kpi{padding:12px}.kpi>strong,.kpi-value strong{font-size:21px}.quick-actions{grid-template-columns:1fr}.tab{padding:12px}.compare{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span2{grid-column:1}.daily-card{grid-template-columns:1fr}.daily-title,.daily-field.remark,.save-daily{grid-column:1}.daily-summary{grid-template-columns:1fr 1fr}.snapshot-row{grid-template-columns:52px 1fr}.snapshot-row .progress-cell{grid-column:2}}

/* SIMPLE MODE */
.simple-start{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;border-left:4px solid var(--blue)}
.simple-start h3{margin:3px 0 7px;font-size:18px}.simple-start p{margin:0;color:var(--muted)}
.simple-start-actions{display:flex;gap:8px;flex-shrink:0}
body.simple-mode .advanced-ui{display:none!important}
body.simple-mode .kpi-grid{grid-template-columns:1.4fr repeat(3,1fr)}
body.simple-mode .kpi-grid .kpi:nth-child(5){display:none}
body.simple-mode .project-head{margin-bottom:12px}
body.simple-mode .tabs{background:#fff;border:1px solid var(--line);border-radius:12px;padding:4px}
body.simple-mode .tabs button{flex:1;border:0;border-radius:8px;padding:11px}
body.simple-mode .tabs button.active{background:#eaf2ff;color:var(--blue)}
body.simple-mode #tab-overview{background:transparent;border:0;box-shadow:none;padding:0}
body.simple-mode .quick-actions{grid-template-columns:repeat(2,1fr)}
body.simple-mode .quick-actions button:nth-child(2),body.simple-mode .quick-actions button:nth-child(4){display:none}
body.simple-mode #tab-tasks .panel-head p,body.simple-mode #tab-daily .panel-head p{font-size:12px}
@media(max-width:760px){
 .simple-start{display:block}.simple-start-actions{margin-top:14px}.simple-start-actions .btn{flex:1}
 body.simple-mode .kpi-grid{grid-template-columns:1fr 1fr}
 body.simple-mode .kpi.hero{grid-column:1/-1}
 body.simple-mode .tabs button{min-width:120px}
}

/* v7 Professional workspace */
[hidden]{display:none!important}
body{background:#f3f6fa}
.content{padding:18px 22px 32px}
.empty-state{min-height:auto!important;padding:18px!important}
.empty-compact{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 18px}
.empty-compact strong{font-size:14px}.empty-compact span{color:var(--muted);font-size:11px;flex:1}
.project-head{background:linear-gradient(135deg,#0d2340,#153d6b);color:#fff;border-radius:16px;padding:18px 20px;margin-bottom:12px;box-shadow:0 12px 30px rgba(12,35,64,.14)}
.project-head p,.project-head .period span{color:#a9bdd2}.project-head .project-code{color:#77b5ff}.project-head h2{font-size:23px}
.kpi-grid{gap:9px;margin-bottom:12px}.kpi{padding:12px 14px;border-radius:12px;box-shadow:0 4px 15px rgba(22,42,71,.045)}
.kpi>strong,.kpi-value strong{font-size:22px}
.tabs{background:#fff;border:1px solid var(--line);border-radius:12px;padding:4px;margin-bottom:12px;box-shadow:0 4px 14px rgba(22,42,71,.035)}
.tabs button{border:0;border-radius:8px;padding:10px 14px}.tabs button.active{background:#eaf2ff;color:var(--blue);border:0}
.tab{border-radius:12px;padding:16px;box-shadow:0 5px 18px rgba(22,42,71,.045)}
.panel{border-radius:12px;box-shadow:none}
.daily-head{margin-bottom:10px}
.date-control label{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted);font-weight:700}
.daily-summary{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;margin:10px 0}
.mini-stat{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}
.mini-stat span{display:block;font-size:9px;color:#7b8da2;text-transform:uppercase;font-weight:800;letter-spacing:.5px}
.mini-stat strong{display:block;font-size:18px;margin-top:3px}
.daily-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:11px;max-height:62vh;background:#fff}
.daily-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1050px}
.daily-table th{position:sticky;top:0;z-index:5;background:#f4f7fb;color:#66798f;font-size:9px;text-transform:uppercase;letter-spacing:.6px;padding:10px 9px;border-bottom:1px solid var(--line);text-align:left}
.daily-table td{padding:8px 9px;border-bottom:1px solid #edf1f5;font-size:11px;vertical-align:middle}
.daily-table tr:hover td{background:#f9fbfe}
.daily-table .scope{min-width:260px;font-weight:700;color:#22364c}
.daily-table .wbs-cell{font-weight:800;color:#246bfd;white-space:nowrap}
.daily-table input{height:34px;border:1px solid #dfe6ef;border-radius:7px;padding:0 8px;font-size:11px;background:#fff}
.daily-table input:focus{outline:0;border-color:#7aa7ff;box-shadow:0 0 0 3px #246bfd12}
.daily-table .today-input{width:105px;font-weight:800;text-align:center}
.daily-table .mp-input{width:72px;text-align:center}
.daily-table .remark-input{width:190px}
.current-pill,.after-pill{display:inline-flex;min-width:66px;justify-content:center;padding:6px 8px;border-radius:7px;font-weight:850}
.current-pill{background:#eef3f8;color:#42576d}.after-pill{background:#e9f3ff;color:#1761d2}
.save-row{height:34px;padding:0 11px}
.mobile-only{display:none}
.chart-meta{font-size:10px;color:#75879a;margin:-3px 0 9px}
.gantt-host{overflow:auto!important;max-height:66vh;border:1px solid var(--line);border-radius:10px;background:#fff}
.gantt-host svg{display:block}
.scurve-host{overflow:hidden!important;min-height:360px}
.curve-legend{display:flex;justify-content:flex-end;gap:16px;font-size:10px;color:#66788c;margin:-8px 3px 4px}
.curve-legend span{display:flex;align-items:center;gap:6px}.curve-legend i{width:18px;height:3px;border-radius:2px;display:inline-block}
.legend-plan{background:#94a6ba}.legend-actual{background:#246bfd}
@media(max-width:760px){
 .content{padding:10px}.project-head{padding:14px}.project-head h2{font-size:18px}
 .daily-table-wrap{display:none}.mobile-only{display:grid}
 .daily-summary{grid-template-columns:1fr 1fr}
 .top-actions>span{display:none}
}

.top-kicker-row{display:flex;align-items:center;gap:8px}
.version-badge{font-size:8px;font-weight:900;letter-spacing:.5px;background:#e9f2ff;color:#1761d2;border:1px solid #cfe1ff;border-radius:999px;padding:2px 6px}

/* v9 Qty-based professional controls */
.project-head-actions{display:flex;align-items:flex-end;gap:12px}
.project-danger{border:1px solid #ffffff2a;background:#ffffff0d;color:#ffd5d9;border-radius:8px;height:34px;padding:0 11px;font-size:10px;font-weight:800;cursor:pointer}
.project-danger:hover{background:#b9293a;color:#fff;border-color:#b9293a}
.btn.danger{background:#c93649;border-color:#c93649;color:#fff}
.danger-text{color:#c93649!important}
.delete-project-modal{min-width:min(480px,92vw)}
.delete-project-modal>p{color:#65778c;line-height:1.6}
.delete-project-name{padding:12px;border-radius:9px;background:#fff2f4;border:1px solid #ffd6dc;color:#9e2637;font-weight:800;margin:12px 0}
.delete-project-modal label{display:grid;gap:6px;font-size:11px;color:#53667b;font-weight:700}
.delete-project-modal input{height:38px;border:1px solid var(--line);border-radius:8px;padding:0 10px}
.qty-help{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(90deg,#edf5ff,#f7fbff);border:1px solid #dceafd;border-radius:10px;padding:10px 12px;margin:8px 0 10px}
.qty-help div{display:flex;gap:10px;align-items:center}.qty-help strong{font-size:10px;color:#1761d2}.qty-help span{font-size:10px;color:#536980}.qty-help-note{color:#73879d!important}
.qty-daily-table{min-width:1320px}
.weight-chip{display:inline-flex;padding:5px 7px;border-radius:7px;background:#f1ecff;color:#6b4bc3;font-weight:850}
.current-qty-chip{display:inline-flex;padding:5px 7px;border-radius:7px;background:#edf7f2;color:#18764e;font-weight:800;white-space:nowrap}
.current-progress-chip{display:inline-flex;min-width:68px;justify-content:center;padding:5px 7px;border-radius:7px;background:#eaf2ff;color:#1761d2;font-weight:850}
.weighted-chip{display:inline-flex;min-width:62px;justify-content:center;padding:5px 7px;border-radius:7px;background:#fff7e7;color:#9c6b13;font-weight:850}
.qty-today-input{width:90px!important;text-align:center;font-weight:850;border-color:#aac8ff!important;background:#f8fbff!important}
.daily-actions,.mobile-card-actions{display:flex;gap:6px}
.table-progress{display:flex;align-items:center;gap:8px;min-width:115px}.table-progress .bar{width:72px}.table-progress b{font-size:10px;white-space:nowrap}
.correction-modal{min-width:min(560px,94vw)}.correction-task{display:grid;gap:3px;background:#f5f8fc;border:1px solid var(--line);border-radius:9px;padding:10px;margin:8px 0 14px}.correction-task span{font-size:9px;color:#246bfd;font-weight:850}.correction-task strong{font-size:13px}.correction-task small{color:#718399}.correction-warning{background:#fff8e8;color:#946711;border:1px solid #f4e0ad;border-radius:8px;padding:9px 10px;font-size:10px;margin-top:12px}
@media(max-width:760px){.project-head-actions{display:block}.project-danger{margin-top:8px}.qty-help{display:block}.qty-help-note{display:block;margin-top:5px}}

/* v10 Mobile-first improvements */
@media(max-width:1024px){
  .app-shell{grid-template-columns:1fr}
  .sidebar{position:fixed;left:-270px;top:0;width:255px;transition:.22s}
  .sidebar.open{left:0}
  .mobile-menu{display:inline-grid;place-items:center}
  .topbar{height:62px;padding:0 12px}
  .topbar h1{font-size:14px;max-width:48vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .top-actions{gap:5px}
  .top-actions .btn{height:34px;padding:0 9px;font-size:10px}
  .content{padding:10px}
  .project-head{display:block;padding:14px;margin-bottom:9px}
  .project-head h2{font-size:18px;line-height:1.25}
  .project-head-actions{display:flex;justify-content:space-between;align-items:flex-end;margin-top:10px}
  .period{text-align:left}
  .kpi-grid{grid-template-columns:1fr 1fr;gap:7px}
  .kpi.hero{grid-column:1/-1}
  .kpi{padding:10px 11px}
  .kpi>strong,.kpi-value strong{font-size:20px}
  .tabs{overflow-x:auto;scrollbar-width:none}
  .tabs::-webkit-scrollbar{display:none}
  .tabs button{min-width:max-content;padding:9px 11px}
  .tab{padding:11px}
  .overview-grid{grid-template-columns:1fr}
  .quick-actions{grid-template-columns:1fr 1fr}
  .panel-head.responsive{display:block}
  .panel-head.responsive .actions,.date-control{margin-top:10px}
  .toolbar{display:grid;grid-template-columns:1fr;gap:7px}
  .search{width:100%}
  .table-wrap{overflow:auto;max-height:62vh}
  #taskTable{min-width:1180px}
  .daily-table-wrap{display:none}
  .mobile-only{display:grid!important}
  .daily-cards{gap:9px}
  .daily-card{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}
  .daily-title{display:grid;gap:4px}
  .daily-title b{font-size:9px;color:#246bfd}
  .daily-title strong{font-size:12px;line-height:1.35}
  .daily-title small{font-size:10px;color:#718399}
  .mobile-input-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
  .mobile-input-grid label{display:grid;gap:5px;font-size:9px;color:#64778d;font-weight:800}
  .mobile-input-grid input{width:100%;height:38px;border:1px solid #dfe6ef;border-radius:8px;padding:0 9px}
  .mobile-input-grid .span2{grid-column:1/-1}
  .mobile-calc{display:flex;justify-content:space-between;align-items:center;background:#f4f8fd;border-radius:8px;padding:8px 10px;margin:9px 0}
  .mobile-calc span{font-size:9px;color:#718399;font-weight:800}
  .mobile-calc strong{font-size:11px;color:#1761d2}
  .mobile-card-actions .btn{flex:1}
  .daily-summary{grid-template-columns:1fr 1fr}
  .qty-help{display:block}
  .qty-help div{display:grid;gap:3px}
  .qty-help-note{display:block;margin-top:5px}
  .gantt-host{max-height:62vh;overflow:auto!important;-webkit-overflow-scrolling:touch}
  .gantt-host svg{min-width:900px}
  .scurve-host{overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  dialog{max-width:94vw}
  .form-grid{grid-template-columns:1fr}
  .form-grid .span2{grid-column:auto}
}
@media(max-width:520px){
  .top-actions #newProjectBtn{display:none}
  .project-head-actions{display:block}
  .project-danger{margin-top:9px;width:100%}
  .kpi-grid{grid-template-columns:1fr 1fr}
  .status-grid{grid-template-columns:1fr 1fr}
  .quick-actions{grid-template-columns:1fr}
  .daily-summary{grid-template-columns:1fr 1fr}
}


/* v11 Section-aware Gantt, S-Curve & reporting */
.multi-chart-wrap{display:grid;gap:14px}
.chart-card{border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden;box-shadow:0 5px 18px rgba(22,42,71,.045)}
.chart-card.summary-chart{border-color:#bfd6fb;box-shadow:0 8px 24px rgba(36,107,253,.08)}
.chart-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border-bottom:1px solid #e8edf3;background:linear-gradient(90deg,#f8fbff,#fff)}
.chart-card-head span{font-size:8px;letter-spacing:.8px;color:#246bfd;font-weight:900}
.chart-card-head h4{font-size:14px;margin:3px 0 2px;color:#20364e}.chart-card-head p{margin:0;font-size:9px;color:#718399}
.chart-metrics{display:flex;gap:18px;align-items:center}.chart-metrics div{display:grid;text-align:right}.chart-metrics small{font-size:8px;text-transform:uppercase;color:#7c8ea1;font-weight:800}.chart-metrics b{font-size:13px}.chart-metrics .neg b{color:#c93649}.chart-metrics .pos b{color:#18865b}
.chart-card .gantt-host{border:0;border-radius:0;max-height:56vh}.chart-card .scurve-host{border:0;border-radius:0;min-height:310px}
.section-input{min-width:145px;font-weight:750;color:#244b76;background:#f7fbff!important}
#taskTable{min-width:1320px}
@media(max-width:760px){.chart-card-head{display:block}.chart-metrics{margin-top:9px;justify-content:space-between}.chart-metrics div{text-align:left}.multi-chart-wrap{gap:10px}}

.section-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px}.section-summary-card{border:1px solid var(--line);border-radius:10px;padding:11px;background:#fafcff}.section-summary-card>span{display:block;font-size:10px;font-weight:800;color:#425a73;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section-summary-card>strong{display:block;font-size:20px;margin:5px 0 2px;color:#173e6b}.section-summary-card small{color:#718399;font-size:9px}.section-summary-card .bar{margin-top:8px}.section-summary-card .neg{color:#c93649}.section-summary-card .pos{color:#18865b}


/* ============================================================
   v12 MOBILE-FIRST PROFESSIONAL UI
   ============================================================ */
.mobile-bottom-nav{display:none}
.task-cards{display:none}
.status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900;white-space:nowrap}
.status-not_started{background:#eef2f6;color:#607287}.status-in_progress{background:#eaf2ff;color:#1761d2}.status-hold{background:#fff4db;color:#966615}.status-done{background:#e9f7f0;color:#18764e}

@media(max-width:1024px){
  html{scroll-behavior:smooth}
  body{padding-bottom:0;background:#f3f6fa}body.has-mobile-project-nav{padding-bottom:76px}
  .main-shell{min-width:0}
  .content{padding:9px 9px 20px}
  .topbar{position:sticky;top:0;z-index:18;height:58px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #e6edf5;box-shadow:0 4px 18px rgba(19,45,78,.06)}
  .top-left{min-width:0}.top-left>div{min-width:0}.eyebrow{display:none}.version-badge{font-size:7px;padding:2px 5px}
  .mobile-menu{width:36px;height:36px;border-radius:10px;border:1px solid #dce5ef;background:#fff;color:#193b62;font-size:18px}
  .topbar h1{max-width:54vw;font-size:14px;line-height:1.2}
  .top-actions .btn{display:none!important}.top-actions #quickUpdateBtn{display:inline-flex!important;font-size:0;width:38px;padding:0;justify-content:center;border-radius:10px}.top-actions #quickUpdateBtn::after{content:'+';font-size:21px;font-weight:500}
  .project-head{background:linear-gradient(135deg,#0f3158,#174d83);border:0;border-radius:15px;color:#fff;padding:15px;box-shadow:0 10px 24px rgba(18,62,107,.16)}
  .project-code{background:#ffffff1f;color:#dbeaff;border-color:#ffffff22}.project-head h2{color:#fff;margin-top:8px}.project-head p{color:#cfe0f2}.period span{color:#a9c3df}.period strong{color:#fff}.project-danger{border-color:#ffffff38}
  .project-head-actions{display:flex!important;align-items:flex-end!important;gap:8px}.project-danger{width:auto!important;margin:0!important;height:32px}
  .kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:9px 0}
  .kpi{min-height:88px;border-radius:13px;padding:11px;border-color:#e3eaf2;box-shadow:0 3px 10px rgba(22,42,71,.035)}
  .kpi.hero{grid-column:1/-1;min-height:104px;background:linear-gradient(135deg,#fff,#f5f9ff)}
  .kpi>span{font-size:8px}.kpi>strong,.kpi-value strong{font-size:22px}.kpi small{font-size:8px}.kpi-value em{font-size:10px}
  .tabs{display:none!important}
  .tab{border:0;padding:0;background:transparent;box-shadow:none}
  .panel{border-radius:13px;padding:12px;box-shadow:0 4px 14px rgba(22,42,71,.035)}
  .panel-head h3{font-size:14px}.panel-head p{font-size:9px;line-height:1.45}
  .overview-grid{gap:8px}.compare{gap:10px}.status-grid{gap:7px}.quick-actions{gap:7px}.quick-actions button{min-height:45px;text-align:left;padding:10px;border-radius:10px}
  .section-summary-grid{grid-template-columns:1fr 1fr;gap:7px}.section-summary-card{padding:10px}.section-summary-card>strong{font-size:18px}
  .snapshot-list{overflow:hidden}.snapshot-row{padding:9px 2px;gap:7px}.snapshot-row b{font-size:10px}

  /* Work plan becomes native mobile cards */
  .table-wrap{display:none!important}.task-cards{display:grid!important;gap:9px}
  #tab-tasks .panel-head.responsive{background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px;margin-bottom:8px}
  #tab-tasks .actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.toolbar{background:#fff;border:1px solid var(--line);border-radius:13px;padding:9px;margin-bottom:9px}
  .task-mobile-card{background:#fff;border:1px solid #e0e8f1;border-radius:14px;padding:12px;box-shadow:0 4px 14px rgba(22,42,71,.035)}
  .task-mobile-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.task-mobile-top>div{min-width:0;display:grid;gap:5px}.task-mobile-top b{font-size:11px;line-height:1.4;color:#253b53}.task-section{font-size:8px;font-weight:900;color:#1761d2;text-transform:uppercase;letter-spacing:.35px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .task-mobile-progress{margin-top:11px}.task-mobile-progress>div:first-child{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.task-mobile-progress span{font-size:8px;color:#728398;font-weight:800}.task-mobile-progress strong{font-size:12px;color:#1761d2}
  .task-mobile-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:9px}.task-mobile-metrics div{background:#f6f9fc;border-radius:9px;padding:8px}.task-mobile-metrics span{display:block;font-size:7px;text-transform:uppercase;color:#8090a2;font-weight:850}.task-mobile-metrics b{display:block;margin-top:3px;font-size:9px;color:#334b64;overflow:hidden;text-overflow:ellipsis}
  .task-mobile-edit{margin-top:9px;border-top:1px solid #edf1f5;padding-top:8px}.task-mobile-edit summary{cursor:pointer;list-style:none;font-size:9px;font-weight:850;color:#1761d2;padding:5px 0}.task-mobile-edit summary::-webkit-details-marker{display:none}.task-mobile-edit summary::after{content:'  ▾'}
  .task-mobile-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:7px}.task-mobile-fields label{display:grid;gap:4px;font-size:8px;font-weight:800;color:#6c7e92}.task-mobile-fields label.wide{grid-column:1/-1}.task-mobile-fields input,.task-mobile-fields select{width:100%;height:38px;border:1px solid #dbe4ee;border-radius:9px;padding:0 9px;background:#fff;color:#263b52;font-size:11px}.task-mobile-actions{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:9px}.mobile-delete{background:#fff1f3;color:#b82c40;border:1px solid #ffd4db}

  /* Daily field cards optimized for thumb use */
  #tab-daily .daily-head{background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px}.date-control{display:grid;grid-template-columns:1fr auto;gap:7px}.date-control label{min-width:0}.date-control input{width:100%;height:42px}
  .qty-help{border-radius:12px;padding:10px;margin:8px 0}.daily-summary{gap:7px}.mini-stat{padding:9px;border-radius:11px}.mini-stat strong{font-size:17px}
  .daily-card{border-radius:14px!important;padding:12px!important;box-shadow:0 4px 14px rgba(22,42,71,.035)}.mobile-input-grid input{height:44px!important;font-size:15px!important}.mobile-card-actions .btn{height:42px}.daily-title strong{font-size:12px!important}

  /* Charts: clear touch-scroll container and compact headers */
  .chart-card{border-radius:14px;box-shadow:0 5px 16px rgba(22,42,71,.05)}.chart-card-head{padding:11px 12px}.chart-card-head h4{font-size:13px}.chart-card-head p{font-size:8px}
  .chart-card .gantt-host{min-height:300px;max-height:62vh;overflow:auto!important;overscroll-behavior:contain;touch-action:pan-x pan-y}.gantt-host svg{min-width:860px}
  .chart-card .scurve-host{min-height:270px;overflow-x:auto!important;overscroll-behavior:contain}.scurve-host svg{min-width:650px}
  .segmented{width:100%;margin-top:8px}.segmented button{flex:1;min-height:38px}.curve-now{width:100%;justify-content:space-between;background:#f5f8fc;border-radius:9px;padding:8px;margin-top:8px}.curve-legend{justify-content:flex-start;margin:5px 2px 7px}
  .multi-chart-wrap{gap:10px}

  /* Fixed mobile app navigation */
  .mobile-bottom-nav{display:none;position:fixed;left:8px;right:8px;bottom:8px;height:58px;grid-template-columns:repeat(5,minmax(0,1fr));z-index:80;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border:1px solid #dce5ef;border-radius:17px;box-shadow:0 10px 35px rgba(13,39,69,.18);padding:4px}
  .mobile-bottom-nav button{border:0;background:transparent;border-radius:12px;display:grid;place-items:center;align-content:center;gap:1px;color:#718399;min-width:0}.mobile-bottom-nav span{font-size:17px;line-height:1}.mobile-bottom-nav b{font-size:7px;font-weight:850}.mobile-bottom-nav.show{display:grid}.mobile-bottom-nav button.active{background:#eaf2ff;color:#1761d2}.mobile-bottom-nav #mobileMoreBtn span{font-size:15px;font-weight:900;letter-spacing:1px}.mobile-more-menu{display:none;position:fixed;right:10px;bottom:74px;z-index:81;width:min(240px,calc(100vw - 20px));background:#fff;border:1px solid #dce5ef;border-radius:14px;box-shadow:0 14px 38px rgba(13,39,69,.20);padding:6px}.mobile-more-menu.show{display:grid;grid-template-columns:1fr 1fr;gap:5px}.mobile-more-menu button{min-height:48px;border:0;border-radius:10px;background:#f7f9fc;color:#425a73;display:flex;align-items:center;gap:8px;padding:8px 10px;text-align:left}.mobile-more-menu button span{font-size:16px;color:#1761d2}.mobile-more-menu button b{font-size:9px}.mobile-more-menu button:active{background:#eaf2ff}.toast{left:12px;right:12px;bottom:78px;text-align:center}
  dialog{width:calc(100vw - 18px)!important;max-width:none!important;border-radius:16px}.modal-actions{position:sticky;bottom:0;background:#fff;padding-top:8px}.modal-actions .btn{min-height:42px}
}
@media(max-width:420px){
  .content{padding-left:7px;padding-right:7px}.project-head{border-radius:13px}.project-head h2{font-size:17px}.project-meta{font-size:9px}
  .kpi{padding:9px;min-height:82px}.kpi.hero{min-height:99px}.kpi>strong,.kpi-value strong{font-size:20px}
  .section-summary-grid{grid-template-columns:1fr}.task-mobile-metrics{grid-template-columns:1fr 1fr 1fr}.task-mobile-fields{grid-template-columns:1fr}.task-mobile-fields label.wide{grid-column:auto}
  .mobile-bottom-nav{left:5px;right:5px;bottom:5px}.mobile-bottom-nav b{font-size:6.8px}
}


/* ============================================================
   v12.5 PROFESSIONAL VISUAL + HISTORY + DENSE PROGRESS
   ============================================================ */
:root{--shadow-soft:0 8px 28px rgba(22,48,80,.07);--shadow-hover:0 12px 32px rgba(22,48,80,.10)}
.panel,.kpi,.chart-card,.tab{box-shadow:var(--shadow-soft)}
.btn{transition:.18s ease}.btn:hover{transform:translateY(-1px)}
.daily-toolbar-actions{display:flex;align-items:end;gap:10px}.save-all-progress{height:38px;white-space:nowrap;box-shadow:0 6px 16px rgba(36,107,253,.18)}
.qty-daily-table{min-width:1120px;table-layout:fixed}.qty-daily-table th:nth-child(1){width:58px}.qty-daily-table th:nth-child(2){width:190px}.qty-daily-table th:nth-child(3){width:68px}.qty-daily-table th:nth-child(4){width:82px}.qty-daily-table th:nth-child(5){width:92px}.qty-daily-table th:nth-child(6){width:92px}.qty-daily-table th:nth-child(7){width:105px}.qty-daily-table th:nth-child(8){width:82px}.qty-daily-table th:nth-child(9){width:62px}.qty-daily-table th:nth-child(10){width:140px}.qty-daily-table th:nth-child(11){width:100px}
.daily-table .scope{min-width:0!important;max-width:190px;white-space:normal;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.daily-table td{padding:7px 6px}.daily-table th{padding:9px 6px}.daily-table .qty-today-input{width:82px}.daily-table .mp-input{width:56px}.daily-table .remark-input{width:128px}.daily-actions{gap:4px}.daily-actions .btn,.daily-actions .mini-btn{padding-left:8px;padding-right:8px}
.chart-card{overflow:hidden;border-color:#dbe4ef}.chart-card-head{background:linear-gradient(180deg,#fff,#fbfdff);border-bottom:1px solid #e3e9f1}.gantt-host{background:#fff}.gantt-svg text{font-family:Inter,Segoe UI,Arial,sans-serif}.gantt-svg{display:block}.chart-card .gantt-host{scrollbar-color:#a9bad0 #eff4f9;scrollbar-width:thin}
.history-layout{display:grid;grid-template-columns:repeat(2,minmax(0,240px));gap:10px;margin-bottom:12px}.history-summary{padding:13px 15px}.history-summary>span{display:block;font-size:8px;font-weight:900;letter-spacing:.55px;color:#73869b;text-transform:uppercase}.history-summary>strong{display:block;font-size:22px;color:#153d6a;margin:4px 0}.history-summary small{font-size:9px;color:#8696a7}.history-controls{display:flex;gap:7px;align-items:center}.history-controls input{height:36px;border:1px solid #dbe4ee;border-radius:8px;padding:0 9px;background:#fff}.history-timeline{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow-soft);overflow:hidden}.history-day{display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid #edf1f5}.history-day:last-child{border-bottom:0}.history-date{padding:16px;background:#f8fbff;border-right:1px solid #e5ebf2}.history-date b{display:block;font-size:10px;color:#234d79}.history-date span{font-size:8px;color:#8092a6}.history-events{padding:4px 18px}.history-event{position:relative;display:grid;grid-template-columns:18px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid #eff3f7}.history-event:last-child{border-bottom:0}.history-dot{width:10px;height:10px;border-radius:50%;background:#246bfd;margin-top:4px;box-shadow:0 0 0 4px #e8f1ff}.history-dot.type-project_created{background:#1aaa68;box-shadow:0 0 0 4px #e5f7ef}.history-dot.type-task_deleted{background:#d43b52;box-shadow:0 0 0 4px #ffe9ed}.history-dot.type-import{background:#935ad8;box-shadow:0 0 0 4px #f2eaff}.history-event-top{display:flex;justify-content:space-between;gap:12px}.history-event-top strong{font-size:10px;color:#263f59}.history-event-top time{font-size:8px;color:#8797a8;white-space:nowrap}.history-event p{margin:3px 0 4px;font-size:9px;color:#62758a;line-height:1.4}.history-wbs{display:inline-block;font-size:8px;font-weight:850;color:#1761d2;background:#edf4ff;border-radius:999px;padding:3px 7px}
.danger-dialog{max-width:520px!important}.delete-project-modal{padding:0!important}.delete-hero{position:relative;display:grid;grid-template-columns:46px 1fr auto;gap:13px;align-items:center;padding:20px 22px;background:linear-gradient(135deg,#fff7f8,#fff);border-bottom:1px solid #f5dce1}.delete-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#d9364f;color:#fff;font-size:23px;font-weight:900;box-shadow:0 8px 18px rgba(217,54,79,.22)}.delete-hero span{font-size:8px;font-weight:900;letter-spacing:1px;color:#c53249}.delete-hero h3{margin:2px 0;font-size:18px}.delete-hero p{margin:0;font-size:9px;color:#7e8c9c}.delete-close{align-self:start}.delete-project-card{margin:18px 22px 12px;padding:14px 15px;border:1px solid #ecdde1;background:#fffafb;border-radius:11px}.delete-project-card span{display:block;font-size:8px;font-weight:900;color:#9d6d76;letter-spacing:.5px}.delete-project-card strong{display:block;margin:5px 0;font-size:13px;color:#9f293d}.delete-project-card small{font-size:9px;color:#7d8996}.delete-confirm-label{display:grid;gap:6px;margin:0 22px 8px;font-size:9px;color:#52667b}.delete-confirm-label input{height:40px;border:1px solid #dccfd2;border-radius:9px;padding:0 11px}.delete-actions{padding:12px 22px 20px;border-top:1px solid #edf1f5;margin-top:16px}
@media(max-width:1024px){.daily-toolbar-actions{display:grid;width:100%;grid-template-columns:1fr}.save-all-progress{width:100%;height:43px}.history-layout{grid-template-columns:1fr 1fr}.history-controls{width:100%;display:grid;grid-template-columns:1fr auto auto}.history-controls input{min-width:0}.history-day{grid-template-columns:1fr}.history-date{border-right:0;border-bottom:1px solid #e5ebf2;padding:10px 13px}.history-events{padding:2px 13px}.danger-dialog{width:calc(100vw - 20px)!important}.delete-hero{grid-template-columns:40px 1fr auto;padding:16px}.delete-project-card,.delete-confirm-label{margin-left:16px;margin-right:16px}.delete-actions{padding-left:16px;padding-right:16px}}


/* ============================================================
   v12.6 PORTFOLIO DASHBOARD + SMART SCROLL VISUALS
   ============================================================ */
.dashboard-side{width:100%;border:1px solid #244567;background:#102c4c;color:#dceaff;border-radius:9px;padding:10px 12px;margin-bottom:7px;text-align:left;font-weight:850;font-size:10px;cursor:pointer}.dashboard-side:hover,.dashboard-side.active{background:#246bfd;border-color:#246bfd;color:#fff;box-shadow:0 8px 18px rgba(36,107,253,.22)}
.dashboard-page{display:block}.dashboard-page[hidden]{display:none!important}.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:18px 20px;border:1px solid #dce5ef;border-radius:14px;background:linear-gradient(135deg,#fff,#f5f9ff);box-shadow:var(--shadow-soft)}.dashboard-hero h2{margin:3px 0 5px;font-size:21px;color:#173d67}.dashboard-hero p{margin:0;color:#708399;font-size:10px}.dashboard-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}.dash-kpi{min-height:105px;padding:14px 15px;border:1px solid #dfe7f0;border-radius:13px;background:#fff;box-shadow:var(--shadow-soft)}.dash-kpi>span{display:block;font-size:8px;font-weight:900;letter-spacing:.55px;text-transform:uppercase;color:#72869a}.dash-kpi>strong{display:block;font-size:24px;color:#173f6d;margin:8px 0 3px}.dash-kpi>small{font-size:9px;color:#8998a8}.dash-kpi.hero{background:linear-gradient(135deg,#f8fbff,#edf5ff)}.dash-kpi.hero .bar{margin-top:10px}
.dashboard-project-panel{overflow:hidden}.dashboard-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 170px 160px auto;gap:8px;padding:0 14px 12px}.dashboard-toolbar .search{min-width:0}.dashboard-toolbar select{height:38px;border:1px solid #dbe4ee;border-radius:9px;background:#fff;padding:0 10px;color:#445d75;font-size:10px}.dashboard-table-wrap{overflow:auto;max-height:62vh;border-top:1px solid #e6edf4}.dashboard-table{width:100%;min-width:1080px;border-collapse:collapse}.dashboard-table th{position:sticky;top:0;z-index:2;background:#f5f8fc;padding:10px 12px;border-bottom:1px solid #dce5ef;text-align:left;font-size:8px;letter-spacing:.45px;text-transform:uppercase;color:#667b92}.dashboard-table td{padding:10px 12px;border-bottom:1px solid #edf2f6;font-size:10px;color:#314b65;vertical-align:middle}.dashboard-table tbody tr{cursor:pointer;transition:.14s ease}.dashboard-table tbody tr:hover{background:#f7faff}.dash-project-name b,.dash-muted b,.dash-period b{display:block;color:#203f61;font-size:10px}.dash-project-name span,.dash-muted span,.dash-period span,.dash-sub{display:block;margin-top:2px;color:#8595a6;font-size:8px}.dash-project-name span{font-weight:850;color:#246bfd}.dash-progress{min-width:145px}.dash-progress>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:5px}.dash-progress b{color:#174f96}.dash-progress span{font-size:8px;color:#8192a5}.dash-status{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900}.dash-status.done{background:#e6f7ee;color:#11864e}.dash-status.active{background:#e9f2ff;color:#1761d2}.dash-status.danger{background:#ffecef;color:#c4334a}.dash-status.neutral{background:#f0f3f6;color:#687a8d}.dashboard-project-cards{display:none}.smart-scroll-zone{overscroll-behavior:auto!important}
@media(max-width:1100px){.dashboard-kpis{grid-template-columns:repeat(3,1fr)}.dashboard-toolbar{grid-template-columns:1fr 150px 150px auto}}
@media(max-width:1024px){.dashboard-hero{padding:14px;align-items:flex-start}.dashboard-hero h2{font-size:18px}.dashboard-hero p{font-size:9px;line-height:1.45}.dashboard-kpis{grid-template-columns:1fr 1fr;gap:7px}.dash-kpi{min-height:88px;padding:11px}.dash-kpi>strong{font-size:20px;margin:5px 0}.dashboard-toolbar{grid-template-columns:1fr 1fr;padding:0 10px 10px}.dashboard-toolbar .search{grid-column:1/-1}.dashboard-toolbar #dashboardClearFilter{grid-column:1/-1}.dashboard-table-wrap{display:none}.dashboard-project-cards{display:grid!important;gap:8px;padding:0 10px 12px}.dashboard-project-card{border:1px solid #e0e8f1;border-radius:12px;padding:12px;background:#fff;box-shadow:0 4px 14px rgba(22,42,71,.04)}.dash-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.dash-card-top>div span{display:block;font-size:7px;color:#246bfd;font-weight:900}.dash-card-top>div strong{display:block;margin-top:3px;font-size:11px;color:#213f61}.dash-card-progress{margin-top:11px}.dash-card-progress>div:first-child{display:flex;justify-content:space-between;font-size:9px;margin-bottom:5px}.dash-card-meta{display:flex;justify-content:space-between;gap:8px;margin-top:9px;padding-top:8px;border-top:1px solid #edf2f6;font-size:8px;color:#7d8fa1}.dashboard-side{height:40px}}

/* ============================================================
   v12.7 PROJECT SETTINGS
   ============================================================ */
.settings-head{margin-bottom:12px}.settings-project-badge{display:inline-flex;align-items:center;border:1px solid #d7e3f2;background:#eef5ff;color:#1761d2;border-radius:999px;padding:7px 11px;font-size:8px;font-weight:900;letter-spacing:.45px}.project-settings-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;align-items:start}.settings-card{padding:16px}.settings-card:nth-child(3){grid-column:2}.settings-card-title{display:flex;gap:10px;align-items:center;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #edf2f7}.settings-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#edf4ff;color:#246bfd;font-weight:900}.settings-card-title h4{margin:0;color:#203f61;font-size:12px}.settings-card-title p{margin:3px 0 0;color:#8393a4;font-size:9px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.settings-grid label{display:grid;gap:6px;color:#5f7388;font-size:9px;font-weight:750}.settings-grid label.span2{grid-column:1/-1}.settings-grid input,.settings-grid select{width:100%;height:40px;border:1px solid #dce5ef;border-radius:9px;background:#fff;color:#2c4661;padding:0 10px;font-size:10px;outline:none}.settings-grid input:focus,.settings-grid select:focus{border-color:#79a8ff;box-shadow:0 0 0 3px #edf4ff}.settings-switch{display:flex!important;align-items:center;justify-content:space-between;gap:18px;padding:12px;border:1px solid #e0e8f1;border-radius:10px;background:#f9fbfd}.settings-switch span{display:block}.settings-switch b{display:block;color:#284966;font-size:10px}.settings-switch small{display:block;margin-top:3px;color:#8393a4;font-size:8px;font-weight:500}.settings-switch input{display:none}.settings-switch i{position:relative;flex:0 0 42px;width:42px;height:23px;border-radius:999px;background:#c8d3df;transition:.2s}.settings-switch i:after{content:"";position:absolute;width:17px;height:17px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #8493a3;transition:.2s}.settings-switch input:checked+i{background:#246bfd}.settings-switch input:checked+i:after{transform:translateX(19px)}.settings-note{margin-top:12px;padding:10px 11px;border-radius:9px;background:#f2f7fd;color:#6c8094;font-size:8.5px;line-height:1.45}.settings-savebar{position:sticky;bottom:10px;grid-column:1/-1;z-index:8;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:11px 13px;border:1px solid #dbe6f2;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 10px 28px rgba(25,55,90,.12);backdrop-filter:blur(10px)}.settings-savebar strong{display:block;color:#284a6c;font-size:9px}.settings-savebar span{font-size:8px;color:#8292a4}.dash-status.warn{background:#fff3dc;color:#a46a00}html[data-row-density="comfortable"] #taskTable td,html[data-row-density="comfortable"] .daily-table td{padding-top:11px;padding-bottom:11px}
@media(max-width:1050px){.project-settings-layout{grid-template-columns:1fr}.settings-card:nth-child(3){grid-column:auto}.settings-savebar{grid-column:1}}
@media(max-width:700px){.settings-grid{grid-template-columns:1fr}.settings-grid label.span2{grid-column:auto}.settings-card{padding:13px}.settings-savebar{grid-template-columns:1fr 1fr;bottom:74px}.settings-savebar>div{grid-column:1/-1}.settings-savebar .btn{width:100%;padding-left:8px;padding-right:8px}.tabs button[data-tab="settings"]{display:inline-flex}}

/* ============================================================
   v12.8 Project collapse + System Administration
   ============================================================ */
.system-side{width:100%;border:0;background:transparent;color:#c8d7e8;text-align:left;padding:10px 12px;border-radius:9px;font-weight:750;cursor:pointer;margin:2px 0}.system-side:hover,.system-side.active{background:#173a63;color:#fff}
.project-collapse-bar{display:flex;align-items:center;justify-content:space-between;margin:0 2px 7px}.project-collapse-btn{border:0;background:transparent;color:#53677d;font-weight:850;font-size:10px;cursor:pointer;padding:3px 2px}.project-collapse-btn span{display:inline-block;width:14px;color:var(--blue)}.project-collapse-bar small{color:#8b9aad;font-size:9px}.project-summary-wrap{display:block;overflow:hidden;max-height:520px;opacity:1;transition:max-height .25s ease,opacity .18s ease,margin .2s ease}.project-summary-wrap.collapsed{max-height:0;opacity:0;margin:0}.project-collapse-btn.collapsed{color:var(--blue)}
.system-page{display:block}.system-tabs{display:flex;gap:5px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:5px;margin-bottom:12px;overflow:auto}.system-tabs button{border:0;background:transparent;border-radius:8px;padding:10px 14px;font-size:10px;font-weight:850;color:#63778d;cursor:pointer;white-space:nowrap}.system-tabs button.active{background:#eaf2ff;color:var(--blue)}.system-tab{display:none}.system-tab.active{display:block}.system-table{min-width:900px}.system-table td,.system-table th{font-size:10px}.role-pill{display:inline-flex;padding:5px 8px;border-radius:99px;background:#f0ebff;color:#6848cc;font-size:9px;font-weight:850}.role-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:10px}.role-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}.role-card>div:first-child{display:flex;gap:10px}.role-icon{width:36px;height:36px;border-radius:10px;background:#eaf2ff;color:var(--blue);display:grid;place-items:center}.role-card strong{font-size:12px}.role-card p{font-size:9px;color:var(--muted);margin:4px 0 0}.role-card-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf1f5;margin-top:12px;padding-top:10px;font-size:9px;color:#718399}.backup-card{max-width:760px;padding:24px}.backup-card h3{font-size:20px;margin:5px 0 8px}.backup-card>p{color:var(--muted);line-height:1.6;max-width:650px}.backup-info{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.backup-info>div{border:1px solid var(--line);border-radius:10px;padding:12px;background:#f9fbfd}.backup-info span{display:block;font-size:9px;color:var(--muted)}.backup-info strong{display:block;margin-top:4px;font-size:11px}.danger-soft{border-color:#f1cdd2;background:#fffafb}.restore-file,.restore-confirm{display:grid;gap:6px;margin:14px 0;max-width:500px;font-size:10px;font-weight:800;color:#65778b}.restore-file input,.restore-confirm input{border:1px solid #d6e0ea;border-radius:9px;padding:10px;background:#fff}.btn.danger{background:#cf3447;color:#fff;border-color:#cf3447}.system-dialog-body{padding:20px}.system-form{display:grid;grid-template-columns:1fr 1fr;gap:11px}.system-form label{display:grid;gap:5px;color:#607287;font-size:10px;font-weight:750}.system-form input,.system-form select,.system-form textarea{border:1px solid #d7e1ec;border-radius:8px;padding:9px;font:inherit;min-height:39px}.system-form textarea{min-height:78px;resize:vertical}.system-form .span2{grid-column:1/-1}.check-row{display:flex!important;align-items:center!important;gap:8px!important}.check-row input{min-height:auto!important;width:auto}.permission-box{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;border:1px solid var(--line);border-radius:10px;padding:11px}.permission-box>strong{grid-column:1/-1;font-size:10px}.system-dialog{width:min(650px,94vw)}
@media(max-width:1024px){.role-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.role-grid{grid-template-columns:1fr}.system-form{grid-template-columns:1fr}.system-form .span2{grid-column:auto}.backup-info{grid-template-columns:1fr}.project-collapse-bar small{display:none}.system-tabs{position:sticky;top:58px;z-index:8}.system-dialog-body{padding:15px}}

.system-page[hidden]{display:none!important}


/* v12.9 authentication + project master */
.login-screen{position:fixed;inset:0;z-index:9999;background:linear-gradient(135deg,#0b1f3a,#163d69 60%,#246bfd);display:none;align-items:center;justify-content:center;padding:24px}.login-screen.show{display:flex}.login-card{width:min(440px,100%);background:#fff;border-radius:24px;padding:30px;box-shadow:0 28px 80px rgba(3,18,38,.35)}.login-brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}.login-brand strong,.login-brand span{display:block}.login-brand span{font-size:11px;color:#74879b;margin-top:2px}.login-title h1{margin:5px 0 7px;font-size:28px}.login-title p{color:#718096;font-size:12px;margin:0 0 22px}.login-card>label{display:block;font-size:11px;font-weight:800;color:#52677e;margin-top:14px}.login-card input{width:100%;margin-top:7px}.password-wrap{display:flex;align-items:center;position:relative}.password-wrap input{padding-right:64px}.password-wrap button{position:absolute;right:8px;bottom:7px;border:0;background:#edf4ff;color:#246bfd;border-radius:8px;padding:7px 10px;font-weight:800}.login-btn{width:100%;margin-top:22px}.login-error{margin-top:12px;padding:10px 12px;border-radius:10px;background:#fff1f2;color:#bb2537;font-size:11px;font-weight:700}.user-session{display:flex;align-items:center;gap:7px;padding:5px 8px;border:1px solid #dbe5f0;border-radius:10px;background:#fff}.user-session span{font-size:10px;font-weight:800;color:#1d3855}.user-session small{font-size:9px;color:#7a8da1}.user-session button{border:0;background:#eef4fb;color:#36516d;border-radius:7px;padding:5px 7px;font-size:9px;font-weight:800;cursor:pointer}.project-number-note{margin:0 22px 8px;padding:10px 12px;border-radius:10px;background:#f3f7fc;color:#62778e;font-size:10px}.project-number-note b{color:#246bfd}#projectCodePreview{background:#f4f7fb;color:#516981;font-weight:800}select#projectDepartment{font-weight:700}

/* v12.10 */
.system-head-actions,.dashboard-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.permission-matrix{border:1px solid #dbe5f0;border-radius:14px;overflow:hidden;background:#fbfdff}.permission-matrix-head{padding:14px 16px;background:#eef5ff;border-bottom:1px solid #dbe5f0}.permission-matrix-head p{margin:4px 0 0;color:#657b96;font-size:12px}.permission-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(250px,1.2fr);gap:16px;align-items:center;padding:10px 16px;border-bottom:1px solid #e8eef5}.permission-row:last-child{border-bottom:0}.permission-row small{display:block;color:#8092a8;margin-top:2px}.permission-row select{width:100%;min-height:40px}.role-access-summary{display:flex;gap:6px;flex-wrap:wrap;padding:0 2px 10px}.access-badge{font-size:11px;font-weight:800;border-radius:999px;padding:5px 9px}.access-badge.editor{background:#e8f1ff;color:#1769d5}.access-badge.viewer{background:#e9f8ef;color:#17824d}@media(max-width:700px){.permission-row{grid-template-columns:1fr;gap:6px}.system-head-actions,.dashboard-head-actions{width:100%}.system-head-actions .btn,.dashboard-head-actions .btn{flex:1}}
body[data-system-access="viewer"] #addSystemUserBtn,
body[data-system-access="viewer"] #addRoleBtn,
body[data-system-access="viewer"] #addMasterBtn,
body[data-system-access="viewer"] #importUsersBtn,
body[data-system-access="viewer"] #importRolesBtn,
body[data-system-access="viewer"] #importMasterBtn,
body[data-project-access="viewer"] #dashboardNewProjectBtn,
body[data-project-access="viewer"] #sideNewProjectBtn,
body[data-workplan-access="viewer"] #importBtn,
body[data-workplan-access="viewer"] #addTaskBtn,
body[data-progress-access="viewer"] #saveAllProgressBtn{display:none!important}


/* v12.33 login license indicator */
.login-license-status{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #d8e1ec;border-radius:10px;background:#f7f9fc;margin:4px 0 2px}
.login-license-status .license-dot{width:10px;height:10px;border-radius:50%;background:#94a3b8;flex:0 0 auto}
.login-license-status>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.login-license-status strong{font-size:13px;color:#26364b}
.login-license-status small{font-size:11px;color:#64748b;overflow-wrap:anywhere}
.login-license-status.active{background:#ecfdf3;border-color:#b7ebc8}
.login-license-status.active .license-dot{background:#22a35a;box-shadow:0 0 0 3px rgba(34,163,90,.12)}
.login-license-status.active strong{color:#147a3f}
.login-license-status.inactive{background:#fff4e5;border-color:#f2d19b}
.login-license-status.inactive .license-dot{background:#d98b13}
.login-license-status.inactive strong{color:#9a5a00}

/* v12.34.2 — My/Other Project directory aligned with Dashboard */
.project-directory-page.dashboard-page{display:block}
.project-directory-page[hidden]{display:none!important}
.project-directory-hero{margin-bottom:14px}
.project-directory-kpis{margin-bottom:16px}
.project-directory-panel{overflow:hidden}
.project-directory-panel .panel-head{padding-bottom:8px}
.project-directory-toolbar{display:grid;grid-template-columns:minmax(320px,1fr) 190px 190px auto;gap:10px;align-items:center}
.project-directory-toolbar .search{min-width:0;width:100%}
.project-directory-toolbar .search input{width:100%}
#projectDirectoryRows tr{cursor:pointer}
#projectDirectoryRows tr:hover{background:#f7fbff}
#projectDirectoryRows td{vertical-align:middle}
@media(max-width:1024px){
  .project-directory-toolbar{grid-template-columns:1fr 1fr}
  .project-directory-toolbar .search{grid-column:1/-1}
  .project-directory-toolbar .btn{width:100%}
}
@media(max-width:760px){
  .project-directory-toolbar{display:flex;flex-direction:column;align-items:stretch}
  .project-directory-toolbar select,.project-directory-toolbar .btn{width:100%}
}

/* ============================================================
   v12.34.3 COMPACT ENTERPRISE TOPBAR
   ============================================================ */
.topbar-v12343{height:64px;padding:0 18px;background:rgba(255,255,255,.98);border-bottom:1px solid #dfe7f0;box-shadow:0 2px 10px rgba(20,45,78,.035);gap:16px}
.topbar-main-context{min-width:0;flex:1;gap:12px}.topbar-mini-brand{display:flex;align-items:center;gap:9px;flex:0 0 auto}.topbar-brand-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#2f76ff,#13b7cf);color:#fff;font-weight:900;letter-spacing:.5px;box-shadow:0 6px 16px rgba(36,107,253,.18)}.topbar-brand-copy{display:grid;line-height:1.05}.topbar-brand-copy strong{font-size:12px;color:#143252}.topbar-brand-copy small{font-size:8px;color:#7890a8;margin-top:3px}.topbar-divider{width:1px;height:30px;background:#e1e8f0;flex:0 0 1px}.top-context-compact{min-width:0}.top-context-compact .top-context-line{display:flex;align-items:center;gap:7px;height:16px}.top-context-compact .eyebrow{font-size:8px;letter-spacing:1.35px;color:#7e91a7}.top-context-compact .version-badge{font-size:8px;padding:2px 6px}.topbar-pathline{display:flex;align-items:center;gap:8px;min-width:0;height:26px}.topbar-pathline .top-breadcrumb{display:flex;align-items:center;gap:5px;color:#6f8298;font-size:10px;white-space:nowrap;min-width:0}.topbar-pathline .top-breadcrumb b{color:#183756}.topbar-pathline h1{font-size:12px;margin:0;padding-left:8px;border-left:1px solid #dfe6ee;color:#102e4d;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-tools{display:flex;align-items:center;gap:10px;flex:0 0 auto}.top-datetime{display:grid;text-align:right;line-height:1.1;min-width:88px}.top-date{font-size:8px!important;color:#7890a6!important;margin:0!important}.top-time{font-size:10px;color:#183756;margin-top:3px;font-variant-numeric:tabular-nums}.right-divider{height:28px}.top-project-actions{display:flex;align-items:center;gap:6px}.top-project-actions .btn{height:34px;border-radius:9px;padding:0 11px;font-size:9px}.topbar-project-action{box-shadow:0 5px 13px rgba(36,107,253,.2)}.user-session-menu{position:relative;padding:0;border:0;background:transparent;border-radius:11px}.user-session-trigger{border:1px solid #dbe5ef;background:#fff;border-radius:11px;min-height:40px;padding:4px 7px 4px 5px;display:flex;align-items:center;gap:7px;cursor:pointer}.user-session-trigger:hover{background:#f8fbff;border-color:#cbd9e8}.user-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eaf1f8;color:#36536f;font-size:10px;font-weight:850;flex:0 0 auto}.user-session-copy{display:grid;text-align:left;line-height:1.08;min-width:92px;max-width:155px}.user-session-copy span{font-size:9px;font-weight:850;color:#153452;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-session-copy small{font-size:8px;color:#8193a7;margin-top:3px}.user-chevron{font-size:12px;color:#7b8ea3;padding:0 2px}.user-dropdown{position:absolute;right:0;top:47px;width:190px;padding:8px;background:#fff;border:1px solid #dfe7ef;border-radius:12px;box-shadow:0 16px 38px rgba(20,46,79,.16);z-index:80}.user-dropdown-head{padding:8px 9px 10px;border-bottom:1px solid #edf1f5;display:grid}.user-dropdown-head strong{font-size:10px;color:#173654}.user-dropdown-head small{font-size:8px;color:#7c8fa4;margin-top:3px}.user-dropdown-logout{width:100%;margin-top:6px;border:0;background:transparent;color:#ca3347;text-align:left;padding:9px;border-radius:8px;font-size:9px;font-weight:850;cursor:pointer}.user-dropdown-logout:hover{background:#fff1f3}.top-scope-badge,.top-access-badge{font-size:7px!important;padding:2px 5px!important}
@media(max-width:1250px){.topbar-brand-copy{display:none}.topbar-pathline h1{max-width:170px}.topbar-v12343{padding:0 12px}}
@media(max-width:1024px){.topbar-secondary-action{display:none!important}}
@media(max-width:950px){.topbar-mini-brand,.topbar-divider,.top-datetime,.topbar-update-action{display:none!important}.topbar-pathline h1{max-width:130px}.user-session-copy{display:none}.user-session-trigger{min-height:38px}.topbar-v12343{height:58px}.system-tabs{top:58px}}
@media(max-width:650px){.top-context-compact .eyebrow,.top-context-compact .version-badge,.top-access-badge,.top-scope-badge{display:none!important}.topbar-main-context{gap:7px}.topbar-pathline{height:auto}.topbar-pathline .top-breadcrumb{font-size:9px}.topbar-pathline h1{font-size:11px;max-width:105px}.top-project-actions .btn{height:34px;padding:0 9px}.topbar-v12343{padding:0 9px;gap:7px}.user-dropdown{right:-2px}}


/* v12.34.4 login usability + session polish */
.login-card{width:min(560px,calc(100vw - 32px));padding:34px 36px 32px}
.login-card label{font-size:13px;font-weight:800;gap:8px}
.login-card input[type="text"],.login-card input[type="password"],.login-card input[name="username"]{height:50px;min-height:50px;font-size:16px;padding:0 14px;border-radius:10px}
.password-wrap{position:relative}
.password-wrap input{padding-right:88px!important;width:100%}
#toggleLoginPassword{height:40px;min-width:72px;right:5px;top:5px;border-radius:9px;font-size:14px;font-weight:800}
.login-btn{height:50px;font-size:15px;border-radius:10px;margin-top:8px}
.login-license-status{min-height:56px;padding:13px 15px;border-radius:11px}
.login-license-status.active{align-items:center}
.login-license-status.active small{display:none!important}
.login-license-status.active strong{font-size:14px}
@media(max-width:600px){.login-card{padding:26px 22px 24px}.login-card input[type="text"],.login-card input[type="password"],.login-card input[name="username"]{height:52px;min-height:52px;font-size:16px}.login-btn{height:52px}}

/* =========================================================
   v12.34.5 PROFESSIONAL LOGIN
   ========================================================= */
.login-screen-pro{position:fixed;inset:0;z-index:9999;display:none;grid-template-columns:minmax(430px,1.05fr) minmax(520px,.95fr);align-items:stretch;overflow:hidden;padding:0;background:#071d37;color:#fff}
.login-screen-pro.show{display:grid}
.login-bg-art{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(110deg,#061b34 0%,#0a3764 46%,#dce8f3 100%)}
.login-bg-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,18,38,.25),rgba(5,35,66,.08) 50%,rgba(255,255,255,.18))}
.plant-sky{position:absolute;inset:0;background:radial-gradient(circle at 42% 35%,rgba(43,119,185,.35),transparent 28%),linear-gradient(to bottom,rgba(11,41,74,.05) 0 52%,rgba(4,19,36,.4) 100%)}
.plant-glow{position:absolute;border-radius:50%;filter:blur(22px);opacity:.6}.plant-glow-a{width:230px;height:230px;left:30%;bottom:13%;background:rgba(255,161,64,.20)}.plant-glow-b{width:140px;height:140px;left:47%;bottom:25%;background:rgba(255,209,91,.16)}
.plant-silhouette{position:absolute;left:17%;bottom:66px;width:44%;height:60%;opacity:.88;filter:drop-shadow(0 18px 30px rgba(0,0,0,.35))}
.plant-silhouette .tower,.plant-silhouette .rack,.plant-silhouette .pipe{position:absolute;display:block;background:linear-gradient(90deg,#07182a,#163a59 48%,#081827);border:1px solid rgba(180,219,246,.18)}
.plant-silhouette .tower:before{content:"";position:absolute;inset:8% -18%;background:repeating-linear-gradient(to bottom,transparent 0 28px,rgba(152,197,230,.25) 29px 31px);border-left:2px solid rgba(145,191,226,.2);border-right:2px solid rgba(145,191,226,.2)}
.plant-silhouette .tower:after{content:"";position:absolute;top:-12px;left:-7px;right:-7px;height:10px;border:2px solid rgba(164,207,238,.3);border-radius:50%}
.t1{left:48%;bottom:0;width:54px;height:78%;border-radius:24px 24px 4px 4px}.t2{left:27%;bottom:0;width:40px;height:51%;border-radius:18px 18px 4px 4px}.t3{left:68%;bottom:0;width:36px;height:61%;border-radius:18px 18px 4px 4px}
.r1{left:5%;bottom:0;width:80%;height:20%;background:repeating-linear-gradient(90deg,#091c30 0 11px,#1c496c 12px 14px)}.r2{left:12%;bottom:22%;width:74%;height:10%;background:repeating-linear-gradient(90deg,#071b2e 0 13px,#1b4768 14px 16px)}.r3{left:18%;bottom:35%;width:57%;height:8%;background:repeating-linear-gradient(90deg,#081d32 0 11px,#1b4a6d 12px 14px)}
.p1{left:0;bottom:9%;width:92%;height:10px;border-radius:8px}.p2{left:10%;bottom:27%;width:80%;height:8px;border-radius:8px}.p3{left:21%;bottom:41%;width:58%;height:7px;border-radius:8px}
.login-hero{position:relative;z-index:2;min-height:100vh;padding:34px 5vw 84px;display:flex;flex-direction:column;background:linear-gradient(90deg,rgba(2,19,38,.42),rgba(3,28,52,.08))}
.login-hero-brand{display:flex;align-items:center;gap:16px}.login-hero-mark{width:58px;height:58px;border-radius:15px;font-size:22px}.login-hero-brand strong,.login-hero-brand span{display:block}.login-hero-brand strong{font-size:25px;letter-spacing:-.4px}.login-hero-brand span{font-size:15px;color:#c8d8e8;margin-top:3px}
.login-hero-copy{margin-top:9vh;max-width:540px}.login-hero-kicker{font-size:12px;letter-spacing:.34em;font-weight:800;color:#c5d9ec}.login-hero-copy h1{margin:18px 0 14px;font-size:clamp(44px,4.6vw,70px);line-height:.98;letter-spacing:-2.2px;color:#fff}.login-hero-copy h1 em{font-style:normal;color:#2690ff}.login-hero-copy>p{font-size:19px;line-height:1.55;color:#c9d8e7;max-width:480px}
.login-features{display:grid;gap:16px;margin-top:28px}.login-features>div{display:flex;align-items:center;gap:15px}.feature-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:15px;background:rgba(34,115,187,.26);border:1px solid rgba(133,194,239,.13);font-size:23px;color:#fff}.login-features strong,.login-features small{display:block}.login-features strong{font-size:15px}.login-features small{margin-top:3px;color:#c6d6e6;font-size:13px}
.login-hero-slogan{margin-top:auto;padding-top:25px;display:flex;flex-direction:column;align-items:flex-start;font-family:Georgia,serif;font-style:italic;color:#fff}.login-hero-slogan span{width:46px;height:3px;background:#1590ff;margin-bottom:10px}.login-hero-slogan strong,.login-hero-slogan em{font-size:23px;font-weight:500}.login-hero-slogan em{margin-left:28px}
.login-panel-wrap{position:relative;z-index:3;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:42px 5vw 78px}
.login-card-pro{width:min(610px,100%);margin:0;background:rgba(255,255,255,.975);border-radius:30px;padding:34px 40px 28px;color:#102a4b;border:1px solid rgba(255,255,255,.72);box-shadow:0 30px 80px rgba(3,20,39,.28);backdrop-filter:blur(10px)}
.login-brand-pro{margin-bottom:22px}.login-card-mark{width:72px;height:72px;border-radius:18px;font-size:28px}.login-brand-pro strong{font-size:24px;color:#0d294a;line-height:1.05}.login-brand-pro span{font-size:16px;color:#607896;margin-top:6px}
.login-license-pro{min-height:64px;margin:4px 0 20px;padding:14px 18px;border-radius:14px}.login-license-pro .license-dot{display:none}.license-check{width:27px;height:27px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#94a3b8;color:#fff;font-weight:900}.login-license-pro.active .license-check{background:#18a957}.login-license-pro.inactive .license-check{background:#d98b13}.login-license-pro strong{font-size:15px!important}.login-license-pro small{display:block!important;font-size:12px!important;margin-top:3px;color:#4f7a62!important}.login-license-pro.active{background:#eafbf1;border-color:#abe4bf}
.login-title-pro h1{font-size:31px;margin:0 0 4px;color:#0d294a}.login-title-pro p{font-size:15px!important;margin:0 0 20px!important;color:#667e9b!important}
.login-field-label{font-size:14px!important;color:#1c3d62!important;margin-top:15px!important}.login-input-wrap{position:relative;display:flex;align-items:center;margin-top:8px}.login-input-icon{position:absolute;left:16px;z-index:1;color:#496a8c;font-size:20px;pointer-events:none}.login-card-pro input[type="text"],.login-card-pro input[type="password"],.login-card-pro input[name="username"]{height:58px!important;min-height:58px!important;margin:0!important;padding:0 94px 0 48px!important;border:1.5px solid #cad8e8;border-radius:13px!important;background:#fff;font-size:16px!important;color:#102a4b;box-shadow:0 2px 9px rgba(17,49,83,.04);outline:none;transition:.2s}.login-card-pro input:focus{border-color:#388eff;box-shadow:0 0 0 3px rgba(39,126,242,.11)}
#toggleLoginPassword{height:40px!important;min-width:70px!important;top:9px!important;right:9px!important;bottom:auto!important;border-radius:9px!important;background:#edf4ff!important;color:#246bfd!important}
.login-options{display:flex;justify-content:space-between;align-items:center;margin:15px 2px 0;color:#55708d;font-size:13px}.login-options label{display:flex;gap:8px;align-items:center;margin:0!important;font-size:13px!important}.login-options input{width:17px!important;height:17px!important;min-height:17px!important;margin:0!important;padding:0!important}.login-options>span{color:#587696;font-weight:700}
.login-btn-pro{height:58px!important;margin-top:22px!important;border-radius:13px!important;font-size:16px!important;gap:9px;box-shadow:0 12px 24px rgba(36,107,253,.25)}.login-btn-pro span{font-size:21px}.login-company-footer{margin-top:26px;padding-top:18px;border-top:1px solid #e3eaf2;text-align:center}.login-company-footer strong,.login-company-footer small{display:block}.login-company-footer strong{font-size:15px;color:#334f6f}.login-company-footer small{font-size:11px;color:#7b8fa5;margin-top:3px}
.login-screen-footer{position:absolute;z-index:4;left:0;right:0;bottom:0;height:52px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.11);background:rgba(3,19,38,.34);font-size:11px;color:#c6d6e6;backdrop-filter:blur(6px)}
@media(max-width:1050px){.login-screen-pro{grid-template-columns:1fr}.login-hero{display:none}.login-panel-wrap{padding:34px 20px 70px;background:linear-gradient(145deg,#092442,#17518b 62%,#236bfd)}.login-card-pro{max-width:620px}.login-screen-footer span:last-child{display:none}}
@media(max-width:600px){.login-panel-wrap{align-items:flex-start;padding:20px 14px 64px}.login-card-pro{padding:24px 20px 22px;border-radius:22px}.login-card-mark{width:58px;height:58px;font-size:22px}.login-brand-pro strong{font-size:20px}.login-brand-pro span{font-size:13px}.login-title-pro h1{font-size:27px}.login-card-pro input[type="text"],.login-card-pro input[type="password"],.login-card-pro input[name="username"]{height:56px!important;min-height:56px!important}.login-screen-footer{height:46px;padding:0 18px;font-size:10px}.login-license-pro{min-height:58px}}


/* =========================================================
   v12.34.6 LOGIN LAYOUT HARDENING
   Fixes malformed escaped newlines from v12.34.4/5 and guarantees
   the functional login card remains visible on desktop browsers.
   ========================================================= */
.login-screen-pro.show{
  display:grid!important;
  grid-template-columns:minmax(560px,1.05fr) minmax(560px,.95fr)!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100vh!important;
}
.login-panel-wrap{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  min-width:0!important;
  width:100%!important;
  background:linear-gradient(145deg,rgba(238,246,253,.14),rgba(255,255,255,.42));
}
.login-card-pro{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  z-index:8!important;
  flex:0 1 610px!important;
  max-width:610px!important;
  min-width:0!important;
  max-height:calc(100dvh - 120px)!important;
  overflow:auto!important;
}
@media(max-height:820px) and (min-width:1051px){
  .login-hero-copy{margin-top:5vh}
  .login-features{gap:10px;margin-top:18px}
  .feature-icon{width:45px;height:45px}
  .login-card-pro{padding:24px 32px 22px;max-height:calc(100dvh - 76px)}
  .login-card-mark{width:58px;height:58px;font-size:23px}
  .login-brand-pro{margin-bottom:14px}
  .login-license-pro{margin-bottom:13px;min-height:56px;padding:11px 15px}
  .login-title-pro h1{font-size:27px}
  .login-title-pro p{margin-bottom:12px!important}
  .login-field-label{margin-top:10px!important}
  .login-card-pro input[type="text"],.login-card-pro input[type="password"],.login-card-pro input[name="username"]{height:52px!important;min-height:52px!important}
  #toggleLoginPassword{top:6px!important}
  .login-options{margin-top:10px}
  .login-btn-pro{height:52px!important;margin-top:14px!important}
  .login-company-footer{margin-top:15px;padding-top:12px}
}
@media(max-width:1050px){
  .login-screen-pro.show{grid-template-columns:1fr!important}
  .login-panel-wrap{background:linear-gradient(145deg,#092442,#17518b 62%,#236bfd)!important}
  .login-card-pro{flex-basis:620px!important;max-height:calc(100dvh - 110px)!important}
}


/* =========================================================
   v12.34.8 LOGIN LEFT FOOTER / SLOGAN FIX
   Keeps the lower-left marketing content clear of the global footer.
   ========================================================= */
.login-screen-pro.show{
  overflow:hidden!important;
}
.login-hero{
  height:calc(100dvh - 54px)!important;
  min-height:0!important;
  padding:30px 5vw 22px!important;
  overflow:hidden!important;
}
.login-hero-copy{
  margin-top:clamp(30px,6vh,72px)!important;
}
.login-hero-slogan{
  margin-top:auto!important;
  padding-top:16px!important;
  padding-bottom:2px!important;
  line-height:1.03!important;
  position:relative!important;
  z-index:6!important;
}
.login-hero-slogan span{
  margin-bottom:8px!important;
}
.login-hero-slogan strong,
.login-hero-slogan em{
  font-size:clamp(20px,1.45vw,24px)!important;
  line-height:1.05!important;
}
.login-hero-slogan em{
  margin-left:24px!important;
}
.login-hero-slogan small{
  margin-top:10px!important;
  font-family:inherit!important;
  font-style:normal!important;
  font-size:11px!important;
  letter-spacing:.03em!important;
  color:#b9ccdf!important;
}
.login-screen-footer{
  height:54px!important;
  background:rgba(3,19,38,.82)!important;
  z-index:20!important;
}
.login-panel-wrap{
  min-height:calc(100dvh - 54px)!important;
  height:calc(100dvh - 54px)!important;
  padding-bottom:34px!important;
}
@media(max-height:860px) and (min-width:1051px){
  .login-hero{padding-top:24px!important;padding-bottom:16px!important}
  .login-hero-brand .login-hero-mark{width:52px;height:52px;font-size:20px}
  .login-hero-brand strong{font-size:23px}
  .login-hero-copy{margin-top:4vh!important}
  .login-hero-copy h1{margin:12px 0 10px!important;font-size:clamp(42px,4.1vw,62px)!important}
  .login-hero-copy>p{font-size:17px!important;line-height:1.45!important}
  .login-features{gap:9px!important;margin-top:18px!important}
  .feature-icon{width:45px!important;height:45px!important;font-size:19px!important}
  .login-features strong{font-size:14px!important}
  .login-features small{font-size:12px!important}
  .login-hero-slogan{padding-top:10px!important}
  .login-hero-slogan strong,.login-hero-slogan em{font-size:20px!important}
  .login-hero-slogan small{margin-top:7px!important;font-size:10px!important}
}
@media(max-height:720px) and (min-width:1051px){
  .login-hero-copy{margin-top:18px!important}
  .login-hero-copy h1{font-size:46px!important}
  .login-hero-copy>p{font-size:15px!important;margin:0!important}
  .login-features{grid-template-columns:1fr 1fr!important;gap:8px 16px!important;margin-top:14px!important}
  .feature-icon{width:40px!important;height:40px!important}
  .login-hero-slogan strong,.login-hero-slogan em{font-size:18px!important}
}
@media(max-width:1050px){
  .login-panel-wrap{height:calc(100dvh - 46px)!important;min-height:calc(100dvh - 46px)!important;padding-bottom:24px!important}
  .login-screen-footer{height:46px!important}
}


/* ============================================================
   v12.34.11 MOBILE VISUAL REFRESH
   Cleaner context, stronger topbar, differentiated cards/icons.
   ============================================================ */
@media(max-width:1024px){
  body{background:
    radial-gradient(circle at 8% 0%,rgba(36,107,253,.10),transparent 32%),
    linear-gradient(180deg,#eef5fc 0,#f6f9fc 34%,#edf3f9 100%)}
  .content{padding-top:12px}

  /* Mobile top bar: compact and high-contrast */
  .topbar-v12343{height:62px!important;padding:0 10px!important;background:linear-gradient(125deg,#082e59 0%,#075b9e 58%,#0b77b9 100%)!important;border-bottom:0!important;box-shadow:0 8px 24px rgba(5,52,96,.22)!important;color:#fff}
  .topbar-main-context{gap:9px!important}
  .mobile-menu{display:grid!important;place-items:center;width:39px!important;height:39px!important;border:1px solid rgba(255,255,255,.22)!important;background:rgba(255,255,255,.10)!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
  .topbar-mini-brand{display:flex!important;gap:0!important}
  .topbar-brand-mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(145deg,#2292ff,#10bdd3)!important;box-shadow:0 7px 18px rgba(0,25,65,.28)!important}
  .topbar-brand-copy{display:none!important}
  .top-context-line,.top-breadcrumb{display:none!important}
  .topbar-pathline{height:auto!important;display:block!important}
  .topbar-pathline h1{max-width:34vw!important;border-left:0!important;padding-left:0!important;color:#fff!important;font-size:13px!important;font-weight:850;letter-spacing:.1px;text-shadow:0 1px 1px rgba(0,0,0,.08)}
  .top-project-actions{gap:5px}
  .top-project-actions .topbar-secondary-action,.top-project-actions .topbar-update-action{display:none!important}
  .topbar-project-action{height:36px!important;padding:0 10px!important;border:1px solid rgba(255,255,255,.24)!important;background:rgba(255,255,255,.14)!important;color:#fff!important;box-shadow:none!important;backdrop-filter:blur(10px)}
  .user-session-trigger{min-height:39px!important;border:1px solid rgba(255,255,255,.22)!important;background:rgba(255,255,255,.12)!important;color:#fff!important;padding:3px 5px!important}
  .user-avatar{width:31px;height:31px;background:#fff!important;color:#17446d!important;box-shadow:0 4px 12px rgba(0,31,65,.16)}
  .user-chevron{color:#d7ebff!important}

  /* Dashboard hero: useful title only, no unnecessary explanatory copy on phone */
  .dashboard-hero{border:0!important;background:linear-gradient(135deg,#0d3e72 0%,#1068ad 60%,#11a1c4 100%)!important;box-shadow:0 12px 28px rgba(13,73,124,.18)!important;color:#fff;padding:14px 15px!important}
  .dashboard-hero .section-kicker{color:#bfe7ff!important}
  .dashboard-hero h2{color:#fff!important;margin-bottom:0!important}
  .dashboard-hero p{display:none!important}
  .dashboard-head-actions .btn.ghost{display:none!important}
  .dashboard-head-actions .btn.primary{border-color:rgba(255,255,255,.28)!important;background:#fff!important;color:#0a5ea5!important;box-shadow:0 5px 14px rgba(0,35,78,.16)}

  /* KPI cards: different visual meaning instead of all-white tiles */
  .dashboard-kpis{gap:8px!important}
  .dash-kpi{border:0!important;box-shadow:0 7px 18px rgba(31,67,104,.08)!important;position:relative;overflow:hidden}
  .dashboard-kpis .dash-kpi:nth-child(1){background:linear-gradient(145deg,#eef5ff,#dfeeff)!important}
  .dashboard-kpis .dash-kpi:nth-child(2){background:linear-gradient(145deg,#effbf5,#dcf6e8)!important}
  .dashboard-kpis .dash-kpi:nth-child(3){background:linear-gradient(145deg,#f7f1ff,#eee3ff)!important}
  .dashboard-kpis .dash-kpi:nth-child(4){background:linear-gradient(145deg,#fff2f3,#ffe3e7)!important}
  .dashboard-kpis .dash-kpi:nth-child(5){grid-column:1/-1;background:linear-gradient(120deg,#e9f4ff 0%,#e8fbfb 100%)!important}
  .dashboard-kpis .dash-kpi:nth-child(1)>strong{color:#1767ce}
  .dashboard-kpis .dash-kpi:nth-child(2)>strong{color:#158356}
  .dashboard-kpis .dash-kpi:nth-child(3)>strong{color:#7447c7}
  .dashboard-kpis .dash-kpi:nth-child(4)>strong{color:#c73d4f}
  .dashboard-kpis .dash-kpi:nth-child(5)>strong{color:#0e6cae}
  .dashboard-project-panel{border:1px solid #dce7f2!important;background:rgba(255,255,255,.88)!important;backdrop-filter:blur(10px);box-shadow:0 8px 22px rgba(31,67,104,.07)!important}
  .dashboard-project-card{background:linear-gradient(145deg,#fff,#f8fbff)!important;border-color:#dbe7f3!important;box-shadow:0 6px 16px rgba(31,67,104,.07)!important}
  .dashboard-toolbar{background:transparent!important}
  .dashboard-toolbar .search,.dashboard-toolbar select{background:#fff!important;border-color:#d7e3ef!important}

  /* Project screen also sits on subtle tinted canvas */
  #workspace .project-head{background:linear-gradient(135deg,#0b3d70,#0a6cad 68%,#10a6c3)!important}
  #workspace .panel{background:rgba(255,255,255,.94);border-color:#dce6f0}

  /* Bottom project nav is only shown by JS after a project is selected. */
  body.has-mobile-project-nav{padding-bottom:82px!important}
  .mobile-bottom-nav{left:9px!important;right:9px!important;bottom:8px!important;height:66px!important;padding:5px!important;border:1px solid rgba(189,207,226,.88)!important;border-radius:20px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 14px 34px rgba(15,51,88,.20)!important;backdrop-filter:blur(18px)!important}
  .mobile-bottom-nav button{position:relative;gap:3px!important;border-radius:14px!important;transition:transform .16s ease,background .16s ease,color .16s ease!important}
  .mobile-bottom-nav button:active{transform:scale(.94)}
  .mobile-bottom-nav .nav-icon{width:31px;height:31px;border-radius:10px;display:grid;place-items:center!important;line-height:1!important}
  .mobile-bottom-nav .nav-icon svg{width:18px;height:18px;fill:currentColor;stroke:none}
  .mobile-bottom-nav .nav-icon svg .nav-cut{fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .mobile-bottom-nav b{font-size:7.5px!important;letter-spacing:.05px}
  .mobile-bottom-nav .nav-overview{color:#1e70e8}.mobile-bottom-nav .nav-overview .nav-icon{background:#e8f2ff}
  .mobile-bottom-nav .nav-update{color:#119660}.mobile-bottom-nav .nav-update .nav-icon{background:#e7f8ef}
  .mobile-bottom-nav .nav-work{color:#7b4bc7}.mobile-bottom-nav .nav-work .nav-icon{background:#f1eaff}
  .mobile-bottom-nav .nav-gantt{color:#cf8211}.mobile-bottom-nav .nav-gantt .nav-icon{background:#fff2da}
  .mobile-bottom-nav .nav-more{color:#0b8fa8}.mobile-bottom-nav .nav-more .nav-icon{background:#e4f8fb}
  .mobile-bottom-nav button.active{background:linear-gradient(145deg,#1f74f3,#2b94f4)!important;color:#fff!important;box-shadow:0 7px 16px rgba(31,116,243,.26)}
  .mobile-bottom-nav button.active .nav-icon{background:rgba(255,255,255,.17)!important;color:#fff!important}
  .mobile-bottom-nav button.active b{color:#fff!important}
  .mobile-bottom-nav button:not(.active) b{color:#60758b}

  .mobile-more-menu{bottom:82px!important;border:1px solid #d7e3ee!important;border-radius:17px!important;padding:8px!important;box-shadow:0 18px 40px rgba(15,51,88,.22)!important;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(18px)}
  .mobile-more-menu button{min-height:54px!important;border:1px solid transparent!important;background:#f7fafc!important}
  .mobile-more-menu button span{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;font-size:15px!important}
  .mobile-more-menu .more-report span{background:#e9f2ff;color:#1e70e8}
  .mobile-more-menu .more-curve span{background:#e7f8ef;color:#119660}
  .mobile-more-menu .more-history span{background:#fff1db;color:#c57a0b}
  .mobile-more-menu .more-settings span{background:#f1eaff;color:#7b4bc7}
}

@media(max-width:420px){
  .topbar-pathline h1{max-width:27vw!important}
  .topbar-project-action{padding:0 8px!important;font-size:8px!important}
  .mobile-bottom-nav{left:6px!important;right:6px!important;bottom:6px!important}
  .mobile-bottom-nav .nav-icon{width:29px;height:29px}
  .mobile-bottom-nav .nav-icon svg{width:17px;height:17px}
}

/* ============================================================
   v12.34.12 DESKTOP VISUAL REFRESH
   Professional desktop workspace without changing mobile flow.
   ============================================================ */
@media(min-width:1025px){
  :root{--desktop-navy:#082542;--desktop-navy-2:#0d355c;--desktop-canvas:#eef4fa;--desktop-card:#ffffff;--desktop-line:#dbe6f0;--desktop-blue:#176ff2;--desktop-cyan:#0fa9c6}
  html,body{background:var(--desktop-canvas)}
  body{background:
    radial-gradient(circle at 72% -8%,rgba(56,135,235,.10),transparent 34%),
    linear-gradient(180deg,#f4f8fc 0%,#edf3f9 100%)}

  /* Defensive: mobile-only menus must never leak into desktop. */
  .mobile-bottom-nav,.mobile-more-menu{display:none!important}
  body.has-mobile-project-nav{padding-bottom:0!important}

  .app-shell{grid-template-columns:238px minmax(0,1fr)}
  .sidebar{padding:18px 12px 14px;background:
    radial-gradient(circle at 20% 2%,rgba(24,126,216,.20),transparent 28%),
    linear-gradient(180deg,#092946 0%,#071c31 100%);border-right:1px solid rgba(255,255,255,.05);box-shadow:10px 0 34px rgba(18,47,78,.08)}
  .brand{padding:2px 6px 20px;gap:10px}
  .brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#2786ff,#12b7d0);box-shadow:0 10px 24px rgba(0,76,154,.34)}
  .brand strong{font-size:15px;letter-spacing:-.2px}.brand span{font-size:10px;color:#9bc0df}
  .dashboard-side,.system-side,.new-side{min-height:43px;border-radius:11px!important;margin-bottom:7px!important;font-size:11px!important;letter-spacing:.05px;transition:.18s ease}
  .dashboard-side,.system-side{border:1px solid transparent!important;background:transparent!important;color:#b8cee2!important;text-align:left!important;padding:0 13px!important}
  .dashboard-side:hover,.system-side:hover{background:rgba(255,255,255,.055)!important;color:#fff!important;border-color:rgba(255,255,255,.06)!important;transform:translateX(2px)}
  .dashboard-side.active{background:linear-gradient(90deg,rgba(36,118,211,.32),rgba(30,105,187,.16))!important;color:#fff!important;border-color:rgba(76,157,238,.30)!important;box-shadow:inset 3px 0 0 #39a1ff}
  .new-side{margin-top:8px!important;border:1px solid rgba(64,155,243,.34)!important;background:linear-gradient(135deg,#123e69,#145486)!important;color:#fff!important;box-shadow:0 8px 18px rgba(0,0,0,.10)}
  .new-side:hover{filter:brightness(1.08);transform:translateY(-1px)}
  .side-title{margin:19px 8px 8px;color:#678bab;font-size:8px;letter-spacing:1.7px}
  .project-list{gap:5px}.project-item{padding:10px 9px;border:1px solid transparent}.project-item:hover,.project-item.active{border-color:rgba(81,153,225,.18);background:rgba(31,94,151,.30)}
  .side-footer{padding:14px 6px 4px;border-top-color:rgba(126,167,205,.20)}

  .main-shell{background:transparent}
  .topbar-v12343{height:70px;padding:0 20px;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(16px);border-bottom:1px solid rgba(201,216,230,.86)!important;box-shadow:0 7px 24px rgba(31,64,97,.055)}
  .topbar-mini-brand{padding-right:3px}.topbar-brand-mark{width:38px;height:38px;border-radius:11px;box-shadow:0 7px 16px rgba(23,111,242,.16)}
  .topbar-brand-copy strong{font-size:12px}.topbar-brand-copy small{font-size:8px;color:#758da5}
  .topbar-divider{height:34px;background:#e2eaf2!important}
  .top-context-line{gap:6px}.top-context-line .eyebrow{font-size:7px;color:#7790a8;letter-spacing:1.2px}
  .version-badge{background:#edf5ff!important;border:1px solid #d7e9ff!important;color:#176ff2!important;font-size:7px!important;padding:3px 6px!important}
  .topbar-pathline{gap:9px}.topbar-pathline .top-breadcrumb{font-size:8px;color:#8297aa}.topbar-pathline h1{font-size:14px;max-width:520px;color:#153758;letter-spacing:-.1px}
  .top-datetime{min-width:82px}.top-date{font-size:7px;color:#7990a6}.top-time{font-size:11px;color:#183a5c}
  .top-project-actions{gap:7px}.top-project-actions .btn{height:38px;border-radius:10px;padding:0 12px;font-size:9px}
  .top-project-actions .btn.ghost{border-color:#dce6f0;background:#fff;color:#456078}.top-project-actions .btn.ghost:hover{background:#f5f9fd;border-color:#c5d8ea}
  .top-project-actions .btn.primary{background:linear-gradient(135deg,#176ff2,#3188f4);border:0;box-shadow:0 7px 16px rgba(23,111,242,.20)}
  .user-session-trigger{border:1px solid #dce6f0!important;background:#f7faff!important;border-radius:12px!important;min-height:43px!important;padding:4px 8px 4px 5px!important}.user-session-trigger:hover{background:#eef5fc!important}
  .user-avatar{width:33px;height:33px;background:linear-gradient(145deg,#e7f2ff,#f2f7fb)!important;color:#204a71!important}.user-session-copy span{font-size:9.5px}.user-session-copy small{font-size:7.5px}

  .content{max-width:1540px;padding:24px 26px 44px}
  .project-collapse-bar{margin-bottom:10px;border-radius:12px;background:rgba(255,255,255,.72);border:1px solid #dfe8f1;padding:8px 10px}
  .project-collapse-bar small{color:#8296a9}

  /* Project header becomes a clear visual anchor instead of plain text. */
  #workspace .project-head{position:relative;overflow:hidden;align-items:center;margin-bottom:14px;padding:22px 24px;border:0;border-radius:18px;background:
    radial-gradient(circle at 83% 20%,rgba(37,170,205,.24),transparent 29%),
    linear-gradient(125deg,#0b3157 0%,#0d4f80 58%,#0a7193 100%);box-shadow:0 15px 34px rgba(10,56,94,.16);color:#fff}
  #workspace .project-head:after{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-72px;top:-132px;box-shadow:0 0 0 28px rgba(255,255,255,.025),0 0 0 58px rgba(255,255,255,.018)}
  #workspace .project-code{display:inline-flex;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.14);color:#bfe8ff;font-size:8px;position:relative;z-index:1}
  #workspace .project-head h2{font-size:24px;color:#fff;margin:7px 0 4px;letter-spacing:-.45px;position:relative;z-index:1}
  #workspace .project-head p{color:#c8dced;font-size:10px;position:relative;z-index:1}
  #workspace .period{position:relative;z-index:1;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);border-radius:12px;padding:9px 12px;min-width:150px}.period span{color:#add0e9!important}.period strong{color:#fff!important;font-size:11px}
  #workspace .project-danger{position:relative;z-index:1;border-color:rgba(255,255,255,.20)!important;background:rgba(255,255,255,.08)!important;color:#ffd9df!important;border-radius:10px!important}.project-danger:hover{background:rgba(196,45,65,.22)!important}

  .kpi-grid{grid-template-columns:1.25fr repeat(4,1fr);gap:12px;margin-bottom:14px}
  .kpi{border:1px solid #dce7f1;border-radius:15px;padding:15px 16px;box-shadow:0 8px 22px rgba(28,62,95,.055);transition:.18s ease;position:relative;overflow:hidden}
  .kpi:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(28,62,95,.08)}
  .kpi.hero{background:linear-gradient(145deg,#edf5ff,#f6fbff);border-color:#d6e8fa}.kpi.hero:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(#1d78f2,#12aec5)}
  .kpi-grid .kpi:nth-child(2){background:linear-gradient(145deg,#fff,#f7fbff)}
  .kpi-grid .kpi:nth-child(3){background:linear-gradient(145deg,#fff,#f4fbf7)}
  .kpi-grid .kpi:nth-child(4){background:linear-gradient(145deg,#fff,#fff7f7)}
  .kpi-grid .kpi:nth-child(5){background:linear-gradient(145deg,#fff,#faf7ff)}
  .kpi>span{font-size:8px;letter-spacing:.95px}.kpi>strong,.kpi-value strong{font-size:23px}.kpi small{font-size:9px}

  .tabs{position:sticky;top:70px;z-index:12;gap:5px;margin:0 0 14px;padding:7px;background:rgba(244,248,252,.94);backdrop-filter:blur(12px);border:1px solid #dce6ef;border-radius:13px;box-shadow:0 6px 18px rgba(30,61,91,.05);overflow-x:auto}
  .tabs button{border:0!important;border-radius:9px;padding:9px 12px;color:#60788f;font-size:9px;background:transparent}.tabs button:hover{background:#eaf2f9;color:#234a70}.tabs button.active{background:#fff;color:#176ff2;box-shadow:0 4px 12px rgba(26,79,130,.09);border:1px solid #dbe7f3!important}

  .tab{border:1px solid #dce6f0;border-radius:17px;padding:16px;background:rgba(255,255,255,.83);box-shadow:0 10px 26px rgba(28,62,95,.055)}
  .overview-grid{gap:12px}.panel{border-color:#dce6f0;border-radius:14px;box-shadow:0 7px 19px rgba(28,62,95,.045)}
  .panel-head h3{color:#153758}.section-kicker{color:#7790a7}
  .quick-actions{gap:10px}.quick-actions button{height:58px;border-radius:12px;background:linear-gradient(145deg,#fff,#f7fafe);border-color:#dbe6f0;color:#294b6d;box-shadow:0 4px 12px rgba(32,65,98,.035);transition:.18s ease}.quick-actions button:hover{transform:translateY(-2px);border-color:#b8d3ed;background:#f1f7fd}
  .section-summary-grid{gap:10px}.section-summary-card{background:linear-gradient(145deg,#fff,#f8fbfe);border-color:#dce6f0;border-radius:12px;padding:13px}.section-summary-card>strong{color:#0d4779}
  .snapshot-row{padding:11px 5px}.snapshot-row:hover{background:#f8fbfe}

  /* Dashboard and directory: same visual language as project workspace. */
  .dashboard-page .dashboard-hero,.system-page .dashboard-hero{border:0!important;border-radius:18px!important;padding:21px 22px!important;background:
    radial-gradient(circle at 88% 10%,rgba(38,169,205,.20),transparent 30%),
    linear-gradient(125deg,#0b3157,#0d5486 64%,#0b7798)!important;color:#fff!important;box-shadow:0 14px 32px rgba(10,58,97,.14)!important}
  .dashboard-hero .section-kicker{color:#b9ddf6!important}.dashboard-hero h2{color:#fff!important;font-size:22px!important}.dashboard-hero p{color:#cbddeb!important;max-width:720px}.dashboard-head-actions .btn.ghost{background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.18)!important;color:#fff!important}.dashboard-head-actions .btn.primary{background:#fff!important;border:0!important;color:#0b5da2!important;box-shadow:0 7px 18px rgba(0,37,73,.16)!important}
  .dashboard-kpis{gap:11px!important}.dash-kpi{border:1px solid #dce6f0!important;border-radius:15px!important;box-shadow:0 8px 22px rgba(28,62,95,.05)!important;overflow:hidden;position:relative}.dashboard-kpis .dash-kpi:nth-child(1){background:linear-gradient(145deg,#edf5ff,#fff)!important}.dashboard-kpis .dash-kpi:nth-child(2){background:linear-gradient(145deg,#ecfaf3,#fff)!important}.dashboard-kpis .dash-kpi:nth-child(3){background:linear-gradient(145deg,#f5efff,#fff)!important}.dashboard-kpis .dash-kpi:nth-child(4){background:linear-gradient(145deg,#fff0f2,#fff)!important}.dashboard-kpis .dash-kpi:nth-child(5){background:linear-gradient(145deg,#eef8ff,#effcfc)!important}
  .dashboard-project-panel{border-radius:17px!important;background:rgba(255,255,255,.92)!important;box-shadow:0 10px 26px rgba(28,62,95,.055)!important}
  .dashboard-toolbar{padding:10px;border-radius:12px;background:#f5f9fc!important;border:1px solid #e0e9f2}.dashboard-toolbar .search{max-width:none;background:#fff}.dashboard-table-wrap{border:1px solid #e0e8f0;border-radius:11px;overflow:auto}.dashboard-table thead th{background:#f4f8fc!important}

  /* Keep content comfortable on large 16:9 desktops. */
  .overview-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr)}
  .snapshot-row{grid-template-columns:90px minmax(280px,1.5fr) 120px 190px}
}

@media(min-width:1025px) and (max-width:1480px){
  .app-shell{grid-template-columns:210px minmax(0,1fr)}
  .sidebar{padding-left:9px;padding-right:9px}.topbar-brand-copy,.top-datetime{display:none!important}.topbar-v12343{padding:0 14px}.content{padding-left:18px;padding-right:18px}.topbar-pathline h1{max-width:320px}.kpi-grid{grid-template-columns:1.25fr repeat(2,1fr)}.kpi-grid .kpi:nth-child(4),.kpi-grid .kpi:nth-child(5){grid-column:auto}.overview-grid{grid-template-columns:1fr}
}


/* v12.34.14 DESKTOP PERFORMANCE OPTIMIZATION
   Keep the same visual hierarchy while removing expensive live backdrop compositing
   on desktop. Mobile rules remain unchanged. */
@media (min-width:761px){
  .topbar,.topbar-v12343,.tabs,.dashboard-project-panel,.settings-savebar,.topbar-project-action{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .tabs{background:#f4f8fc!important}
  .dashboard-project-panel{background:#fff!important}
  .settings-savebar{background:#fff!important}
}


/* v12.34.15 NAVIGATION + LIVE SYNC + COMPACT DESKTOP TOPBAR */
.live-sync-status{font-size:9px;font-weight:800;white-space:nowrap;color:#687f96;padding:6px 8px;border:1px solid #dfe8f1;border-radius:999px;background:#f8fbfe}
.live-sync-status[data-state="live"]{color:#087a50;background:#eefaf5;border-color:#cdeee0}.live-sync-status[data-state="sync"]{color:#1d62b8;background:#eef6ff;border-color:#d6e8ff}
@media(min-width:1025px){
  .topbar-v12343{height:64px!important;padding:0 14px!important;gap:10px!important}
  .topbar-main-context{min-width:0!important;overflow:hidden!important}
  .topbar-mini-brand{flex:0 0 auto!important}.topbar-brand-copy{display:none!important}
  .top-context-compact{min-width:0!important;overflow:hidden!important}.topbar-pathline h1{max-width:190px!important;font-size:11px!important}
  .topbar-tools{gap:7px!important;min-width:0}.top-datetime{min-width:76px!important}.topbar-divider.right-divider{display:none!important}
  .top-project-actions{gap:5px!important}.top-project-actions .btn{height:34px!important;padding:0 9px!important;font-size:9px!important}
  .user-session-copy{min-width:72px!important;max-width:120px!important}.user-session-trigger{min-height:38px!important}
}
@media(min-width:1025px) and (max-width:1480px){
  .top-context-compact .eyebrow,.top-scope-badge,.top-access-badge,.top-datetime{display:none!important}
  .topbar-pathline h1{max-width:145px!important}.topbar-secondary-action{display:inline-flex;align-items:center;justify-content:center}.live-sync-status{padding:5px 7px;font-size:8px}
}

/* v12.34.17 navigation loading guard */
.global-loading{position:fixed;inset:0;z-index:99999;background:rgba(8,18,34,.18);display:flex;align-items:center;justify-content:center;cursor:wait;pointer-events:all;backdrop-filter:blur(1.5px)}
.global-loading[hidden]{display:none!important}
.global-loading-card{display:flex;align-items:center;gap:12px;min-width:168px;padding:14px 18px;border-radius:14px;background:#fff;box-shadow:0 16px 45px rgba(10,30,55,.20);border:1px solid rgba(90,120,150,.18)}
.global-loading-card strong{display:block;font-size:13px;color:#18324d}.global-loading-card small{display:block;margin-top:2px;font-size:10px;color:#7890a8}
.global-spinner{width:22px;height:22px;border:3px solid #dce7f2;border-top-color:#246bfd;border-radius:50%;animation:nrpm-spin .7s linear infinite;flex:0 0 auto}
@keyframes nrpm-spin{to{transform:rotate(360deg)}}
body.nrpm-busy{cursor:wait}.nrpm-busy button,.nrpm-busy a{pointer-events:none!important}



/* v12.34.20 BROWSER-CONSISTENT LAPTOP BREAKPOINT
   Use compact/tablet navigation through 1280 CSS px. This intentionally gives
   Chrome/Edge more tolerance for browser-specific viewport/zoom differences.
   Full desktop layout begins at 1025px; tablet/mobile navigation is reserved for <=1024px. */
@media (max-width:1024px){
  .app-shell{grid-template-columns:1fr!important}
  .sidebar{position:fixed!important;left:-265px!important;width:255px!important;z-index:40!important;transition:.2s!important}
  .sidebar.open{left:0!important}
  .mobile-menu{display:grid!important}
}
@media (min-width:1025px){
  .mobile-menu{display:none!important}
}


/* ============================================================
   v12.34.21 CANONICAL TOPBAR + RESPONSIVE CONTRACT
   One visual identity in every modern browser. Responsive rules
   may change layout density/navigation, never topbar branding.
   ============================================================ */
.topbar.topbar-v12343{
  background:linear-gradient(125deg,#082e59 0%,#075b9e 58%,#0b77b9 100%)!important;
  color:#fff!important;
  border-bottom:0!important;
  box-shadow:0 8px 24px rgba(5,52,96,.18)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.topbar-v12343 .topbar-pathline h1,
.topbar-v12343 .topbar-brand-copy strong,
.topbar-v12343 .top-time{color:#fff!important}
.topbar-v12343 .topbar-brand-copy small,
.topbar-v12343 .top-date,
.topbar-v12343 .topbar-pathline .top-breadcrumb,
.topbar-v12343 .topbar-pathline .top-breadcrumb b,
.topbar-v12343 .top-context-compact .eyebrow{color:#cce6f8!important}
.topbar-v12343 .topbar-divider{background:rgba(255,255,255,.20)!important}
.topbar-v12343 .topbar-pathline h1{border-left-color:rgba(255,255,255,.22)!important}
.topbar-v12343 .user-session-trigger{
  border-color:rgba(255,255,255,.22)!important;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
}
.topbar-v12343 .user-session-trigger:hover{background:rgba(255,255,255,.18)!important}
.topbar-v12343 .user-avatar{background:#fff!important;color:#17446d!important}
.topbar-v12343 .user-session-copy span{color:#fff!important}
.topbar-v12343 .user-session-copy small,.topbar-v12343 .user-chevron{color:#d7ebff!important}
.topbar-v12343 .topbar-project-action{
  border:1px solid rgba(255,255,255,.25)!important;
  background:rgba(255,255,255,.14)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.topbar-v12343 .topbar-project-action:hover{background:rgba(255,255,255,.21)!important}
.topbar-v12343 .topbar-secondary-action{
  border-color:rgba(255,255,255,.22)!important;
  background:rgba(255,255,255,.09)!important;
  color:#fff!important;
}
.topbar-v12343 .topbar-update-action{
  border-color:#fff!important;background:#fff!important;color:#0b5da2!important;box-shadow:none!important
}

/* Navigation mode only: no color/theme switching at breakpoints. */
@media (max-width:1024px){
  .app-shell{grid-template-columns:1fr!important}
  .sidebar{position:fixed!important;left:-265px!important;width:255px!important;z-index:40!important;transition:.2s!important}
  .sidebar.open{left:0!important}
  .mobile-menu{display:grid!important;place-items:center!important}
  .topbar-v12343{height:62px!important;padding:0 10px!important}
}
@media (min-width:1025px){
  .mobile-menu{display:none!important}
  .topbar-v12343{height:64px!important;padding:0 14px!important}
}

/* v12.34.22 — canonical project duration + Daily Activity UI repair */
.project-schedule-strip{display:grid;grid-template-columns:minmax(230px,1.45fr) repeat(5,minmax(105px,.7fr));gap:1px;margin:-2px 0 14px;border:1px solid #dce6f0;border-radius:14px;overflow:hidden;background:#dce6f0;box-shadow:0 7px 20px rgba(28,62,95,.045)}
.project-schedule-strip>div{min-width:0;background:#fff;padding:11px 13px}.project-schedule-title{background:linear-gradient(135deg,#eef5ff,#f8fbff)!important}.project-schedule-strip span{display:block;font-size:7.5px;font-weight:900;letter-spacing:.75px;color:#7b8da0}.project-schedule-strip strong{display:block;margin-top:4px;color:#20486f;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-schedule-title strong{color:#155a9d;font-size:12px}.project-schedule-strip small{display:block;margin-top:2px;color:#93a0ae;font-size:7.5px}.project-schedule-strip.schedule-missing .project-schedule-title strong{color:#9a6c12}

.project-daily-head{align-items:flex-start}.project-daily-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;flex-wrap:wrap}.project-daily-actions .date-control label{display:grid;gap:4px;font-size:8px;font-weight:850;color:#73869a}.project-daily-actions .date-control input{min-width:135px}.project-daily-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:6px 0 8px}.project-daily-summary article{min-width:0;border:1px solid #dfe8f1;border-radius:12px;padding:12px 13px;background:linear-gradient(145deg,#fff,#f8fbff);box-shadow:0 5px 16px rgba(25,55,90,.04)}.project-daily-summary article span{display:block;font-size:7.5px;font-weight:900;letter-spacing:.65px;color:#72869a;text-transform:uppercase}.project-daily-summary article strong{display:block;margin:5px 0 1px;font-size:21px;line-height:1;color:#173f6d}.project-daily-summary article small{display:block;color:#8b9aaa;font-size:8px}.project-daily-summary article:nth-child(2){background:linear-gradient(145deg,#effaf5,#fff)}.project-daily-summary article:nth-child(3){background:linear-gradient(145deg,#eef8ff,#fff)}.project-daily-summary article:nth-child(4){background:linear-gradient(145deg,#fff6f0,#fff)}.project-daily-summary article:nth-child(5){background:linear-gradient(145deg,#f8f3ff,#fff)}.project-daily-note{margin:0 0 12px;color:#8191a2;font-size:8px}.project-daily-list{display:grid;gap:10px}.project-daily-empty{display:grid;gap:4px;padding:24px;border:1px dashed #cbd8e5;border-radius:12px;background:#fbfdff;text-align:center}.project-daily-empty strong{font-size:11px;color:#315171}.project-daily-empty span{font-size:9px;color:#8999aa}
.project-daily-card{border:1px solid #dfe7f0;border-radius:13px;padding:13px 14px;background:#fff;box-shadow:0 5px 16px rgba(25,55,90,.035)}.project-daily-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;border-bottom:1px solid #edf2f6}.project-daily-card-head h4{margin:3px 0 1px;font-size:12px;color:#244969}.project-daily-card-head p{margin:0;font-size:8px;color:#8998a8}.daily-number{display:block;font-size:7.5px;font-weight:900;letter-spacing:.7px;color:#1761d2}.daily-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:7.5px;font-weight:900;background:#eaf2ff;color:#1761d2}.daily-status.done{background:#e7f7ef;color:#178455}.daily-status.hold{background:#fff2dd;color:#a76b00}.project-daily-meta.simple{display:grid;grid-template-columns:140px minmax(0,1fr);gap:9px;margin:10px 0}.project-daily-meta.simple>div{border:1px solid #edf1f5;border-radius:9px;padding:8px 10px;background:#fbfcfe}.project-daily-meta span,.project-daily-detail span{display:block;font-size:7.5px;font-weight:900;letter-spacing:.45px;color:#8494a5;text-transform:uppercase}.project-daily-meta strong{display:block;margin-top:3px;font-size:10px;color:#294a69}.project-daily-detail{margin:8px 0;padding:9px 10px;border-left:3px solid #b9d5fb;background:#f8fbff;border-radius:0 9px 9px 0}.project-daily-detail p{margin:3px 0 0;font-size:9px;line-height:1.45;color:#536b82}.project-daily-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-top:10px}.project-daily-photo{border:1px solid #dfe7f0;border-radius:10px;background:#fff;padding:5px;cursor:pointer;overflow:hidden;text-align:left}.project-daily-photo img{display:block;width:100%;height:92px;object-fit:cover;border-radius:7px}.project-daily-photo span{display:block;padding:5px 3px 1px;font-size:7.5px;color:#697d91;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-daily-card-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding-top:9px;border-top:1px solid #edf2f6}.project-daily-card-foot>span{font-size:8px;color:#8191a2}

.project-daily-dialog{width:min(720px,94vw)!important}.project-daily-form{padding:20px}.project-daily-form-grid{gap:13px}.project-daily-form-grid label{display:grid;gap:6px;color:#5d7388;font-size:9px;font-weight:800}.project-daily-form-grid input,.project-daily-form-grid textarea{width:100%;border:1px solid #d8e3ee;border-radius:9px;background:#fff;color:#273f58;padding:9px 10px;font:inherit;outline:none}.project-daily-form-grid input{height:40px}.project-daily-form-grid textarea{resize:vertical;min-height:82px;line-height:1.4}.project-daily-form-grid input:focus,.project-daily-form-grid textarea:focus{border-color:#76a8f9;box-shadow:0 0 0 3px #eaf3ff}.daily-photo-field{border:1px solid #dfe7f0;border-radius:11px;padding:11px;background:#fbfdff}.daily-photo-label{display:flex;justify-content:space-between;align-items:center;gap:12px}.daily-photo-label strong{display:block;font-size:9px;color:#385572}.daily-photo-label span{display:block;margin-top:3px;font-size:8px;color:#8292a3}.daily-photo-preview{display:grid;gap:7px;margin-top:9px}.daily-photo-preview-item{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:9px;padding:7px;border:1px solid #e1e8ef;border-radius:9px;background:#fff}.daily-photo-preview-item img{width:52px;height:42px;object-fit:cover;border-radius:6px}.daily-photo-preview-item strong,.daily-photo-preview-item span{display:block;font-size:8px}.daily-photo-preview-item span{color:#8796a5;margin-top:2px}.daily-photo-preview-item button{border:0;background:#fff0f2;color:#c73d4f;width:28px;height:28px;border-radius:7px;cursor:pointer}.daily-existing-title{margin-top:10px;font-size:8px;font-weight:900;color:#72869a}.daily-existing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-top:7px}.daily-existing-item{position:relative;border:1px solid #dfe7f0;border-radius:9px;padding:5px;background:#fff}.daily-existing-item img{width:100%;height:80px;object-fit:cover;border-radius:6px}.daily-existing-item span{display:block;font-size:7px;color:#718397;padding:4px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.daily-photo-delete{width:100%;height:26px;border:0;border-radius:6px;background:#fff0f2;color:#c53b4f;font-size:7.5px;font-weight:850;cursor:pointer}

.history-layout{grid-template-columns:repeat(3,minmax(0,240px))}.history-summary:nth-child(3){background:linear-gradient(145deg,#eef7ff,#fff)}

@media(max-width:1024px){.project-schedule-strip{grid-template-columns:repeat(3,1fr)}.project-schedule-title{grid-column:1/-1}.project-daily-summary{grid-template-columns:repeat(3,1fr)}.project-daily-actions{width:100%;justify-content:flex-start}.history-layout{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.project-schedule-strip{grid-template-columns:1fr 1fr}.project-schedule-title{grid-column:1/-1}.project-schedule-strip>div{padding:9px 10px}.project-daily-summary{grid-template-columns:1fr 1fr}.project-daily-actions{display:grid;grid-template-columns:1fr}.project-daily-actions .date-control{display:grid;grid-template-columns:1fr auto}.project-daily-actions .date-control label{min-width:0}.project-daily-actions .date-control input{width:100%;min-width:0}.project-daily-actions>.btn{width:100%}.project-daily-meta.simple{grid-template-columns:1fr}.project-daily-card-foot{align-items:flex-start;flex-direction:column}.project-daily-form{padding:15px}.project-daily-form-grid{grid-template-columns:1fr}.project-daily-form-grid .span2{grid-column:1}.daily-photo-label{align-items:flex-start;flex-direction:column}.daily-photo-label .btn{width:100%;display:grid;place-items:center}.history-layout{grid-template-columns:1fr 1fr}.history-layout .history-summary:nth-child(3){grid-column:1/-1}}

/* v12.34.23 History advanced filter */
.history-filter{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) auto;gap:10px;align-items:end;margin:0 0 12px;padding:12px}.history-filter label{display:grid;gap:5px;font-size:11px;font-weight:700;color:#60758a}.history-filter input,.history-filter select{width:100%;min-height:38px;border:1px solid #d7e0e9;border-radius:8px;background:#fff;padding:7px 9px;color:#20364d}.history-filter-actions{display:flex;gap:7px;flex-wrap:wrap}.history-event-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.history-event-meta span{font-size:10px;background:#eef4fa;border-radius:999px;padding:3px 7px;color:#516a82}@media(max-width:1024px){.history-filter{grid-template-columns:repeat(2,minmax(150px,1fr))}.history-filter-actions{grid-column:1/-1}}@media(max-width:680px){.history-filter{grid-template-columns:1fr}.history-filter-actions{grid-column:auto}}


/* v12.34.24 Professional compact Gantt */
#tab-gantt .panel-head{margin-bottom:8px}
#tab-gantt .chart-meta{margin:0 0 8px;color:#6d8197;font-size:9px;font-weight:750}
#tab-gantt .chart-card{border-radius:12px;margin-bottom:12px;box-shadow:0 2px 10px rgba(25,57,92,.045)}
#tab-gantt .chart-card-head{padding:10px 14px}
#tab-gantt .chart-card-head span{font-size:7px;letter-spacing:.8px}
#tab-gantt .chart-card-head h4{font-size:13px;margin:3px 0 1px}
#tab-gantt .chart-card-head p{font-size:8px;margin:0}
#tab-gantt .gantt-host{max-height:58vh;border:0!important;border-radius:0!important;scrollbar-width:thin;scrollbar-color:#aebed0 transparent}
#tab-gantt .gantt-host::-webkit-scrollbar{height:7px;width:7px}
#tab-gantt .gantt-host::-webkit-scrollbar-track{background:transparent}
#tab-gantt .gantt-host::-webkit-scrollbar-thumb{background:#aebed0;border-radius:999px}
#tab-gantt .gantt-svg.gantt-pro{min-width:0!important}
@media(max-width:900px){#tab-gantt .gantt-svg.gantt-pro{min-width:980px!important}#tab-gantt .chart-card-head{padding:9px 11px}}


/* v12.34.26 Gantt visual alignment: ONLY W1-W4 timeline cells are 2x wider. */
#tab-gantt .panel-head{display:flex;align-items:flex-start;gap:10px}
#tab-gantt .panel-head>div:first-child{margin-right:auto}
#tab-gantt .gantt-fit-btn{height:34px;white-space:nowrap}
#tab-gantt .chart-card-head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.gantt-section-progress{width:220px;max-width:34%;padding:7px 10px;border-radius:9px;background:#f6f9fc}
.gantt-section-progress>span{display:block!important;margin-bottom:5px;font-size:8px!important;font-weight:850!important;letter-spacing:0!important;color:#516a82!important}
.gantt-section-progress>div{display:flex;align-items:center;gap:8px}.gantt-section-progress i{display:block;flex:1;height:9px;border-radius:999px;background:#dce6f1;overflow:hidden}.gantt-section-progress b{display:block;height:100%;border-radius:999px;background:#246bfd}.gantt-section-progress strong{font-size:8px;color:#29445f;white-space:nowrap}
.gantt-legend{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:5px 10px 12px;color:#536b82;font-size:9px}.gantt-legend span{display:flex;align-items:center;gap:6px}.gantt-legend i{display:inline-block;width:11px;height:11px;border-radius:50%;background:#dbe5f1}.gantt-legend i.done{background:#2eaa70}.gantt-legend i.doing{background:#246bfd}.gantt-legend i.notstarted{background:#94a8bd}.gantt-legend i.today{width:2px;height:17px;border-radius:0;background:#0f6fff}.gantt-legend em{margin-left:auto;font-style:normal;color:#6d8197}
#tab-gantt.gantt-fit-mode .gantt-host{overflow:hidden!important}
#tab-gantt.gantt-fit-mode .gantt-svg.gantt-pro{width:100%!important;height:auto!important;max-width:100%!important}
@media(max-width:900px){.gantt-section-progress{display:none}.gantt-legend em{width:100%;margin-left:0}.gantt-fit-btn{display:none!important}}

/* v12.34.28 Gantt PDF action */
.gantt-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
@media(max-width:760px){.gantt-head-actions{width:100%;justify-content:space-between}.gantt-head-actions .segmented{flex:1}.gantt-head-actions .segmented button{flex:1}}

/* v12.34.29 — Project Navigation: unmistakable two-line tabs */
.project-nav-tabs{
  display:grid;
  grid-template-columns:repeat(8,minmax(132px,1fr));
  gap:8px;
  padding:8px;
  margin:0 0 14px;
  border:1px solid #dce6f0;
  border-radius:16px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 8px 24px rgba(18,54,88,.06);
  overflow-x:auto;
  scrollbar-width:thin;
}
.project-nav-tabs button{
  min-width:132px;
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  padding:9px 10px!important;
  border:1px solid transparent!important;
  border-radius:12px!important;
  background:transparent!important;
  color:#27435f!important;
  text-align:left;
  position:relative;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.project-nav-tabs button:hover{
  background:#f0f6fd!important;
  border-color:#d8e6f4!important;
  transform:translateY(-1px);
}
.project-nav-tabs .project-tab-icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#edf4fb;
  color:#24507c;
  border:1px solid #e2ebf5;
}
.project-nav-tabs .project-tab-icon svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.project-nav-tabs .project-tab-icon svg path:not(.project-tab-cut){fill:none}
.project-nav-tabs .project-tab-copy{
  min-width:0;
  display:grid;
  gap:3px;
  line-height:1.1;
}
.project-nav-tabs .project-tab-copy strong{
  display:block;
  color:inherit;
  font-size:11px;
  font-weight:850;
  white-space:nowrap;
}
.project-nav-tabs .project-tab-copy small{
  display:block;
  color:#8192a6;
  font-size:9px;
  font-weight:650;
  white-space:nowrap;
}
.project-nav-tabs button.active{
  background:linear-gradient(135deg,#1769ef 0%,#2f7cff 100%)!important;
  color:#fff!important;
  border-color:#1769ef!important;
  box-shadow:0 8px 18px rgba(31,107,240,.25)!important;
}
.project-nav-tabs button.active::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-7px;
  width:26px;
  height:3px;
  transform:translateX(-50%);
  background:#246bfd;
  border-radius:99px;
}
.project-nav-tabs button.active .project-tab-icon{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.18);
  color:#fff;
}
.project-nav-tabs button.active .project-tab-copy small{color:#dceaff}

@media (max-width:1024px){
  .project-nav-tabs{grid-template-columns:repeat(8,minmax(126px,1fr))}
  .project-nav-tabs button{min-width:126px}
  .project-nav-tabs .project-tab-icon{width:34px;height:34px;flex-basis:34px}
  .project-nav-tabs .project-tab-copy strong{font-size:10px}
}
@media (max-width:900px){
  .project-nav-tabs{display:flex!important;position:relative!important;top:auto!important;z-index:auto!important;overflow-x:auto!important;scroll-snap-type:x proximity;padding:7px!important}
  .project-nav-tabs button{min-width:148px!important;scroll-snap-align:start}
}
@media (max-width:700px){
  .project-nav-tabs{display:none!important}
}


/* v12.34.37 FULL RESPONSIVE + EXPORT VISIBILITY AUDIT
   Final cascade guard: desktop keeps full project actions; compact mode starts at <=1024px only. */
@media (min-width:1025px){
  .app-shell{grid-template-columns:255px minmax(0,1fr)!important}
  .sidebar{display:flex!important;position:sticky!important;left:auto!important;width:auto!important;height:100vh!important}
  .mobile-menu{display:none!important}
  .top-project-actions .topbar-secondary-action{display:inline-flex!important;align-items:center!important;justify-content:center!important}
  .dashboard-head-actions .btn.ghost{display:inline-flex!important;align-items:center!important;justify-content:center!important}
}
@media (max-width:1024px){
  .app-shell{grid-template-columns:1fr!important}
  .sidebar{position:fixed!important;left:-265px!important;width:255px!important}
  .sidebar.open{left:0!important}
  .mobile-menu{display:grid!important}
}


/* v12.34.38 — Premium compact project navigation + Plan My Team */
@media (min-width:1025px){
  .project-nav-tabs{
    display:grid!important;
    grid-template-columns:repeat(9,minmax(0,1fr))!important;
    gap:5px!important;
    padding:6px!important;
    overflow:visible!important;
    scrollbar-width:none;
    border-radius:18px;
    background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(244,249,255,.98));
    box-shadow:0 10px 30px rgba(18,54,88,.065);
  }
  .project-nav-tabs::-webkit-scrollbar{display:none}
  .project-nav-tabs button{
    min-width:0!important;
    min-height:62px;
    gap:7px!important;
    padding:8px 7px!important;
    border-radius:12px!important;
  }
  .project-nav-tabs .project-tab-icon{
    width:34px;height:34px;flex:0 0 34px;border-radius:10px;
    background:linear-gradient(145deg,#f3f8fd,#e9f2fb);
    box-shadow:inset 0 0 0 1px rgba(70,112,154,.04);
  }
  .project-nav-tabs .project-tab-icon svg{width:19px;height:19px}
  .project-nav-tabs .project-tab-copy{gap:2px;overflow:hidden}
  .project-nav-tabs .project-tab-copy strong{font-size:9.6px;letter-spacing:-.12px;overflow:hidden;text-overflow:ellipsis}
  .project-nav-tabs .project-tab-copy small{font-size:7.6px;overflow:hidden;text-overflow:ellipsis}
  .project-nav-tabs button:hover{background:linear-gradient(145deg,#f6faff,#edf5fd)!important;box-shadow:0 5px 14px rgba(29,79,125,.08)}
  .project-nav-tabs button.active{background:linear-gradient(135deg,#1769ef 0%,#3282ff 100%)!important;transform:translateY(-1px);box-shadow:0 9px 20px rgba(31,107,240,.24)!important}
  .project-nav-tabs button.active::after{bottom:-5px;width:30px;height:3px}
}
@media (min-width:1025px) and (max-width:1240px){
  .project-nav-tabs{gap:3px!important;padding:5px!important}
  .project-nav-tabs button{gap:5px!important;padding:7px 5px!important}
  .project-nav-tabs .project-tab-icon{width:30px;height:30px;flex-basis:30px}
  .project-nav-tabs .project-tab-icon svg{width:17px;height:17px}
  .project-nav-tabs .project-tab-copy strong{font-size:8.7px}
  .project-nav-tabs .project-tab-copy small{font-size:7px}
}

.team-plan-head{align-items:flex-end!important;gap:16px}.team-plan-toolbar{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;justify-content:flex-end}.team-plan-toolbar label{display:grid;gap:4px;font-size:8px;font-weight:850;color:#71859a;letter-spacing:.5px}.team-plan-toolbar input,.team-plan-toolbar select{height:36px;border:1px solid #d8e3ee;border-radius:9px;background:#fff;color:#23415f;padding:0 10px;font:inherit;font-size:9px;min-width:126px}.team-plan-toolbar select{min-width:132px}.team-plan-toolbar .btn{height:36px}.team-plan-period{display:flex;align-items:center;gap:10px;padding:12px 14px;margin:10px 0 12px;border:1px solid #dce7f1;border-radius:12px;background:linear-gradient(90deg,#f7fbff,#fff)}.team-plan-period span{font-size:8px;letter-spacing:1px;font-weight:900;color:#6c88a4}.team-plan-period strong{font-size:11px;color:#173a5e}.team-plan-period small{margin-left:auto;font-size:8px;color:#7d91a5}.team-plan-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:12px}.team-plan-summary article{padding:13px 14px;border:1px solid #dfe8f1;border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(26,60,92,.035)}.team-plan-summary span{display:block;font-size:7.5px;letter-spacing:.8px;font-weight:850;color:#7b8fa4}.team-plan-summary strong{display:block;font-size:20px;color:#12385c;margin:4px 0 2px}.team-plan-summary small{font-size:8px;color:#8b9bad}.team-plan-table-wrap{overflow:auto;border:1px solid #dfe8f1;border-radius:12px}.team-plan-table{width:100%;border-collapse:collapse;font-size:9px}.team-plan-table th{padding:9px 10px;background:#f4f8fc;text-align:left;color:#6d8297;font-size:7.5px;letter-spacing:.55px;white-space:nowrap}.team-plan-table td{padding:10px;border-top:1px solid #edf2f6;color:#38536d;vertical-align:middle}.team-plan-table td:nth-child(3){min-width:220px}.team-plan-table td strong{color:#193b5c}.team-pic-chip{display:inline-flex;padding:4px 7px;border-radius:999px;background:#edf5ff;color:#2366b4;font-size:8px;font-weight:850;white-space:nowrap}.team-plan-progress{display:flex;align-items:center;gap:7px;min-width:100px}.team-plan-progress i{width:58px;height:6px;background:#e6edf5;border-radius:999px;overflow:hidden}.team-plan-progress i b{display:block;height:100%;background:linear-gradient(90deg,#2b74f0,#20a5cf);border-radius:999px}.team-plan-progress span{font-size:8px;font-weight:850;color:#34536f}.team-status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:7px;font-weight:900;white-space:nowrap;background:#eef2f6;color:#667d92}.team-status.in_progress{background:#e9f3ff;color:#1769d4}.team-status.done{background:#e8f8f0;color:#16895d}.team-status.hold{background:#fff4dc;color:#ad6b00}.team-status.not_started{background:#f0f3f7;color:#6f8295}.team-plan-cards{display:none}
@media(max-width:1024px){.team-plan-summary{grid-template-columns:repeat(3,1fr)}.team-plan-toolbar{justify-content:flex-start}.team-plan-period{flex-wrap:wrap}.team-plan-period small{width:100%;margin-left:0}}
@media(max-width:700px){.team-plan-summary{grid-template-columns:repeat(2,1fr)}.team-plan-table-wrap{display:none}.team-plan-cards{display:grid!important;gap:9px}.team-plan-cards article{border:1px solid #dfe8f1;border-radius:12px;background:#fff;padding:12px}.team-plan-cards article>div,.team-plan-cards footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.team-plan-cards h4{margin:9px 0 5px;color:#173a5d;font-size:11px}.team-plan-cards p{margin:0 0 9px;color:#7b8da0;font-size:8px}.team-plan-cards footer{padding-top:8px;border-top:1px solid #edf2f6}.team-plan-toolbar{display:grid;grid-template-columns:1fr 1fr;width:100%}.team-plan-toolbar label,.team-plan-toolbar input,.team-plan-toolbar select,.team-plan-toolbar .btn{width:100%;min-width:0}.team-plan-summary article:last-child{grid-column:1/-1}}
@media (min-width:701px) and (max-width:1024px){
  .project-nav-tabs{display:flex!important;overflow-x:auto!important;scroll-snap-type:x proximity;grid-template-columns:none!important}
  .project-nav-tabs button{min-width:138px!important;scroll-snap-align:start}
}
/* v12.34.39 — Plan My Team: simple weekly work table */
.team-plan-simple th:nth-child(1){width:52px;text-align:center}.team-plan-simple td:nth-child(1){text-align:center}.team-plan-simple th:nth-child(2){min-width:260px}.team-plan-simple th:nth-child(3){min-width:130px}.team-plan-simple th:nth-child(4){min-width:185px}.team-plan-simple th:nth-child(5){min-width:120px}.team-plan-simple th:nth-child(6){min-width:175px}.team-plan-simple th:nth-child(7){min-width:125px}.team-plan-simple th:nth-child(8){min-width:180px}.team-plan-simple th:nth-child(9){width:92px;text-align:center}.team-plan-simple td:nth-child(9){text-align:center}.team-schedule{display:flex;align-items:center;gap:7px;white-space:nowrap}.team-schedule b{color:#9aa9bc}.team-plan-toolbar{align-items:end}.team-plan-toolbar label{min-width:155px}.team-plan-table-wrap{border:1px solid #e2e9f3;border-radius:14px;overflow:auto;background:#fff}.team-plan-simple tbody tr:hover{background:#f8fbff}.team-plan-simple .btn.small{padding:7px 12px;border-radius:8px;font-size:12px}


/* v12.34.40 — Plan My Team modal visual refinement */
.team-plan-dialog{
  width:min(760px,calc(100vw - 40px))!important;
  max-width:760px!important;
  border:1px solid #dfe7f0!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 28px 80px rgba(8,28,50,.28)!important;
}
.team-plan-dialog::backdrop{background:rgba(6,24,42,.58)!important;backdrop-filter:blur(2px)}
.team-plan-modal-form{padding:0!important;margin:0!important;background:#fff}
.team-plan-modal-head{
  margin:0!important;padding:22px 24px 18px!important;align-items:flex-start!important;
  border-bottom:1px solid #e7edf4;background:linear-gradient(180deg,#fff 0%,#f9fbfe 100%);
}
.team-plan-modal-title{min-width:0;padding-right:18px}
.team-plan-modal-title .section-kicker{display:block;margin:0 0 5px;color:#4e78a2;font-size:8px;letter-spacing:1.25px}
.team-plan-modal-title h3{margin:0!important;font-size:20px!important;line-height:1.2;color:#163957;letter-spacing:-.25px}
.team-plan-modal-title p{margin:6px 0 0!important;font-size:10px!important;line-height:1.45;color:#7b8fa3!important;white-space:normal;overflow-wrap:anywhere}
.team-plan-modal-close{
  flex:0 0 34px;width:34px;height:34px;border:1px solid #dfe7f0;border-radius:9px;
  background:#fff;color:#62778c;font-size:20px;line-height:1;cursor:pointer;display:grid;place-items:center;
  transition:.15s ease;
}
.team-plan-modal-close:hover{background:#f2f6fa;color:#173a5c;border-color:#cad8e6}
.team-plan-form-grid{padding:20px 24px 8px!important;gap:14px 16px!important}
.team-plan-form-grid label{display:grid!important;gap:6px!important;color:#5d7288!important;font-size:10px!important;font-weight:800!important;line-height:1.2}
.team-plan-form-grid input,.team-plan-form-grid select,.team-plan-form-grid textarea{
  width:100%!important;border:1px solid #d7e2ed!important;border-radius:10px!important;background:#fff!important;
  color:#213c56!important;font:inherit!important;font-size:11px!important;outline:none!important;transition:.15s ease!important;
}
.team-plan-form-grid input,.team-plan-form-grid select{height:42px!important;padding:0 11px!important}
.team-plan-form-grid select{appearance:auto!important}
.team-plan-form-grid textarea{min-height:86px!important;resize:vertical!important;padding:10px 11px!important;line-height:1.45!important}
.team-plan-form-grid input::placeholder,.team-plan-form-grid textarea::placeholder{color:#a0afbd!important}
.team-plan-form-grid input:focus,.team-plan-form-grid select:focus,.team-plan-form-grid textarea:focus{
  border-color:#78a8f7!important;box-shadow:0 0 0 3px #eaf3ff!important;background:#fff!important;
}
.team-plan-modal-actions{
  margin:10px 0 0!important;padding:14px 24px 18px!important;border-top:1px solid #edf2f6;background:#fbfcfe;
  gap:9px!important;position:static!important;
}
.team-plan-modal-actions .btn{height:42px!important;min-width:96px;padding:0 16px!important;border-radius:10px!important;font-size:11px!important}
.team-plan-modal-actions .btn.primary{min-width:126px}
.team-plan-update-dialog{max-width:720px!important;width:min(720px,calc(100vw - 40px))!important}
@media(max-width:700px){
  .team-plan-dialog,.team-plan-update-dialog{width:calc(100vw - 18px)!important;max-width:none!important;border-radius:16px!important}
  .team-plan-modal-head{padding:18px 16px 14px!important}
  .team-plan-modal-title h3{font-size:18px!important}
  .team-plan-form-grid{grid-template-columns:1fr!important;padding:16px 16px 6px!important;gap:12px!important}
  .team-plan-form-grid .span2{grid-column:1!important}
  .team-plan-modal-actions{padding:12px 16px 15px!important;position:sticky!important;bottom:0!important}
  .team-plan-modal-actions .btn{flex:1}
}
\n\n/* v12.34.42 — Compact icon-only desktop project navigation
   Normal: icon only. Active: icon + one-line menu name. No subtitle. */
@media (min-width:1025px){
  .project-nav-tabs{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    padding:7px 10px!important;
    overflow:visible!important;
    min-height:58px!important;
    border-radius:16px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.99),rgba(247,250,254,.99))!important;
    border:1px solid #dfe8f1!important;
    box-shadow:0 7px 20px rgba(18,54,88,.055)!important;
  }
  .project-nav-tabs button{
    position:relative!important;
    width:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    height:40px!important;
    min-height:40px!important;
    flex:0 0 40px!important;
    padding:0!important;
    gap:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:visible!important;
    border:1px solid #dce7f1!important;
    border-radius:12px!important;
    background:linear-gradient(145deg,#ffffff,#f3f7fb)!important;
    box-shadow:0 3px 9px rgba(28,65,101,.05)!important;
    color:#245f91!important;
    transition:width .20s ease,max-width .20s ease,flex-basis .20s ease,transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease!important;
  }
  .project-nav-tabs button:hover{
    transform:translateY(-1px)!important;
    background:linear-gradient(145deg,#f9fcff,#edf5fd)!important;
    border-color:#bfd5e8!important;
    box-shadow:0 6px 14px rgba(29,79,125,.10)!important;
  }
  .project-nav-tabs .project-tab-icon{
    width:30px!important;
    height:30px!important;
    flex:0 0 30px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:9px!important;
    background:transparent!important;
    box-shadow:none!important;
    color:inherit!important;
  }
  .project-nav-tabs .project-tab-icon svg{width:19px!important;height:19px!important}
  .project-nav-tabs .project-tab-copy{display:none!important}

  .project-nav-tabs button.active{
    width:auto!important;
    min-width:92px!important;
    max-width:145px!important;
    height:40px!important;
    min-height:40px!important;
    flex:0 1 auto!important;
    padding:0 11px 0 5px!important;
    gap:6px!important;
    justify-content:flex-start!important;
    color:#fff!important;
    border-color:transparent!important;
    background:linear-gradient(135deg,#1769ef 0%,#347fff 100%)!important;
    box-shadow:0 7px 17px rgba(31,107,240,.22)!important;
    transform:none!important;
  }
  .project-nav-tabs button.active:hover{transform:translateY(-1px)!important}
  .project-nav-tabs button.active .project-tab-icon{
    width:30px!important;height:30px!important;flex-basis:30px!important;
    color:#fff!important;
    background:rgba(255,255,255,.12)!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.17)!important;
  }
  .project-nav-tabs button.active .project-tab-copy{
    display:block!important;
    min-width:0!important;
    max-width:102px!important;
    overflow:hidden!important;
  }
  .project-nav-tabs button.active .project-tab-copy strong{
    display:block!important;
    max-width:102px!important;
    font-size:10.5px!important;
    font-weight:800!important;
    line-height:1!important;
    letter-spacing:-.08px!important;
    color:#fff!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .project-nav-tabs button.active .project-tab-copy small{display:none!important}
  .project-nav-tabs button.active::after{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    bottom:-6px!important;
    width:22px!important;
    height:2px!important;
    transform:translateX(-50%)!important;
    border-radius:99px!important;
    background:#2d7dff!important;
    box-shadow:0 2px 6px rgba(45,125,255,.28)!important;
  }

  .project-nav-tabs button:not(.active)::before{
    content:attr(data-label)!important;
    position:absolute!important;
    left:50%!important;
    bottom:calc(100% + 8px)!important;
    transform:translate(-50%,4px)!important;
    padding:6px 9px!important;
    border-radius:8px!important;
    background:#153a5d!important;
    color:#fff!important;
    font-size:9px!important;
    font-weight:800!important;
    line-height:1!important;
    white-space:nowrap!important;
    opacity:0!important;
    pointer-events:none!important;
    z-index:60!important;
    box-shadow:0 7px 18px rgba(15,45,72,.2)!important;
    transition:opacity .14s ease,transform .14s ease!important;
  }
  .project-nav-tabs button:not(.active):hover::before,
  .project-nav-tabs button:not(.active):focus-visible::before{
    opacity:1!important;
    transform:translate(-50%,0)!important;
  }
}
@media (min-width:1025px) and (max-width:1180px){
  .project-nav-tabs{gap:6px!important;padding-left:7px!important;padding-right:7px!important}
  .project-nav-tabs button{width:38px!important;min-width:38px!important;max-width:38px!important;flex-basis:38px!important}
  .project-nav-tabs button.active{width:auto!important;min-width:84px!important;max-width:132px!important;flex-basis:auto!important;padding-right:9px!important}
  .project-nav-tabs button.active .project-tab-copy{max-width:90px!important}
  .project-nav-tabs button.active .project-tab-copy strong{font-size:10px!important;max-width:90px!important}
}

/* v12.34.48 Photo Documentation */
.photo-doc-head{gap:16px}.photo-doc-actions{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.photo-doc-actions input{height:38px;border:1px solid #d7e1ec;border-radius:9px;padding:0 10px;background:#fff}.photo-doc-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 18px}.photo-doc-summary>div{background:#fff;border:1px solid #dce6ef;border-radius:12px;padding:12px 14px}.photo-doc-summary span{display:block;font-size:10px;color:#71849a;font-weight:800;text-transform:uppercase}.photo-doc-summary strong{display:block;font-size:20px;margin-top:4px;color:#183b61}.photo-day{margin:0 0 22px}.photo-day-head{display:flex;justify-content:space-between;border-bottom:1px solid #dce6ef;padding:0 2px 8px;margin-bottom:10px}.photo-day-head div{display:flex;gap:12px;align-items:center}.photo-day-head span{font-weight:900;color:#1d4f83}.photo-day-head strong{font-size:11px;color:#71849a}.photo-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.photo-card{background:#fff;border:1px solid #dce6ef;border-radius:13px;overflow:hidden;box-shadow:0 3px 12px #173b6410}.photo-image{display:block;width:100%;aspect-ratio:4/3;border:0;padding:0;background:#e9f0f7;cursor:pointer}.photo-image img{width:100%;height:100%;object-fit:cover;display:block}.photo-card-body{padding:10px 11px 7px;min-height:84px}.photo-card-body strong,.photo-card-body span,.photo-card-body small{display:block}.photo-card-body strong{font-size:12px;line-height:1.35;color:#173b61}.photo-card-body span{font-size:9px;color:#71849a;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-card-body small{font-size:8px;color:#91a0af;margin-top:4px}.photo-card-actions{display:flex;gap:6px;padding:0 10px 10px}.photo-card-actions a{text-decoration:none}.photo-doc-tab .project-daily-empty{margin-top:14px}@media(max-width:1100px){.photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.photo-doc-summary{grid-template-columns:repeat(3,1fr)}.photo-doc-actions{width:100%}.photo-doc-actions input{max-width:100%;flex:1}.photo-card-body{min-height:72px}.photo-card-actions{flex-wrap:wrap}}
