:root{color:#1e2329;background:#f6f7f9;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,YuGothic,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100dvh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:1}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b7dfea;outline-offset:2px}.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:24px;background:#f6f7f9}.auth-panel{width:min(100%,480px);display:grid;gap:18px;padding:24px;border:1px solid #dde3ea;border-radius:8px;background:#fff;box-shadow:0 16px 40px #1e232914}.auth-brand{padding:0}.auth-panel h1{margin:0;font-size:26px}.auth-panel p{margin:8px 0 0;color:#66717f;line-height:1.6}.auth-panel label{display:grid;gap:6px;color:#536170;font-size:12px;font-weight:800}.auth-panel input{height:42px;border:1px solid #cfd8e3;border-radius:8px;padding:0 12px}.auth-error{color:#8a2f2f;background:#ffe0e0;border:1px solid #f0b7b7;border-radius:8px;padding:11px;font-size:13px}.google-login-button{min-height:44px;display:grid;align-items:center}.auth-oauth-hint{display:grid;gap:6px;padding:10px 12px;border:1px solid #d9e5ea;border-radius:8px;background:#f7fbfc;color:#536170;font-size:12px;line-height:1.55}.auth-oauth-hint strong{color:#245264}.oauth-hint-header{display:grid;gap:4px}.oauth-origin-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border:1px solid #c9dbe3;border-radius:8px;background:#fff}.oauth-origin-card>span,.oauth-origin-row>span{color:#536170;font-weight:800;white-space:nowrap}.auth-oauth-hint code{display:block;white-space:pre-wrap;overflow-wrap:anywhere;padding:8px;border-radius:6px;background:#eef5f7;color:#23323d;font-size:12px;line-height:1.5}.auth-oauth-hint code.inline-code{display:inline;padding:2px 5px}.oauth-origin-card code{min-width:0}.oauth-origin-table{display:grid;border:1px solid #d9e5ea;border-radius:8px;overflow:hidden;background:#fff}.oauth-origin-row{display:grid;grid-template-columns:58px minmax(0,1fr);gap:6px 10px;align-items:center;padding:8px}.oauth-origin-row+.oauth-origin-row{border-top:1px solid #e7eef2}.oauth-origin-row code{padding:6px 8px}.oauth-origin-row small{grid-column:2;color:#66717f;line-height:1.45}.oauth-copy-all{justify-self:start}.oauth-alt-link{justify-self:start;text-decoration:none}.oauth-copy-error{color:#8a2f2f;font-weight:700}.oauth-steps{display:grid;gap:5px;padding-top:4px}.oauth-steps b{color:#245264}.auth-users{display:grid;gap:6px;color:#66717f;border-top:1px solid #e2e8ef;padding-top:14px;font-size:12px}.auth-users strong{color:#245264}.app-shell{display:grid;grid-template-columns:248px 1fr;min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;background:#fff;border-right:1px solid #dde3ea;padding:18px 14px;display:flex;flex-direction:column;gap:18px}.brand{display:flex;align-items:center;gap:12px;padding:8px}.brand-home{width:100%;border:0;border-radius:8px;background:transparent}.brand-home:hover,.brand-home:focus-visible{background:#eef4f7}.brand-home[aria-current=page]{background:#e8f6f9;box-shadow:inset 3px 0 #00a6c8}.brand-logo{width:132px;height:auto;display:block}.auth-brand-logo{width:154px}.brand-mark{width:36px;height:36px;display:block;border-radius:8px;box-shadow:0 8px 20px #20222f1a}.brand strong,.brand span{display:block}.brand span{color:#66717f;font-size:12px;margin-top:2px}.nav{display:grid;gap:6px;overflow:auto;padding-right:2px}.nav-item{display:flex;align-items:center;gap:10px;border:0;border-radius:8px;padding:11px 12px;color:#4d5968;background:transparent;text-align:left}.nav-item:hover{background:#eef4f7}.nav-item.active{background:#00a6c8;color:#fff}.nav-item.locked{color:#a0a9b4;background:#f5f7f9}.sidebar-note{margin-top:auto;display:flex;gap:8px;color:#66717f;font-size:12px;line-height:1.5;padding:12px;background:#f3f6f8;border:1px solid #dde3ea;border-radius:8px}.sidebar-utility{display:grid;gap:8px;padding:10px;border:1px solid #dde3ea;border-radius:8px;background:#fbfcfd}.sidebar-utility small{color:#66717f;font-size:11px;line-height:1.4}.sidebar-logout{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:32px;border:1px solid #cfd8e3;border-radius:7px;background:#fff;color:#415060;font-size:12px;font-weight:800}.sidebar-logout:hover{background:#eef4f7}.main{min-width:0;padding:12px 18px 36px;overflow:hidden}.page-header{--page-accent: #00a6c8;--page-soft: #eef8fb;--page-ink: #245264;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title context" "highlights highlights";gap:6px 12px;align-items:center;margin-bottom:6px;padding:8px 10px;border:1px solid #dde3ea;border-left:5px solid var(--page-accent);border-radius:8px;background:linear-gradient(90deg,var(--page-soft),#fff 52%)}.page-title-block{grid-area:title;display:flex;align-items:center;gap:11px;min-width:0}.page-title-block>div{min-width:0}.page-icon{display:grid;flex:0 0 auto;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--page-soft);color:var(--page-ink)}.page-header h1{margin:1px 0 0;overflow:hidden;color:#1e2329;font-size:20px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.page-header p{margin:3px 0 0;overflow:hidden;color:#66717f;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.page-kicker{color:var(--page-ink);font-size:11px;font-weight:900;letter-spacing:0}.page-context{grid-area:context;display:grid;gap:5px;align-items:center;justify-content:flex-end;min-width:240px}.page-focus-label{justify-self:flex-end;overflow:hidden;max-width:280px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--page-accent) 24%,#d7e1ea);border-radius:999px;background:#ffffffbd;color:var(--page-ink);font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.page-jump-nav{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}.page-jump-link{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid color-mix(in srgb,var(--page-accent) 28%,#d7e1ea);border-radius:999px;background:#fff;color:var(--page-ink);font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap}.page-jump-link:hover,.page-jump-link:focus-visible{background:var(--page-soft);outline:0}.page-highlights{grid-area:highlights;display:flex;flex-wrap:wrap;gap:5px;padding-top:5px;border-top:1px solid #e4eaf0}.page-highlight{display:inline-grid;grid-template-columns:auto auto;align-items:baseline;gap:1px 6px;min-height:27px;padding:3px 7px;border:1px solid #dde6ee;border-left:3px solid var(--page-accent);border-radius:7px;background:#ffffffd1}.page-highlight small,.page-highlight em{overflow:hidden;color:#66717f;font-size:10px;font-style:normal;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.page-highlight b{color:#1e2329;font-size:11px;line-height:1.15;white-space:nowrap}.page-highlight em{grid-column:1 / -1;max-width:210px;font-weight:700}.page-tone-teal{--page-accent: #26907f;--page-soft: #e6f5f2;--page-ink: #1b7566;border-left-color:#26907f}.page-tone-cyan{--page-accent: #00a6c8;--page-soft: #e8f8fb;--page-ink: #245264;border-left-color:#00a6c8}.page-tone-cyan .page-icon{background:#e8f8fb;color:#245264}.page-tone-teal .page-icon{background:#e6f5f2;color:#1b7566}.page-tone-indigo{--page-accent: #4f6fb8;--page-soft: #edf2ff;--page-ink: #435f9c;border-left-color:#4f6fb8}.page-tone-indigo .page-icon{background:#edf2ff;color:#435f9c}.page-tone-amber{--page-accent: #c2801b;--page-soft: #fff4df;--page-ink: #9d6512;border-left-color:#c2801b}.page-tone-amber .page-icon{background:#fff4df;color:#9d6512}.page-tone-blue{--page-accent: #3171b8;--page-soft: #eaf3fc;--page-ink: #285f9a;border-left-color:#3171b8}.page-tone-blue .page-icon{background:#eaf3fc;color:#285f9a}.page-tone-green{--page-accent: #348852;--page-soft: #ecf8f0;--page-ink: #2f7248;border-left-color:#348852}.page-tone-green .page-icon{background:#ecf8f0;color:#2f7248}.page-tone-slate{--page-accent: #607286;--page-soft: #eef2f6;--page-ink: #536170;border-left-color:#607286}.page-tone-slate .page-icon{background:#eef2f6;color:#536170}.page-tone-purple{--page-accent: #7559a6;--page-soft: #f2eef8;--page-ink: #684f93;border-left-color:#7559a6}.page-tone-purple .page-icon{background:#f2eef8;color:#684f93}.page-tone-rose{--page-accent: #ba5d68;--page-soft: #fff0f2;--page-ink: #9d4652;border-left-color:#ba5d68}.page-tone-rose .page-icon{background:#fff0f2;color:#9d4652}.page-tone-navy{--page-accent: #2e516f;--page-soft: #edf3f7;--page-ink: #2e516f;border-left-color:#2e516f}.page-tone-navy .page-icon{background:#edf3f7;color:#2e516f}.page-tone-gray{--page-accent: #87919d;--page-soft: #f0f3f6;--page-ink: #66717f;border-left-color:#87919d}.page-tone-gray .page-icon{background:#f0f3f6;color:#66717f}.filter-bar label,.client-fields label,.slack-box label,.builder-grid label{display:grid;gap:5px;color:#536170;font-size:11px;font-weight:700}.header-actions,.account-chip{display:flex;align-items:center;gap:8px}.header-actions{justify-content:flex-end;flex-wrap:wrap}.account-chip{min-height:34px;padding:6px 10px;border:1px solid #dde3ea;border-radius:8px;background:#fff;color:#536170;font-size:12px}.account-chip strong{color:#245264;font-size:13px}.account-chip small{color:#66717f}.compact-button{min-height:34px;padding:7px 10px}.filter-bar select,.filter-bar input,.workspace-settings input,.client-fields input,.slack-box input,.slack-box select,.builder-grid input,.builder-grid select,.builder-grid textarea,.media-row input{height:38px;border:1px solid #cfd8e3;background:#fff;color:#1e2329;border-radius:8px;padding:0 11px}.filter-bar select,.filter-bar input{height:28px;border-radius:6px;padding:0 7px;font-size:12px}.builder-grid textarea{min-height:76px;padding:10px 11px;resize:vertical}.workspace-settings{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(280px,1.2fr) auto;gap:12px;align-items:end;margin-bottom:14px}.workspace-settings label{display:grid;gap:6px;color:#536170;font-size:12px;font-weight:800}.workspace-settings small{color:#66717f;font-weight:600;line-height:1.4}.filter-shell{margin-bottom:6px;padding:0;border:1px solid #dde3ea;border-radius:8px;background:#fff;overflow:hidden}.filter-shell>summary{display:flex;align-items:center;gap:6px;min-height:26px;padding:3px 8px;cursor:pointer;list-style:none;color:#415060;font-size:10px;font-weight:900;min-width:0;white-space:nowrap}.filter-shell>summary::-webkit-details-marker{display:none}.filter-shell>summary span{display:inline-flex;align-items:center;gap:6px;min-width:0}.filter-shell>summary small{margin-left:auto;min-width:0;overflow:hidden;color:#66717f;font-size:9px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.filter-shell>summary b{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:999px;background:#edf3f7;color:#415060;font-size:10px;line-height:1}.filter-shell[open]>summary{border-bottom:1px solid #e6ebf0}.filter-shell[open]>summary svg:last-child{transform:rotate(90deg)}.filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:5px;align-items:end;padding:6px 8px 8px;background:#fff}.saved-views{display:grid;grid-template-columns:auto minmax(0,1fr);grid-column:1 / -1;gap:6px;align-items:center;padding-bottom:5px;border-bottom:1px solid #e6ebf0}.saved-view-buttons{display:flex;flex-wrap:wrap;gap:6px}.saved-view{display:inline-flex;align-items:center;gap:5px;min-height:24px;max-width:100%;border:1px solid #cfd8e3;border-radius:6px;background:#fff;color:#415060;padding:0 6px;font-size:10px;font-weight:800;white-space:nowrap}.saved-view small{display:inline-grid;place-items:center;min-width:20px;min-height:20px;border-radius:999px;background:#edf3f7;color:#536170;font-size:11px}.saved-view.active{border-color:#00a6c8;background:#e6f7fb;color:#1f5f70}.saved-view.active small{background:#00a6c8;color:#fff}.operations-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid #d7e1ea;border-radius:8px;background:#d7e1ea;margin:-1px 0 10px}.operations-strip>div{display:grid;gap:2px;min-width:0;padding:8px 10px;background:#fbfcfd}.operations-strip span,.operations-strip small{color:#66717f}.operations-strip span{font-size:11px;font-weight:800}.operations-strip strong{overflow:hidden;color:#1f3f4c;font-size:15px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.operations-strip small{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.filter-title{display:flex;align-items:center;gap:6px;align-self:center;font-size:12px;font-weight:800;color:#2f3b47;white-space:nowrap}.search-input span{display:flex;align-items:center;gap:6px;border:1px solid #cfd8e3;border-radius:6px;height:28px;padding:0 7px;background:#fff}.month-filter{min-width:150px}.month-chip-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-height:22px}.month-chip-row small{color:#7a8592;font-weight:700}.month-chip{display:inline-flex;align-items:center;gap:4px;min-height:20px;padding:1px 6px;border:1px solid #cfd8e3;border-radius:999px;background:#eef5f8;color:#245264;font-size:10px;font-weight:800}.search-input input{border:0;padding:0;outline:0;width:100%}.page-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:18px}.wide{grid-column:1 / -1}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;grid-column:1 / -1;overflow:hidden;border:1px solid #dde3ea;border-radius:8px;background:#fff}.stat-card,.panel,.contract-card,.client-card,.approval-card{background:#fff;border:1px solid #dde3ea;border-radius:8px}.stat-card{padding:10px 12px;display:grid;gap:3px;border:0;border-right:1px solid #e4eaf0;border-radius:0}.stat-card:last-child{border-right:0}.stat-card span,.stat-card small{color:#66717f}.stat-card strong{font-size:19px;line-height:1.1}.profit-positive{color:#167044!important;font-weight:900}.profit-negative{color:#b42318!important;font-weight:900}.dashboard-visual-panel{align-content:start}.dashboard-chart-list,.dashboard-meter-list,.member-performance-grid{display:grid;gap:9px}.dashboard-bar-row,.dashboard-progress-row,.member-performance-row,.dashboard-health-row{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(180px,1fr);gap:10px;align-items:center;min-width:0;padding:8px 0;border-bottom:1px solid #edf1f4}.dashboard-bar-row:last-child,.dashboard-progress-row:last-child,.member-performance-row:last-child{border-bottom:0}.dashboard-bar-row span,.dashboard-progress-row>span,.member-performance-row>span,.dashboard-health-row span{display:grid;min-width:0;gap:2px}.dashboard-bar-row b,.dashboard-progress-row b,.member-performance-row b{overflow:hidden;color:#1f3f4c;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.dashboard-bar-row small,.dashboard-progress-row small,.member-performance-row small,.dashboard-health-row small{overflow:hidden;color:#66717f;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.dashboard-bar-track{height:10px;overflow:hidden;border-radius:999px;background:#edf2f6}.dashboard-bar-fill{display:block;height:100%;border-radius:inherit}.dashboard-bar-fill.tone-blue{background:#3171b8}.dashboard-bar-fill.tone-green{background:#2f8f5b}.dashboard-bar-fill.tone-amber{background:#c2801b}.dashboard-bar-fill.tone-red{background:#c14242}.progress-meter{display:grid;grid-template-columns:74px minmax(0,1fr);gap:8px;align-items:center}.dashboard-health-row{margin-top:8px;padding:9px 10px;border:1px solid #dde3ea;border-radius:8px;background:#fbfcfd}.dashboard-health-row strong{font-size:18px}.panel{padding:14px;min-width:0}.panel-heading{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:12px}.panel-heading h2{margin:0;font-size:17px}.panel-heading span{color:#66717f;font-size:13px}.contract-tree,.contract-list,.client-grid,.approval-list{display:grid;gap:10px}.detail-workspace{display:grid;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #dce5ed;scroll-margin-top:12px}.compact-detail-workspace{margin-top:10px}.detail-workspace-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid #dde3ea;border-radius:8px;background:#f8fafb}.detail-workspace-head strong,.detail-workspace-head small{display:block}.detail-workspace-head strong{color:#1f3f4c;font-size:14px}.detail-workspace-head small{overflow:hidden;max-width:70vw;color:#66717f;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.contract-builder{display:grid;gap:14px;padding:15px;border:1px solid #dde3ea;border-radius:8px;background:#f7f9fb;margin-bottom:16px}.cost-management-workspace,.supplier-workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:12px;align-items:start}.cost-management-workspace>.billing-table,.supplier-workspace>.user-list{min-width:0}.side-editor{position:sticky;top:12px;min-width:0;scroll-margin-top:12px}.side-editor.editing{border-color:#4da6b4;background:#f4fbfc}.side-editor-title{display:grid;gap:2px;padding-bottom:2px}.side-editor-title strong{color:#1f3f4c;font-size:14px}.side-editor-title small{overflow:hidden;color:#66717f;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.side-editor .builder-heading{display:grid;align-items:start}.side-editor .row-actions{align-items:center}.side-editor .builder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.side-editor .builder-memo{grid-column:1 / -1}.contract-builder-details{display:block}.contract-builder-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.contract-builder-details>summary::-webkit-details-marker{display:none}.contract-builder-details>summary span{display:grid;gap:3px}.contract-builder-details>summary strong{color:#245264;font-size:15px}.contract-builder-details>summary small{color:#66717f;font-size:12px;font-weight:700}.contract-builder-details[open]>summary{margin-bottom:14px}.contract-list-toolbar{display:grid;grid-template-columns:auto minmax(280px,1fr) minmax(240px,auto);gap:10px;align-items:start;padding:9px;border:1px solid #dde3ea;border-radius:8px;background:#fbfcfd;margin-bottom:12px}.contract-display-unit,.contract-list-totals,.contract-display-settings summary{display:flex;align-items:center;gap:10px}.contract-display-unit>span,.contract-list-totals span{color:#536170;font-size:12px;font-weight:800}.contract-list-totals{flex-wrap:wrap;min-height:30px}.contract-list-totals span{padding:5px 8px;border:1px solid #e0e7ee;border-radius:8px;background:#fff}.slack-directory-status{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:12px;border:1px solid #dde3ea;border-radius:8px;background:#fbfcfd;padding:9px 10px}.slack-directory-status svg{color:#536170}.slack-directory-status strong,.slack-directory-status span{display:block}.slack-directory-status strong{color:#1f3f4c;font-size:13px}.slack-directory-status span{color:#66717f;font-size:12px;line-height:1.35}.slack-directory-status.live{border-color:#b9dec9;background:#f5fbf7}.slack-directory-status.live svg{color:#2d6b43}.slack-directory-status.sandbox{border-color:#f2d6a7;background:#fffaf1}.slack-directory-status.sandbox svg{color:#9a640f}.contract-display-settings{padding:6px 8px;background:#fff}.contract-display-settings summary{justify-content:flex-start}.display-setting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin-top:10px}.display-setting-grid .checkbox-line{justify-content:flex-start;color:#536170;font-size:12px;font-weight:800}.contract-edit-fieldset{display:grid;gap:14px;min-inline-size:0;margin:0;padding:0;border:0}fieldset.status-editor,fieldset.media-editor,fieldset.month-media-editor{min-inline-size:0}fieldset.month-media-editor{border-right:0;border-bottom:0;border-left:0}fieldset:disabled{opacity:.72}.builder-heading,.media-editor-head,.media-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.builder-heading h3{margin:0 0 4px;font-size:16px}.builder-heading span,.media-editor-head span{color:#66717f;font-size:13px;line-height:1.45}.builder-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;align-items:end}.builder-memo{grid-column:span 2}.builder-checkbox{min-height:38px;align-self:end}.duration-inputs{display:grid;grid-template-columns:minmax(54px,1fr) auto minmax(54px,1fr) auto;gap:6px;align-items:center}.duration-inputs span{color:#536170;font-size:12px;font-weight:800}.media-editor{display:grid;gap:9px;padding:12px;border:1px solid #e2e8ef;border-radius:8px;background:#fff}.inline-editor{background:#f7f9fb;margin:4px 0 14px}.status-editor{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) auto;gap:10px;align-items:end;padding:12px;margin:12px 0;border:1px solid #dde3ea;border-radius:8px;background:#f8fafb}.status-editor label{display:grid;gap:6px;color:#536170;font-size:12px;font-weight:700}.status-editor select,.status-editor input,.status-editor textarea{height:38px;border:1px solid #cfd8e3;border-radius:8px;background:#fff;padding:0 10px}.status-editor textarea{min-height:38px;padding:9px 10px;resize:vertical}.status-editor-wide{grid-column:span 2}.media-row{display:grid;grid-template-columns:minmax(160px,1fr) 96px 38px;gap:8px;align-items:center}.icon-button{width:38px;height:38px;border-radius:8px;border:1px solid #cfd8e3;background:#fff;color:#536170;display:grid;place-items:center}.icon-button:hover{color:#aa3434;border-color:#e3b8b8}.text-icon-button{width:auto;min-width:34px;height:30px;padding:0 8px;color:#415060;font-size:11px;font-weight:900}.text-icon-button:hover{border-color:#8fcad7;color:#007e9a}.tree-card,.contract-card,.client-card,.approval-card{padding:12px}.tree-top,.client-head,.slack-box,.integration-step,.settings-row,.info-strip{display:flex;align-items:center;gap:10px}.tree-top strong,.tree-top span{display:block}.tree-top span,.client-head small,.contract-main small,.contract-main p,.activity-list small,.activity-list p,.user-card small{color:#66717f}.media-plan,.meta-row,.row-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.media-plan{margin:12px 0}.media-plan span,.meta-row span,.pill,.role{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:800}.media-plan span,.meta-row span{color:#245264;background:#e6f5f8}.month-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;overflow:hidden;border:1px solid #e2e8ef;border-radius:8px;background:#fff}.month-strip div{min-height:54px;background:#fff;border:0;border-right:1px solid #e2e8ef;border-radius:0;padding:8px 9px}.month-strip div:last-child{border-right:0}.month-strip b,.month-strip small{display:block}.month-strip small{color:#66717f;margin-top:4px}.contract-main{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.contract-main h3,.client-head h3,.approval-card h3,.user-card h3{margin:2px 0 6px}.contract-select-line{justify-content:flex-start}.contract-basis{display:flex;align-items:flex-start;gap:8px;margin-top:10px;max-width:760px;color:#536170;background:#f7f9fb;border:1px solid #e2e8ef;border-radius:8px;padding:10px;line-height:1.45}.contract-kpi{text-align:right;min-width:150px}.contract-kpi strong,.contract-kpi span{display:block}.contract-kpi strong{font-size:20px}.contract-kpi span{color:#66717f;margin-top:4px}.deliverable-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}details{background:#f7f9fb;border:1px solid #e2e8ef;border-radius:8px;padding:9px}summary{cursor:pointer;display:flex;justify-content:space-between;font-weight:800}.deliverables{display:grid;gap:6px;margin-top:10px}.month-plan-summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.month-plan-summary span{color:#245264;background:#e6f5f8;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800}.month-media-editor{display:grid;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid #e2e8ef}.month-media-head strong,.month-media-head small{display:block}.month-media-head small{color:#66717f;margin-top:3px}.month-media-row{grid-template-columns:minmax(120px,1fr) 74px 34px}.month-media-actions{display:flex;flex-wrap:wrap;gap:7px}.deliverable{display:grid;gap:2px;border-radius:8px;padding:7px;background:#fff;border:1px solid #e2e8ef;font-size:13px}.deliverable small{color:#66717f}.deliverable strong{font-size:13px}.deliverable-controls{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:4px}.deliverable-meta-editor{display:grid;grid-template-columns:minmax(120px,1fr) minmax(160px,1.2fr);gap:6px;margin-top:6px}.deliverable-controls select,.deliverable-meta-editor input{min-width:0;height:32px;border:1px solid #cfd8e3;border-radius:6px;background:#fff;padding:0 6px;font-size:12px}.deliverable.working{border-color:#00a6c8}.deliverable.delivered,.deliverable.accepted{border-color:#35a66f}.slack-box{border-top:1px solid #e2e8ef;padding-top:14px;display:grid;grid-template-columns:auto minmax(160px,.8fr) minmax(180px,1fr) auto auto}.checkbox-line{display:flex!important;align-items:center;gap:8px!important;white-space:nowrap}.checkbox-line input{height:auto}.primary-button,.secondary-button{min-height:38px;border-radius:8px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;line-height:1.2;text-align:center;white-space:nowrap}.primary-button,.secondary-button,.saved-view,.page-jump-link,.nav-item,.sidebar-logout{overflow:hidden;text-overflow:ellipsis}.primary-button{border:1px solid #0088a8;background:#0088a8;color:#fff}.secondary-button{border:1px solid #cfd8e3;background:#fff;color:#2f3b47}.primary-button:not(:disabled),.secondary-button:not(:disabled){box-shadow:0 1px #1f3f4c14}.primary-button:disabled,.secondary-button:disabled,.icon-button:disabled,.saved-view:disabled{border-color:#d8e0e8;background:#edf1f4;color:#8a96a3;box-shadow:none}.primary-button:disabled svg,.secondary-button:disabled svg,.icon-button:disabled svg{color:#98a4af}.primary-button:active,.secondary-button:active,.nav-item:active{transform:translateY(1px)}.billing-table{overflow-x:auto;border:1px solid #dde3ea;border-radius:8px}.report-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.bulk-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.bulk-actions small{color:#66717f}.bulk-actions label{display:grid;gap:5px;color:#536170;font-size:12px;font-weight:800}.bulk-actions .checkbox-line{display:inline-flex!important;min-height:38px;align-items:center}.bulk-actions select{height:38px;min-width:132px;border:1px solid #cfd8e3;border-radius:8px;background:#fff;color:#1e2329;padding:0 10px}.billing-guide{display:grid;grid-template-columns:minmax(210px,.58fr) minmax(0,1fr) minmax(0,1fr);gap:8px;margin-bottom:10px}.billing-guide-current,.guide-step{border:1px solid #dde3ea;border-radius:8px;background:#fbfcfd;padding:10px}.billing-guide-current{display:grid;gap:5px}.billing-guide-current span,.billing-guide-current small,.guide-step small{color:#66717f}.billing-guide-current span{font-size:11px;font-weight:800}.billing-guide-current strong{color:#1f3f4c;font-size:16px;line-height:1.25}.billing-guide-current.attention{border-left:4px solid #d9932a;background:#fffaf1}.billing-guide-current.ok{border-left:4px solid #3c9360;background:#f5fbf7}.billing-live-gate{display:flex;align-items:flex-start;gap:9px;min-width:0;padding:10px;border:1px solid #dde3ea;border-radius:8px;background:#fff}.billing-live-gate div{display:grid;gap:4px;min-width:0}.billing-live-gate strong{color:#245264;font-size:13px}.billing-live-gate span{min-width:0;color:#66717f;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.billing-live-gate.ready{border-color:#bde6cf;background:#f0fbf4}.billing-live-gate.blocked{border-color:#ead58b;background:#fff9e8}.billing-preflight-panel{display:grid;grid-column:1 / -1;gap:10px;padding:12px;border:1px solid #d9e5ea;border-radius:8px;background:#f7fbfc}.billing-preflight-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;min-width:0}.billing-preflight-header>div{display:grid;gap:4px;min-width:0}.billing-preflight-header strong{color:#245264;font-size:13px}.billing-preflight-header span,.preflight-result small,.preflight-error{color:#66717f;font-size:12px;line-height:1.45}.preflight-error{color:#8a2f2f;font-weight:800}.preflight-result{display:grid;gap:8px;padding:10px;border:1px solid #d9e5ea;border-radius:8px;background:#fff}.preflight-result.ready{border-color:#bde6cf;background:#f5fbf7}.preflight-result.warning{border-color:#ead58b;background:#fffaf1}.preflight-result.blocked{border-color:#f0b7b7;background:#fff5f5}.preflight-summary{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:8px;align-items:center}.preflight-summary span,.preflight-status{border-radius:999px;padding:4px 8px;background:#eef5f7;color:#245264;font-size:11px;font-weight:900;text-align:center;white-space:nowrap}.preflight-summary strong{min-width:0;color:#1f3f4c;overflow-wrap:anywhere}.preflight-row-list{display:grid;border:1px solid #e2e8ef;border-radius:8px;overflow:hidden;background:#fff}.preflight-row{display:grid;grid-template-columns:76px minmax(170px,.9fr) minmax(0,1.1fr);gap:8px;align-items:center;padding:8px}.preflight-row+.preflight-row{border-top:1px solid #e7eef2}.preflight-row b,.preflight-row small{display:block;min-width:0;overflow-wrap:anywhere}.preflight-status.ready{background:#ddf3e7;color:#1f4d38}.preflight-status.warning{background:#fff1c2;color:#7a4a00}.preflight-status.blocked{background:#ffe0e0;color:#8a2f2f}.billing-guide-steps{display:grid;grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.guide-step{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;align-items:center}.guide-step>span{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#edf3f7;color:#536170;font-size:11px;font-weight:900}.guide-step strong,.guide-step small{display:block}.guide-step .primary-button,.guide-step .secondary-button{grid-column:3;min-height:32px;padding:7px 10px;white-space:nowrap}.guide-step>small{grid-column:2 / -1}.button-reason{min-width:0;padding-top:1px;overflow-wrap:anywhere}.guide-step.active{border-color:#00a6c8;background:#f0fbfd}.guide-step.active>span{background:#00a6c8;color:#fff}.guide-step.done{border-color:#cce8d8}.guide-step.done>span{background:#ddf3e7;color:#1f4d38}.guide-step.pending{opacity:.82}.billing-line-builder{display:grid;grid-template-columns:minmax(210px,1.3fr) 110px 126px 126px 126px 116px 96px auto;gap:8px;align-items:end;margin-bottom:10px;padding:10px;border:1px solid #dde3ea;border-radius:8px;background:#f7f9fb}.billing-line-builder label{display:grid;gap:6px;color:#536170;font-size:12px;font-weight:700}.billing-line-builder input,.billing-line-builder select{height:38px;border:1px solid #cfd8e3;border-radius:8px;background:#fff;padding:0 10px}.table-head,.table-row{display:grid;grid-template-columns:minmax(260px,1.4fr) 120px 150px 170px minmax(300px,1fr);gap:12px;align-items:center;min-width:1000px}.billing-table .table-head,.billing-table .table-row{grid-template-columns:minmax(240px,1.25fr) 110px 130px 150px minmax(280px,1.2fr) minmax(260px,.9fr);min-width:1180px}.invoice-table .invoice-table-head,.invoice-table .invoice-table-row{grid-template-columns:minmax(210px,1.15fr) 105px 120px 138px minmax(220px,1fr) 164px;min-width:980px}.billing-table .qa-table-head,.billing-table .qa-table-row{grid-template-columns:100px 110px 130px minmax(210px,1fr) minmax(190px,.9fr) minmax(220px,.9fr);min-width:1040px}.contract-billing-table .contract-billing-table-head,.contract-billing-table .contract-billing-table-row{grid-template-columns:minmax(230px,1.15fr) 110px minmax(160px,.85fr) 150px minmax(180px,.95fr) minmax(210px,1fr) 110px;min-width:1200px}.contract-summary-table .contract-summary-table-head,.contract-summary-table .contract-summary-table-row{grid-template-columns:54px minmax(220px,1.2fr) minmax(190px,1fr) minmax(170px,.9fr) minmax(165px,.85fr) minmax(150px,.75fr) minmax(170px,.85fr) 120px;min-width:1260px}.client-summary-table .client-summary-table-head,.client-summary-table .client-summary-table-row{grid-template-columns:minmax(240px,1.25fr) minmax(230px,1fr) minmax(160px,.75fr) minmax(170px,.8fr) 100px;min-width:920px}.user-summary-table .user-summary-table-head,.user-summary-table .user-summary-table-row{grid-template-columns:minmax(260px,1.3fr) 130px 150px minmax(190px,.9fr);min-width:760px}.report-table-head,.report-table-row{grid-template-columns:150px minmax(220px,1fr) 150px 80px 140px minmax(320px,1.4fr) 110px;min-width:1160px}.work-table-head,.work-table-row{grid-template-columns:minmax(240px,1.2fr) 120px minmax(220px,1.2fr) 140px 120px}.cost-table-head,.cost-table-row{grid-template-columns:minmax(210px,1.1fr) minmax(180px,.95fr) minmax(135px,.75fr) minmax(150px,.8fr) minmax(135px,.7fr) minmax(165px,.85fr) 142px;min-width:1180px}.analysis-table-head,.analysis-table-row{grid-template-columns:minmax(180px,1.2fr) 150px 150px 150px 120px 90px}.budget-target-form{display:grid;grid-template-columns:120px repeat(4,minmax(135px,1fr)) minmax(220px,1.2fr) 142px;gap:10px;align-items:end;margin-bottom:14px}.budget-target-form label{display:grid;gap:6px;min-width:0;color:#536170;font-size:12px;font-weight:800}.budget-target-form input{min-width:0;height:38px;border:1px solid #cfd8e3;border-radius:8px;background:#fff;padding:0 10px}.budget-import-box{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:10px;align-items:stretch;margin-bottom:14px;padding:12px;border:1px solid #dce6ee;border-radius:8px;background:#fbfcfd}.budget-import-optional{display:block;padding:0;overflow:hidden}.budget-import-optional summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding:10px 12px;cursor:pointer;color:#536170;font-size:12px;font-weight:800;list-style:none}.budget-import-optional summary::-webkit-details-marker{display:none}.budget-import-optional summary:after{content:"+";display:grid;place-items:center;width:24px;height:24px;border:1px solid #cfd8e3;border-radius:8px;color:#1f3f4c;background:#fff;font-size:15px}.budget-import-optional[open] summary:after{content:"-"}.budget-import-optional summary span,.budget-import-optional summary small{display:block}.budget-import-optional summary small{margin-left:auto;color:#66717f;font-weight:700}.budget-import-content{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:10px;padding:0 12px 12px}.budget-import-box label{display:grid;gap:6px;min-width:0;color:#536170;font-size:12px;font-weight:800}.budget-import-box textarea{min-height:82px;border:1px solid #cfd8e3;border-radius:8px;background:#fff;padding:9px 10px;resize:vertical}.budget-import-actions{display:grid;gap:9px;align-content:center}.budget-import-actions b,.budget-import-actions small{display:block}.budget-import-actions b{color:#1f3f4c;font-size:20px}.budget-import-actions small,.budget-import-message{color:#66717f;line-height:1.45}.budget-import-message{grid-column:1 / -1;font-weight:800}.budget-table-head,.budget-table-row{grid-template-columns:minmax(155px,.9fr) minmax(190px,1fr) minmax(190px,1fr) minmax(210px,1fr) minmax(190px,1fr) 86px 112px;min-width:1180px}.management-action-count{display:flex;align-items:center;gap:10px;margin-bottom:12px;color:#536170}.management-action-count strong{color:#1f3f4c;font-size:22px;line-height:1}.inline-select-action{display:inline-grid;grid-template-columns:auto minmax(150px,1fr);gap:6px;align-items:center;min-height:34px;color:#536170;font-size:11px;font-weight:800;white-space:nowrap}.inline-select-action select{min-width:0;height:34px;border:1px solid #cfd8e3;border-radius:8px;background:#fff;color:#1e2329;padding:0 8px}.settings-tabs-panel{padding:8px}.settings-tabs{display:flex;flex-wrap:wrap;gap:8px}.settings-tabs .saved-view{min-height:34px;padding:0 10px}.settings-tabs .saved-view small{min-width:auto;min-height:auto;padding:0;background:transparent;color:inherit;opacity:.72}.settings-tab-system .setting-scope:not(.setting-scope-system),.settings-tab-user .setting-scope:not(.setting-scope-user),.settings-tab-organization .setting-scope:not(.setting-scope-organization){display:none}.management-action-head,.management-action-row{grid-template-columns:70px 130px minmax(280px,1.3fr) minmax(320px,1.3fr) minmax(180px,.9fr);min-width:1100px}.analysis-comparison-grid{display:grid;grid-template-columns:minmax(360px,1.25fr) minmax(320px,1fr) minmax(280px,.85fr);gap:12px}.analysis-mini-table{min-width:0;overflow:hidden;border:1px solid #dde3ea;border-radius:8px;background:#fff}.analysis-mini-head,.analysis-mini-row{display:grid;grid-template-columns:minmax(130px,1.1fr) minmax(90px,.8fr) minmax(90px,.8fr) minmax(90px,.8fr);gap:8px;align-items:center;padding:8px 10px}.analysis-mini-head{background:#eef4f7;color:#536170;font-size:11px;font-weight:900}.analysis-mini-row{border-top:1px solid #e2e8ef;color:#2f3b47;font-size:12px}.analysis-mini-row>span{min-width:0;overflow-wrap:anywhere}.analysis-mini-row b,.analysis-mini-row small{display:block}.analysis-mini-row small{margin-top:2px;color:#66717f;font-size:11px}.client-ranking-table .analysis-mini-head,.client-ranking-table .analysis-mini-row{grid-template-columns:48px minmax(120px,1fr) minmax(90px,.8fr) 64px}.type-mix-table .analysis-mini-head,.type-mix-table .analysis-mini-row{grid-template-columns:minmax(120px,1fr) 70px minmax(90px,.8fr) 64px}.budget-status-ok{border-color:#b9dec9;background:#eef9f2;color:#2d6b43}.budget-status-gap{border-color:#efc5c0;background:#fff5f4;color:#8a2f2f}.simulation-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;margin-bottom:14px}.simulation-grid label{display:grid;gap:6px;color:#536170;font-size:12px;font-weight:800}.simulation-grid input{height:38px;border:1px solid #cfd8e3;border-radius:8px;background:#fff;padding:0 10px}.simulation-result{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px}.simulation-result div{border:1px solid #dde3ea;border-radius:8px;background:#f7f9fb;padding:12px;display:grid;gap:4px}.simulation-result span,.simulation-result small{color:#66717f}.simulation-result strong{font-size:22px;letter-spacing:0}.executive-summary{border-color:#c9d8e3;background:#fbfcfd}.executive-grid{display:grid;grid-template-columns:1.15fr repeat(4,minmax(150px,1fr));gap:1px;overflow:hidden;border:1px solid #d7e1ea;border-radius:8px;background:#d7e1ea}.executive-grid>div,.executive-action{display:grid;gap:4px;min-width:0;background:#fff;padding:13px}.executive-grid span,.executive-grid small,.executive-action span,.executive-action small{color:#66717f}.executive-grid span,.executive-action span{font-size:11px;font-weight:800}.executive-grid strong{overflow:hidden;color:#1f3f4c;font-size:22px;line-height:1.12;text-overflow:ellipsis;white-space:nowrap}.executive-month strong{color:#0088a8}.executive-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.executive-action{border:1px solid #dde3ea;border-radius:8px}.executive-action strong{color:#1e2329;font-size:18px}.executive-action.ok{border-color:#cce8d8;background:#f5fbf7}.executive-action.attention{border-color:#f2d6a7;background:#fffaf1}.executive-action.danger{border-color:#efc5c0;background:#fff5f4}.operation-table-head,.operation-table-row{grid-template-columns:minmax(260px,1.4fr) 150px 150px 130px minmax(180px,1fr) 90px}.bank-table-head,.bank-table-row{grid-template-columns:minmax(180px,1fr) 130px 210px minmax(280px,1.3fr) 150px}.qa-table-head,.qa-table-row{grid-template-columns:120px 130px 150px minmax(260px,1.1fr) minmax(230px,1fr) minmax(280px,.9fr)}.table-head{background:#eef4f7;color:#536170;font-weight:800;padding:8px 10px;border-bottom:1px solid #dde3ea;font-size:11px}.table-row{padding:8px 10px;border-bottom:1px solid #e2e8ef;font-size:12px}.table-row.selected{background:#eef6f8;box-shadow:inset 3px 0 #3f7f94}.table-row:last-child{border-bottom:0}.risk-text{color:#b42318;font-weight:800}.billing-edit-row{grid-column:1 / -1;display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) auto;gap:7px;align-items:end;padding:7px 8px;border:1px solid #e2e8ef;border-radius:8px;background:#f8fafb}.billing-edit-row label{display:grid;gap:4px;color:#536170;font-size:10px;font-weight:700}.billing-edit-row input,.billing-edit-row select{height:31px;border:1px solid #cfd8e3;border-radius:7px;padding:0 8px;background:#fff;font-size:12px}.table-row b,.table-row small{display:block}.table-row small{color:#66717f;margin-top:2px;font-size:11px;line-height:1.3}.table-checkbox{justify-content:center}.pdf-proof{display:grid;gap:3px}.pdf-proof b{color:#1f4d38}.pdf-proof small{overflow-wrap:anywhere}.invoice-actions{justify-content:flex-end}.invoice-actions .primary-button,.invoice-actions .secondary-button{min-width:0;white-space:nowrap}.invoice-actions .action-reason{flex-basis:100%;min-width:0;color:#66717f;font-size:9px;line-height:1.15;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bank-import-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.banking-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:1px;overflow:hidden;margin-bottom:12px;border:1px solid #d7e1ea;border-radius:8px;background:#d7e1ea}.banking-summary-grid>div{display:grid;gap:3px;min-width:0;background:#fff;padding:10px 12px}.banking-summary-grid span,.banking-summary-grid small{color:#66717f}.banking-summary-grid span{font-size:11px;font-weight:900}.banking-summary-grid strong{color:#1f3f4c;font-size:20px;line-height:1.05}.qa-import-actions{position:relative}.qa-import-actions summary{min-height:38px;border:1px solid #cfd8e3;border-radius:8px;background:#fff;color:#2f3b47;padding:0 12px;display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:900;cursor:pointer}.qa-import-actions[open]{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center}.qa-import-actions[open] summary{background:#f7f9fb}.csv-upload-button{display:inline-flex;align-items:center;gap:8px;min-height:38px;border:1px solid #cfd8e3;border-radius:8px;background:#fff;color:#2f3b47;padding:0 13px;font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap}.csv-upload-button input{display:none}.csv-upload-label{color:#66717f;font-size:12px}.candidate-list{display:grid;gap:8px}.candidate-card{display:grid;gap:3px;padding:8px;border:1px solid #dde3ea;border-radius:8px;background:#fff}.candidate-card.selected{border-color:#00a6c8;background:#eef9fc}.candidate-card b{color:#245264}.bank-table-row select{width:100%;height:38px;border:1px solid #cfd8e3;border-radius:8px;background:#fff;color:#1e2329;padding:0 10px}.pill{color:#1f4d38;background:#ddf3e7}.status-not_issued{color:#77551a;background:#fff0c7}.status-billing_ok,.status-drafted,.status-downloaded{color:#245264;background:#e6f5f8}.status-bank_matched,.status-mf_paid{color:#1f4d38;background:#ddf3e7}.status-bad_debt{color:#8f2727;background:#ffe2e2}.client-grid{grid-template-columns:minmax(0,1fr)}.client-card{display:grid;gap:14px}.sync-message{color:#66717f}.nested-panel{margin-top:14px}.sync-log-row{display:grid;grid-template-columns:minmax(220px,1fr) 100px 160px minmax(260px,1.3fr);gap:12px;align-items:center;padding:12px;border-bottom:1px solid #e2e8ef}.sync-log-row:last-child{border-bottom:0}.sync-log-row b,.sync-log-row small{display:block}.sync-log-row small{color:#66717f}.sync-status-synced{color:#1f4d38;background:#ddf3e7}.sync-status-error{color:#8a2f2f;background:#ffe0e0}.client-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.approval-card{display:grid;gap:14px}.approval-edit-fields{padding:12px;background:#f7f9fb;border:1px solid #e2e8ef;border-radius:8px}.diff-grid,.architecture-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.diff-grid div,.architecture-grid div{display:grid;gap:6px;padding:11px;border-radius:8px;background:#f7f9fb;border:1px solid #e2e8ef}.diff-grid span,.architecture-grid span{color:#66717f;font-size:12px;line-height:1.45}.integration-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:12px;margin-bottom:14px}.integration-status-card{display:grid;gap:12px;padding:14px;border:1px solid #e2e8ef;border-radius:8px;background:#fff}.integration-status-card>div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.integration-status-card strong{color:#245264}.readiness-banner,.readiness-state{display:flex;align-items:flex-start;gap:10px;border-radius:8px;border:1px solid #dde3ea}.readiness-banner{margin-bottom:14px;padding:12px}.readiness-banner strong,.readiness-banner span,.readiness-state b,.readiness-state span{display:block}.readiness-banner span,.readiness-state span{color:#66717f;font-size:12px;line-height:1.45}.readiness-banner.ready,.readiness-state.ready{color:#1f4d38;border-color:#bde6cf;background:#f0fbf4}.readiness-banner.blocked,.readiness-state.blocked{color:#77551a;border-color:#ead58b;background:#fff9e8}.readiness-state{justify-content:space-between;padding:10px}.integration-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.preflight-panel{display:grid;gap:12px;padding:12px;border:1px solid #dde3ea;border-radius:8px;background:#f8fafb}.completion-audit-panel{display:grid;gap:12px;margin-top:14px;padding:12px;border:1px solid #dde3ea;border-radius:8px;background:#f8fafb}.production-readiness-panel{display:grid;gap:12px;margin-bottom:14px;padding:12px;border:1px solid #dde3ea;border-radius:8px;background:#f8fafb}.production-handoff-panel,.production-action-panel{display:grid;gap:12px;margin-bottom:14px;padding:12px;border:1px solid #dde3ea;border-radius:8px;background:#fff}.compact-heading{margin:0}.production-checklist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.production-check-card{display:grid;gap:8px;padding:12px;border:1px solid #dde3ea;border-radius:8px;background:#fff}.production-check-card>div{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px}.production-check-card strong,.production-check-card b,.production-check-card small,.production-check-card span{min-width:0}.production-check-card strong{color:#245264}.production-check-card b{color:#536170;font-size:12px}.production-check-card small,.production-check-card>span{color:#66717f;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.production-check-card.done{border-color:#bde6cf}.production-check-card.blocked{border-color:#ead58b}.production-handoff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.production-handoff-card{display:grid;gap:7px;min-width:0;padding:11px;border:1px solid #e2e8ef;border-radius:8px;background:#f8fafb}.production-handoff-card strong{color:#245264;font-size:13px}.production-handoff-card span,.production-handoff-card small{min-width:0;color:#66717f;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.production-handoff-card code{min-width:0;padding:7px 8px;border:1px solid #d8e2ea;border-radius:6px;color:#173444;background:#eef5f8;font-size:12px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}.production-action-table{display:grid;border:1px solid #e2e8ef;border-radius:8px;overflow:hidden;background:#fff}.production-action-head,.production-action-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(180px,.9fr) minmax(260px,1.4fr) minmax(220px,1fr);gap:10px;align-items:start}.production-action-head{padding:9px 12px;background:#f3f6f8;color:#536170;font-size:11px;font-weight:900}.production-action-row{padding:11px 12px;border-top:1px solid #e7eef2}.production-action-row span{display:grid;gap:5px;min-width:0}.production-action-row b,.production-action-row small,.production-action-row code{min-width:0;overflow-wrap:anywhere}.production-action-row b{color:#245264;font-size:12px}.production-action-row small{color:#66717f;font-size:12px;line-height:1.45}.production-action-row code{padding:7px 8px;border:1px solid #d8e2ea;border-radius:6px;background:#eef5f8;color:#173444;font-size:12px;line-height:1.4;white-space:normal}.handoff-summary{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:10px}.handoff-summary span{min-width:0;padding:9px 10px;border:1px solid #e2e8ef;border-radius:8px;color:#536170;background:#fbfcfd;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.check-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px}.check-icon.done{color:#1f4d38;background:#dff7e8}.check-icon.blocked{color:#77551a;background:#fff1bc}.compact-info-strip{display:flex;align-items:flex-start;gap:8px;padding:10px}.preflight-grid,.completion-audit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.evidence-strip{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid #dde3ea;border-radius:8px;background:#fff}.evidence-strip b,.evidence-strip small{display:block}.evidence-strip small{color:#66717f;overflow-wrap:anywhere}.preflight-card,.completion-audit-card{display:grid;gap:8px;padding:12px;border-radius:8px;border:1px solid #dde3ea;background:#fff}.preflight-card>div:first-child,.completion-audit-card>div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.preflight-card b,.preflight-card small,.completion-audit-card b,.completion-audit-card small,.completion-audit-card span{display:block}.preflight-card small,.completion-audit-card small{color:#66717f;line-height:1.45;overflow-wrap:anywhere}.completion-audit-card span{display:grid;gap:2px;padding-top:6px;border-top:1px solid #eef1f4}.preflight-card.succeeded,.completion-audit-card.passed{border-color:#bde6cf}.preflight-card.blocked,.completion-audit-card.warning{border-color:#ead58b}.preflight-card.failed,.completion-audit-card.blocked{border-color:#efb5ae}.preflight-succeeded,.audit-passed{color:#1f4d38;background:#ddf3e7}.preflight-blocked,.audit-warning{color:#77551a;background:#fff0c7}.preflight-failed,.audit-blocked{color:#8f2b22;background:#ffe3df}.integration-status-card dl{display:grid;gap:8px;margin:0}.integration-status-card dl div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px}.integration-status-card dt{color:#66717f;font-size:12px;font-weight:800}.integration-status-card dd{min-width:0;margin:0;color:#1e2329;font-size:12px;overflow-wrap:anywhere}.empty-state,.info-strip{color:#536170;background:#f7f9fb;border:1px solid #e2e8ef;border-radius:8px;padding:16px}.access-denied{display:flex;align-items:center;gap:10px}.user-list{display:grid;gap:10px}.user-list.compact{gap:0;border:1px solid #e2e8ef;border-radius:8px;overflow:hidden}.user-row,.user-card{display:grid;grid-template-columns:1fr auto auto auto;gap:12px;align-items:center;padding:12px;border-bottom:1px solid #e2e8ef}.user-row:last-child{border-bottom:0}.user-row b{color:#245264}.supplier-row{grid-template-columns:minmax(170px,1fr) 72px 130px minmax(180px,1fr) auto auto}.master-add-row,.supplier-editor{display:grid;gap:10px;align-items:center;margin-bottom:12px}.master-add-row{grid-template-columns:minmax(0,1fr) auto auto}.supplier-editor{grid-template-columns:minmax(150px,1fr) minmax(180px,1.2fr) 140px auto auto auto}.supplier-workspace .supplier-editor{grid-template-columns:1fr}.supplier-workspace .supplier-editor .checkbox-line{justify-content:start}.master-add-row input,.supplier-editor input{height:38px;border:1px solid #cfd8e3;border-radius:8px;padding:0 10px}.editable-tags span{padding-right:4px}.editable-tags button{width:24px;height:24px;display:inline-grid;place-items:center;border:0;border-radius:6px;background:transparent;color:#5c6977}.editable-tags button:hover{background:#dce9ee}.user-card{border:1px solid #dde3ea;border-radius:8px;background:#fff}.user-summary-table .user-summary-table-row small{display:inline;margin-right:6px}.slack-notification-row{display:grid;grid-template-columns:minmax(220px,1fr) 100px minmax(220px,1.2fr) auto;gap:12px;align-items:center;padding:12px;border-bottom:1px solid #e2e8ef}.slack-notification-row:last-child{border-bottom:0}.slack-notification-row b,.slack-notification-row small{display:block}.slack-notification-row small{color:#66717f}.integration-log-row{display:grid;grid-template-columns:minmax(180px,1fr) 90px minmax(240px,1.2fr) minmax(260px,1.4fr);gap:12px;align-items:center;padding:12px;border-bottom:1px solid #e2e8ef}.integration-log-row:last-child{border-bottom:0}.integration-log-row b,.integration-log-row small{display:block}.integration-log-row small{color:#66717f;line-height:1.45;overflow-wrap:anywhere}.integration-run-succeeded{color:#1f4d38;background:#ddf3e7}.integration-run-queued{color:#77551a;background:#fff0c7}.integration-run-blocked,.integration-run-failed{color:#8a2f2f;background:#ffe0e0}.slack-status-queued{color:#77551a;background:#fff0c7}.slack-status-sent{color:#1f4d38;background:#ddf3e7}.slack-status-blocked{color:#8a2f2f;background:#ffe0e0}.role-owner{color:#6f341a;background:#ffe5d6}.role-admin{color:#245264;background:#e6f5f8}.role-member{color:#455363;background:#edf1f5}.activity-list{display:grid;gap:10px}.activity-list article{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;border-bottom:1px solid #e2e8ef;padding-bottom:10px}.activity-list article:last-child{border-bottom:0;padding-bottom:0}.activity-list strong{display:block}.activity-list p{margin:4px 0;line-height:1.45}.event-dot{width:10px;height:10px;margin-top:6px;border-radius:50%;background:#9aa7b6}.event-dot.billing{background:#0088a8}.event-dot.client{background:#35a66f}.event-dot.slack{background:#6545c2}.event-dot.report{background:#35a66f}.event-dot.cost{background:#b87917}.event-dot.user{background:#e05d5d}.integration-step,.settings-row{padding:12px 0;border-bottom:1px solid #e2e8ef}.integration-step:last-child,.settings-row:last-child{border-bottom:0}.integration-step strong,.integration-step span{display:block}.integration-step span{color:#66717f;margin-top:4px;line-height:1.45}.settings-row{justify-content:space-between}.settings-row span{flex:1}.architecture-grid{margin-bottom:14px}.qa-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;background:#fff}.qa-hero h2{margin:0 0 8px;font-size:20px}.qa-hero p{margin:0;color:#536170;line-height:1.55}.qa-score{min-width:150px;display:grid;gap:4px;justify-items:end}.qa-score strong{color:#245264;font-size:32px;line-height:1}.qa-score span{color:#66717f;font-weight:800}.qa-check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.qa-check{display:grid;gap:6px;padding:12px;border:1px solid #dde3ea;border-radius:8px;background:#fff}.qa-check span{width:fit-content;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:800}.qa-check.passed span{color:#1f4d38;background:#ddf3e7}.qa-check.failed span{color:#77551a;background:#fff0c7}.qa-check small{color:#66717f;line-height:1.4}.final-acceptance-panel .readiness-banner{margin-bottom:12px}.final-acceptance-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(520px,1.1fr);gap:12px;margin-bottom:12px}.final-acceptance-steps{display:grid;gap:8px}.final-acceptance-steps div{display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px;align-items:center;padding:9px 10px;border:1px solid #e2e8ef;border-radius:8px;background:#fbfcfd}.final-acceptance-steps span{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#e6f7fb;color:#007e9a;font-size:12px;font-weight:900}.final-acceptance-steps b{color:#2f3b47;font-size:13px;line-height:1.45}.final-budget-table{overflow-x:visible}.final-budget-table .final-budget-table-head,.final-budget-table .final-budget-table-row{grid-template-columns:72px repeat(5,minmax(70px,1fr));min-width:0;gap:8px;font-size:12px}.final-budget-table .final-budget-table-row{padding:10px}.final-budget-table .final-budget-table-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.final-source-panel{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:-2px 0 12px;padding:9px 10px;border:1px solid #d9e4ed;border-radius:8px;background:#fff;color:#536170;font-size:12px;font-weight:800}.final-source-panel>div{display:inline-flex;gap:7px;align-items:center;min-width:220px;color:#2f3b47}.final-source-panel a{color:#007e9a;text-decoration:none}.final-source-panel span{min-width:min(100%,220px)}.final-acceptance-recorder{display:grid;gap:12px;margin:12px 0;padding:12px;border:1px solid #d7e1ea;border-radius:8px;background:#fbfcfd}.final-recorder-form{display:grid;grid-template-columns:repeat(5,minmax(116px,1fr));gap:8px;align-items:end}.final-recorder-shortcuts{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px;border:1px solid #dfe6ed;border-radius:8px;background:#fff}.final-recorder-form label,.action-lines-input{display:grid;gap:6px;color:#536170;font-size:12px;font-weight:800}.final-recorder-form input,.final-recorder-form select,.operation-log-row input,.action-lines-input textarea{min-width:0;height:32px;border:1px solid #cfd8e3;border-radius:7px;background:#fff;color:#1e2329;padding:0 9px}.final-recorder-form .wide-input{grid-column:span 2}.inline-input-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.final-recorder-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:6px}.final-recorder-checks label{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:6px 8px;border:1px solid #e2e8ef;border-radius:7px;background:#fff;color:#415060;font-size:12px;font-weight:800}.final-recorder-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.final-recorder-actions span{color:#66717f;font-size:12px;font-weight:700;line-height:1.5}.suggested-action-preview{display:grid;gap:6px;padding:9px;border:1px solid #dfe6ed;border-radius:8px;background:#fff}.suggested-action-preview>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:#536170;font-size:12px}.suggested-action-preview>span{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1fr);gap:10px;align-items:baseline;padding:6px 8px;border:1px solid #e5ebf1;border-radius:6px;background:#fbfcfd}.suggested-action-preview b{color:#1e2329}.suggested-action-preview small{overflow:hidden;color:#66717f;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.operation-log-table{display:grid;overflow:auto;border:1px solid #d7e1ea;border-radius:8px;background:#d7e1ea}.operation-log-row{display:grid;grid-template-columns:minmax(170px,.9fr) minmax(180px,.9fr) minmax(190px,1fr) minmax(190px,1fr);gap:1px}.operation-log-row>*{min-width:0;background:#fff}.operation-log-row strong{display:flex;align-items:center;padding:0 10px;color:#2f3b47;font-size:12px;line-height:1.4}.operation-log-row input,.operation-log-row .inline-input-action{border-radius:0;border:0}.operation-log-row .inline-input-action{padding:0 6px}.action-lines-input textarea{min-height:96px;padding:9px;resize:vertical}.action-lines-input small{color:#66717f;font-size:12px}@media(max-width:1180px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.nav{grid-template-columns:repeat(4,minmax(0,1fr))}.filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.saved-views{grid-template-columns:1fr}.saved-view-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.saved-view{justify-content:space-between}.operations-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.budget-target-form{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-import-box,.budget-import-content{grid-template-columns:1fr}.budget-note-input,.budget-target-form .primary-button{grid-column:1 / -1}.executive-grid,.executive-actions,.banking-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-comparison-grid,.final-acceptance-grid{grid-template-columns:1fr}.final-recorder-form{grid-template-columns:repeat(2,minmax(0,1fr))}.operation-log-row{grid-template-columns:minmax(150px,.8fr) minmax(170px,1fr) minmax(180px,1fr)}.suggested-action-preview>span{grid-template-columns:1fr}.operation-log-row input:last-child{grid-column:1 / -1}.contract-list-toolbar,.cost-management-workspace,.supplier-workspace{grid-template-columns:1fr}.side-editor{position:static}.slack-directory-status{grid-template-columns:auto minmax(0,1fr)}.slack-directory-status .compact-button{grid-column:1 / -1;justify-self:start}.builder-grid,.status-editor,.workspace-settings,.billing-guide,.billing-line-builder,.billing-edit-row,.supplier-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-guide-current,.filter-title{grid-column:1 / -1}.page-grid,.client-grid{grid-template-columns:1fr}.stats,.month-strip,.deliverable-grid,.diff-grid,.architecture-grid,.integration-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.app-shell{min-width:0;overflow-x:clip}.main{width:100%;min-width:0;box-sizing:border-box;padding:10px 14px 24px}.sidebar{position:sticky;top:0;z-index:30;gap:9px;padding:9px 14px 10px;border-right:0;border-bottom:1px solid #dde3ea;background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-sizing:border-box;min-width:0;width:100%;overflow:hidden}.brand{min-height:38px;padding:0}.brand-home{width:max-content;min-width:0;padding:0}.brand-home:hover,.brand-home:focus-visible,.brand-home[aria-current=page]{background:transparent;box-shadow:none}.brand-logo{width:108px}.page-header,.panel-heading,.contract-main{display:grid}.page-header{grid-template-columns:1fr;grid-template-areas:"title" "context" "highlights";align-items:start;gap:6px;margin-bottom:8px;padding:8px}.page-title-block{align-items:flex-start}.page-header h1,.page-header p{white-space:normal}.page-context{justify-content:flex-start;min-width:0}.page-focus-label{max-width:100%;justify-self:flex-start}.page-jump-nav{justify-content:flex-start}.nav,.filter-bar,.operations-strip,.budget-target-form,.executive-grid,.executive-actions,.stats,.month-strip,.deliverable-grid,.client-fields,.diff-grid,.architecture-grid,.integration-status-grid,.production-handoff-grid,.production-action-head,.production-action-row,.handoff-summary,.qa-check-grid,.slack-box,.slack-directory-status,.user-card,.slack-notification-row,.integration-log-row,.sync-log-row,.builder-grid,.workspace-settings,.status-editor,.billing-guide,.billing-guide-steps,.preflight-summary,.preflight-row,.billing-line-builder,.billing-edit-row,.budget-import-box,.banking-summary-grid,.analysis-comparison-grid,.final-acceptance-grid,.final-recorder-form,.deliverable-controls,.cost-management-workspace,.supplier-workspace,.supplier-editor,.supplier-row,.master-add-row,.media-row{grid-template-columns:1fr}.operation-log-row{grid-template-columns:minmax(220px,1fr)}.operation-log-row input:last-child{grid-column:auto}.final-recorder-form .wide-input{grid-column:auto}.nav{display:flex;gap:7px;width:100%;min-width:0;overflow-x:auto;padding:0 2px 2px 0;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav-item{flex:0 0 auto;justify-content:center;gap:7px;min-height:34px;padding:7px 10px;border:1px solid #dde3ea;border-radius:999px;background:#fff;font-size:12px;white-space:nowrap}.nav-item.active{border-color:#00a6c8}.sidebar-utility,.sidebar-note{display:none}.stats,.month-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card:nth-child(2n),.month-strip div:nth-child(2n){border-right:0}.stat-card:nth-child(n+3),.month-strip div:nth-child(n+3){border-top:1px solid #e4eaf0}.billing-guide{gap:8px}.guide-step{grid-template-columns:24px minmax(0,1fr);align-items:start}.guide-step .primary-button,.guide-step .secondary-button,.guide-step>small{grid-column:1 / -1}.operations-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-display-unit,.contract-list-totals{align-items:stretch;flex-direction:column}.display-setting-grid{grid-template-columns:1fr}.saved-view-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-heading,.media-editor-head,.media-actions{display:grid}.builder-memo{grid-column:auto}.contract-kpi{text-align:left}.invoice-table{overflow-x:visible;border:0;background:transparent}.invoice-table .invoice-table-head{display:none}.invoice-table .invoice-table-row{display:grid;grid-template-columns:1fr 1fr;min-width:0;gap:12px;margin-bottom:12px;padding:12px;border:1px solid #dde3ea;border-radius:8px;background:#fff}.invoice-table .invoice-table-row>span:first-child,.invoice-table .invoice-table-row>span:nth-child(5),.invoice-table .invoice-table-row>.invoice-actions,.invoice-table .invoice-table-row>.billing-edit-row{grid-column:1 / -1}.invoice-actions{justify-content:stretch}.invoice-actions .primary-button,.invoice-actions .secondary-button{width:100%;justify-content:center}.invoice-actions .action-reason{text-align:left}}
