:root{--bg:#f6f9f8;--sidebar-bg:#f8f9fa;--card:#fff;--card-border:#e7e9eb;--ink:#212529;--sub:#51585f;--muted:#6b757d;--placeholder:#9fa6ad;--teal:#39817a;--teal-dark:#336e69;--teal-soft:#f2f9f9;--teal-bar:#5e9e96;--teal-light:#a8c9c7;--red:#dc2626;--orange:#d97805;--green:#059669;--purple:#8c669e;--pink:#c7338c;--gray-seg:#d9dee3;--grad-primary:linear-gradient(120deg, #429890, #71c0b8);--grad-ai:linear-gradient(120deg, #336e69, #735cc7);--shadow-card:0 2px 12px #0000000f}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:Rubik,system-ui,sans-serif}#root{min-height:100vh}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input{font-family:inherit}.ai-fab{z-index:50;background:var(--grad-ai);color:#fff;border-radius:999px;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;display:flex;position:fixed;bottom:24px;left:24px;box-shadow:0 4px 12px #0000002e}.login-page{background:#fff;min-height:100vh;display:flex}.login-form-side{flex-direction:column;flex:none;align-items:flex-start;gap:18px;width:620px;padding:120px;display:flex}.login-logo-slot{border:1px solid var(--card-border);width:198px;height:40px;color:var(--teal);background:#fff;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:13px;font-weight:700;display:flex}.login-title{color:var(--ink);margin:0;font-size:32px;font-weight:700}.login-sub{color:var(--sub);margin:0;font-size:15px;font-weight:400}.login-input{border:1px solid var(--card-border);width:380px;height:52px;color:var(--ink);text-align:right;border-radius:12px;outline:none;padding:0 16px;font-size:16px}.login-input::placeholder{color:var(--placeholder)}.login-input:focus{border-color:var(--teal)}.login-btn{background:var(--grad-primary);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:380px;height:52px;font-size:14px;font-weight:600;transition:opacity .25s,filter .25s;display:flex}.login-btn:disabled{opacity:.45;filter:saturate(.5);cursor:default}.login-hint{color:var(--placeholder);margin:0;font-size:12px}.login-otp-row{direction:ltr;gap:10px;display:flex}.login-otp-cell{border:1px solid var(--card-border);text-align:center;width:52px;height:56px;color:var(--ink);border-radius:12px;outline:none;font-size:22px;font-weight:600}.login-otp-cell:focus{border-color:var(--teal)}.login-link{color:var(--teal);padding:0;font-size:13px;font-weight:500}.login-bg-side{background:radial-gradient(1200px 600px at 70% 20%,#71c0b859,#0000 60%),radial-gradient(900px 500px at 20% 85%,#336e6940,#0000 55%),linear-gradient(160deg,#e9f5f4,#d5ecea 55%,#e9f5f4);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;display:flex}.login-bg-title{color:var(--teal);font-size:18px;font-weight:700}.login-bg-sub{color:var(--teal);font-size:12px;font-weight:500}@media (width<=1100px){.login-bg-side{display:none}.login-form-side{align-items:center;width:100%;padding:64px 32px}}.dash{min-height:100vh;display:flex}.sidebar{background:var(--sidebar-bg);border-left:1px solid var(--card-border);flex-direction:column;flex:none;gap:4px;width:240px;padding:14px 24px;display:flex}.sidebar-logo{align-items:center;gap:8px;margin-bottom:8px;padding:8px 8px 8px 16px;display:flex}.sidebar-logo .mark{color:var(--ink);font-size:22px;font-weight:700}.sidebar-logo .cap{color:var(--placeholder);font-size:12px;font-weight:500}.nav-item{color:var(--sub);border-radius:10px;align-items:center;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.nav-item.active{color:var(--teal-dark);background:#fff;font-weight:600;box-shadow:0 2px 10px #00000014}.nav-group{color:var(--sub);padding:14px 12px 4px;font-size:11px;font-weight:700}.main{flex-direction:column;flex:1;gap:20px;min-width:0;padding:32px 28px;display:flex}.dash-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.dash-title h1{margin:0;font-size:26px;font-weight:700}.dash-title p{color:var(--sub);margin:4px 0 0;font-size:14px}.dash-actions{gap:10px;display:flex}.btn-secondary{border:1px solid var(--card-border);height:39px;color:var(--ink);background:#fff;border-radius:10px;align-items:center;gap:6px;padding:0 16px;font-size:14px;font-weight:600;display:flex}.card{background:var(--card);border:1px solid var(--card-border);box-shadow:var(--shadow-card);border-radius:16px;padding:20px}.card-head h3{margin:0;font-size:16px;font-weight:700}.card-head p{color:var(--sub);margin:2px 0 0;font-size:12px;font-weight:400}.dash-grid-2col{grid-template-columns:1fr 340px;gap:1.25rem;display:grid}@media (width<=900px){.dash-grid-2col{grid-template-columns:1fr}}.kpis{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.ceo-kpis,.project-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:24px;display:grid}.ceo-kpis .card.kpi,.project-kpis .card.kpi{padding:14px 10px}@media (width<=1150px){.ceo-kpis,.project-kpis{grid-template-columns:repeat(3,1fr)}}@media (width<=768px){.ceo-kpis,.project-kpis{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.ceo-kpis,.project-kpis{grid-template-columns:1fr}}.kpi{flex-direction:column;gap:6px;display:flex}.kpi .kpi-value{font-size:26px;font-weight:700}.kpi .kpi-sub{font-size:12px;font-weight:400}.kpi .drag{color:var(--sub);font-size:10px;font-weight:500}.charts{grid-template-columns:1fr 1fr 1fr;gap:20px;display:grid}.row-2{grid-template-columns:1fr 1fr;gap:20px;display:grid}.row-3{grid-template-columns:1fr 1fr 220px;gap:20px;display:grid}.tbl{border-collapse:collapse;width:100%;margin-top:16px}.tbl th{background:var(--bg);color:var(--sub);text-align:right;padding:9px 8px;font-size:13px;font-weight:600}.tbl th:first-child{border-radius:0 8px 8px 0}.tbl th:last-child{border-radius:8px 0 0 8px}.tbl td{color:var(--ink);text-align:right;padding:9px 8px;font-size:13px;font-weight:400}.tbl td.st-red{color:var(--red)}.tbl td.st-orange{color:var(--orange)}.tbl td.st-sub{color:var(--sub)}.bars-chart{align-items:flex-end;gap:14px;height:153px;margin-top:16px;display:flex}.bars-col{flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex}.bars-col .v{color:var(--ink);font-size:11px;font-weight:600}.bars-col .b{background:var(--teal-bar);border-radius:3px 3px 0 0;width:26px}.bars-col .m{color:var(--muted);font-size:10px;font-weight:400}.legend{gap:14px;margin-top:8px;display:flex}.legend li{color:var(--muted);align-items:center;gap:6px;font-size:11px;list-style:none;display:flex}.legend .dot{border-radius:50%;width:8px;height:8px}.donut-wrap{align-items:center;gap:24px;margin-top:16px;display:flex}.donut-legend{flex-direction:column;gap:8px;display:flex}.donut-legend li{color:var(--muted);align-items:center;gap:8px;font-size:12px;list-style:none;display:flex}.donut-legend .dot{border-radius:50%;width:10px;height:10px}.doc-row{border:1px solid var(--card-border);border-radius:10px;justify-content:space-between;align-items:center;margin-top:8px;padding:9px 12px;display:flex}.doc-row .name{color:var(--ink);font-size:13px;font-weight:600}.doc-row .st{font-size:12px;font-weight:500}.hbars{flex-direction:column;gap:8px;margin-top:16px;display:flex}.hbar{align-items:center;gap:10px;display:flex}.hbar .lbl{color:var(--sub);text-align:right;flex:none;width:72px;font-size:12px;font-weight:500}.hbar .track{flex:1}.hbar .fill{background:var(--teal);border-radius:5px;height:10px}.hbar .num{color:var(--ink);width:20px;font-size:12px;font-weight:600}.add-widget{background:0 0;border:1px dashed #5c9791;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:20px;display:flex}.add-widget .t{color:var(--teal);font-size:14px;font-weight:600}.add-widget .s{color:var(--sub);text-align:center;font-size:11px;font-weight:400}.tbl{direction:ltr}.tbl th,.tbl td{text-align:right}.bars-chart,.donut-wrap{direction:ltr}.donut-legend li{direction:rtl}.tbl-scroll{overflow-x:auto}.tbl-scroll .tbl{min-width:460px}@media (width<=1350px){.kpis:not(.ceo-kpis):not(.project-kpis),.charts{grid-template-columns:repeat(2,1fr)}.row-3{grid-template-columns:1fr 1fr}.row-3 .add-widget{grid-column:1/-1;min-height:120px}}@media (width<=1100px){.row-2{grid-template-columns:1fr}}@media (width<=1024px){.dash{flex-direction:column}.sidebar{border-left:none;border-bottom:1px solid var(--card-border);z-index:40;flex-direction:row;align-items:center;gap:6px;width:100%;padding:10px 14px;position:sticky;top:0;overflow-x:auto}.sidebar-logo{flex:none;margin-bottom:0;padding:4px 8px}.nav-item{white-space:nowrap;flex:none;padding:8px 12px}.nav-group{white-space:nowrap;flex:none;padding:8px 8px 4px}.main{padding:20px 16px}}@media (width<=900px){.charts,.row-3{grid-template-columns:1fr}}@media (width<=700px){.dash-head{flex-direction:column}.dash-actions{flex-wrap:wrap}.main{gap:14px;padding:16px 12px}.card{padding:16px}}@media (width<=600px){.kpis{grid-template-columns:1fr}.donut-wrap{flex-direction:column;align-items:flex-start}.bars-chart{overflow-x:auto}.hbar .lbl{width:60px;font-size:11px}.doc-row{flex-direction:column;align-items:flex-start;gap:2px}.login-form-side{padding:48px 20px}.login-input,.login-btn{width:100%;max-width:380px}}.card,.kpi{min-width:0}.stages{flex-direction:column;gap:8px;display:flex}.stage-row{border:1px solid var(--card-border);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.stage-name{color:#212529;font-size:14px;font-weight:600}.stage-chip{white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700}.stage-passed{color:#336e69;background:#e6f4f3}.stage-done{color:#059669;background:#e8f6ee}.stage-inprog{color:#d97805;background:#fdf3e3}.stage-todo{color:#6b757d;background:#f1f3f5}.composer-title,.composer-body{border:1px solid var(--card-border);color:#212529;box-sizing:border-box;background:#fff;border-radius:10px;width:100%;margin-top:10px;padding:12px 14px;font-family:inherit;font-size:14px}.composer-body{resize:vertical;min-height:110px;line-height:1.6}.composer-title:focus,.composer-body:focus,.link-row input:focus{border-color:#336e69;outline:2px solid #336e6933}.composer-meta{justify-content:flex-start;margin-top:4px;display:flex}.char-count{color:#6b757d;direction:ltr;font-size:12px}.attach-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.attach-btn{border:1px solid var(--card-border);color:#336e69;cursor:pointer;white-space:nowrap;background:#f8faf9;border-radius:999px;padding:7px 14px;font-family:inherit;font-size:13px}.attach-btn:hover{background:#e6f4f3}.link-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.link-row input{border:1px solid var(--card-border);box-sizing:border-box;border-radius:10px;flex:1;min-width:200px;padding:10px 14px;font-family:inherit;font-size:13px}.btn-primary-sm{color:#fff;cursor:pointer;background:#336e69;border:none;border-radius:10px;padding:10px 18px;font-family:inherit;font-size:13px;font-weight:700}.chips{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.chip{color:#2c5f5b;background:#eef4f3;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:6px 12px;font-size:12px;display:inline-flex}.chip-x{color:#6b757d;cursor:pointer;background:0 0;border:none;padding:0;font-size:15px;line-height:1}.composer-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:14px;display:flex}.btn-primary{color:#fff;cursor:pointer;background:#336e69;border:none;border-radius:10px;padding:12px 28px;font-family:inherit;font-size:14px;font-weight:700}.btn-primary:disabled{opacity:.45;cursor:default}.composer-hint{color:#6b757d;font-size:12px}.feed-item{border-top:1px solid var(--card-border);padding:16px 0 6px}.feed-item:first-of-type{border-top:none}.feed-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.feed-title{color:#212529;font-size:15px;font-weight:700}.feed-date{color:#6b757d;white-space:nowrap;font-size:12px}.feed-body{color:#3d454b;margin:8px 0 0;font-size:14px;line-height:1.7}@media (width<=600px){.stage-row{padding:9px 10px}.stage-name{font-size:13px}.attach-btn{padding:6px 11px;font-size:12px}.composer-actions{flex-direction:column;align-items:stretch}.composer-actions .btn-primary{width:100%}.composer-hint{text-align:center}}.task-form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.task-form input[type=text]{border:1px solid var(--card-border);box-sizing:border-box;border-radius:10px;flex:1;min-width:200px;padding:10px 14px;font-family:inherit;font-size:13px}.task-form input[type=date]{border:1px solid var(--card-border);border-radius:10px;padding:9px 12px;font-family:inherit;font-size:13px}.task-form-hint{color:#6b757d;width:100%;font-size:12px}.task-row{border:1px solid var(--card-border);background:#fbfdfc;border-radius:10px;margin-top:10px;padding:10px 14px 12px;position:relative}.task-overdue{background:#fdf7f7;border-color:#f2c6c6}.task-closed-marker{color:#fff;background:#dc2626;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700;position:absolute;top:-10px;right:12px}.task-top{align-items:center;gap:10px;display:flex}.task-name{color:#212529;flex:1;font-size:13px;font-weight:600}.task-due{color:#6b757d;white-space:nowrap;font-size:12px}.task-track{background:#e6e8eb;border-radius:999px;height:6px;margin-top:8px;overflow:hidden}.task-fill{background:#336e69;border-radius:999px;height:100%}.task-fill.fill-over{background:#dc2626}.task-meta{color:#6b757d;margin-top:6px;font-size:12px}.task-overdue .task-meta{color:#dc2626;font-weight:600}.kpi-link{cursor:pointer;transition:box-shadow .15s,transform .15s}.kpi-link:hover{transform:translateY(-2px);box-shadow:0 4px 18px #336e692e}.kpi-link .card-head{justify-content:space-between;align-items:center;display:flex}.kpi-go{color:#336e69;font-size:18px;font-weight:700}.tbl tr.row-click{cursor:pointer}.link-like{color:var(--main,#336e69);cursor:pointer;text-decoration:underline}.journey-now{margin-top:14px;font-size:17px}.journey-now strong{color:#336e69}.journey-bar{background:#e8efed;border-radius:999px;height:8px;margin-top:8px;overflow:hidden}.journey-bar-fill{background:#336e69;border-radius:999px;height:100%;transition:width .3s}.journey-bar-sub{color:var(--sub);margin-top:4px;font-size:12px}.journey-how{color:var(--sub);margin-top:10px;font-size:13px}.steps{margin-top:6px}.step{cursor:pointer;border-radius:10px;align-items:center;gap:12px;padding:10px 8px;display:flex;position:relative}.step:hover{background:#f4f8f7}.step+.step:before{content:"";background:#dfe7e5;width:2px;height:12px;position:absolute;top:-6px;right:22px}.step-dot{width:30px;height:30px;color:var(--sub);background:#fff;border:2px solid #c9d6d3;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.step.done .step-dot{color:#fff;background:#2e8b57;border-color:#2e8b57}.step.cur .step-dot{color:#fff;background:#336e69;border-color:#336e69}.step.cur{background:#eef6f4}.step-body{flex:1}.step-name{font-size:14px;font-weight:700}.step-state{color:var(--sub);margin-top:1px;font-size:12px}.step.cur .step-state{color:#336e69;font-weight:700}.step-go{color:#b9c8c5;font-size:18px}.journey-sub{margin-top:20px;font-size:15px;font-weight:700}.handler-cards{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;display:grid}.handler-card{border:1px solid var(--card-border);cursor:pointer;background:var(--card);border-radius:10px;padding:10px 14px;transition:box-shadow .15s}.handler-card:hover{box-shadow:0 2px 10px #336e6926}.handler-card.active{border-color:#336e69;box-shadow:0 0 0 1px #336e69}.hc-name{margin-bottom:4px;font-size:14px;font-weight:700}.hc-row{color:var(--sub);font-size:13px}@media (width<=700px){.handler-cards{grid-template-columns:1fr}}.tbl tr.row-click:hover td{background:#f2f9f9}.card-click{cursor:pointer;transition:box-shadow .15s,transform .15s}.card-click:hover{transform:translateY(-2px);box-shadow:0 4px 18px #336e692e}.card-head-link{justify-content:space-between;align-items:center;display:flex}.card-sub{color:var(--sub);margin:4px 0 0;font-size:11px}.doc-row.row-click,.hbar.row-click,.bars-col.row-click,.donut-legend li.row-click{cursor:pointer}.doc-row.row-click:hover,.hbar.row-click:hover{background:#f2f9f9;border-radius:8px}.bars-col.row-click:hover .b{opacity:.8}.doc-meta{color:var(--sub);margin-top:2px;font-size:11px;font-weight:400;display:block}.task-done{background:#f8faf9;border-color:#dce8e4}.task-owner{color:#6b757d;margin-top:2px;font-size:12px}.task-actions{margin-top:10px}.task-meta-done{font-weight:600;color:#059669!important}.task-meeting{color:#336e69;font-size:12px;font-weight:600}.chip-btn{cursor:pointer;background:#fff;font-family:inherit}.chip-active{color:#336e69;border-color:#336e69;font-weight:700}.meet-slots{flex-wrap:wrap;gap:8px;display:flex}.tasks-list{flex-direction:column;gap:12px;display:flex}.users-table-wrap{overflow-x:auto}.users-table{border-collapse:collapse;width:100%;font-size:13px}.users-table th{text-align:right;color:#6b757d;border-bottom:1px solid var(--card-border);white-space:nowrap;padding:8px 10px;font-weight:600}.users-table td{vertical-align:middle;border-bottom:1px solid #f1f3f5;padding:10px}.users-table tr:last-child td{border-bottom:none}.user-inactive td{opacity:.55}.perm-user-pick{flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px 0;font-size:13px;display:flex}.perm-user-pick select{font:inherit;border:1px solid var(--line,#e2e8f0);background:#fff;border-radius:8px;max-width:100%;padding:6px 10px}.perm-matrix th,.perm-matrix td{text-align:center}.perm-matrix th:first-child,.perm-matrix td:first-child{text-align:right}.stage-chip.perm-edit{color:#166534;background:#dcfce7}.stage-chip.perm-view{color:#075985;background:#e0f2fe}.stage-chip.perm-none{color:#94a3b8;background:#f1f5f9}.perm-col-hi{background:#fef9c3}@media (width<=480px){.perm-matrix th,.perm-matrix td{padding:6px 4px;font-size:11px}.perm-matrix .stage-chip{padding:2px 6px;font-size:10px}}.topic-row{align-items:center;gap:10px;padding:8px 16px;display:flex}.topic-name{flex-shrink:0;width:110px;font-size:13px}.topic-track{background:#f1f5f9;border-radius:4px;flex:1;height:8px;overflow:hidden}.topic-fill{background:var(--teal-bar);border-radius:4px;height:100%;display:block}.topic-count{text-align:left;width:28px;font-size:13px;font-weight:600}.stage-chip.stage-progress{color:#9a3412;background:#ffedd5}.stage-chip.stage-breach{color:#b91c1c;background:#fee2e2}.subnav{gap:6px;margin-bottom:20px;padding-bottom:2px;display:flex;overflow-x:auto}.subnav-item{border:1px solid var(--card-border);color:var(--sub);cursor:pointer;background:#fff;border-radius:20px;flex:none;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:500}.subnav-item.active{background:var(--teal-dark);border-color:var(--teal-dark);color:#fff;font-weight:600}.integ-note{border:1px dashed var(--teal);color:var(--teal-dark);background:#eef6f4;border-radius:10px;margin-bottom:16px;padding:10px 14px;font-size:12px;font-weight:500}.demo-strip{color:#92600a;background:#fdf6ec;border:1px solid #ecd9b8;border-radius:10px;margin-bottom:14px;padding:10px 14px;font-size:12px;font-weight:500}.form-card{background:var(--sidebar-bg);border:1px solid var(--card-border);border-radius:12px;margin-bottom:16px;padding:16px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:12px;display:grid}.field{flex-direction:column;gap:5px;display:flex}.field label{color:var(--ink);font-size:12px;font-weight:600}.field .req{color:var(--red)}.field-hint{color:var(--sub);font-size:11px}.field input,.field select,.field textarea{border:1px solid var(--card-border);color:var(--ink);background:#fff;border-radius:8px;padding:9px 12px;font-family:inherit;font-size:13px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);outline:none}.form-err{color:var(--red);margin-bottom:10px;font-size:12px;font-weight:600}.tbl-wrap{overflow-x:auto}.tag-manual{color:var(--teal-dark);background:#eef6f4;border-radius:8px;margin-inline-start:8px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-block}.row-done td{opacity:.55}.thread-item{border:1px solid var(--card-border);border-radius:12px;margin-top:12px;overflow:hidden}.thread-head{cursor:pointer;text-align:right;background:#fff;border:none;align-items:center;gap:12px;width:100%;padding:14px 16px;font-family:inherit;display:flex}.thread-item.open .thread-head{border-bottom:1px solid var(--card-border);background:var(--sidebar-bg)}.thread-tenant{color:var(--ink);flex:none;font-size:13px;font-weight:700}.thread-subject{color:var(--sub);flex:1;font-size:13px}.unread-badge{background:var(--red);color:#fff;border-radius:50%;justify-content:center;align-items:center;min-width:20px;height:20px;font-size:11px;font-weight:700;display:flex}.thread-body{flex-direction:column;gap:10px;padding:14px 16px;display:flex}.msg-bubble{border-radius:12px;flex-direction:column;gap:3px;max-width:75%;padding:10px 14px;font-size:13px;display:flex}.msg-bubble.in{background:var(--sidebar-bg);align-self:flex-start}.msg-bubble.out{background:#e3f0ec;align-self:flex-end}.msg-from{color:var(--teal-dark);font-size:11px;font-weight:700}.msg-time{color:var(--sub);font-size:10px}.msg-reply-note{color:var(--sub);text-align:center;padding-top:6px;font-size:11px}@media (width<=700px){.msg-bubble{max-width:92%}.thread-head{flex-wrap:wrap;gap:6px}}.conn-head{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;display:flex}.conn-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.conn-name{color:var(--ink);font-size:15px;font-weight:700}.conn-cat{color:var(--sub);background:var(--sidebar-bg);border-radius:8px;padding:2px 8px;font-size:11px;font-weight:600}.conn-meta{flex:none;align-items:center;gap:10px;display:flex}.conn-status{color:var(--orange);background:#fdf6ec;border-radius:8px;padding:3px 9px;font-size:11px;font-weight:600}.conn-status.configured{color:var(--teal-dark);background:#eef6f4}.conn-toggle{color:var(--sub);font-size:13px}.conn-feeds{color:var(--sub);flex-direction:column;gap:4px;margin-top:8px;font-size:12.5px;display:flex}.conn-summary{color:var(--teal-dark);background:#eef6f4;border-radius:8px;margin-top:6px;padding:8px 10px;font-size:12px}@media (width<=700px){.conn-head{flex-direction:column;align-items:flex-start}}.cell-select{border:1px solid var(--line,#dfe7e5);cursor:pointer;background:#fff;border-radius:8px;max-width:150px;padding:4px 6px;font-family:inherit;font-size:13px}.note-badge{color:#fff;cursor:pointer;background:#c0392b;border:none;border-radius:999px;min-width:24px;height:24px;padding:0 7px;font-size:13px;font-weight:700}.annex-toggle{border:1px solid var(--line,#dfe7e5);color:var(--sub,#6b7f7b);cursor:pointer;background:#fff;border-radius:999px;padding:4px 10px;font-family:inherit;font-size:12px}.annex-toggle.on{color:#336e69;background:#eef6f4;border-color:#336e69;font-weight:700}.draft-box{border:1px dashed var(--line,#dfe7e5);white-space:pre-wrap;background:#f6f9f8;border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.6}.task-tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.task-tag{color:var(--sub,#6b7f7b);border:1px solid var(--line,#dfe7e5);background:#eef3f2;border-radius:999px;padding:2px 8px;font-size:11px}.task-tag.prio-high{color:#b3261e;background:#fdecec;border-color:#f3c1bd}.task-tag.prio-low{color:#5b6b8a;background:#f2f6fb}.task-tag.task-att{cursor:default}.fb-badge{color:#6d28a8;background:#f3ecfd;border:1px solid #e2d1f7;border-radius:999px;padding:2px 8px;font-size:11px;display:inline-block}.ai-panel{z-index:50;background:var(--card);border:1px solid var(--card-border);border-radius:16px;width:min(360px,100vw - 48px);max-height:70vh;padding:14px;position:fixed;bottom:24px;left:24px;overflow-y:auto;box-shadow:0 12px 32px #00000029}.ai-panel-header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.ai-panel-header strong{color:var(--teal-dark);font-size:15px}.ai-demo{background:var(--teal-soft);color:var(--teal-dark);border-radius:999px;margin-inline-start:2px;padding:2px 8px;font-size:11px;font-weight:600}.ai-close{background:var(--bg);width:30px;height:30px;color:var(--sub);border-radius:8px;margin-inline-start:auto;font-size:13px}.ai-note{background:var(--teal-soft);color:var(--sub);border-radius:10px;margin:0 0 10px;padding:9px 11px;font-size:12px;line-height:1.6}.ai-questions{flex-wrap:wrap;gap:7px;margin-bottom:10px;display:flex}.ai-question{border:1px solid var(--gray-seg);background:var(--card);color:var(--sub);border-radius:999px;padding:6px 12px;font-size:12px}.ai-question.active{border-color:var(--teal);background:var(--teal);color:#fff;font-weight:600}.ai-answer{background:var(--bg);border-radius:12px;margin:0 0 10px;padding:11px 13px}.ai-answer p{color:var(--ink);margin:0 0 9px;font-size:13px;line-height:1.7}.ai-nav{color:var(--teal-dark);padding:0;font-size:12px;font-weight:600;text-decoration:underline}.ai-free-note{color:var(--muted);margin:0 0 10px;font-size:12px}.ai-input{gap:7px;margin-bottom:9px;display:flex}.ai-input input{border:1px solid var(--gray-seg);background:var(--card);height:40px;color:var(--ink);border-radius:10px;flex:1;padding:0 11px;font-size:13px}.ai-input input::placeholder{color:var(--placeholder)}.ai-input button{color:#fff;background:var(--grad-ai);border-radius:10px;padding:0 14px;font-size:13px;font-weight:600}.ai-input button:disabled{opacity:.5;cursor:not-allowed}.ai-foot{text-align:center;color:var(--muted);margin:0;font-size:11px;line-height:1.6}.owner-card-view{flex-direction:column;gap:20px;display:flex}.breadcrumb{color:var(--sub);align-items:center;gap:6px;margin-bottom:6px;font-size:13px;display:flex}.breadcrumb-item{color:var(--teal-dark);cursor:pointer;font-weight:500}.breadcrumb-item:hover{text-decoration:underline}.breadcrumb-current{color:var(--sub);font-weight:400}.demo-tag{color:var(--teal-dark);vertical-align:middle;background:#eef6f4;border:1px solid #cce5e2;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.btn-ghost{border:1px solid var(--card-border);height:39px;color:var(--teal-dark);background:0 0;border-radius:10px;align-items:center;gap:6px;padding:0 16px;font-size:14px;font-weight:600;display:flex}.btn-ghost:hover{background:#f2f9f9}.owner-chips-row{flex-wrap:wrap;gap:10px;display:flex}.chip-status{border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.chip-status-green{color:#137333;background:#e6f4ea;border:1px solid #ceebd5}.chip-status-orange{color:#b06000;background:#fef7e0;border:1px solid #feebb8}.chip-status-teal{color:#336e69;background:#e6f4f3;border:1px solid #c9e6e3}.chip-status-gray{color:#5f6368;background:#f1f3f4;border:1px solid #dadce0}.stepper-card{flex-direction:column;gap:16px;display:flex}.sig-stepper{justify-content:space-between;align-items:center;padding:10px 0;display:flex;position:relative}.stepper-step{z-index:1;text-align:center;cursor:pointer;flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.stepper-circle{background:var(--bg);border:2px solid var(--gray-seg);width:32px;height:32px;color:var(--sub);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.stepper-step.done .stepper-circle{color:#fff;background:#059669;border-color:#059669}.stepper-step.active .stepper-circle{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 0 0 3px #39817a33}.stepper-label{color:var(--sub);font-size:13px;font-weight:600}.stepper-step.active .stepper-label{color:var(--teal-dark);font-weight:700}.stepper-step.done .stepper-label{color:#059669}.stepper-line{background:var(--gray-seg);z-index:0;height:2px;position:absolute;top:26px;left:10%;right:10%}.stepper-dashed-sep{border-top:1px dashed var(--card-border);padding-top:14px}.stepper-exceptional-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stepper-exceptional-title{color:var(--sub);font-size:12px;font-weight:600}.owner-info-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.info-field-list{grid-template-columns:repeat(2,1fr);gap:12px 16px;margin-top:12px;display:grid}.info-field-item{flex-direction:column;gap:2px;display:flex}.info-field-label{color:var(--sub);font-size:12px;font-weight:600}.info-field-val{color:var(--ink);align-items:center;gap:6px;font-size:14px;font-weight:500;display:flex}.info-field-val.clickable{color:var(--teal-dark);cursor:pointer;-webkit-text-decoration:underline #336e694d;text-decoration:underline #336e694d}.info-field-val.clickable:hover{-webkit-text-decoration-color:var(--teal-dark);text-decoration-color:var(--teal-dark)}.btn-add-property{border:2px dashed var(--teal);width:100%;color:var(--teal-dark);cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:6px;margin-top:12px;padding:12px;font-size:14px;font-weight:700;transition:background .15s;display:flex}.btn-add-property:hover{background:var(--teal-soft)}@media (width<=600px){.owner-info-grid,.info-field-list{grid-template-columns:1fr}.sig-stepper{flex-direction:column;align-items:flex-start;gap:14px}.stepper-line{display:none}.stepper-step{text-align:right;flex-direction:row;align-items:center;gap:12px}}.prop-card-view{flex-direction:column;gap:20px;display:flex}.tab-badge{border-radius:999px;margin-inline-start:4px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.badge-expanded{color:var(--teal-dark);background:#eef6f4;border:1px solid #cce5e2}.badge-new{color:#9d174d;background:#fdf2f8;border:1px solid #fbcfe8}.subnav-item.active .tab-badge{color:#fff;background:#ffffff40;border-color:#fff6}.demolition-checks-view{flex-direction:column;gap:20px;display:flex}.gate-banner-card{background:#fff5f5;border:1px solid #fecaca;transition:box-shadow .15s,transform .15s}.gate-banner-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #dc26261f}.gate-banner-content{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.gate-icon{font-size:28px;line-height:1}.gate-text{flex:1;min-width:240px}.gate-title{color:#991b1b;font-size:18px;font-weight:700}.gate-sub{color:#b91c1c;margin-top:2px;font-size:13px}.gate-progress-wrap{flex-direction:column;align-items:flex-end;gap:4px;min-width:140px;display:flex}.gate-progress-label{color:#991b1b;font-size:12px;font-weight:700}.gate-progress-bar{background:#fee2e2;border-radius:999px;width:140px;height:8px;overflow:hidden}.gate-progress-fill{background:#dc2626;border-radius:999px;height:100%}.kpi-drill-marker{background:var(--teal-soft);width:16px;height:16px;color:var(--teal-dark);border:1px solid var(--teal-light);cursor:pointer;vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;margin-inline-start:4px;font-size:11px;font-weight:700;display:inline-flex}.val-drill-wrap{cursor:pointer;align-items:center;gap:2px;display:inline-flex}.status-badge{border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-block}.st-green-chip{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.st-orange-chip{color:#c2410c;background:#ffedd5;border:1px solid #fed7aa}.st-gray-chip{color:#4b5563;background:#f3f4f6;border:1px solid #e5e7eb}.warning-note{border-right-width:4px!important}@media (width<=600px){.gate-banner-content{flex-direction:column;align-items:flex-start;gap:12px}.gate-progress-wrap{align-items:flex-start;width:100%}.gate-progress-bar{width:100%}}.alert-strip{color:var(--orange);background:#fdf1e2;border:1px solid #f3d9b5;border-radius:11px;align-items:center;gap:8px;margin-bottom:12px;padding:9px 13px;font-size:12px;font-weight:600;display:flex}.ochip{border-radius:99px;padding:4px 11px;font-size:11px;font-weight:700;display:inline-block}.ochip.green{color:var(--green);background:#e6f6ef}.ochip.orange{color:var(--orange);background:#fdf1e2}.ochip.teal{background:var(--teal-soft);color:var(--teal-dark)}.ochip.gray{color:var(--muted);background:#eef1f3}.drill{cursor:pointer;align-items:center;gap:5px;display:inline-flex}.drill-val{border-bottom:1px dotted var(--teal-light)}.drill:hover .drill-val{color:var(--teal-dark);border-bottom-style:solid}.okpi-highlight{border:2px solid #0d7a6d!important}.pub-dist-scroll{width:100%;overflow-x:auto}.pub-dist-tbl{border-collapse:collapse;width:100%}.pub-dist-tbl th{background:var(--bg);color:var(--sub);text-align:right;white-space:nowrap;padding:9px 8px;font-size:13px;font-weight:600}.pub-dist-tbl td{color:var(--ink);text-align:right;white-space:nowrap;border-bottom:1px solid #f0f2f4;padding:9px 8px;font-size:13px;font-weight:400;display:table-cell}.pub-dist-mobile,.sub-dist-mobile{display:none}.pub-dist-cards{flex-direction:column;gap:10px;display:flex}.pub-dist-card{border:1px solid var(--card-border);background:#fdfefe;border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.pub-dist-card-total{border:1.5px solid var(--teal);background:#f4faf9}.pub-dist-card-head{color:var(--teal-dark);font-size:13.5px}.pub-dist-card-row{color:var(--ink);font-size:12.5px}@media (width<=640px){.pub-dist-desktop,.sub-dist-desktop{display:none!important}.pub-dist-mobile,.sub-dist-mobile{display:block!important}}.project-stages-view{flex-direction:column;gap:20px;display:flex}.stage-alert-strip{color:#c2410c;cursor:pointer;background:#fff7ed;border:1px solid #fdba74;border-radius:12px;align-items:center;gap:8px;padding:12px 18px;font-size:14px;font-weight:600;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 2px 8px #d9780514}.stage-alert-strip:hover{transform:translateY(-2px);box-shadow:0 4px 12px #d9780526}.stage-grid{grid-template-columns:repeat(5,1fr);gap:14px;margin-top:16px;display:grid}.stage-card{border:1px solid var(--card-border);background:#fff;border-radius:14px;flex-direction:column;gap:8px;padding:14px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;position:relative}.stage-card:hover{box-shadow:var(--shadow-card);border-color:var(--teal);transform:translateY(-2px)}.stage-card.current-stage{border:2px solid var(--teal);background:#f4faf9;box-shadow:0 4px 14px #39817a26}.stage-card.selected-stage{ring:2px solid var(--teal-dark);background:#f0f9f8}.stage-card-header{justify-content:space-between;align-items:center;display:flex}.stage-num-badge{color:var(--teal-dark);background:#eef6f4;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:700}.stage-name-title{color:var(--ink);min-height:36px;font-size:14px;font-weight:700;line-height:1.3}.stage-meta-info{color:var(--sub);font-size:12px;font-weight:500}.stage-owner-info{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.stage-date-info{color:var(--sub);font-size:11px}.stage-progress-wrap{align-items:center;gap:8px;margin-top:4px;display:flex}.stage-progress-bar{background:#e5e7eb;border-radius:999px;flex:1;height:6px;overflow:hidden}.stage-progress-fill{border-radius:999px;height:100%;transition:width .3s}.stage-progress-pct{color:var(--ink);text-align:left;width:32px;font-size:12px;font-weight:700}.template-table tr.selected-tmpl-row td{background:#eef8f7}.active-dot-indicator{color:var(--teal);margin-inline-start:6px;font-size:10px}.urgency-badge{border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.urgency-hot-chip{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.urgency-calm-chip{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.update-panel-card{border:2px solid var(--teal-light);background:#fafcfb}.update-panel-grid{grid-template-columns:repeat(3,1fr)}.category-groups-list{flex-direction:column;gap:20px;margin-top:16px;display:flex}.category-group-box{border:1px solid var(--card-border);background:#fbfdfd;border-radius:12px;padding:16px}.category-group-header{border-bottom:1px solid #e7e9eb;align-items:baseline;gap:10px;margin-bottom:12px;padding-bottom:8px;display:flex}.category-group-header h4{color:var(--teal-dark);margin:0;font-size:16px;font-weight:700}.category-group-sub{color:var(--sub);font-size:12px}.category-items-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.category-item-card{border:1px solid var(--card-border);background:#fff;border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.category-item-name{color:var(--ink);font-size:13px;font-weight:600}.category-item-date{color:var(--sub);font-size:11px}.mobile-reveal-info{color:var(--sub);background:#f3f4f6;border-radius:6px;flex-direction:column;gap:2px;margin-top:6px;padding:6px 8px;font-size:11px;font-weight:400;display:flex}@media (width<=1200px){.stage-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=800px){.stage-grid,.update-panel-grid,.category-items-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.stage-grid,.update-panel-grid,.category-items-grid{grid-template-columns:1fr}.hide-mobile{display:none}}.drill-q{background:var(--teal-soft);width:14px;height:14px;color:var(--teal-dark);border-radius:50%;flex:none;place-items:center;font-size:9px;font-weight:700;display:inline-grid}.okpi-highlight{outline-offset:-2px;outline:2px solid #0d7a6d!important}.own-row{border-bottom:1px solid var(--card-border);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;max-width:100%;padding:10px 12px;display:flex}.own-row .own-main{flex:34%;min-width:140px}.own-row .own-side{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:8px;max-width:100%;display:flex}@media (width<=640px){.okpis{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.own-row{padding:10px 8px;flex-wrap:wrap!important;min-width:0!important;max-width:100%!important}.own-row .own-main{overflow-wrap:anywhere;flex:100%!important;width:100%!important;min-width:0!important;max-width:100%!important}.own-row .own-side{flex-wrap:wrap!important;flex:100%!important;justify-content:flex-start!important;gap:6px!important;width:100%!important;min-width:0!important;max-width:100%!important}.own-row .own-side>*{overflow-wrap:anywhere;max-width:100%!important}.own-row .own-side .tpl-sub{margin-top:2px;width:100%!important;display:block!important}}

.sidebar-logo{flex-direction:column;align-items:flex-start;gap:6px}.hz-logo{display:block;width:145px;height:auto;max-width:100%;object-fit:contain}.sidebar-logo .cap{font-size:12px}.login-logo-slot .hz-logo{width:180px}@media(max-width:1024px){.sidebar-logo{min-width:150px;align-self:center}}

.hz-finance{display:flex;flex-direction:column;gap:20px}.hz-fin-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.hz-fin-kpi{text-align:right;border:0;cursor:pointer;display:flex;flex-direction:column;gap:12px;font:inherit}.hz-fin-kpi strong{font-size:25px;white-space:nowrap}.hz-fin-kpi small{color:#39817a}.hz-fin-columns{display:grid;grid-template-columns:2fr 1fr;gap:20px}.hz-finance h2{font-size:18px;margin:0 0 8px}.hz-finance p,.hz-finance small{color:#68717b;line-height:1.6}.hz-fin-table{overflow:auto;margin-top:16px}.hz-fin-table table{min-width:620px;width:100%;border-collapse:collapse}.hz-fin-table th,.hz-fin-table td{padding:14px 10px;text-align:right;border-bottom:1px solid #edf0f2;white-space:nowrap}.hz-fin-table th{background:#f7f9fa;font-size:12px}.hz-fin-table tbody tr{cursor:pointer}.hz-fin-table tbody tr:hover{background:#eff9f5}.hz-fin-actions{display:flex;flex-direction:column;gap:12px}.hz-fin-actions button{font:inherit;text-align:right;padding:16px 12px;background:#fff8ee;border:1px solid #f3dfc1;border-radius:10px;cursor:pointer}.hz-fin-progress{height:12px;background:#e2e8f0;border-radius:20px;overflow:hidden;margin:14px 0}.hz-fin-progress span{height:100%;display:block;background:#39817a;border-radius:20px}@media(max-width:1100px){.hz-fin-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.hz-fin-columns{grid-template-columns:1fr}}@media(max-width:600px){.hz-fin-kpis{grid-template-columns:1fr}.hz-finance{gap:14px}.main>div>div:first-child>div:first-child{flex-wrap:wrap}.main>div>div:first-child>div:first-child>div{flex-wrap:wrap}}

.hz-fin-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.hz-fin-tools button,.hz-fin-send-actions button{font:inherit;padding:12px;border:1px solid #d5e4df;background:#f3faf7;border-radius:10px;text-align:right;cursor:pointer}.hz-fin-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.hz-fin-form label{display:flex;flex-direction:column;gap:8px;font-weight:500}.hz-fin-form input,.hz-fin-form select,.hz-fin-form textarea{width:100%;min-width:0;font:inherit;border:1px solid #d8dee4;border-radius:8px;background:white;padding:10px}.hz-fin-send-actions{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.hz-fin-send-actions .btn-primary{background:#39817a;color:white}.hz-fin-send-actions button:disabled{opacity:.45;cursor:default}.hz-fin-send [role=status]{color:#287264;line-height:1.7}@media(max-width:700px){.hz-fin-form,.hz-fin-tools{grid-template-columns:1fr}}
