:root{--layout-page-max: 1024px;--layout-page-px: 24px;--layout-header-h: 48px;--control-h: 32px;--control-h-sm: 28px}@media(max-width:600px){:root{--layout-page-px: 16px}}html{-webkit-text-size-adjust:100%}body{overflow-wrap:break-word}h1{font:var(--type-h1);letter-spacing:var(--tracking-h1)}h2{font:var(--type-h2);letter-spacing:var(--tracking-h2)}a{color:var(--color-action-primary);text-underline-offset:2px}a:hover{color:var(--color-action-hover-text)}:focus-visible{outline:var(--border-w-emphasis) solid var(--color-focus);outline-offset:1px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:-1px}.ui-icon{display:inline-block;flex:none;vertical-align:middle}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.app-header{display:flex;align-items:stretch;gap:24px;min-height:var(--layout-header-h);padding:0 var(--layout-page-px);border-bottom:var(--border-w) solid var(--color-border-divider)}.app-header__brand{display:flex;align-items:center;flex:none;font:600 13px/20px var(--font-ui);letter-spacing:.08em;color:var(--color-text-primary);text-decoration:none}.app-header__brand:hover{color:var(--color-text-primary)}.app-nav{display:flex;gap:20px;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}.app-nav::-webkit-scrollbar{display:none}.app-nav a{display:flex;align-items:center;gap:4px;flex:none;white-space:nowrap;font:var(--type-body);color:var(--color-text-secondary);text-decoration:none;border-bottom:var(--border-w-emphasis) solid transparent;padding-top:var(--border-w-emphasis)}.app-nav a:hover{color:var(--color-action-hover-text)}.app-nav a.active{color:var(--color-text-primary);border-bottom-color:var(--color-action-primary)}.app-nav__menu-button{display:flex;align-items:center;gap:4px;flex:none;white-space:nowrap;font:var(--type-body);color:var(--color-text-secondary);background:none;border:none;border-bottom:var(--border-w-emphasis) solid transparent;padding:var(--border-w-emphasis) 0 0;cursor:pointer}.app-nav__menu-button:hover{color:var(--color-action-hover-text)}.app-nav__menu-button.active{color:var(--color-text-primary);border-bottom-color:var(--color-action-primary)}.app-nav__menu-button:focus-visible{outline-offset:-2px}.app-nav__menu-caret{font-size:10px;line-height:1}.app-nav__menu{position:fixed;z-index:30;min-width:200px;display:flex;flex-direction:column;background:var(--color-bg-default);border:var(--border-w) solid var(--color-border-interactive)}.app-nav__menu a{display:block;padding:8px 12px;font:var(--type-body);color:var(--color-text-primary);text-decoration:none;border-left:var(--border-w-emphasis) solid transparent}.app-nav__menu a+a{border-top:var(--border-w) solid var(--color-border-divider)}.app-nav__menu a:hover{color:var(--color-action-hover-text)}.app-nav__menu a.active{border-left-color:var(--color-action-primary)}.app-nav a:focus-visible{outline-offset:-2px}.app-header__tools{display:flex;align-items:center;gap:16px;flex:none;margin-left:auto}.app-user-menu{position:relative;font:var(--type-body-sm);color:var(--color-text-secondary)}.app-user-menu__trigger{display:flex;align-items:center;gap:4px;background:none;border:none;color:inherit;font:inherit;cursor:pointer;padding:4px 0}.app-user-menu__trigger:hover{color:var(--color-action-hover-text)}.app-user-menu__name{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-user-menu__dropdown{position:absolute;right:0;top:100%;margin-top:8px;min-width:200px;display:flex;flex-direction:column;background:var(--color-bg-default);border:var(--border-w) solid var(--color-border-interactive);z-index:20}.app-user-menu__dropdown a,.app-user-menu__dropdown button{display:block;width:100%;text-align:left;font:var(--type-body-sm);background:none;border:none;color:var(--color-text-primary);text-decoration:none;cursor:pointer;padding:8px 12px}.app-user-menu__dropdown a:hover,.app-user-menu__dropdown button:hover{color:var(--color-action-hover-text)}.app-user-menu__dropdown a+a,.app-user-menu__dropdown a+button,.app-user-menu__dropdown button+a{border-top:var(--border-w) solid var(--color-border-divider)}@media(max-width:1439px){.app-header{flex-wrap:wrap;row-gap:0}.app-nav{order:3;flex-basis:100%;min-height:40px;margin:0 calc(-1 * var(--layout-page-px));padding:0 var(--layout-page-px);border-top:var(--border-w) solid var(--color-border-divider)}.app-header__brand,.app-header__tools{min-height:var(--layout-header-h)}}.app-user-menu__icon{display:none}@media(max-width:480px){.app-user-menu__name,.app-user-menu__trigger-avatar{display:none}.app-user-menu__icon{display:inline-flex}}.ui-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;background:var(--color-action-primary);color:var(--color-bg-surface);font:var(--type-caption);line-height:1}.user-avatar{flex:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;vertical-align:middle}.user-avatar--photo{object-fit:cover;border:var(--border-w) solid var(--color-border-divider)}.user-avatar--initials{border:var(--border-w) solid var(--color-border-interactive);background:transparent;color:var(--color-text-secondary);font:var(--type-caption);letter-spacing:0}.contracts-page{max-width:var(--layout-page-max);margin:0 auto;padding:32px var(--layout-page-px) 48px}.contracts-page--wide{max-width:1280px}.type-mono-sm{font:var(--type-mono-sm);color:var(--color-text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--control-h);padding:6px 14px;font:var(--type-body);font-weight:500;white-space:nowrap;text-decoration:none;background:transparent;border:var(--border-w) solid var(--color-border-interactive);border-radius:0;color:var(--color-text-primary);cursor:pointer}.btn:hover:not(:disabled){border-color:var(--color-action-hover-text);color:var(--color-action-hover-text)}.btn:active:not(:disabled){border-color:var(--color-action-pressed);color:var(--color-action-pressed)}.btn:disabled{border-color:var(--color-border-divider);color:var(--color-text-disabled);cursor:not-allowed}.btn--primary{background:var(--color-action-primary);border-color:var(--color-action-primary);color:var(--color-bg-surface)}.btn--primary:hover:not(:disabled){background:var(--color-action-hover-text);border-color:var(--color-action-hover-text);color:var(--color-bg-surface)}.btn--primary:active:not(:disabled){background:var(--color-action-pressed);border-color:var(--color-action-pressed);color:var(--color-bg-surface)}.btn--primary:disabled{background:transparent}.btn--sm{min-height:var(--control-h-sm);padding:4px 10px;font:var(--type-body-sm);font-weight:500}.btn[aria-pressed=true]{border-width:var(--border-w-emphasis);border-color:var(--color-action-primary);padding:5px 13px}.btn-link{display:inline;padding:0;background:none;border:none;font:var(--type-body-sm);color:var(--color-text-secondary);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.btn-link:hover:not(:disabled){color:var(--color-action-hover-text)}.btn-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px;padding-bottom:16px;border-bottom:var(--border-w) solid var(--color-border-divider)}.btn-row--danger-zone{border-bottom:none;padding-bottom:0;margin-top:16px}.cell-actions{white-space:nowrap}.cell-actions>*+*{margin-left:8px}.cell-nowrap{white-space:nowrap}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select,textarea{font:var(--type-body);color:var(--color-text-primary);background:var(--color-bg-default);border:var(--border-w) solid var(--color-border-interactive);border-radius:0;min-height:var(--control-h);padding:6px 8px;max-width:100%}textarea{min-height:64px;resize:vertical}input::placeholder,textarea::placeholder{color:var(--color-text-secondary);opacity:1}input:disabled,select:disabled,textarea:disabled{color:var(--color-text-disabled);border-color:var(--color-border-divider);cursor:not-allowed}input[type=checkbox],input[type=radio]{accent-color:var(--color-action-primary);width:14px;height:14px;margin:0}input[type=file]{font:var(--type-body-sm);max-width:100%}.form-row{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px;align-items:start;padding:6px 0}.form-row label{font:var(--type-body-sm);color:var(--color-text-secondary);padding-top:8px}.form-row input:not([type=checkbox]):not([type=radio]),.form-row select,.form-row textarea{width:100%}.form-row input[data-invalid=true],.form-row select[data-invalid=true]{border-color:var(--color-action-primary)}@media(max-width:600px){.form-row{grid-template-columns:minmax(0,1fr);gap:4px}.form-row label{padding-top:0}}.field-error{grid-column:2;font:var(--type-caption);color:var(--color-action-primary);margin-top:-4px}@media(max-width:600px){.field-error{grid-column:1}}.checkbox-row{display:flex;align-items:center;gap:8px;padding:6px 0}.checkbox-row label{font:var(--type-body);color:var(--color-text-primary)}.auth-error{border:var(--border-w) solid var(--color-action-primary);color:var(--color-action-primary);font:var(--type-body-sm);padding:8px 12px;margin:0 0 16px}.auth-notice{border:var(--border-w) solid var(--color-border-divider);color:var(--color-text-secondary);font:var(--type-body-sm);padding:8px 12px;margin:0 0 16px}.ui-dialog{max-width:480px;width:calc(100% - 32px);margin:auto;padding:24px;background:var(--color-bg-default);border:var(--border-w) solid var(--color-border-interactive);border-radius:0;color:var(--color-text-primary)}.ui-dialog::backdrop{background:#00000052}.ui-dialog h2{font:var(--type-h2);margin:0 0 16px}@media(max-width:900px){.contracts-page table{display:block;max-width:100%;overflow-x:auto}}.contracts-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.contracts-list-header h1{font:var(--type-h1);margin:0}.contracts-table{width:100%;border-collapse:collapse;font:var(--type-body)}.contracts-table thead th{text-align:left;font:var(--type-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;color:var(--color-text-secondary);height:var(--table-header-h);border-bottom:var(--border-w) solid var(--color-border-interactive);padding:0 var(--table-cell-px)}.contracts-table tbody td{height:var(--table-row-h);border-bottom:var(--border-w) solid var(--color-border-divider);padding:0 var(--table-cell-px)}.contracts-table tbody tr:last-child td{border-bottom:none}.contracts-table tbody tr a{color:var(--color-text-primary);text-decoration:none}.contracts-table tbody tr a:hover{color:var(--color-action-hover-text)}.contracts-empty{padding:32px 0;color:var(--color-text-secondary);font:var(--type-body)}.constructor-layout{display:grid;grid-template-columns:200px 1fr 300px;gap:24px;align-items:start}@media(max-width:1024px){.constructor-layout{grid-template-columns:1fr}}.constructor-form .form-row{grid-template-columns:minmax(0,1fr);gap:4px}.constructor-form .form-row label{padding-top:0}.constructor-form .field-error{grid-column:1}.constructor-steps{display:flex;flex-direction:column;border-right:var(--border-w) solid var(--color-border-divider);padding-right:16px;position:sticky;top:24px}.constructor-steps button{text-align:left;background:none;border:none;border-left:var(--border-w-emphasis) solid transparent;color:var(--color-text-secondary);font:var(--type-body);padding:8px 12px;cursor:pointer}.constructor-steps button.active{border-left-color:var(--color-action-primary);color:var(--color-text-primary)}.constructor-form{min-width:0}.constructor-title{font:var(--type-h1);margin:0 0 16px}.constructor-fixture-btn{margin-bottom:16px}.form-block{border-bottom:var(--border-w) solid var(--color-border-divider);padding-bottom:24px;margin-bottom:24px;scroll-margin-top:24px}.form-block:last-child{border-bottom:none}.form-block h2{font:var(--type-h3);margin:0 0 16px}.form-row--fixed input{color:var(--color-text-secondary)}.form-block__note{font:var(--type-body-sm);color:var(--color-text-secondary);margin-top:0}.form-block__note--spaced{margin-top:16px}.field-changed-mark{color:var(--color-action-primary);margin-left:6px}.checkbox-row--spaced{margin-top:12px}.inline-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn-row--tight{border-bottom:none;padding-bottom:0}.btn-row--tight-spaced{border-bottom:none;padding-bottom:0;margin-bottom:12px}.summary-list{margin:0;font:var(--type-body)}.summary-row{display:grid;grid-template-columns:220px 1fr;border-bottom:var(--border-w) solid var(--color-border-divider);padding:6px 0}.summary-row__label{color:var(--color-text-secondary)}.summary-row__value{margin:0}@media(max-width:600px){.summary-row{grid-template-columns:minmax(0,1fr);gap:2px}}.entity-table--spaced{margin-top:16px}.amount-mismatch{font:var(--type-body);color:var(--color-action-primary)}.checks-group-label{font:var(--type-caption);color:var(--color-text-secondary);margin:0 0 8px}.checks-group-label--spaced{margin:16px 0 8px}.entity-table{width:100%;border-collapse:collapse;font:var(--type-body-sm);margin-bottom:12px}.entity-table thead th{text-align:left;font:var(--type-caption);color:var(--color-text-secondary);border-bottom:var(--border-w) solid var(--color-border-interactive);padding:4px 6px}.entity-table tbody td{border-bottom:var(--border-w) solid var(--color-border-divider);padding:4px 6px;vertical-align:top}.entity-table input,.entity-table select{font:var(--type-body-sm);width:100%;min-height:var(--control-h-sm);padding:4px 6px}.checks-panel{border-left:var(--border-w) solid var(--color-border-divider);padding-left:16px;position:sticky;top:24px}.checks-panel h2{font:var(--type-h3);margin:0 0 12px}.checks-summary{border-bottom:var(--border-w) solid var(--color-border-divider);padding-bottom:12px;margin-bottom:12px;font:var(--type-body-sm)}.checks-summary dt{color:var(--color-text-secondary)}.checks-summary dd{margin:0 0 8px;font:var(--type-mono-sm)}.checks-summary dd[data-mismatch=true]{color:var(--color-action-primary)}.checks-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.check-item{display:block;width:100%;text-align:left;background:none;border:none;border-left:var(--border-w-emphasis) solid var(--color-border-divider);padding:4px 8px;font:var(--type-body-sm);cursor:pointer;color:var(--color-text-primary)}.check-item[data-severity=error][data-ok=false]{border-left-color:var(--color-action-primary);color:var(--color-action-primary)}.check-item[data-severity=warning][data-ok=false]{border-left-color:var(--color-brand-warm);color:var(--color-text-primary)}.check-item[data-ok=true]{border-left-color:var(--color-border-divider);color:var(--color-text-secondary)}.check-item[data-skipped=true]{border-left-color:var(--color-border-divider);border-left-style:dashed;color:var(--color-text-secondary);font-style:italic}.check-item-code{font:var(--type-mono-sm);margin-right:6px}.check-item-skipped-label{font-style:normal;font-weight:600}.status-badge{font:var(--type-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;border:var(--border-w) solid var(--color-border-interactive);padding:2px 8px}.link-result{font:var(--type-body-sm);border-top:var(--border-w) solid var(--color-border-divider);margin-top:12px;padding-top:12px}.link-result a{color:var(--color-action-primary)}.materialize-result{font:var(--type-body-sm);border-top:var(--border-w) solid var(--color-border-divider);margin-top:16px;padding-top:16px}.materialize-result h3{font:var(--type-h4);margin:0 0 8px}.materialize-result ul{margin:0 0 8px;padding-left:18px}.sign-upload-form{font:var(--type-body-sm);border-top:var(--border-w) solid var(--color-border-divider);margin-top:12px;padding-top:12px}.verification-result{font:var(--type-body-sm);border-top:var(--border-w) solid var(--color-border-divider);margin-top:16px;padding-top:16px}.verification-result h3{font:var(--type-h4);margin:0 0 8px}.verification-result dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:0}.verification-result dt{color:var(--color-text-secondary)}.verification-result dd{margin:0}.verification-errors{margin:12px 0 0;padding-left:18px;color:var(--color-action-primary)}.checks-budget-approval{border-top:var(--border-w) solid var(--color-border-divider);margin-top:16px;padding-top:16px}.approval-ladder{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.approval-ladder__step{border-left:var(--border-w-emphasis) solid var(--color-border-divider);padding:4px 12px}.approval-ladder__step[data-status=approved]{border-left-color:var(--color-text-secondary)}.approval-ladder__step[data-status=rejected]{border-left-color:var(--color-action-primary)}.approval-ladder__step[data-status=current]{border-left-color:var(--color-action-primary);border-left-style:dashed}.approval-ladder__step-header{display:flex;justify-content:space-between;gap:12px;font:var(--type-body-sm)}.approval-ladder__step-label{font-weight:600}.approval-ladder__step-status{color:var(--color-text-secondary)}.approval-ladder__signature{margin:4px 0 0;font:var(--type-body-sm);color:var(--color-text-secondary)}.approval-ladder__actions{margin-top:8px}.section-budget__stage{font:var(--type-caption);letter-spacing:var(--tracking-caption);color:var(--color-text-secondary)}.project-sync-badge{white-space:nowrap;font:var(--type-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;border:var(--border-w) solid var(--color-border-divider);color:var(--color-text-secondary);padding:2px 8px}.project-sync-badge[data-synced=true]{border-color:var(--color-border-interactive);color:var(--color-text-primary)}.project-detail-header{border-bottom:var(--border-w) solid var(--color-border-interactive);padding-bottom:16px;margin-bottom:24px}.project-detail-header h1{font:var(--type-h1);margin:0 0 4px}.project-detail-header .project-code{font:var(--type-mono);color:var(--color-text-secondary)}.project-detail-header .project-customer{font:var(--type-body);color:var(--color-text-secondary);margin-top:8px}.project-section{border-bottom:var(--border-w) solid var(--color-border-divider);padding-bottom:24px;margin-bottom:24px}.project-section:last-child{border-bottom:none}.project-section h2{font:var(--type-h3);margin:0 0 12px}.project-stage-tree{display:flex;flex-direction:column;gap:12px}.project-stage{border-left:var(--border-w-emphasis) solid var(--color-border-interactive);padding-left:12px}.project-stage-title{font:var(--type-body);display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}.project-stage-title .stage-code{font:var(--type-mono)}.project-stage-title .stage-deadline{color:var(--color-text-secondary);font:var(--type-body-sm)}.project-discipline-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.project-discipline-list li{font:var(--type-body-sm);border:var(--border-w) solid var(--color-border-divider);padding:2px 8px}.project-empty{font:var(--type-body-sm);color:var(--color-text-secondary)}.incoming-contract-header{display:flex;flex-direction:column;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:var(--border-w) solid var(--color-border-interactive)}.incoming-contract-header__title{display:flex;align-items:baseline;gap:16px}.incoming-contract-header__title h1{font:var(--type-h1);margin:0}.incoming-contract-header__status{font:var(--type-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;color:var(--color-text-secondary);border:var(--border-w) solid var(--color-border-divider);padding:4px 10px}.incoming-contract-header__files{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.incoming-contract-header__file{display:flex;align-items:baseline;gap:6px;font:var(--type-caption);border:var(--border-w) solid var(--color-border-divider);padding:2px 8px}.incoming-contract-header__file-name{color:var(--color-text-primary)}.incoming-contract-header__file-appendix,.incoming-contract-header__file-blocks{color:var(--color-text-secondary)}.incoming-upload-form{display:flex;align-items:center;gap:16px}.incoming-upload-form__fixture-toggle{display:flex;align-items:center;gap:6px;font:var(--type-caption);color:var(--color-text-secondary)}.incoming-detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}@media(max-width:1024px){.incoming-detail-layout{grid-template-columns:1fr}}.incoming-detail-right{display:flex;flex-direction:column;gap:24px;min-width:0}.incoming-document-panel{border:var(--border-w) solid var(--color-border-interactive);padding:16px;max-height:80vh;overflow-y:auto}.incoming-document-empty{color:var(--color-text-secondary);font:var(--type-body)}.incoming-document-block{padding:8px 0;border-bottom:var(--border-w) solid var(--color-border-divider)}.incoming-document-block:last-child{border-bottom:none}.incoming-document-block__ref{display:block;font:var(--type-caption);letter-spacing:var(--tracking-caption);color:var(--color-text-secondary);margin-bottom:4px}.incoming-document-block__text{font:var(--type-body);margin:0;white-space:pre-wrap}.incoming-document-block__table{font:var(--type-body);margin:0;white-space:pre-wrap;font-family:monospace}.incoming-document-block--active{border-left:var(--border-w-emphasis) solid var(--color-action-primary);padding-left:12px;background:transparent}.incoming-document-section+.incoming-document-section{margin-top:16px;padding-top:16px;border-top:var(--border-w-emphasis) solid var(--color-border-interactive)}.incoming-document-section__title{font:var(--type-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;color:var(--color-text-secondary);margin:0 0 8px}.incoming-analysis-panel{border:var(--border-w) solid var(--color-border-interactive)}.incoming-analysis-empty{color:var(--color-text-secondary);font:var(--type-body)}.incoming-analysis-group{border-bottom:var(--border-w) solid var(--color-border-divider)}.incoming-analysis-group:last-child{border-bottom:none}.incoming-analysis-group__header{width:100%;display:flex;align-items:center;gap:12px;background:none;border:none;cursor:pointer;font:var(--type-body);color:var(--color-text-primary);padding:12px 16px;text-align:left}.incoming-analysis-group__title{flex:1}.incoming-analysis-group__badge{font:var(--type-caption);color:var(--color-action-primary);border:var(--border-w) solid var(--color-action-primary);padding:2px 8px}.incoming-analysis-group__chevron{color:var(--color-text-secondary)}.incoming-analysis-group__body{padding:0 16px 12px}.incoming-analysis-group__empty{color:var(--color-text-secondary);font:var(--type-caption)}.incoming-field-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:var(--border-w) solid var(--color-border-divider);flex-wrap:wrap}.incoming-field-row:last-child{border-bottom:none}.incoming-field-row__label{flex:0 0 auto;min-width:160px;font:var(--type-caption);color:var(--color-text-secondary)}.incoming-field-row__value{flex:1;min-width:0;text-align:left;background:none;border:none;font:var(--type-body);color:var(--color-text-primary);cursor:pointer;padding:0;overflow-wrap:anywhere}.incoming-field-row__value:disabled{cursor:default;color:var(--color-text-primary)}.incoming-field-row__input{flex:1;min-width:0;font:var(--type-body);border:var(--border-w) solid var(--color-border-interactive);background:var(--color-bg-default);color:var(--color-text-primary);padding:2px 6px}.incoming-field-row__confidence{font:var(--type-caption);color:var(--color-text-secondary)}.incoming-field-row__badge{font:var(--type-caption);color:var(--color-action-primary);border:var(--border-w) solid var(--color-action-primary);padding:1px 6px}.incoming-field-row--needs-review .incoming-field-row__label{color:var(--color-action-primary)}.incoming-field-row__quote-btn{font:var(--type-caption);background:none;border:var(--border-w) solid var(--color-border-divider);color:var(--color-text-secondary);padding:2px 8px;cursor:pointer}.incoming-field-row__quote-btn:hover{border-color:var(--color-action-hover-text);color:var(--color-action-hover-text)}.incoming-risks-panel{border:var(--border-w) solid var(--color-border-interactive);padding:16px}.incoming-risks-panel h2{font:var(--type-h2);margin:0 0 12px}.incoming-risks-empty{color:var(--color-text-secondary);font:var(--type-body)}.incoming-risks-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.incoming-risk-item{border-left:var(--border-w-emphasis) solid var(--color-border-divider);padding-left:12px}.incoming-risk-item[data-severity=critical]{border-left-color:var(--color-action-primary)}.incoming-risk-item[data-severity=significant]{border-left-color:var(--color-border-interactive)}.incoming-risk-item__header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.incoming-risk-item__code{font:var(--type-caption);letter-spacing:var(--tracking-caption);color:var(--color-text-secondary)}.incoming-risk-item__severity{font:var(--type-caption);text-transform:uppercase}.incoming-risk-item__category{font:var(--type-caption);color:var(--color-text-secondary);margin-left:auto}.incoming-risk-item__title{font:var(--type-body);font-weight:600;margin:0 0 4px}.incoming-risk-item__message{font:var(--type-body);margin:0 0 4px}.incoming-risk-item__suggestion{font:var(--type-caption);color:var(--color-text-secondary);margin:0 0 8px}.incoming-risk-item__quotes{display:flex;gap:8px;flex-wrap:wrap}.incoming-amounts-hidden-note{margin:0 0 12px;padding:8px 12px;border:var(--border-w) solid var(--color-border-divider);color:var(--color-text-secondary)}.model-run,.model-runs{border:var(--border-w) solid var(--color-border-interactive);padding:16px;margin-bottom:24px;min-width:0}.model-run h2,.model-runs h2{font:var(--type-h2);margin:0 0 12px}.model-run__models{border:var(--border-w) solid var(--color-border-divider);margin:0 0 12px;padding:8px 12px;min-width:0}.model-run__models legend{font:var(--type-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;color:var(--color-text-secondary);padding:0 6px}.model-run__model{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:6px 0;border-bottom:var(--border-w) solid var(--color-border-divider);font:var(--type-body)}.model-run__model:last-of-type{border-bottom:none}.model-run__model-price{font:var(--type-caption);color:var(--color-text-secondary)}.model-run__custom{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.model-run__custom input{flex:1 1 200px;min-width:0}.model-run__table{margin-top:12px}.model-run__table tfoot td{border-top:var(--border-w) solid var(--color-border-interactive);font-weight:500}.model-run__hint{font:var(--type-caption);color:var(--color-text-secondary);margin:8px 0}.model-run__error{font:var(--type-body);color:var(--color-action-primary);margin:8px 0}.model-run__confirm{border:var(--border-w-emphasis) solid var(--color-action-primary);padding:12px 16px;margin-top:12px}.model-run__confirm p{margin:0 0 8px;font:var(--type-body)}.model-run__progress{border-left:var(--border-w-emphasis) solid var(--color-action-primary);padding-left:12px;margin:12px 0 0;font:var(--type-body)}.model-run__notice{border:var(--border-w) solid var(--color-border-divider);padding:8px 12px;margin-top:12px;font:var(--type-body)}.model-run__notice p{margin:0}.model-run__notice ul{margin:8px 0 0;padding-left:20px;font:var(--type-caption);color:var(--color-text-secondary)}.model-run__notice--warn,.model-run__notice--error{border-color:var(--color-action-primary)}.runs-table td,.runs-table th{white-space:nowrap}.runs-table td.runs-table__cell--best{outline:var(--border-w-emphasis) solid var(--color-action-primary);outline-offset:-2px}.runs-table tr[data-current=true] td:first-child{border-left:var(--border-w-emphasis) solid var(--color-action-primary)}.runs-table__current{font:var(--type-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;color:var(--color-text-secondary)}@media(max-width:600px){.model-run,.model-runs{padding:12px}}.crm-list-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}.crm-list-toolbar__search{min-width:180px;flex:2 1 200px}.crm-list-toolbar__filter{flex:1 1 150px;min-width:140px;max-width:260px}.crm-list-toolbar .btn{min-height:var(--control-h)}.crm-role-badges{display:flex;flex-wrap:wrap;gap:4px}.crm-empty-inline{color:var(--color-text-secondary)}.crm-form{max-width:560px}.crm-role-badge{display:inline-flex;align-items:center;font:var(--type-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;border:var(--border-w) solid var(--color-border-interactive);padding:2px 6px;white-space:nowrap}.crm-role-checkboxes{display:flex;flex-wrap:wrap;gap:16px;padding-top:6px}.crm-role-checkboxes label{display:flex;align-items:center;gap:6px;font:var(--type-body);color:var(--color-text-primary)}.crm-pagination{display:flex;align-items:center;gap:12px;margin-top:16px;font:var(--type-body-sm);color:var(--color-text-secondary)}.crm-detail-header{margin-bottom:24px}.crm-detail-header h1{margin:0 0 4px}.crm-detail-meta{color:var(--color-text-secondary);font:var(--type-body-sm)}.crm-detail-actions{display:flex;gap:12px;margin-top:12px;flex-wrap:wrap}.crm-fields{display:grid;grid-template-columns:200px 1fr;gap:4px 12px;margin:0 0 24px;font:var(--type-body)}.crm-fields dt{color:var(--color-text-secondary);padding:6px 0}.crm-fields dd{margin:0;padding:6px 0;border-bottom:var(--border-w) solid var(--color-border-divider)}@media(max-width:600px){.crm-fields{grid-template-columns:minmax(0,1fr);gap:0}.crm-fields dt{padding-bottom:0}.crm-fields dd{padding-top:0}}.crm-delete-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:12px;border:var(--border-w) solid var(--color-action-primary);color:var(--color-action-primary);padding:8px 12px;margin-top:12px;font:var(--type-body-sm)}.crm-delete-confirm .btn{color:var(--color-action-primary);border-color:var(--color-action-primary)}.crm-delete-confirm .btn:hover:not(:disabled){color:var(--color-action-hover-text);border-color:var(--color-action-hover-text)}.crm-section{margin-bottom:32px}.crm-section h2{font:var(--type-h3);margin:0 0 12px}.crm-section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:12px}.crm-section-header h2{margin:0}.crm-cards{display:none}@media(max-width:640px){.crm-table-wrap>table{display:none}.crm-cards{display:flex;flex-direction:column}.crm-card{border-bottom:var(--border-w) solid var(--color-border-divider);padding:12px 0}.crm-card:first-child{border-top:var(--border-w) solid var(--color-border-divider)}.crm-card__title{font:var(--type-body);font-weight:600;margin-bottom:4px}.crm-card__title a{color:var(--color-text-primary);text-decoration:none}.crm-card__row{display:flex;justify-content:space-between;gap:12px;font:var(--type-body-sm);color:var(--color-text-secondary);padding:2px 0}.crm-card__row-value{color:var(--color-text-primary);text-align:right}}@media(min-width:641px){.crm-cards{display:none!important}}.crm-empty{padding:32px 0;color:var(--color-text-secondary);font:var(--type-body)}.crm-company-picker{position:relative}.crm-company-picker__results{position:absolute;left:0;right:0;top:100%;z-index:10;max-height:220px;overflow-y:auto;background:var(--color-bg-default);border:var(--border-w) solid var(--color-border-interactive)}.crm-company-picker__option{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:var(--border-w) solid var(--color-border-divider);padding:6px 8px;font:var(--type-body-sm);color:var(--color-text-primary);cursor:pointer}.crm-company-picker__option:last-child{border-bottom:none}.crm-company-picker__option:hover{color:var(--color-action-hover-text)}.crm-company-picker__selected{display:flex;align-items:center;justify-content:space-between;gap:8px;border:var(--border-w) solid var(--color-border-interactive);padding:6px 8px;min-height:var(--control-h)}.deals-view-toggle{display:flex;gap:8px;margin-bottom:16px}.deals-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,1fr);gap:12px;overflow-x:auto;padding-bottom:8px}@media(max-width:640px){.deals-board{display:none}}.deals-mobile-list{display:none}@media(max-width:640px){.deals-mobile-list{display:block}}.deals-board__column{border:var(--border-w) solid var(--color-border-divider);padding:8px;min-height:320px;display:flex;flex-direction:column;gap:8px}.deals-board__column--drag-over{border-color:var(--color-border-interactive);border-width:var(--border-w-emphasis)}.deals-board__column-header{display:flex;align-items:baseline;justify-content:space-between;font:var(--type-body-sm);font-weight:600;color:var(--color-text-primary)}.deals-board__column-count{color:var(--color-text-secondary);font-weight:400}.deals-board__column-sum{font:var(--type-mono-sm);font-variant-numeric:tabular-nums;color:var(--color-text-secondary);border-bottom:var(--border-w) solid var(--color-border-divider);padding-bottom:6px}.deals-board__column-body{display:flex;flex-direction:column;gap:8px}.deal-card{border:var(--border-w) solid var(--color-border-divider);padding:8px;cursor:grab;background:var(--color-bg-default)}.deal-card[draggable=false]{cursor:default}.deal-card__title{font:var(--type-body-sm);font-weight:600;margin-bottom:2px}.deal-card__title a{color:var(--color-text-primary);text-decoration:none}.deal-card__company{font:var(--type-caption);color:var(--color-text-secondary);margin-bottom:6px}.deal-card__row{display:flex;align-items:center;justify-content:space-between;gap:8px;font:var(--type-body-sm)}.deal-card__row--secondary{color:var(--color-text-secondary);font:var(--type-caption);margin-top:4px}.deal-card__amount{font-variant-numeric:tabular-nums;font-weight:600}.deal-card__date--overdue{color:var(--color-action-primary)}.deal-card__menu-wrap{position:relative}.deal-card__menu-trigger{background:none;border:var(--border-w) solid var(--color-border-interactive);min-width:24px;min-height:24px;line-height:1;cursor:pointer;color:var(--color-text-secondary)}.deal-card__menu-trigger:hover{color:var(--color-action-hover-text)}.deal-card__menu,.deals-mobile-stage-menu{position:fixed;z-index:30;min-width:180px;max-height:240px;overflow-y:auto;background:var(--color-bg-default);border:var(--border-w) solid var(--color-border-interactive)}.deals-mobile-stage-menu{position:static;margin-top:6px}.deal-card__menu button,.deals-mobile-stage-menu button{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:var(--border-w) solid var(--color-border-divider);padding:6px 8px;font:var(--type-body-sm);color:var(--color-text-primary);cursor:pointer}.deal-card__menu button:last-child,.deals-mobile-stage-menu button:last-child{border-bottom:none}.deal-card__menu button:hover,.deals-mobile-stage-menu button:hover{color:var(--color-action-hover-text)}.deals-mobile-group{margin-bottom:20px}.deals-mobile-group h3{font:var(--type-body);font-weight:600;margin:0 0 8px;display:flex;align-items:baseline;gap:6px}.deals-mobile-card{border-bottom:var(--border-w) solid var(--color-border-divider);padding:10px 0}.deals-mobile-card:first-child{border-top:var(--border-w) solid var(--color-border-divider)}.deal-lost-reason{border:var(--border-w) solid var(--color-action-primary);padding:12px;margin-bottom:16px}.deal-lost-reason p{margin:0 0 8px;font:var(--type-body-sm)}.deal-lost-reason textarea{width:100%;min-height:72px}.deal-activity-feed{display:flex;flex-direction:column;gap:0}.deal-activity{border-bottom:var(--border-w) solid var(--color-border-divider);padding:10px 0}.deal-activity:first-child{border-top:var(--border-w) solid var(--color-border-divider)}.deal-activity__meta{display:flex;justify-content:space-between;gap:8px;font:var(--type-caption);color:var(--color-text-secondary);margin-bottom:4px}.deal-activity__kind{font-weight:600;color:var(--color-text-primary)}.deal-activity__text{font:var(--type-body-sm);white-space:pre-wrap}.deal-participants{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none}.deal-participants li{display:inline-flex;align-items:center;gap:6px;border:var(--border-w) solid var(--color-border-divider);padding:2px 6px;font:var(--type-caption)}.deal-add-participant{margin-top:8px}.deal-add-participant__controls{display:flex;gap:8px}.sub-badge{display:inline-flex;align-items:center;font:var(--type-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;border:var(--border-w) solid var(--color-border-interactive);padding:2px 6px;white-space:nowrap}.sub-badge--muted{border-color:var(--color-border-divider);color:var(--color-text-secondary)}.sub-tags{display:flex;flex-wrap:wrap;gap:4px}.sub-spec-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:8px;margin-bottom:8px}@media(max-width:640px){.sub-spec-row{grid-template-columns:minmax(0,1fr)}}.sub-consent{border:var(--border-w) solid var(--color-border-divider);padding:12px;margin:12px 0}.sub-consent p{margin:0 0 8px;font:var(--type-body-sm);color:var(--color-text-secondary)}.sub-consent__row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.sub-note{font:var(--type-body-sm);color:var(--color-text-secondary);border-left:var(--border-w) solid var(--color-border-interactive);padding-left:12px;margin:12px 0}.sub-market-hint{display:block;font:var(--type-caption);color:var(--color-text-secondary);margin-top:4px;white-space:normal}.sub-price-hidden{color:var(--color-text-secondary)}.sub-price-input-note{font:var(--type-caption);color:var(--color-text-secondary);margin:4px 0 0}.sub-fieldset{border:var(--border-w) solid var(--color-border-divider);margin:12px 0;padding:12px}.sub-fieldset legend{font:var(--type-body-sm);color:var(--color-text-secondary);padding:0 4px}.auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:center;max-width:var(--layout-page-max);min-height:100vh;margin:0 auto;padding:48px var(--layout-page-px)}.auth-layout__brand{padding-right:64px}.auth-layout__brand img{display:block;width:100%;max-width:440px;height:auto;margin:0 auto;-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 6%,#000 94%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 6%,#000 94%,transparent);mask-composite:intersect}.auth-layout .auth-page{padding:24px 0 24px 64px;border-left:var(--border-w) solid var(--color-border-divider)}@media(max-width:760px){.auth-layout{grid-template-columns:minmax(0,1fr);align-items:start;min-height:0;padding-top:24px}.auth-layout__brand{padding:0 0 24px}.auth-layout__brand img{max-width:240px}.auth-layout .auth-page{padding:24px 0 0;border-left:none;border-top:var(--border-w) solid var(--color-border-divider)}}.auth-page h1{font:var(--type-h1);margin:0 0 24px}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form .form-row{grid-template-columns:1fr;gap:4px}.auth-form .form-row label{padding-top:0}.auth-links{margin-top:16px;font:var(--type-body-sm)}.auth-links a{color:var(--color-text-secondary)}.auth-links a:hover{color:var(--color-action-hover-text)}.documents-title-cell{min-width:240px}.documents-section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:12px}.documents-section-header h2{font:var(--type-h3);margin:0}.documents-search{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.documents-search input[type=text]{flex:1;font:var(--type-body);background:transparent;border:var(--border-w) solid var(--color-border-interactive);padding:8px 12px;color:var(--color-text-primary)}.documents-create-form{margin-bottom:16px;padding-bottom:16px;border-bottom:var(--border-w) solid var(--color-border-divider)}.btn-link{background:none;border:none;padding:0;font:var(--type-body);color:var(--color-text-primary);text-decoration:underline;cursor:pointer}.btn-link:hover{color:var(--color-action-hover-text)}.data-class-badge{font:var(--type-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;border:var(--border-w) solid var(--color-border-divider);color:var(--color-text-secondary);padding:2px 8px}.data-class-badge--p2,.data-class-badge--p3{border-color:var(--color-action-primary);color:var(--color-action-primary)}.documents-details{padding:16px;border:var(--border-w) solid var(--color-border-divider)}.documents-details h4{font:var(--type-body);text-transform:uppercase;letter-spacing:var(--tracking-caption);color:var(--color-text-secondary);margin:16px 0 8px}.documents-details h4:first-child{margin-top:0}.documents-details__upload{margin-bottom:8px}.documents-upload-label{display:inline-block}.documents-access-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:4px}.tasks-filters{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.tasks-filters label{display:flex;flex-direction:column;gap:4px;min-width:0;max-width:260px;font:var(--type-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;color:var(--color-text-secondary)}.tasks-filters select{font:var(--type-body);background:transparent;border:var(--border-w) solid var(--color-border-interactive);padding:6px 8px;color:var(--color-text-primary);text-transform:none;letter-spacing:normal;max-width:100%}.tasks-status-buttons{display:flex;gap:8px;flex-wrap:wrap}.tasks-title-cell{min-width:240px}.tasks-assignee-select{width:100%;max-width:220px}.tasks-project-cell{max-width:220px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tasks-detail-fields{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:0 0 16px}.tasks-detail-fields dt{font:var(--type-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;color:var(--color-text-secondary)}.tasks-detail-fields dd{margin:0;font:var(--type-body)}.tasks-detail-person{display:flex;align-items:center;gap:6px}.tasks-comments-list{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:12px}.tasks-comments-list li{border:var(--border-w) solid var(--color-border-divider);padding:12px}.tasks-comment-meta{display:flex;justify-content:space-between;font:var(--type-caption);color:var(--color-text-secondary);margin-bottom:4px}.tasks-comment-meta__author{display:flex;align-items:center;gap:6px}.tasks-comment-form{display:flex;flex-direction:column;gap:8px}.tasks-comment-form textarea{font:var(--type-body);background:transparent;border:var(--border-w) solid var(--color-border-interactive);padding:8px 12px;color:var(--color-text-primary);resize:vertical}.notifications-page__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border-bottom:var(--border-w) solid var(--color-border-interactive);padding-bottom:16px;margin-bottom:24px}.notifications-page__header h1{margin:0}.notifications-bell{position:relative}.notifications-bell__button{position:relative;background:transparent;border:none;cursor:pointer;padding:4px 8px;color:var(--color-text-primary)}.notifications-bell__badge{position:absolute;top:0;right:0}.notifications-bell__dropdown{position:absolute;right:0;top:100%;margin-top:8px;width:min(320px,calc(100vw - 32px));max-height:400px;overflow-y:auto;background:var(--color-bg-default);border:var(--border-w) solid var(--color-border-interactive);z-index:20}@media(max-width:600px){.notifications-bell__dropdown{position:fixed;top:var(--layout-header-h);left:var(--layout-page-px);right:var(--layout-page-px);width:auto;margin-top:0;max-height:calc(100vh - var(--layout-header-h) - 16px)}}.notifications-bell__empty{padding:12px;color:var(--color-text-secondary);font:var(--type-body)}.notifications-bell__list{list-style:none;margin:0;padding:0}.notifications-bell__item{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;background:transparent;border:none;border-left:var(--border-w-emphasis) solid transparent;border-bottom:var(--border-w) solid var(--color-border-divider);padding:10px 12px;cursor:pointer;color:var(--color-text-primary)}.notifications-bell__item--unread{border-left-color:var(--color-action-primary)}.notifications-bell__item--unread .notifications-bell__item-title{font-weight:700}.notifications-bell__item-title{font:var(--type-body);font-weight:600}.notifications-bell__item-body{font:var(--type-caption);color:var(--color-text-secondary)}.notifications-bell__all-link{display:block;padding:10px 12px;font:var(--type-caption);text-transform:uppercase;letter-spacing:var(--tracking-caption);text-align:center}.notifications-page__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.notifications-page__list li{border-bottom:var(--border-w) solid var(--color-border-divider)}.notifications-page__item{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;background:transparent;border:none;padding:12px 4px;cursor:pointer;color:var(--color-text-primary)}.notifications-page__item-row{display:flex;justify-content:space-between;gap:16px}.notifications-page__item-kind{font:var(--type-caption);text-transform:uppercase;letter-spacing:var(--tracking-caption);color:var(--color-text-secondary)}.notifications-page__item-title{font:var(--type-body);font-weight:600}.notifications-page__item-date{font:var(--type-caption);text-transform:none;letter-spacing:normal;color:var(--color-text-secondary)}.notifications-page__item-body{font:var(--type-caption);color:var(--color-text-secondary)}.notifications-page__item--unread .notifications-page__item-title{font-weight:700}.notifications-settings{display:flex;flex-direction:column;align-items:flex-start;gap:16px;max-width:640px}.notifications-settings table{align-self:stretch}.notifications-settings table td{text-align:center}.notifications-settings table td:first-child{text-align:left}.notifications-settings__due-soon{display:flex;align-items:center;gap:8px;font:var(--type-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;color:var(--color-text-secondary)}.notifications-settings__due-soon input{width:80px;text-transform:none;letter-spacing:normal}.calendar-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px}.calendar-toolbar__nav{display:flex;align-items:center;gap:8px}.calendar-toolbar__title{font:var(--type-h3);min-width:180px;text-align:center}@media(max-width:480px){.calendar-toolbar__nav{flex-wrap:wrap}.calendar-toolbar__title{min-width:0}}.calendar-toolbar__views{display:flex;gap:4px}.calendar-toolbar__actions{display:flex;align-items:center;gap:12px;margin-left:auto}.calendar-grid-scroll{overflow-x:auto}.calendar-grid{border-top:var(--border-w) solid var(--color-border-interactive);border-left:var(--border-w) solid var(--color-border-interactive);min-width:560px}.calendar-grid__weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-grid__weekday{padding:6px 8px;font:var(--type-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;color:var(--color-text-secondary);border-right:var(--border-w) solid var(--color-border-interactive);border-bottom:var(--border-w) solid var(--color-border-interactive)}.calendar-grid__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-grid--week .calendar-grid__days{grid-template-rows:minmax(160px,auto)}.calendar-grid--month .calendar-grid__days{grid-template-rows:repeat(6,minmax(96px,auto))}.calendar-grid__day{border-right:var(--border-w) solid var(--color-border-interactive);border-bottom:var(--border-w) solid var(--color-border-interactive);padding:4px;display:flex;flex-direction:column;gap:4px;min-height:96px;min-width:0}.calendar-grid__day--muted,.calendar-grid__day--muted .calendar-grid__day-number{color:var(--color-text-secondary)}.calendar-grid__day--today .calendar-grid__day-number{font-weight:600;color:var(--color-action-primary)}.calendar-grid__day-number{font:var(--type-caption)}.calendar-grid__day-items{display:flex;flex-direction:column;gap:2px;overflow:hidden;min-width:0}.calendar-item{display:block;width:100%;min-width:0;text-align:left;font:var(--type-caption);padding:2px 4px;border:none;border-left:var(--border-w-emphasis) solid var(--color-border-interactive);background:transparent;color:var(--color-text-primary);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-item--event{border-left-color:var(--color-action-primary)}.calendar-item--milestone{border-left-color:var(--color-text-secondary)}.calendar-item--task{border-left-color:var(--color-border-divider)}.calendar-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.calendar-detail-card{background:var(--color-bg-default);border:var(--border-w) solid var(--color-border-interactive);padding:24px;max-width:min(480px,calc(100vw - 32px));width:100%;max-height:calc(100vh - 32px);overflow-y:auto}.calendar-detail-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.calendar-event-form{border:var(--border-w) solid var(--color-border-divider);padding:16px;margin-bottom:16px}.calendar-participants-list{display:flex;flex-direction:column;gap:4px;max-height:160px;overflow-y:auto}.calendar-participant-checkbox{display:flex;align-items:center;gap:8px;font:var(--type-body);text-transform:none}.calendar-ics-subscribe{display:flex;flex-direction:column;gap:8px}.calendar-ics-url-row{display:flex;flex-wrap:wrap;gap:8px}.calendar-ics-url-row input{flex:1 1 200px;min-width:0}.finance-section{margin-bottom:32px}.finance-hidden-note{margin:0 0 16px;padding:8px 12px;border:var(--border-w) solid var(--color-border-divider);color:var(--color-text-secondary, inherit)}.amount-hidden{cursor:help}.finance-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px 24px;margin-bottom:16px;padding-bottom:16px;border-bottom:var(--border-w) solid var(--color-border-divider)}.finance-summary-cell{display:flex;flex-direction:column;gap:2px}.finance-summary-cell__label{font:var(--type-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;color:var(--color-text-secondary)}.finance-summary-cell__value{font:var(--type-h3);font-variant-numeric:tabular-nums;white-space:nowrap}.finance-summary-cell__hint{font:var(--type-caption);color:var(--color-text-secondary)}.finance-warnings{margin:12px 0}.finance-warning{border:var(--border-w) solid var(--color-action-primary);color:var(--color-action-primary);font:var(--type-body-sm);padding:8px 12px;margin:0 0 8px}.finance-inline-form{max-width:560px;border:var(--border-w) solid var(--color-border-divider);padding:12px;margin:0 0 16px}.finance-radio-row,.finance-checkbox-row{display:flex;flex-wrap:wrap;gap:16px}.finance-radio-row label,.finance-checkbox-row label{display:flex;align-items:center;gap:6px;font:var(--type-body);color:var(--color-text-primary)}.finance-table td.cell-nowrap,.finance-table th{font-variant-numeric:tabular-nums}.finance-percent-hint{color:var(--color-text-secondary);font:var(--type-caption)}.finance-badge{display:inline-flex;align-items:center;font:var(--type-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;border:var(--border-w) solid var(--color-border-interactive);padding:2px 6px;white-space:nowrap}.finance-badge--pending{color:var(--color-text-secondary);border-color:var(--color-border-divider)}.finance-badge--due-soon{color:var(--color-text-primary);border-color:var(--color-border-interactive)}.finance-badge--overdue{color:var(--color-action-primary);border-color:var(--color-action-primary)}.finance-badge--paid{color:var(--color-text-primary);border-color:var(--color-text-primary)}.finance-badge--partial{color:var(--color-text-secondary);border-color:var(--color-border-interactive)}.finance-ai-suggestions{border:var(--border-w) solid var(--color-border-divider);padding:12px;margin:0 0 16px}.finance-ai-suggestions h4{margin:0 0 8px;font:var(--type-body-sm);color:var(--color-text-secondary)}.finance-ai-suggestions__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.finance-ai-suggestions__item{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font:var(--type-body-sm)}.finance-cards{display:none}@media(max-width:640px){.finance-table{display:none}.finance-cards{display:flex;flex-direction:column}.finance-card{border-bottom:var(--border-w) solid var(--color-border-divider);padding:12px 0}.finance-card:first-child{border-top:var(--border-w) solid var(--color-border-divider)}.finance-card__title{font:var(--type-body);font-weight:600;margin-bottom:4px}.finance-card__row{display:flex;justify-content:space-between;gap:12px;font:var(--type-body-sm);color:var(--color-text-secondary);padding:2px 0}.finance-card__row-value{color:var(--color-text-primary);text-align:right;font-variant-numeric:tabular-nums}.finance-card__actions{display:flex;gap:8px;margin-top:8px}.finance-summary-grid{grid-template-columns:1fr 1fr}}.finance-overview-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px 24px;margin-bottom:16px;padding-bottom:16px;border-bottom:var(--border-w) solid var(--color-border-divider)}.finance-overview-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.finance-overview-filters .btn[aria-pressed=true]{border-width:2px}.finance-overview-row--overdue td:first-child{border-left:var(--border-w) solid var(--color-action-primary)}.messenger-layout{display:grid;grid-template-columns:320px 1fr;gap:0;border:var(--border-w) solid var(--color-border-interactive);min-height:60vh;max-width:100%}.messenger-chat-list{border-right:var(--border-w) solid var(--color-border-interactive);display:flex;flex-direction:column;min-height:0;min-width:0}.messenger-chat-list__toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border-bottom:var(--border-w) solid var(--color-border-interactive)}.messenger-chat-list__toolbar input{flex:1 1 160px;min-width:0}@media(max-width:720px){.messenger-layout{grid-template-columns:1fr}.messenger-chat-list{border-right:none;border-bottom:var(--border-w) solid var(--color-border-interactive)}.messenger-layout--chat-open .messenger-chat-list{display:none}.messenger-layout:not(.messenger-layout--chat-open) .messenger-thread-pane{display:none}}.messenger-back-link{display:none;padding:8px 16px;font:var(--type-body-sm);border-bottom:var(--border-w) solid var(--color-border-interactive)}@media(max-width:720px){.messenger-back-link{display:block}}.messenger-chat-list__items{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.messenger-chat-list__item{width:100%;min-width:0;text-align:left;padding:10px 12px;border:none;border-left:var(--border-w-emphasis) solid transparent;border-bottom:var(--border-w) solid var(--color-border-interactive);background:transparent;cursor:pointer;display:flex;align-items:center;gap:8px}.messenger-chat-list__item-body{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:2px}.messenger-chat-list__item--active{border-left-color:var(--color-action-primary);color:var(--color-text-primary)}.messenger-chat-list__title{display:flex;align-items:center;justify-content:space-between;gap:8px;font:var(--type-body);font-weight:600}.messenger-chat-list__preview{font:var(--type-caption);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messenger-mention{font-weight:600;color:var(--color-action-primary)}.messenger-new-chat{padding:12px;border-bottom:var(--border-w) solid var(--color-border-interactive);display:flex;flex-direction:column;gap:8px}.messenger-new-chat__label{font:var(--type-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;color:var(--color-text-secondary);margin:4px 0 0}.messenger-new-chat__staff-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:160px;overflow-y:auto}.messenger-new-chat__staff-list .btn{max-width:100%;white-space:normal;text-align:left;justify-content:flex-start}.messenger-new-chat__checkbox{display:flex;align-items:center;gap:6px;font:var(--type-body)}.messenger-thread-pane{display:flex;flex-direction:column;min-height:0}.messenger-empty{color:var(--color-text-secondary);font:var(--type-body)}.messenger-empty--list{padding:16px 12px}.messenger-empty--thread{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center}.messenger-empty--thread p{margin:0}.messenger-thread{display:flex;flex-direction:column;height:100%;min-height:0}.messenger-thread__header{padding:12px 16px;border-bottom:var(--border-w) solid var(--color-border-interactive)}.messenger-thread__header h2{margin:0;font:var(--type-body);font-weight:600}.messenger-thread__list{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:4px}.messenger-thread__day-separator{text-align:center;font:var(--type-caption);color:var(--color-text-secondary);margin:12px 0 8px}.messenger-message{padding:8px 0;border-bottom:var(--border-w) solid var(--color-border-interactive)}.messenger-message--own{text-align:right}.messenger-message__meta{display:flex;align-items:center;gap:8px;font:var(--type-caption);color:var(--color-text-secondary);justify-content:flex-start}.messenger-message--own .messenger-message__meta{justify-content:flex-end}.messenger-message__edited{font-style:italic}.messenger-message__body{margin:4px 0;white-space:pre-wrap;overflow-wrap:anywhere}.messenger-message__deleted{margin:4px 0;font-style:italic;color:var(--color-text-secondary)}.messenger-message__attachments{list-style:none;margin:4px 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.messenger-message__actions{display:flex;gap:8px;justify-content:flex-start}.messenger-message--own .messenger-message__actions{justify-content:flex-end}.messenger-reply-preview{display:flex;align-items:center;gap:8px;padding:6px 16px;border-top:var(--border-w) solid var(--color-border-interactive);font:var(--type-caption);color:var(--color-text-secondary)}.messenger-composer{position:relative;border-top:var(--border-w) solid var(--color-border-interactive);padding:12px 16px;display:flex;gap:8px;align-items:flex-end;max-width:100%}.messenger-composer textarea{flex:1;min-width:0;resize:vertical}.messenger-mention-dropdown{position:absolute;bottom:100%;left:16px;right:16px;list-style:none;margin:0 0 4px;padding:0;border:var(--border-w) solid var(--color-border-interactive);background:var(--color-bg-default);max-height:200px;overflow-y:auto;z-index:10}.messenger-mention-dropdown button{display:block;width:100%;text-align:left;padding:6px 10px;border:none;background:transparent;cursor:pointer;font:var(--type-body)}.messenger-mention-dropdown button:hover{color:var(--color-action-hover-text)}.messenger-mention-dropdown button.messenger-mention-dropdown__item{display:flex;align-items:center;gap:8px}.messenger-mention-dropdown__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messenger-mention-dropdown__position{flex:none;margin-left:auto;font:var(--type-caption);color:var(--color-text-secondary)}.messenger-discuss{display:inline-flex;align-items:center;gap:8px}.users-table tbody td{vertical-align:middle;padding-top:12px;padding-bottom:12px}.users-table-scroll{max-width:100%;overflow-x:auto}.users-table td:first-child{min-width:260px}.users-table td.users-table__roles{min-width:200px}.users-table__email{color:var(--color-text-secondary);font:var(--type-body-sm);overflow-wrap:anywhere}.users-table__employee{display:flex;align-items:flex-start;gap:8px}.users-table__employee-info{min-width:0;flex:1 1 auto}.users-table__position{color:var(--color-text-secondary);font:var(--type-body-sm)}.users-table__position-edit{display:block;margin-top:2px}.users-position-form{display:flex;align-items:center;gap:6px;margin-top:4px;flex-wrap:wrap}.users-position-form input{min-width:0;flex:1 1 140px}.users-role-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.users-role-list__item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:var(--control-h-sm)}.users-role-list__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:var(--type-body-sm)}.users-grant-form{display:grid;grid-template-columns:minmax(140px,160px) minmax(120px,190px) auto;gap:8px;align-items:center}.users-grant-form select{width:100%;min-width:0}.users-grant-form .btn{min-height:var(--control-h)}.users-invite-form{max-width:480px;margin-bottom:32px}.users-invite-form__title{font:var(--type-h3);margin:0}.users-invite-form__hint{margin:4px 0 0;font:var(--type-body-sm);color:var(--color-text-secondary)}.users-actions{display:flex;flex-direction:column;gap:4px;min-width:110px}.audit-filters{margin-bottom:24px}.audit-filters__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.audit-filters__field{display:flex;flex-direction:column;gap:4px;min-width:0}.audit-filters__field select,.audit-filters__field input{width:100%;min-width:0}.audit-filters__field label{font:var(--type-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;color:var(--color-text-secondary)}.audit-filters__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.audit-pagination{display:flex;gap:8px;align-items:center;margin-top:12px;font:var(--type-body-sm)}@media(max-width:600px){.audit-filters__grid{grid-template-columns:1fr}}.integration-lead{max-width:720px;color:var(--color-text-secondary);font:var(--type-body-sm);margin:0 0 24px}.integration-card{border:var(--border-w) solid var(--color-border-divider);padding:20px 24px;margin:0 0 24px}.integration-card h2{margin:0 0 16px}.integration-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin-bottom:12px}.integration-field{display:flex;flex-direction:column;gap:4px;min-width:0}.integration-field label{font:var(--type-caption);letter-spacing:var(--tracking-caption);text-transform:uppercase;color:var(--color-text-secondary)}.integration-field input,.integration-field select{width:100%;min-width:0}.integration-hint{margin:0;color:var(--color-text-secondary);font:var(--type-body-sm);overflow-wrap:anywhere}.integration-error{grid-column:auto;margin-top:0}.integration-actions{margin-top:12px;margin-bottom:12px}.integration-checks{list-style:none;margin:16px 0 0;padding:0;border-top:var(--border-w) solid var(--color-border-divider)}.integration-checks li{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:4px 16px;padding:10px 0;border-bottom:var(--border-w) solid var(--color-border-divider);font:var(--type-body-sm)}.integration-checks__name{color:var(--color-text-primary)}.integration-status{color:var(--color-text-secondary);overflow-wrap:anywhere}.integration-status--ok{color:var(--color-text-primary)}.integration-status--ok:before{content:"✓ "}.integration-status--error{color:var(--color-action-primary)}.integration-status--error:before{content:"✕ "}@media(max-width:720px){.integration-card{padding:16px}.integration-fields,.integration-checks li{grid-template-columns:1fr}}.home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}@media(max-width:720px){.home-grid{grid-template-columns:minmax(0,1fr)}}.home-card{border:var(--border-w) solid var(--color-border-interactive);padding:16px}.home-card__header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.home-card__header h2{font:var(--type-h3);margin:0}.home-card__header a{font:var(--type-body-sm)}.home-card__footer{margin-top:12px}.home-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.home-list__item{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:var(--border-w) solid var(--color-border-divider)}.home-list__item:last-child{border-bottom:none;padding-bottom:0}.home-list__item--overdue{border:var(--border-w-emphasis) solid var(--color-action-primary);padding:8px;margin:4px 0}.home-list__title{font:var(--type-body)}.home-list__meta{font:var(--type-body-sm);color:var(--color-text-secondary)}.home-empty-hint>*+*{margin-top:12px}.profile-section{max-width:420px;border-bottom:var(--border-w) solid var(--color-border-divider);padding-bottom:24px;margin-bottom:24px}.profile-section:last-child{border-bottom:none;padding-bottom:0}.profile-section h2{font:var(--type-h3);margin:0 0 12px}.profile-avatar-row{display:flex;align-items:center;gap:16px}.profile-avatar-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.profile-position{margin:16px 0 0;font:var(--type-body-sm)}.profile-position__hint{color:var(--color-text-secondary)}.status-page{max-width:640px;margin:0 auto;padding:48px var(--layout-page-px)}.status-page__title{font:var(--type-display);letter-spacing:var(--tracking-display);text-transform:uppercase;margin:0}.status-page__subtitle{font:var(--type-body-lg);color:var(--color-text-secondary);margin-top:8px;margin-bottom:32px}.status-card{border:var(--border-w) solid var(--color-border-interactive);padding:24px}.status-card h2{font:var(--type-h3);margin:0 0 16px}.status-card__row{display:grid;grid-template-columns:1fr auto;border-bottom:var(--border-w) solid var(--color-border-divider);padding-bottom:4px}.status-card__list{margin:0;display:grid;row-gap:8px}.status-card__label{font:var(--type-body);color:var(--color-text-secondary)}.status-card__value{font:var(--type-mono);margin:0}:root{--color-bg-default:#F5F4F1;--color-bg-surface:#FFFFFF;--color-text-primary:#1F2328;--color-text-secondary:#6B6F76;--color-text-disabled:#A7A7A7;--color-border-default:#D1D0CC;--color-action-primary:#A05C0F;--color-brand-warm:#F6B36B;--color-brand-concrete:#A7A7A7;--color-focus:#A05C0F}[data-theme=dark]{--color-bg-default:#2B3036;--color-bg-surface:#1F2328;--color-text-primary:#F5F4F1;--color-text-secondary:#A4A9AF;--color-border-default:#6B737D;--color-action-primary:#F6B36B;--color-focus:#F6B36B}:root{--font-display:"Inter Display",Inter,system-ui,sans-serif;--font-ui:Inter,system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;--type-display:600 32px/38px var(--font-display);--tracking-display:-.02em;--type-h1:600 24px/30px var(--font-display);--tracking-h1:-.015em;--type-h2:600 19px/26px var(--font-display);--tracking-h2:-.01em;--type-h3:600 16px/22px var(--font-ui);--tracking-h3:-.005em;--type-h4:600 14px/20px var(--font-ui);--type-body-lg:400 15px/22px var(--font-ui);--type-body:400 13px/19px var(--font-ui);--type-body-sm:400 12px/17px var(--font-ui);--type-caption:500 11px/15px var(--font-ui);--tracking-caption:.04em;--type-mono:400 12px/18px var(--font-mono);--type-mono-sm:400 11px/16px var(--font-mono);--table-row-h:32px;--table-row-h-relaxed:40px;--table-header-h:28px;--table-cell-px:10px;--color-border-interactive:#858A90;--color-border-divider:#D1D0CC;--border-w:1px;--border-w-emphasis:2px;--color-action-hover-text:#8D500D;--color-action-hover-fill:#B96C18;--color-action-pressed:#7A4409}[data-theme=dark]{--color-border-interactive:#757D87;--color-border-divider:#454C54;--color-action-hover-text:#F6B36B}@font-face{font-family:Inter;src:url(/assets/InterVariable-DEKF4JyX.ttf) format("truetype-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Inter Display;src:url(/assets/InterDisplay-Medium-DqnrzZx6.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg-default);color:var(--color-text-primary);font:var(--type-body);min-height:100vh}#root{min-height:100vh}
