/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.border-collapse{border-collapse:collapse}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow\/SGMD{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#171a1d;--ink-2:#22262a;--paper:#f4f3ef;--panel:#fff;--line:#deded9;--line-soft:#ebeae5;--muted:#747771;--accent:#d96532;--accent-soft:#fae9df;--success:#2f775a;--success-soft:#e7f2ec;--warning:#98651d;--warning-soft:#f7ecd7;--danger:#b5473e;--danger-soft:#f8e6e4;--shadow:0 14px 40px #13161812}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--paper);color:var(--ink);text-rendering:optimizelegibility;margin:0;font-family:Aptos,Inter,Segoe UI,Arial,sans-serif}.feeflow-shell{gap:20px;min-width:0;display:grid}.ff-toolbar{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:14px;min-width:0;padding:8px;display:flex;box-shadow:0 7px 24px #14181b0a}.ff-tabs{flex:1;gap:4px;min-width:0;display:flex;overflow-x:auto}.ff-tabs button{color:#696d69;cursor:pointer;background:0 0;border:0;border-radius:5px;flex:none;min-height:39px;padding:0 15px;font-size:13px;font-weight:700}.ff-tabs button:hover{color:var(--ink);background:#f3f2ee}.ff-tabs button.active{background:var(--ink);color:#fff}.ff-toolbar>select{border:1px solid var(--line);min-width:132px;height:39px;color:var(--ink);background:#fff;border-radius:5px;padding:0 30px 0 11px;font-size:12px;font-weight:700}.ff-loading{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.ff-loading span{background:linear-gradient(90deg,#e9e8e3,#f5f4f0,#e9e8e3) 0 0/200% 100%;border-radius:7px;height:150px;animation:1.4s infinite ff-shimmer}@keyframes ff-shimmer{to{background-position:-200% 0}}.ff-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.ff-kpi-grid article{border:1px solid var(--line);background:#fff;border-radius:7px;min-height:128px;padding:20px;position:relative;overflow:hidden;box-shadow:0 8px 24px #14181b0b}.ff-kpi-grid article:after{content:"";background:#718e80;height:3px;position:absolute;inset:auto 0 0}.ff-kpi-grid article:nth-child(2):after{background:#4a7690}.ff-kpi-grid article:nth-child(3):after{background:var(--accent)}.ff-kpi-grid article:nth-child(4):after{background:#8d7359}.ff-kpi-grid article:nth-child(5):after{background:#6d5f91}.ff-kpi-grid article>span,.ff-card>span,.ff-eyebrow{color:#858984;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:850;display:block}.ff-kpi-grid article>strong{letter-spacing:-.045em;margin-top:14px;font-size:clamp(22px,2vw,30px);font-weight:620;display:block}.ff-kpi-grid article>small{color:#7c807c;margin-top:8px;font-size:11px;line-height:1.4;display:block}.ff-kpi-four{grid-template-columns:repeat(4,minmax(0,1fr))}.ff-card{border:1px solid var(--line);background:#fff;border-radius:7px;min-width:0;padding:24px;box-shadow:0 8px 25px #14181b0b}.ff-card-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.ff-card-head span,.ff-stage-heading span,.ff-dialog-head span{color:var(--accent);letter-spacing:.15em;font-size:10px;font-weight:850}.ff-card-head h2,.ff-target-card h2{letter-spacing:-.035em;margin:6px 0 0;font-size:21px;font-weight:650}.ff-card-head p{color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.5}.ff-overview,.ff-overview-grid{gap:16px;display:grid}.ff-overview-grid{grid-template-columns:minmax(0,2fr) minmax(290px,.8fr)}.ff-chart-card{min-height:390px}.ff-legend{color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.ff-legend i{background:#334b5a;width:9px;height:9px;margin-left:8px}.ff-bars{border-bottom:1px solid var(--line);background:repeating-linear-gradient(#0000 0 54px,#eeede9 55px);grid-template-columns:repeat(12,minmax(20px,1fr));align-items:end;gap:8px;height:275px;padding-top:20px;display:grid;position:relative}.ff-bar{place-items:end center;gap:8px;height:100%;display:grid}.ff-bar-stack{border-radius:3px 3px 0 0;flex-direction:column;justify-content:flex-end;width:min(30px,70%);min-height:4px;display:flex;overflow:hidden}.ff-bar-stack i{background:#334b5a;min-height:1px;display:block}.ff-bar>span{color:#7a7e79;font-size:10px}.ff-target-card{padding:28px}.ff-target-card>span{color:var(--accent)}.ff-target-card>p{color:var(--muted);margin:10px 0 24px;font-size:12px}.ff-target-track{background:#e8e7e2;border-radius:10px;height:9px;margin-top:24px;overflow:hidden}.ff-target-track i{background:var(--accent);height:100%;display:block}.ff-target-card form{gap:8px;margin-bottom:24px;display:flex}.ff-target-card form input{border:1px solid var(--line);width:100%;min-width:0;height:38px;padding:0 10px}.ff-target-card form button{background:var(--ink);color:#fff;border:0;border-radius:3px;padding:0 12px;font-size:11px;font-weight:750}.ff-target-card dl{border-top:1px solid var(--line-soft);gap:12px;margin:0;padding-top:20px;display:grid}.ff-target-card dl div{justify-content:space-between;gap:12px;font-size:12px;display:flex}.ff-target-card dt{color:var(--muted)}.ff-target-card dd{margin:0;font-weight:750}.ff-project-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:16px;display:grid}.ff-project-list{border:1px solid var(--line);background:#fff;border-radius:7px;max-height:calc(100vh - 130px);display:grid;position:sticky;top:90px;overflow-y:auto}.ff-project-list>span{color:#8b8f8a;letter-spacing:.13em;padding:17px 16px 11px;font-size:10px;font-weight:850}.ff-project-list button{border:0;border-top:1px solid var(--line-soft);cursor:pointer;text-align:left;background:0 0;gap:3px;padding:13px 16px;display:grid}.ff-project-list button:hover{background:#f7f6f2}.ff-project-list button.active{border-left:3px solid var(--accent);background:var(--accent-soft)}.ff-project-list button strong{color:var(--accent);letter-spacing:.05em;font-size:10px}.ff-project-list button span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:720;overflow:hidden}.ff-project-list button small{color:var(--muted);font-size:10px}.ff-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 15px;display:grid}.ff-shared-project{border-block:1px solid var(--line);background:#faf8f4;margin:0 -24px 22px;padding:20px 24px 23px}.ff-shared-heading{align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.ff-shared-heading span{color:var(--accent);letter-spacing:.14em;font-size:10px;font-weight:850}.ff-shared-heading strong{color:#858984;font-size:10px;font-weight:600}.ff-commercial-heading{margin:2px 0 14px}.ff-form-grid label{color:#696d68;letter-spacing:.025em;gap:6px;font-size:10px;font-weight:750;display:grid}.ff-form-grid label.span-two{grid-column:span 2}.ff-form-grid input,.ff-form-grid select,.ff-form-grid textarea,.ff-stage-fields input,.ff-stage-fields select{width:100%;min-height:39px;color:var(--ink);background:#fff;border:1px solid #d8d8d3;border-radius:3px;padding:8px 10px;font-size:12px;font-weight:500}.ff-stage-heading{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;margin:27px -24px 0;padding:20px 24px 13px;display:flex}.ff-stage-heading h3{margin:5px 0 0;font-size:16px}.ff-stage-heading p{max-width:720px;color:var(--muted);margin:5px 0 0;font-size:10px;line-height:1.5}.ff-stage-heading button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:3px;min-height:35px;padding:0 12px;font-size:11px;font-weight:750}.ff-stage-list{gap:10px;display:grid}.ff-stage-card{border:1px solid var(--line);background:#fafaf7;border-left:3px solid #798d82;border-radius:4px;grid-template-columns:54px minmax(0,1fr) 52px;align-items:center;gap:12px;padding:14px;display:grid}.ff-stage-order{justify-items:center;gap:7px;display:grid}.ff-stage-order>strong{color:var(--accent);letter-spacing:.08em;font-size:12px}.ff-stage-order>span{grid-template-columns:1fr 1fr;gap:3px;display:grid}.ff-stage-order button{border:1px solid var(--line);cursor:pointer;background:#fff;width:22px;height:27px;padding:0}.ff-stage-order button:disabled{cursor:default;opacity:.3}.ff-stage-fields{grid-template-columns:minmax(180px,1.35fr) repeat(2,minmax(130px,.85fr)) minmax(86px,.55fr) minmax(90px,.55fr) minmax(118px,.75fr) minmax(115px,.75fr);align-items:end;gap:8px;display:grid}.ff-stage-fields label{color:#747873;gap:4px;font-size:9px;font-weight:720;display:grid}.ff-stage-fields .ff-stage-name input{font-weight:750}.ff-stage-fields input.ff-readonly{color:#666b66;background:#f1f0ec}.ff-stage-fields input.invalid{background:#fff5f3;border-color:#b94b43}.ff-stage-error{color:#a9433d;grid-column:2/-1;font-size:10px;font-weight:750}.ff-delete{color:var(--danger);cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:750}.ff-actuals-wrap{width:100%;overflow-x:auto}.ff-actuals-table{border-collapse:separate;border-spacing:0;min-width:1450px}.ff-actuals-table th,.ff-actuals-table td{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);text-align:right;min-width:88px;padding:7px}.ff-actuals-table thead th{color:#6f736e;letter-spacing:.04em;text-align:center;background:#f1f0ec;font-size:9px;position:sticky;top:0}.ff-actuals-table th:first-child{z-index:2;text-align:left;background:#fff;min-width:190px;position:sticky;left:0}.ff-actuals-table tbody th{display:grid}.ff-actuals-table tbody th strong{color:var(--accent);font-size:9px}.ff-actuals-table tbody th span{text-overflow:ellipsis;white-space:nowrap;max-width:170px;font-size:10px;overflow:hidden}.ff-actuals-table tbody th em{color:#56766a;margin-top:3px;font-size:9px;font-style:normal}.ff-actuals-table td input{text-align:right;background:#fff;border:1px solid #deded8;border-radius:2px;width:78px;height:32px;padding:0 7px;font-size:10px}.ff-actuals-table .ff-actual-row,.ff-actuals-table .ff-actual-row th{background:#f7f4ee}.ff-actuals-table .ff-actual-row th em{color:var(--accent)}.ff-gantt-card{padding-inline:0;overflow:hidden}.ff-gantt-card>.ff-card-head{padding-inline:24px}.ff-gantt-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.ff-gantt-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:3px;min-height:34px;padding:0 11px;font-size:10px;font-weight:750}.ff-gantt-actions button.ff-export-pdf{color:#fff;background:#1a1e20;border-color:#1a1e20}.ff-gantt-actions button.ff-export-pdf:before{color:var(--accent);content:"PDF";letter-spacing:.08em;margin-right:6px;font-size:7px;font-weight:900}.ff-gantt-scale{border-top:1px solid var(--line-soft);background:#faf9f6;flex-wrap:wrap;align-items:center;gap:8px;min-height:56px;padding:8px 24px;display:flex}.ff-gantt-scale-label{min-width:112px;margin-right:4px;display:grid}.ff-gantt-scale-label span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.ff-gantt-scale-label strong{color:var(--ink);font-size:12px}.ff-gantt-granularity{border:1px solid var(--line);background:#efeee9;border-radius:5px;gap:3px;margin-right:10px;padding:3px;display:flex}.ff-gantt-granularity button{background:0 0!important;border-color:#0000!important;min-width:60px!important;font-size:14px!important}.ff-gantt-granularity button.active{color:#fff!important;background:#202426!important}.ff-gantt-width-value{min-width:105px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.ff-gantt-scale button{border:1px solid var(--line);min-width:36px;min-height:36px;color:var(--ink);cursor:pointer;background:#fff;border-radius:3px;padding:0 10px;font-size:15px;font-weight:800}.ff-gantt-scale button:disabled{cursor:default;opacity:.4}.ff-gantt-scale input[type=range]{width:clamp(140px,20vw,300px);accent-color:var(--accent);cursor:pointer}.ff-ms-gantt{--gantt-fields-width:750px;--gantt-timeline-width:1440px;border-top:1px solid var(--line);width:100%;overflow-x:auto}.ff-ms-header,.ff-ms-row{grid-template-columns:var(--gantt-fields-width) var(--gantt-timeline-width);min-width:calc(var(--gantt-fields-width) + var(--gantt-timeline-width));display:grid}.ff-ms-header{z-index:8;background:#eeede8;position:sticky;top:0}.ff-ms-fields{border-right:2px solid #c7c6c0;grid-template-columns:minmax(250px,1fr) 98px 98px 74px 76px 145px;align-items:center;min-height:45px;display:grid}.ff-ms-column-head{min-height:40px}.ff-ms-column-head>strong{color:#676b66;letter-spacing:.04em;text-align:center;text-transform:uppercase;border-right:1px solid #dad9d3;height:100%;padding:13px 8px;font-size:9px}.ff-ms-column-head>strong:first-child{text-align:left;padding-left:16px}.ff-ms-months{min-height:40px;display:grid}.ff-ms-months strong{color:#676b66;text-align:center;text-overflow:ellipsis;white-space:nowrap;border-right:1px solid #d8d7d1;padding:13px 4px;font-size:9px;overflow:hidden}.ff-ms-periods{background:#e5e4de;border-bottom:1px solid #d8d7d1;min-height:26px;display:grid}.ff-ms-periods strong{color:#424841;text-align:left;border-right:1px solid #c8c7bf;padding:5px 10px;font-size:12px}.ff-ms-time-units.day strong{padding-inline:1px;font-size:12px}.ff-ms-time-units .weekend{color:#838881;background:#e2e4e0}.ff-ms-row{border-top:1px solid var(--line-soft);background:#fff}.ff-ms-row>.ff-ms-fields>:not(.ff-ms-task){border-left:1px solid #ecebe6;place-items:center;min-width:0;min-height:45px;padding:5px;font-size:10px;display:grid}.ff-ms-project-row{background:#f5f4ef}.ff-ms-project-row .ff-ms-fields{min-height:52px}.ff-ms-project-row>.ff-ms-fields>:not(.ff-ms-task){min-height:52px;font-weight:750}.ff-ms-task{align-items:center;min-width:0;min-height:45px;padding:6px 10px;display:flex}.ff-ms-task span{min-width:0;display:grid}.ff-ms-task span small{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:720;line-height:1.3;overflow:hidden}.ff-ms-project-task>button{cursor:pointer;background:0 0;border:0;width:25px;height:25px;margin-right:4px;font-size:17px}.ff-ms-project-task span strong{color:var(--accent);letter-spacing:.06em;font-size:9px}.ff-ms-project-task span small{font-size:12px;font-weight:800}.ff-ms-stage-task{padding-left:39px}.ff-ms-stage-task>i{border-radius:50%;width:8px;height:8px;margin-right:8px}.ff-ms-stage-task span{grid-template-columns:22px minmax(0,1fr);align-items:center;width:100%}.ff-ms-stage-task span strong{color:#8a8d88;font-size:9px}.ff-ms-stage-task span small{font-size:10px;font-weight:650}.ff-ms-stage-row input{background:#fff;border:1px solid #d6d5cf;border-radius:2px;width:calc(100% - 8px);min-height:31px;padding:4px 5px;font-size:9px}.ff-ms-stage-row input[aria-invalid=true]{background:#fff4f2;border-color:#b94b43}.ff-ms-progress{grid-template-columns:minmax(0,1fr) auto;display:flex!important}.ff-ms-progress input{text-align:right;width:48px}.ff-ms-status{color:#69706b;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden;font-size:9px!important}.ff-ms-status.invalid{color:#ac453e}.ff-ms-row-actions{gap:5px;padding-inline:7px!important;display:flex!important}.ff-ms-row-actions button{cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cfcec8;border-radius:2px;min-height:27px;padding:0 7px;font-size:8px;font-weight:750}.ff-ms-row-actions button.dirty{border-color:var(--accent);background:var(--accent);color:#fff}.ff-ms-row-actions button:disabled{cursor:default;opacity:.48}.ff-ms-timeline{background-image:var(--gantt-grid-image);background-size:100% 100%;min-height:45px;position:relative;overflow:hidden}.ff-ms-project-row .ff-ms-timeline{background-color:#f5f4ef;min-height:52px}.ff-ms-today{z-index:5;background:#e3562f;width:2px;position:absolute;top:0;bottom:0;box-shadow:0 0 0 1px #e3562f14}.ff-ms-summary-bar,.ff-ms-stage-bar{z-index:3;color:#fff;border-radius:3px;min-width:5px;height:20px;display:grid;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}.ff-ms-summary-bar{background:#202426;border-radius:1px;height:13px}.ff-ms-summary-bar:before,.ff-ms-summary-bar:after{content:"";border-top:6px solid #202426;width:0;height:0;position:absolute;bottom:-5px}.ff-ms-summary-bar:before{border-right:6px solid #0000;left:0}.ff-ms-summary-bar:after{border-left:6px solid #0000;right:0}.ff-ms-summary-bar>i,.ff-ms-stage-bar>i{background:#00000038;grid-area:1/1;height:100%}.ff-ms-summary-bar>small,.ff-ms-stage-bar>small{z-index:1;text-align:center;text-overflow:ellipsis;white-space:nowrap;grid-area:1/1;align-self:center;padding:0 6px;font-size:8px;font-weight:800;line-height:1;overflow:hidden}.ff-ms-no-bar{color:#999c97;font-size:9px;font-style:italic;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.ff-card .table-wrap table small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.ff-clickable{cursor:pointer}.ff-clickable:hover{background:#faf3ef}.ff-pipeline-head{align-items:center}.ff-pipeline-actions{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:9px;display:flex}.ff-pipeline-filter{min-width:150px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;gap:5px;font-size:10px;font-weight:800;display:grid}.ff-pipeline-filter select{min-height:38px;color:var(--ink);font:inherit;letter-spacing:0;text-transform:none;background:#fff;border:1px solid #cfcec8;border-radius:4px;padding:0 32px 0 11px;font-size:11px;font-weight:700}.ff-pipeline-folder-row>td{background:#f6f4ef;border-top:1px solid #dbdad4;border-bottom:1px solid #dbdad4;padding:0!important}.ff-pipeline-folder-button{width:100%;min-height:48px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:20px auto auto 1fr;align-items:center;gap:10px;padding:9px 16px;display:grid}.ff-pipeline-folder-button:hover{background:#f0ede6}.ff-pipeline-folder-button strong{font-size:12px;font-weight:800}.ff-pipeline-folder-button small{color:var(--muted);justify-self:end;font-size:11px;font-weight:600}.ff-pipeline-chevron{color:#666b67;place-items:center;width:18px;height:18px;font-size:18px;line-height:1;transition:transform .16s;display:inline-grid;transform:rotate(0)}.ff-pipeline-chevron.collapsed{transform:rotate(-90deg)}.ff-pipeline-opportunity-row td:first-child{padding-left:28px}.ff-pipeline-empty{color:var(--muted);text-align:center;padding:30px 16px!important}.ff-data-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.ff-data-grid .ff-card{padding:30px}.ff-data-grid h2{margin:8px 0 12px;font-size:21px}.ff-data-grid p,.ff-data-grid li{color:var(--muted);font-size:12px;line-height:1.65}.ff-data-note{grid-column:span 2}.ff-import{gap:12px;margin-top:22px;display:grid}.ff-import input[type=file]{color:#6c706b;background:#f8f7f3;border:1px dashed #c8c8c1;padding:22px;font-size:11px}.ff-dialog-layer{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1013148c;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.ff-dialog{border-top:4px solid var(--accent);background:#fff;width:min(760px,100%);max-height:calc(100vh - 56px);padding:25px;overflow-y:auto;box-shadow:0 28px 80px #0000004d}.ff-dialog-head{justify-content:space-between;gap:20px;margin-bottom:22px;display:flex}.ff-dialog-head h2{margin:6px 0 0;font-size:24px}.ff-dialog-head>button{cursor:pointer;background:0 0;border:0;align-self:flex-start;font-size:28px;font-weight:300}.ff-checkbox{grid-column:span 2;grid-template-columns:auto 1fr;align-items:center;display:flex!important}.ff-checkbox input{width:16px;min-height:16px}.ff-admin-notification{background:#f8f7f3;border:1px solid #d8d8d3;grid-column:span 2;margin:4px 0 0;padding:16px}.ff-admin-notification-toggle{cursor:pointer;flex-direction:row;align-items:flex-start;color:var(--ink)!important;grid-template-columns:none!important;gap:12px!important;display:flex!important}.ff-admin-notification-toggle>input{accent-color:var(--accent);flex:none;margin:2px 0 0;width:19px!important;min-height:19px!important}.ff-admin-notification-toggle>span{gap:4px;display:grid}.ff-admin-notification-toggle strong{font-size:15px;line-height:1.3}.ff-admin-notification-toggle small,.ff-admin-notification>label>small{color:var(--muted);font-size:13px;font-weight:500;line-height:1.45}.ff-admin-notification>label:not(.ff-admin-notification-toggle){margin-top:15px}.ff-dialog-actions{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto auto;gap:10px;margin-top:24px;padding-top:18px;display:grid}@media (width<=900px){.ff-pipeline-head{flex-direction:column;align-items:stretch}.ff-pipeline-actions{justify-content:flex-start}.ff-pipeline-filter{min-width:190px}.ff-pipeline-folder-button{grid-template-columns:20px auto 1fr}.ff-pipeline-folder-button small{grid-column:2/-1;justify-self:start}}@media (width<=1280px){.ff-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ff-stage-fields{grid-template-columns:repeat(3,minmax(120px,1fr))}.ff-stage-fields .ff-stage-name{grid-column:span 2}}@media (width<=900px){.ff-toolbar{flex-direction:column;align-items:stretch}.ff-toolbar>select{width:100%}.ff-kpi-grid,.ff-kpi-four{grid-template-columns:repeat(2,minmax(0,1fr))}.ff-overview-grid,.ff-project-layout,.ff-data-grid{grid-template-columns:1fr}.ff-project-list{max-height:260px;position:static}.ff-data-note{grid-column:auto}}@media (width<=640px){.ff-kpi-grid,.ff-kpi-four,.ff-form-grid{grid-template-columns:1fr}.ff-form-grid label.span-two,.ff-checkbox,.ff-admin-notification{grid-column:auto}.ff-card{padding:18px}.ff-shared-project,.ff-stage-heading{margin-inline:-18px;padding-inline:18px}.ff-stage-card,.ff-stage-fields{grid-template-columns:1fr}.ff-stage-fields .ff-stage-name,.ff-stage-error{grid-column:auto}.ff-stage-order{width:48px}.ff-delete{justify-self:start}.ff-gantt-card>.ff-card-head{flex-direction:column;align-items:stretch;padding-inline:18px}.ff-dialog-layer{padding:10px}.ff-dialog-actions{grid-template-columns:1fr 1fr}.ff-dialog-actions>span{display:none}.feeflow-derived-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #d9653240}.auth-shell{background:#fff;grid-template-columns:minmax(350px,.88fr) minmax(520px,1.12fr);min-height:100vh;display:grid}.auth-brand-panel{background:var(--ink);color:#fff;flex-direction:column;justify-content:space-between;min-height:100vh;padding:clamp(34px,5vw,72px);display:flex}.auth-brand-lockup{align-items:center;gap:14px;display:flex}.auth-brand-mark{background:var(--accent);place-items:center;width:44px;height:44px;font-family:Arial,sans-serif;font-size:25px;font-weight:850;display:grid}.auth-brand-lockup div{flex-direction:column;gap:3px;display:flex}.auth-brand-lockup strong{letter-spacing:.13em;font-size:18px}.auth-brand-lockup small{color:#989d98;letter-spacing:.24em;font-size:11px;font-weight:750}.auth-brand-copy{max-width:560px;padding:12vh 0}.auth-brand-copy>span,.auth-eyebrow{color:var(--accent);letter-spacing:.2em;font-size:11px;font-weight:850}.auth-brand-copy h1{letter-spacing:-.055em;max-width:520px;margin:18px 0 20px;font-size:clamp(38px,4.7vw,72px);font-weight:560;line-height:.98}.auth-brand-copy p{color:#adb1ad;max-width:490px;margin:0;font-size:15px;line-height:1.8}.auth-security-note{color:#767b76;letter-spacing:.03em;margin:0;font-size:11px}.auth-form-panel{background:var(--paper);place-items:center;min-height:100vh;padding:42px;display:grid}.auth-card{border-top:3px solid var(--accent);width:min(440px,100%);box-shadow:var(--shadow);background:#fff;padding:42px 44px}.auth-eyebrow{margin:0 0 12px}.auth-card h2{letter-spacing:-.04em;margin:0;font-size:29px;font-weight:650}.auth-intro{color:var(--muted);margin:12px 0 28px;font-size:13px;line-height:1.65}.auth-card form{gap:15px;display:grid}.auth-card label{gap:7px;display:grid}.auth-card label>span{color:#515450;letter-spacing:.025em;font-size:11px;font-weight:750}.auth-card input{width:100%;height:44px;color:var(--ink);background:#fff;border:1px solid #d7d7d2;border-radius:3px;padding:0 12px;font-size:13px}.auth-card input:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px #d965321a}.auth-submit{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:3px;min-height:45px;margin-top:5px;font-size:13px;font-weight:750}.auth-submit:hover{background:#2b3034}.auth-submit:disabled{cursor:wait;opacity:.6}.auth-error{background:var(--danger-soft);color:var(--danger);padding:10px 12px;font-size:11px;line-height:1.5}.auth-help{border-top:1px solid var(--line-soft);color:#8a8d88;margin:22px 0 0;padding-top:18px;font-size:11px;line-height:1.6}.app-shell{min-height:100vh}.sidebar{z-index:40;background:var(--ink);color:#f7f6f2;flex-direction:column;width:252px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto;box-shadow:8px 0 30px #00000014}.brand-block{border-bottom:1px solid #ffffff1a;align-items:center;gap:13px;min-height:88px;padding:20px 22px;display:flex}.brand-mark{background:var(--accent);color:#fff;letter-spacing:-.08em;place-items:center;width:39px;height:39px;font-family:Arial,sans-serif;font-size:22px;font-weight:800;display:grid}.brand-block div{flex-direction:column;gap:2px;display:flex}.brand-block strong{letter-spacing:.12em;font-size:17px}.brand-block div span{color:#a8aba8;letter-spacing:.25em;font-size:11px;font-weight:700}.mobile-close{color:#fff;background:0 0;border:0;margin-left:auto;display:none}.workspace-label{background:#ffffff09;border:1px solid #ffffff17;flex-direction:column;gap:5px;margin:20px 16px 12px;padding:12px 13px;display:flex}.workspace-label span{color:#848984;letter-spacing:.18em;font-size:11px;font-weight:800}.workspace-label strong{font-size:15px;font-weight:600}.sidebar nav{flex-direction:column;gap:3px;padding:0 12px;display:flex}.sidebar nav button{color:#aeb1ae;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:12px;width:100%;min-height:45px;padding:0 13px;font-size:15px;font-weight:600;transition:background .16s,color .16s;display:flex;position:relative}.sidebar nav button:hover{color:#fff;background:#ffffff0e}.sidebar nav button.active{color:#fff;background:#2a2e31}.sidebar nav button.active:before{background:var(--accent);content:"";width:3px;position:absolute;inset:9px auto 9px -12px}.sidebar nav button em{background:var(--accent);color:#fff;border-radius:20px;place-items:center;min-width:23px;height:20px;margin-left:auto;font-size:12px;font-style:normal;font-weight:800;display:grid}.sidebar-divider{background:#ffffff14;height:1px;margin:14px 20px}.sidebar-spacer{flex:1}.secure-note{color:#a7d2bb;background:#417e5e1f;border:1px solid #70af8f38;align-items:center;gap:10px;margin:18px 17px 10px;padding:12px;display:flex}.secure-note div{flex-direction:column;gap:2px;display:flex}.secure-note strong{color:#d8e9df;font-size:13px}.secure-note span{color:#8eaa9b;font-size:11px}.user-card{border-top:1px solid #ffffff17;grid-template-columns:34px 1fr 22px;align-items:center;gap:10px;min-height:67px;padding:12px 18px;display:grid}.user-card>span,.topbar-avatar,.contact-avatar{color:#704127;background:#e9ded7;border-radius:50%;place-items:center;font-size:13px;font-weight:800;display:grid}.user-card>span{width:34px;height:34px}.user-card div{flex-direction:column;gap:2px;min-width:0;display:flex}.user-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.user-card small{color:#878b87;font-size:11px}.user-card a{color:#7f837f;place-items:center;display:grid}.main-shell{min-height:100vh;margin-left:252px}.topbar{z-index:30;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;align-items:center;gap:16px;height:70px;padding:0 34px;display:flex;position:sticky;top:0}.mobile-menu{background:0 0;border:0;display:none}.search-box{color:#848681;background:#f7f7f4;border:1px solid #dfdfda;border-radius:5px;align-items:center;gap:10px;width:min(440px,42vw);height:39px;padding:0 13px;display:flex}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:14px}.search-box input::placeholder{color:#9a9c97}.project-filter{color:#50534f;background:#fff;border:1px solid #dfdfda;border-radius:5px;width:min(270px,24vw);height:39px;margin-left:auto;padding:0 35px 0 12px;font-size:13px}.notification-button{color:#545754;cursor:pointer;background:0 0;border:0;place-items:center;width:38px;height:38px;display:grid;position:relative}.notification-button span{background:var(--accent);box-sizing:content-box;border:2px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:6px;right:7px}.topbar-avatar{width:36px;height:36px}.page-content{width:min(1480px,100%);margin:0 auto;padding:34px 36px 55px}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:27px;display:flex}.page-heading>div:first-child{min-width:0}.page-heading p,.panel-eyebrow,.modal-head p{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;margin:0 0 7px;font-size:11px;font-weight:800}.page-heading h1{letter-spacing:-.035em;margin:0;font-size:clamp(25px,2.2vw,35px);font-weight:650}.page-heading>div:first-child>span{color:var(--muted);margin-top:8px;font-size:14px;line-height:1.55;display:block}.heading-actions{flex-shrink:0;gap:9px;display:flex}.primary-button,.secondary-button,.text-button,.icon-text-button,.download-button{cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;font-weight:700;text-decoration:none;transition:transform .12s,background .16s,border-color .16s;display:inline-flex}.primary-button{background:var(--ink);color:#fff;border-radius:4px;min-height:39px;padding:0 16px;font-size:13px}.primary-button:hover{background:#2a2e31;transform:translateY(-1px)}.secondary-button{color:#40433f;background:#fff;border:1px solid #d8d8d3;border-radius:4px;min-height:39px;padding:0 14px;font-size:13px}.secondary-button:hover{background:#fafaf7;border-color:#b6b7b2}.primary-button:disabled,.secondary-button:disabled{cursor:wait;opacity:.55;transform:none}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:15px;display:grid}.metric-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{border:1px solid var(--line);background:var(--panel);min-height:136px;padding:21px;position:relative;overflow:hidden}.metric-card:after{content:"";background:#d8d7d2;height:2px;position:absolute;inset:auto 0 0}.metric-card.metric-accent:after{background:var(--accent)}.metric-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:750}.metric-card>strong{letter-spacing:-.04em;margin:14px 0 5px;font-size:27px;font-weight:650;display:block}.metric-card p{color:var(--muted);margin:0;font-size:12px}.metric-icon{color:#6a6d68;background:#f0f0ec;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:18px;right:18px}.metric-accent .metric-icon{background:var(--accent-soft);color:var(--accent)}.dashboard-grid,.settings-grid{grid-template-columns:minmax(0,2fr) minmax(285px,.9fr);gap:15px;display:grid}.panel{border:1px solid var(--line);background:var(--panel);min-width:0}.panel-heading{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:17px 20px;display:flex}.panel-heading h2{letter-spacing:-.015em;margin:0;font-size:15px;font-weight:680}.panel-eyebrow{margin-bottom:4px;font-size:10px}.text-button{color:#5c5f5b;background:0 0;padding:5px 0;font-size:12px}.text-button:hover{color:var(--accent)}.span-two{grid-column:1}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{border-bottom:1px solid var(--line-soft);color:#858883;letter-spacing:.09em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#fafaf7;padding:10px 16px;font-size:10px;font-weight:800}td{border-bottom:1px solid var(--line-soft);color:#5e615d;vertical-align:middle;padding:13px 16px}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#fdfdfb}.project-cell{cursor:pointer;text-align:left;background:0 0;border:0;min-width:205px;padding:0;display:grid}.project-cell strong{color:var(--ink);margin:2px 0;font-size:13px}.project-cell small{color:#8b8e89;font-size:11px}.project-code{color:var(--accent);letter-spacing:.1em;font-size:10px;font-weight:850}.progress-cell{width:110px}.progress-cell span{color:#464945;margin-bottom:5px;font-size:11px;font-weight:700;display:block}.progress-cell div,.project-progress,.fee-bar,.stage-row>div{background:#e8e8e3;height:4px;overflow:hidden}.progress-cell i,.project-progress i,.fee-bar i,.stage-row i{background:var(--accent);height:100%;display:block}.status-pill{letter-spacing:.035em;white-space:nowrap;border-radius:20px;align-items:center;min-height:22px;padding:0 8px;font-size:10px;font-weight:800;display:inline-flex}.status-success{background:var(--success-soft);color:var(--success)}.status-attention{background:var(--warning-soft);color:var(--warning)}.status-danger{background:var(--danger-soft);color:var(--danger)}.status-neutral{color:#61645f;background:#edede9}.priority-list{padding:2px 18px 8px}.priority-item{border-bottom:1px solid var(--line-soft);padding:15px 1px}.priority-item:last-child{border-bottom:0}.priority-topline{justify-content:space-between;align-items:center;display:flex}.priority-topline>span{color:var(--accent);letter-spacing:.1em;font-size:10px;font-weight:850}.priority-item h3{margin:9px 0 4px;font-size:13px;font-weight:680;line-height:1.45}.priority-item>p{color:var(--muted);margin:0;font-size:11px}.priority-meta{color:#888b86;justify-content:space-between;gap:8px;margin-top:10px;font-size:10px;display:flex}.priority-meta span{align-items:center;gap:4px;display:inline-flex}.stage-list{gap:13px;padding:19px 21px 22px;display:grid}.stage-row{grid-template-columns:minmax(190px,1.2fr) 2fr 24px;align-items:center;gap:15px;display:grid}.stage-row>span{color:#626560;font-size:11px}.stage-row strong{color:#454844;text-align:right;font-size:11px}.commercial-ring{background:conic-gradient(var(--accent) var(--percent), #ecece7 0);border-radius:50%;place-items:center;width:142px;height:142px;margin:23px auto 19px;display:grid;position:relative}.commercial-ring:before{content:"";background:#fff;border-radius:50%;width:108px;height:108px;position:absolute}.commercial-ring>div{z-index:1;flex-direction:column;align-items:center;display:flex;position:relative}.commercial-ring strong{letter-spacing:-.05em;font-size:26px;font-weight:650}.commercial-ring span{color:var(--muted);font-size:11px}.commercial-list,.settings-list{margin:0;padding:0 19px 18px}.commercial-list div,.settings-list div{border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:15px;padding:9px 0;display:flex}.commercial-list div:last-child,.settings-list div:last-child{border-bottom:0}.commercial-list dt,.settings-list dt{color:var(--muted);font-size:11px}.commercial-list dd,.settings-list dd{text-align:right;margin:0;font-size:11px;font-weight:750}.project-lifecycle-toolbar{border:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;padding:10px 12px;display:flex}.project-lifecycle-toolbar p{color:var(--muted);margin:0;font-size:13px}.project-lifecycle-tabs{background:#f0efeb;flex:none;gap:4px;padding:3px;display:flex}.project-lifecycle-tabs button{color:#555954;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;min-height:40px;padding:0 15px;font-size:14px;font-weight:800;display:inline-flex}.project-lifecycle-tabs button.active{background:var(--ink);color:#fff}.project-lifecycle-tabs button span{background:#00000014;border-radius:12px;place-items:center;min-width:24px;height:24px;font-size:12px;display:grid}.project-lifecycle-tabs button.active span{background:#ffffff26}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.project-card-archived{background:#fbfaf7;border-color:#cbc9c2}.project-card-archived .project-monogram{background:#5f625e}.project-card{border:1px solid var(--line);background:#fff;min-width:0;padding:21px;transition:transform .16s,box-shadow .16s}.project-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.project-card-head{justify-content:space-between;align-items:center;margin-bottom:17px;display:flex}.project-monogram{background:var(--ink);color:#fff;letter-spacing:.08em;place-items:center;width:42px;height:42px;font-size:13px;font-weight:800;display:grid}.project-card h2{min-height:42px;margin:5px 0 4px;font-size:16px;font-weight:680;line-height:1.35}.project-address{min-height:30px;color:var(--muted);margin:0 0 18px;font-size:11px;line-height:1.5}.project-stage{border-left:2px solid var(--accent);background:#f7f6f2;flex-direction:column;gap:5px;min-height:53px;padding:11px 12px;display:flex}.project-stage span,.project-progress-head span{color:#898c87;text-transform:uppercase;font-size:10px}.project-progress-head{justify-content:space-between;margin:17px 0 7px;display:flex}.project-progress-head strong{font-size:11px}.project-card-stats{background:var(--line-soft);grid-template-columns:repeat(3,1fr);gap:1px;margin:18px 0;display:grid}.project-card-stats div{text-align:center;background:#fff;flex-direction:column;gap:3px;min-width:0;padding:11px 6px;display:flex}.project-card-stats strong{text-overflow:ellipsis;font-size:13px;overflow:hidden}.project-card-stats span{color:var(--muted);text-transform:uppercase;font-size:9px}.project-card-foot{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:10px;display:flex}.project-card-foot>div{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 12px;display:flex}.project-card-foot button{color:var(--accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:10px;font-weight:800;display:inline-flex}.project-card-foot button.project-delete-action{color:var(--danger)}.feeflow-sync-badge{color:#456b8d;letter-spacing:.04em;background:#e9f0f7;border-radius:20px;align-items:center;min-height:20px;margin-left:8px;padding:0 7px;font-size:9px;font-weight:800;display:inline-flex}.wide-table table{min-width:1060px}.type-tag{color:#555854;text-align:center;text-transform:uppercase;background:#edece8;border-radius:3px;min-width:45px;margin-right:8px;padding:4px 5px;font-size:9px;font-weight:850;display:inline-block}.type-rfi{background:var(--accent-soft);color:#a84b23}.type-defect{background:var(--danger-soft);color:var(--danger)}.reference{color:var(--ink);font-size:11px}.item-title{min-width:240px;color:var(--ink);font-weight:650}.icon-text-button{color:#545752;background:#f0f0ec;border-radius:3px;padding:5px 7px;font-size:10px}.icon-text-button:hover{background:var(--success-soft);color:var(--success)}.document-list{overflow-x:auto}.document-row{border-bottom:1px solid var(--line-soft);color:#626560;grid-template-columns:minmax(245px,1.4fr) minmax(180px,1fr) 90px 60px 65px 90px 90px;align-items:center;gap:15px;min-width:930px;padding:12px 18px;font-size:11px;display:grid}.document-row:last-child{border-bottom:0}.document-header{color:#858883;letter-spacing:.08em;text-transform:uppercase;background:#fafaf7;padding-top:10px;padding-bottom:10px;font-size:10px;font-weight:800}.document-name{align-items:center;gap:10px;min-width:0;display:flex}.file-icon{width:33px;height:38px;color:var(--accent);background:#f6f5f1;border:1px solid #e2e1dc;flex:none;place-items:center;display:grid}.document-name div{flex-direction:column;gap:4px;min-width:0;display:flex}.document-name strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.document-name small{color:#949690;font-size:10px}.download-button{color:var(--accent);background:0 0;justify-content:flex-start;font-size:10px}.register-only{color:#a3a49f;font-size:10px}.contact-directory{gap:16px;display:grid}.contact-category-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.contact-category-tabs button{border:1px solid var(--line);min-height:92px;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-top:3px solid #0000;grid-template-columns:1fr auto;gap:5px 16px;padding:17px 19px;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid}.contact-category-tabs button:hover{border-color:#cfcfc8;transform:translateY(-1px)}.contact-category-tabs button.active{border-top-color:var(--accent);box-shadow:0 9px 26px #15181914}.contact-category-tabs span{font-size:16px;font-weight:760}.contact-category-tabs strong{color:var(--accent);font-size:20px}.contact-category-tabs small{color:var(--muted);grid-column:1/-1;font-size:11px}.contact-directory-meta{border-bottom:1px solid var(--line-soft);min-height:32px;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.contact-card{border:1px solid var(--line);background:#fff;flex-direction:column;gap:14px;min-width:0;padding:18px;display:flex}.contact-card-topline{justify-content:space-between;align-items:center;gap:10px;min-height:27px;display:flex}.contact-type{letter-spacing:.08em;text-transform:uppercase;border-radius:20px;align-items:center;padding:4px 8px;font-size:9px;font-weight:850;display:inline-flex}.contact-type-consulting{color:#456b8d;background:#e9f0f7}.contact-type-trade{color:#a5532c;background:#f7eee6}.contact-card-actions{align-items:center;gap:10px;display:flex}.contact-card-actions button{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:10px;font-weight:780}.contact-card-actions button.contact-delete{color:var(--danger)}.contact-card-actions button:disabled{cursor:wait;opacity:.5}.contact-identity{grid-template-columns:52px 1fr;align-items:center;gap:14px;display:grid}.contact-avatar{width:52px;height:52px;font-size:15px}.contact-avatar.small{width:34px;height:34px;font-size:11px}.contact-card h2{margin:0 0 3px;font-size:15px}.contact-identity p{color:var(--muted);margin:0 0 4px;font-size:11px}.contact-identity strong{color:var(--accent);font-size:11px}.contact-discipline{background:#f7f6f2;flex-direction:column;justify-content:center;gap:3px;min-height:43px;padding:9px 11px;display:flex}.contact-discipline span,.contact-projects>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.contact-card dl{border-top:1px solid var(--line-soft);margin:0;padding-top:2px}.contact-card dl div{grid-template-columns:52px 1fr;gap:10px;padding:5px 0;font-size:11px;display:grid}.contact-card dt{color:var(--muted)}.contact-card dd{color:#4f524e;text-overflow:ellipsis;overflow-wrap:anywhere;min-width:0;margin:0;overflow:hidden}.contact-card a{color:inherit;text-decoration:none}.contact-card a:hover{color:var(--accent);text-decoration:underline}.contact-projects{border-top:1px solid var(--line-soft);gap:7px;padding-top:12px;display:grid}.contact-projects>div{flex-wrap:wrap;gap:6px;display:flex}.contact-projects button{color:#555854;cursor:pointer;background:#fafaf7;border:1px solid #deded8;border-radius:3px;padding:4px 7px;font-size:9px;font-weight:800}.contact-projects button:hover{border-color:var(--accent);color:var(--accent)}.contact-notes{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:10px;line-height:1.55;display:-webkit-box;overflow:hidden}.financial-layout{gap:15px;display:grid}.fee-list{padding:4px 20px 15px}.fee-row{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(230px,1.2fr) 2fr 150px;align-items:center;gap:23px;padding:17px 0;display:grid}.fee-row:last-child{border-bottom:0}.fee-name,.fee-values{flex-direction:column;gap:3px;display:flex}.fee-name span,.fee-values span{color:var(--muted);font-size:10px}.fee-name strong,.fee-values strong{font-size:12px}.fee-values{text-align:right}.settings-grid .span-two{grid-column:1}.member-list{padding:2px 18px 8px}.member-row{border-bottom:1px solid var(--line-soft);grid-template-columns:34px minmax(170px,1fr) 78px 78px;align-items:center;gap:12px;padding:12px 0;display:grid}.member-row:last-child{border-bottom:0}.member-name{flex-direction:column;gap:2px;min-width:0;display:flex}.member-name strong{font-size:12px}.member-name span{color:var(--muted);text-overflow:ellipsis;font-size:10px;overflow:hidden}.settings-list{padding-top:7px}.role-grid{background:var(--line-soft);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.role-grid div{background:#fff;min-height:120px;padding:18px}.role-grid strong{margin-bottom:10px;font-size:13px;display:block}.role-grid p{color:var(--muted);margin:0;font-size:11px;line-height:1.65}.empty-state,.error-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:230px;padding:30px;display:flex}.project-grid>.empty-state,.contact-grid>.empty-state{border:1px solid var(--line);background:#fff;grid-column:1/-1}.empty-icon{color:#858883;background:#f0efea;border-radius:50%;place-items:center;width:50px;height:50px;margin-bottom:13px;display:grid}.empty-state strong,.error-state h2{margin:0 0 6px;font-size:15px}.empty-state p,.error-state p{max-width:390px;color:var(--muted);margin:0;font-size:12px;line-height:1.6}.error-state{border:1px solid var(--line);min-height:430px;color:var(--danger);background:#fff}.error-state h2{color:var(--ink);margin-top:12px}.error-state .primary-button{margin-top:18px}.inline-alert{background:var(--danger-soft);color:var(--danger);border:1px solid #efcac6;align-items:center;gap:10px;margin:-10px 0 18px;padding:10px 12px;font-size:12px;display:flex}.inline-alert button{color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;margin-left:auto;display:grid}.demo-banner{background:#fbf5ef;border:1px solid #e5d7cb;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin:-10px 0 18px;padding:10px 13px;display:grid}.demo-banner>span{color:var(--accent);letter-spacing:.12em;font-size:10px;font-weight:850}.demo-banner p{color:#77736e;margin:0;font-size:11px;line-height:1.45}.demo-banner button{color:var(--accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:10px;font-weight:800;display:inline-flex}.danger-zone{justify-content:space-between;align-items:center;gap:22px;padding:20px;display:flex}.danger-zone strong{margin-bottom:5px;font-size:13px;display:block}.danger-zone p{max-width:650px;color:var(--muted);margin:0;font-size:11px;line-height:1.55}.danger-button{min-height:36px;color:var(--danger);cursor:pointer;background:#fff;border:1px solid #e7b8b3;border-radius:3px;flex:none;padding:0 13px;font-size:11px;font-weight:750}.danger-button:hover{background:var(--danger-soft)}.danger-button:disabled{cursor:wait;opacity:.55}.loading-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.loading-grid div{border:1px solid var(--line);background:linear-gradient(90deg,#fff 0%,#f6f5f1 50%,#fff 100%) 0 0/200% 100%;height:136px;animation:1.2s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.modal-layer{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f111394;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal-card{border-top:3px solid var(--accent);background:#fff;width:min(640px,100%);max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 28px 90px #0000004d}.modal-card-wide{width:min(780px,100%)}.modal-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px 18px;display:flex}.modal-head h2{letter-spacing:-.025em;margin:0;font-size:20px;font-weight:670}.modal-head button{cursor:pointer;background:#f1f1ed;border:0;place-items:center;width:34px;height:34px;display:grid}.modal-card form{gap:16px;padding:22px 24px 24px;display:grid}.modal-card label{gap:7px;display:grid}.modal-card label>span{color:#555854;letter-spacing:.03em;font-size:11px;font-weight:750}.modal-card input,.modal-card select,.modal-card textarea{width:100%;min-height:41px;color:var(--ink);background:#fff;border:1px solid #d8d8d2;border-radius:3px;outline:0;padding:10px 11px;font-size:13px}.modal-card textarea{resize:vertical}.modal-card input:focus,.modal-card select:focus,.modal-card textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #d965321a}.field-help,.ff-field-help{color:var(--muted);font-size:11px;font-weight:500;line-height:1.45}.field-row{grid-template-columns:1fr 1fr;align-items:start;gap:15px;display:grid}.contact-project-picker{border:0;gap:7px;margin:0;padding:0;display:grid}.contact-project-picker legend{color:#555854;letter-spacing:.03em;padding:0;font-size:11px;font-weight:750}.contact-project-picker>p{color:var(--muted);margin:0;font-size:11px}.contact-project-picker>div{background:#fafaf7;border:1px solid #d8d8d2;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:185px;padding:9px;display:grid;overflow-y:auto}.contact-project-picker label{border:1px solid var(--line-soft);cursor:pointer;background:#fff;grid-template-columns:18px 1fr;align-items:center;gap:8px;min-width:0;padding:8px;display:grid}.contact-project-picker input{width:16px;min-height:16px;accent-color:var(--accent);padding:0}.contact-project-picker label>span{min-width:0;color:var(--muted);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;flex-direction:column;gap:2px;font-size:10px;font-weight:500;display:flex;overflow:hidden}.contact-project-picker label strong{color:var(--ink);font-size:10px}.file-drop{min-height:145px;color:var(--accent);cursor:pointer;text-align:center;background:#fafaf7;border:1px dashed #c9c9c3;align-content:center;justify-items:center;padding:18px}.file-drop strong{color:var(--ink);font-size:13px}.file-drop>span{color:var(--muted)!important;letter-spacing:0!important;font-size:11px!important;font-weight:400!important}.file-drop input{background:0 0;border:0;width:auto;min-height:0;padding:0;font-size:11px}.form-note{border-left:2px solid var(--accent);color:var(--muted);background:#f7f6f2;margin:-4px 0 0;padding:10px 12px;font-size:11px;line-height:1.6}.feeflow-derived-summary{border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--line);border-radius:3px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.feeflow-derived-summary>span{background:#faf8f4;gap:5px;padding:12px;display:grid}.feeflow-derived-summary small{color:#858984;letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:750}.feeflow-derived-summary strong{font-size:12px;line-height:1.35}.feeflow-import-intro{padding:2px 0 3px}.feeflow-import-intro span{color:var(--accent);letter-spacing:.15em;font-size:10px;font-weight:850}.feeflow-import-intro p{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.6}.feeflow-import-rules{border:1px solid var(--line-soft);background:#fafaf7;padding:14px 15px}.feeflow-import-rules ul{color:#545752;margin:10px 0;padding-left:19px;font-size:12px;line-height:1.7}.feeflow-import-rules p{border-top:1px solid var(--line-soft);color:var(--success);margin:8px 0 0;padding-top:10px;font-size:11px;line-height:1.5}.feeflow-open-link{color:var(--accent);justify-self:start;align-items:center;gap:6px;font-size:12px;font-weight:750;text-decoration:none;display:inline-flex}.feeflow-open-link:hover{text-decoration:underline}.form-error{background:var(--danger-soft);color:var(--danger);align-items:center;gap:8px;padding:9px 11px;font-size:11px;display:flex}.modal-actions{justify-content:flex-end;gap:9px;padding-top:5px;display:flex}.project-delete-warning{background:var(--danger-soft);color:#5f2822;border:1px solid #e7b8b3;padding:15px 16px}.project-delete-warning strong{margin-bottom:5px;font-size:17px;display:block}.project-delete-warning p{margin:0 0 10px;font-size:14px;line-height:1.5}.project-delete-warning ul{margin:0;padding-left:20px;font-size:13px;line-height:1.55}.toast{z-index:100;background:var(--ink);color:#fff;min-width:220px;box-shadow:var(--shadow);align-items:center;gap:10px;padding:12px 15px;font-size:12px;font-weight:700;animation:.18s ease-out toast-in;display:flex;position:fixed;bottom:25px;right:25px}.toast span{background:var(--success);border-radius:50%;place-items:center;width:24px;height:24px;display:grid}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.nav-scrim{display:none}.meeting-workspace{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:20px;display:grid}.meeting-history{position:sticky;top:92px;overflow:hidden}.meeting-history-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:10px;min-height:78px;padding:15px;display:flex}.meeting-history-head div,.meeting-toolbar>div:first-child,.meeting-items-head>div{flex-direction:column;gap:5px;display:flex}.meeting-history-head span,.meeting-toolbar span,.meeting-items-head span,.meeting-preview-label>span{color:var(--accent);letter-spacing:.14em;font-size:10px;font-weight:850}.meeting-history-head strong,.meeting-toolbar strong,.meeting-items-head strong{font-size:15px}.meeting-history-head button{border:1px solid var(--line);min-height:32px;color:var(--accent);cursor:pointer;background:#fff;padding:0 9px;font-size:12px;font-weight:750}.meeting-history-list{flex-direction:column;max-height:calc(100vh - 245px);padding:7px;display:flex;overflow-y:auto}.meeting-history-list button{cursor:pointer;text-align:left;background:0 0;border:0;border-left:3px solid #0000;flex-direction:column;gap:5px;width:100%;padding:11px 10px;display:flex}.meeting-history-list button:hover{background:#f8f7f3}.meeting-history-list button.active{border-left-color:var(--accent);background:var(--accent-soft)}.meeting-history-list strong{font-size:13px;line-height:1.35}.meeting-history-list span,.meeting-history-list p{color:var(--muted);margin:0;font-size:11px;line-height:1.4}.meeting-main{min-width:0;max-width:1480px}.meeting-toolbar{justify-content:space-between;align-items:center;gap:20px;min-height:72px;margin-bottom:14px;padding:13px 16px;display:flex}.meeting-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.meeting-alert{border:1px solid;margin:0 0 14px;padding:11px 13px;font-size:13px}.meeting-alert-error{background:var(--danger-soft);color:var(--danger);border-color:#efcac6}.meeting-alert-success{background:var(--success-soft);color:var(--success);border-color:#c9e0d3}.meeting-loading{border:1px solid var(--line);min-height:300px;color:var(--muted);background:#fff;padding:40px;font-size:14px}.meeting-editor{margin-bottom:22px;overflow:visible}.meeting-fields{border-bottom:1px solid var(--line-soft);grid-template-columns:2fr 1fr;gap:16px;padding:22px;display:grid}.meeting-fields label,.meeting-item-editor label{gap:6px;min-width:0;display:grid}.meeting-fields label>span,.meeting-item-editor label>span{color:#626560;letter-spacing:.04em;font-size:11px;font-weight:800}.meeting-fields input,.meeting-item-editor input,.meeting-item-editor select{width:100%;min-height:45px;color:var(--ink);background:#fff;border:1px solid #d8d8d2;border-radius:2px;outline:0;padding:10px 12px;font-size:14px}.meeting-fields input:focus,.meeting-item-editor input:focus,.meeting-item-editor select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #d965321a}.meeting-fields input:disabled,.meeting-item-editor input:disabled,.meeting-item-editor select:disabled{color:#666;background:#f5f4f0}.meeting-attendees{grid-column:1/-1}.meeting-items-head{justify-content:space-between;align-items:center;gap:12px;padding:20px 22px;display:flex}.meeting-items-editor{border-top:1px solid var(--line-soft);background:#f1f0ec;gap:16px;padding:16px;display:grid}.meeting-item-editor{background:#fff;border:1px solid #d6d5cf;overflow:hidden;box-shadow:0 3px 14px #16191a0a}.meeting-item-card-head{border-bottom:1px solid var(--line-soft);background:#faf9f6;grid-template-columns:minmax(220px,1fr) minmax(520px,.9fr);align-items:end;gap:20px;padding:16px 18px;display:grid}.meeting-item-identity{align-items:center;gap:12px;min-width:0;display:flex}.meeting-item-identity>div{gap:3px;min-width:0;display:grid}.meeting-item-identity>div>span{color:var(--accent);letter-spacing:.14em;font-size:9px;font-weight:850}.meeting-item-identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.35;overflow:hidden}.meeting-item-number{background:var(--ink);color:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:13px;font-weight:800;display:grid}.meeting-item-meta{grid-template-columns:minmax(110px,1fr) 145px 130px 56px;align-items:end;gap:9px;display:grid}.meeting-item-meta input,.meeting-item-meta select{min-height:39px;padding:8px 9px;font-size:12px}.meeting-remove{min-height:39px;color:var(--danger);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:750}.meeting-item-writing{gap:14px;padding:18px;display:grid}.meeting-rich-editor{background:#fff;border:1px solid #d5d4ce;position:relative;overflow:hidden}.meeting-rich-editor:focus-within{border-color:#bd714e;box-shadow:0 0 0 3px #d9653217}.meeting-rich-editor-title{background:#f7f6f2;border-bottom:1px solid #deddd7;justify-content:space-between;align-items:center;gap:10px;min-height:38px;padding:0 11px;display:flex}.meeting-rich-editor-title>span{color:#555952;letter-spacing:.045em;text-transform:uppercase;font-size:11px;font-weight:850}.meeting-rich-editor-title>button{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:800}.meeting-rich-toolbar{background:#fff;border-bottom:1px solid #deddd7;align-items:center;gap:4px;min-height:43px;padding:5px 7px;display:flex;overflow-x:auto}.meeting-rich-toolbar select,.meeting-rich-toolbar button{color:#363a36;cursor:pointer;background:#fff;border:1px solid #0000;flex:none;min-width:34px;height:31px;padding:0 8px;font-size:11px;font-weight:700}.meeting-rich-toolbar select{border-color:#d8d8d2;font-weight:600}.meeting-rich-toolbar select:first-child{width:86px}.meeting-rich-toolbar select:nth-child(2){width:108px}.meeting-rich-toolbar select:nth-child(3){width:72px}.meeting-rich-toolbar button:hover,.meeting-rich-toolbar button:focus-visible{background:#f5f3ee;border-color:#d6d4cc;outline:0}.meeting-rich-toolbar button:disabled,.meeting-rich-toolbar select:disabled{cursor:default;opacity:.45}.meeting-rich-toolbar-divider{background:#dfded8;flex:none;width:1px;height:22px;margin:0 3px}.meeting-text-colour{cursor:pointer;border:1px solid #0000;flex:none;place-items:center;width:31px;height:31px;font:800 12px/1 Arial,sans-serif;position:relative;gap:0!important;display:grid!important}.meeting-text-colour:hover{background:#f5f3ee;border-color:#d6d4cc}.meeting-text-colour input{cursor:pointer;border:0;width:23px;height:5px;min-height:0;padding:0;position:absolute;bottom:2px;right:4px}.meeting-rich-canvas{min-height:150px;color:var(--ink);overflow-wrap:anywhere;outline:0;padding:16px 18px;font-family:Aptos,Arial,sans-serif;font-size:14px;line-height:1.55}.meeting-rich-editor.tall .meeting-rich-canvas{min-height:205px}.meeting-rich-canvas:empty:before{color:#9a9d97;content:attr(data-placeholder);pointer-events:none}.meeting-rich-canvas p,.meeting-rich-canvas div,.meeting-rich-canvas h2,.meeting-rich-canvas h3,.meeting-rich-canvas blockquote{margin:0 0 8px}.meeting-rich-canvas h2{font-size:24px;line-height:1.25}.meeting-rich-canvas h3{font-size:18px;line-height:1.3}.meeting-rich-canvas blockquote{border-left:3px solid var(--accent);color:#5d605b;padding-left:13px}.meeting-rich-canvas ul,.meeting-rich-canvas ol{margin:7px 0;padding-inline-start:30px;list-style-position:outside}.meeting-rich-canvas ul{list-style-type:disc}.meeting-rich-canvas ol{list-style-type:decimal}.meeting-rich-canvas li{margin:3px 0;padding-inline-start:2px;display:list-item}.meeting-rich-canvas ul ul{list-style-type:circle}.meeting-rich-canvas ul ul ul{list-style-type:square}.meeting-rich-canvas ol ol{list-style-type:lower-alpha}.meeting-rich-canvas ol ol ol{list-style-type:lower-roman}.au-spellchecker{color:var(--ink);background:#f8f9fa;border-bottom:1px solid #deddd7;flex:none;font-size:14px}.au-spelling-heading{flex-wrap:wrap;align-items:center;gap:8px 14px;padding:8px 12px;display:flex}.au-spellchecker button{color:#182c44;min-height:36px;font:inherit;cursor:pointer;background:#fff;border:1px solid #c8cbd0;border-radius:4px;padding:6px 12px}.au-spellchecker button:hover{background:#edf2f7}.au-spellchecker button:focus-visible{outline-offset:2px;outline:2px solid #216bb0}.au-spellchecker button:disabled{opacity:.5;cursor:default}.au-spelling-close{margin-left:auto}.au-spelling-results{overflow-wrap:anywhere;max-height:260px;padding:0 12px 12px;overflow-y:auto}.au-spelling-results p{margin:6px 0;font-size:14px;line-height:1.5}.au-spelling-results strong{color:#9c3322}.au-spelling-context{color:#4c535e}.au-spelling-actions{flex-wrap:wrap;gap:8px;padding:6px 0;display:flex}.au-spelling-note{color:#555e68}.meeting-rich-editor.expanded{z-index:120;border-color:#9f9f98;flex-direction:column;display:flex;position:fixed;inset:24px;overflow:hidden;box-shadow:0 0 0 100vmax #101213a3,0 18px 70px #12151659}.meeting-rich-editor.expanded .meeting-rich-editor-title{min-height:50px;padding:0 18px}.meeting-rich-editor.expanded .meeting-rich-toolbar{min-height:51px;padding-inline:14px}.meeting-rich-editor.expanded .meeting-rich-canvas{flex:1;min-height:0;padding:30px max(30px,50vw - 525px);font-size:16px;overflow-y:auto}.meeting-preview-label{justify-content:space-between;align-items:center;gap:20px;width:min(794px,100%);margin:16px auto 10px;display:flex}.meeting-preview-label p{color:var(--muted);margin:0;font-size:11px}.meeting-a4-sheet{color:#171a1d;background:#fff;width:min(794px,100%);min-height:1123px;margin:0 auto;padding:56px 52px;box-shadow:0 8px 32px #1316181f}.meeting-a4-header{border-bottom:3px solid var(--accent);justify-content:space-between;align-items:flex-end;gap:25px;padding-bottom:17px;display:flex}.meeting-a4-header span{color:var(--accent);letter-spacing:.18em;font-size:10px;font-weight:850}.meeting-a4-header h2{letter-spacing:-.035em;margin:8px 0 0;font-size:28px;font-weight:650}.meeting-a4-header>strong{flex:none;font-size:13px;font-weight:650}.meeting-a4-meta{border-top:1px solid var(--line);grid-template-columns:92px 1fr;margin:22px 0 25px;display:grid}.meeting-a4-meta dt,.meeting-a4-meta dd{border-bottom:1px solid var(--line);margin:0;padding:11px 8px}.meeting-a4-meta dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.meeting-a4-meta dd{font-size:13px}.meeting-a4-table-wrap{overflow-x:auto}.meeting-a4-table{table-layout:fixed;font-size:12px}.meeting-a4-table th{background:var(--ink);color:#fff;padding:9px 7px;font-size:9px}.meeting-a4-table td{border:1px solid var(--line);color:#4c4f4b;vertical-align:top;padding:11px 7px}.meeting-a4-table th:first-child,.meeting-a4-table td:first-child{text-align:center;width:7%}.meeting-a4-table th:nth-child(2),.meeting-a4-table td:nth-child(2){width:44%}.meeting-a4-table th:nth-child(3),.meeting-a4-table td:nth-child(3){width:16%}.meeting-a4-table th:nth-child(4),.meeting-a4-table td:nth-child(4){width:18%}.meeting-a4-table th:nth-child(5),.meeting-a4-table td:nth-child(5){width:15%}.meeting-rich-output{color:var(--ink);overflow-wrap:anywhere;line-height:1.45}.meeting-rich-output p,.meeting-rich-output div,.meeting-rich-output h2,.meeting-rich-output h3,.meeting-rich-output blockquote{margin:0 0 5px}.meeting-rich-output h2{font-size:17px}.meeting-rich-output h3{font-size:14px}.meeting-rich-output blockquote{border-left:2px solid var(--accent);color:#5d605b;padding-left:8px}.meeting-rich-output ul,.meeting-rich-output ol{margin:5px 0;padding-left:18px}.meeting-rich-output-notes{color:#5f625d;border-top:1px solid #e5e3dd;margin-top:10px;padding-top:8px;font-size:11px}.meeting-rich-output-notes>b{color:#8b5b45;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;font-size:8px;display:block}.meeting-a4-sheet footer{border-top:1px solid var(--line);color:#8b8e89;margin-top:28px;padding-top:11px;font-size:10px}.proposal-workspace{grid-template-columns:245px minmax(0,1fr);align-items:start;gap:16px;display:grid}.proposal-history{position:sticky;top:92px;overflow:hidden}.proposal-history-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:10px;min-height:82px;padding:16px;display:flex}.proposal-history-head div,.proposal-toolbar>div:first-child{flex-direction:column;gap:5px;display:flex}.proposal-history-head span,.proposal-toolbar span,.proposal-preview-label>span{color:var(--accent);letter-spacing:.14em;font-size:11px;font-weight:850}.proposal-history-head strong,.proposal-toolbar strong{font-size:16px}.proposal-history-head button{border:1px solid var(--line);min-height:34px;color:var(--accent);cursor:pointer;background:#fff;padding:0 10px;font-size:13px;font-weight:750}.proposal-history-list{flex-direction:column;max-height:calc(100vh - 250px);padding:7px;display:flex;overflow-y:auto}.proposal-history-list button{cursor:pointer;text-align:left;background:0 0;border:0;border-left:3px solid #0000;flex-direction:column;gap:5px;width:100%;padding:12px 10px;display:flex}.proposal-history-list button:hover{background:#f8f7f3}.proposal-history-list button.active{border-left-color:var(--accent);background:var(--accent-soft)}.proposal-history-list strong{font-size:13px;line-height:1.35}.proposal-history-list span{color:#454844;font-size:12px;line-height:1.35}.proposal-history-list small,.proposal-history-list p{color:var(--muted);margin:0;font-size:11px;line-height:1.4}.proposal-history-group{border-top:1px solid var(--line-soft)}.proposal-history-group>summary{min-height:44px;color:var(--ink);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:14px;font-weight:850;list-style:none;display:flex}.proposal-history-group>summary::-webkit-details-marker{display:none}.proposal-history-group>summary:after{content:"+";width:18px;color:var(--muted);text-align:center;order:3;font-size:18px;font-weight:600}.proposal-history-group[open]>summary:after{content:"−"}.proposal-history-group>summary span{color:var(--ink);flex:1;font-size:14px}.proposal-history-group>summary small{color:#555951;background:#eeece6;border-radius:999px;place-items:center;min-width:25px;height:25px;font-size:12px;line-height:1;display:grid}.proposal-history-group-list{flex-direction:column;padding-bottom:6px;display:flex}.proposal-history-empty{padding:8px 10px 12px}.proposal-main{min-width:0}.proposal-toolbar{justify-content:space-between;align-items:center;gap:20px;min-height:76px;margin-bottom:12px;padding:14px 17px;display:flex}.proposal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.proposal-status-toggle{border:1px solid var(--line);background:#f1f0ec;border-radius:4px;align-items:center;padding:3px;display:inline-flex}.proposal-status-toggle button{color:#555951;cursor:pointer;background:0 0;border:0;border-radius:2px;min-height:34px;padding:0 12px;font-size:14px;font-weight:800}.proposal-status-toggle button.active{background:var(--ink);color:#fff}.proposal-status-toggle button:disabled{cursor:not-allowed;opacity:.58}.proposal-storage-note{color:#527062;background:#f1f7f4;border:1px solid #cfe0d6;margin-bottom:12px;padding:11px 13px;font-size:13px;line-height:1.5}.proposal-storage-note strong{color:var(--success)}.proposal-alert{border:1px solid;margin:0 0 12px;padding:11px 13px;font-size:13px}.proposal-alert-error{background:var(--danger-soft);color:var(--danger);border-color:#efcac6}.proposal-alert-success{background:var(--success-soft);color:var(--success);border-color:#c9e0d3}.proposal-loading{border:1px solid var(--line);min-height:300px;color:var(--muted);background:#fff;padding:40px;font-size:15px}.proposal-editor{overflow:hidden}.proposal-editor details{border-bottom:1px solid var(--line-soft)}.proposal-editor details:last-child{border-bottom:0}.proposal-editor summary{cursor:pointer;align-items:center;gap:13px;min-height:78px;padding:15px 17px;list-style:none;display:flex}.proposal-editor summary::-webkit-details-marker{display:none}.proposal-editor summary>span{background:var(--ink);color:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:grid}.proposal-editor summary>div{flex-direction:column;gap:4px;display:flex}.proposal-editor summary small{color:var(--muted);font-size:12px}.proposal-editor details[open] summary{background:#faf9f6}.proposal-fields{padding:4px 17px 20px}.proposal-fields-two{grid-template-columns:1fr 1fr;gap:15px;display:grid}.proposal-fields label,.proposal-stage-editor label{gap:7px;min-width:0;display:grid}.proposal-fields label>span,.proposal-stage-editor label>span{color:#555854;letter-spacing:.025em;font-size:12px;font-weight:750}.proposal-fields input,.proposal-fields select,.proposal-fields textarea,.proposal-stage-editor input,.proposal-stage-editor textarea{width:100%;min-height:44px;color:var(--ink);background:#fff;border:1px solid #d7d7d1;border-radius:3px;outline:0;padding:10px 11px;font-size:14px}.proposal-fields textarea,.proposal-stage-editor textarea{resize:vertical;line-height:1.5}.proposal-fields input:focus,.proposal-fields select:focus,.proposal-fields textarea:focus,.proposal-stage-editor input:focus,.proposal-stage-editor textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #d965321a}.proposal-fields input:disabled,.proposal-fields select:disabled,.proposal-fields textarea:disabled,.proposal-stage-editor input:disabled,.proposal-stage-editor textarea:disabled{color:#666;background:#f5f4f0}.proposal-span-two{grid-column:1/-1}.proposal-stage-editor{background:var(--line-soft);gap:1px;padding:1px 17px 20px;display:grid}.proposal-scope-preset{border-left:3px solid var(--accent);background:#fff7f1;grid-column:1/-1;justify-content:space-between;align-items:center;gap:18px;padding:16px;display:flex}.proposal-scope-preset>div{gap:4px;display:grid}.proposal-scope-preset strong{font-size:var(--ui-body-size)}.proposal-scope-preset span{color:var(--muted);font-size:var(--ui-label-size);line-height:1.5}.proposal-scope-preset button{flex:none}.proposal-third-party-preset{margin-top:6px}.proposal-third-party-editor{border:1px solid var(--line);background:#fff;gap:8px;padding:14px;display:grid}.proposal-third-party-head,.proposal-third-party-row{grid-template-columns:minmax(180px,1.2fr) minmax(170px,1fr) 90px;align-items:center;gap:10px;display:grid}.proposal-third-party-head{color:var(--muted);font-size:var(--ui-label-size);padding:0 2px;font-weight:800}.proposal-third-party-row input{min-width:0}.proposal-third-party-row button,.proposal-third-party-add{border:1px solid var(--line);min-height:42px;color:var(--accent);cursor:pointer;font-size:var(--ui-label-size);background:#fff;font-weight:800}.proposal-third-party-row button:hover,.proposal-third-party-add:hover{border-color:var(--accent);background:var(--accent-soft)}.proposal-third-party-editor>p{color:var(--muted);font-size:var(--ui-body-size);margin:4px 0}.proposal-third-party-add{justify-self:start;padding:0 15px}.proposal-execution-fields{padding-top:10px}.proposal-execution-heading{border-left:3px solid var(--accent);background:#faf9f6;justify-content:space-between;align-items:baseline;gap:18px;margin-top:4px;padding:13px 14px;display:flex}.proposal-execution-heading strong{letter-spacing:.035em;font-size:13px}.proposal-execution-heading span{color:var(--muted);font-size:var(--ui-label-size)}.proposal-execution-note{color:var(--muted);font-size:var(--ui-label-size);margin:0;padding:2px 0 4px}.proposal-stage-editor article{background:#f7f6f2;grid-template-columns:minmax(220px,1fr) minmax(160px,.55fr) minmax(140px,.45fr);align-items:end;gap:12px;padding:14px;display:grid}.proposal-rich-editor{min-width:0}.proposal-rich-editor .meeting-rich-canvas{min-height:180px;font-size:var(--ui-body-size)}.proposal-rich-editor.tall .meeting-rich-canvas{min-height:250px}.proposal-fields .proposal-rich-editor .meeting-rich-toolbar select,.proposal-stage-editor .proposal-rich-editor .meeting-rich-toolbar select{border:1px solid #d8d8d2;width:auto;height:36px;min-height:36px;padding:0 8px}.proposal-fields .proposal-rich-editor .meeting-text-colour input,.proposal-stage-editor .proposal-rich-editor .meeting-text-colour input{border:0;width:23px;height:5px;min-height:0;padding:0;bottom:2px;right:4px}.proposal-stage-rich{grid-column:1/-1;margin-top:3px}.proposal-stage-rich .meeting-rich-canvas{min-height:210px}.proposal-stage-editor article.included{background:#fff}.proposal-stage-check{grid-template-columns:20px 1fr;align-self:center;align-items:center}.proposal-stage-check input{width:18px;min-height:18px;accent-color:var(--accent)}.proposal-stage-check strong{font-size:13px;line-height:1.4}.proposal-preview-label{justify-content:space-between;align-items:center;gap:20px;margin:19px 0 10px;display:flex}.proposal-preview-label p{color:var(--muted);margin:0;font-size:12px}.proposal-preview-frame{background:#deded9;border:1px solid #d4d4cf;height:1080px;overflow:hidden;box-shadow:0 8px 32px #1316181c}.proposal-preview-frame iframe{background:#deded9;border:0;width:100%;height:100%}:root{--ui-body-size:16px;--ui-copy-size:15px;--ui-control-size:15px;--ui-label-size:13px;--ui-micro-size:12px}body{font-size:var(--ui-body-size);line-height:1.5}.auth-brand-lockup small,.auth-brand-copy>span,.auth-eyebrow{font-size:var(--ui-label-size)}.auth-brand-copy p{font-size:17px}.auth-security-note,.auth-card label>span,.auth-error,.auth-help{font-size:var(--ui-label-size)}.auth-card input,.auth-submit{min-height:48px;font-size:var(--ui-control-size)}.brand-block strong{font-size:19px}.brand-block div span,.workspace-label span{font-size:var(--ui-micro-size)}.workspace-label strong{font-size:17px}.sidebar nav button{min-height:49px;font-size:16px}.sidebar nav button em{font-size:var(--ui-label-size)}.secure-note strong,.user-card strong{font-size:15px}.secure-note span,.user-card small{font-size:var(--ui-label-size)}.topbar{height:76px}.search-box,.project-filter{height:44px}.search-box input,.project-filter{font-size:var(--ui-control-size)}.page-heading p,.panel-eyebrow,.modal-head p{font-size:var(--ui-micro-size)}.page-heading h1{font-size:clamp(32px,2.7vw,40px)}.page-heading>div:first-child>span{font-size:var(--ui-body-size)}.primary-button,.secondary-button{min-height:44px;font-size:var(--ui-control-size)}.text-button,.icon-text-button,.download-button{font-size:14px}.metric-label{font-size:var(--ui-label-size)}.metric-card>strong{font-size:31px}.metric-card p{font-size:14px}.panel-heading h2{font-size:19px}.panel-eyebrow{font-size:var(--ui-micro-size)}table{font-size:var(--ui-copy-size)}th{font-size:var(--ui-micro-size);padding-block:12px}td{padding-block:15px}.project-cell strong{font-size:var(--ui-copy-size)}.project-cell small,.progress-cell span{font-size:var(--ui-label-size)}.project-code{font-size:var(--ui-micro-size)}.status-pill{min-height:27px;font-size:var(--ui-micro-size);padding-inline:10px}.priority-topline>span,.priority-meta{font-size:var(--ui-micro-size)}.priority-item h3{font-size:16px}.priority-item>p,.stage-row>span,.stage-row strong,.commercial-ring span,.commercial-list dt,.settings-list dt,.commercial-list dd,.settings-list dd{font-size:14px}.project-monogram{width:46px;height:46px;font-size:var(--ui-copy-size)}.project-card h2{min-height:50px;font-size:20px}.project-address{min-height:42px;font-size:14px}.project-stage{min-height:62px}.project-stage span,.project-progress-head span,.project-card-stats span{font-size:var(--ui-micro-size)}.project-stage strong{font-size:var(--ui-copy-size)}.project-progress-head strong,.project-card-foot,.project-card-foot button{font-size:var(--ui-label-size)}.project-card-stats strong{font-size:16px}.feeflow-sync-badge,.type-tag{min-height:24px;font-size:11px}.reference,.document-row{font-size:14px}.document-header{font-size:var(--ui-micro-size)}.document-name strong{font-size:var(--ui-copy-size)}.document-name small,.register-only{font-size:var(--ui-micro-size)}.contact-category-tabs span{font-size:20px}.contact-category-tabs strong{font-size:24px}.contact-category-tabs small,.contact-directory-meta{font-size:14px}.contact-type{font-size:11px}.contact-card-actions button{font-size:var(--ui-label-size)}.contact-card h2{font-size:19px}.contact-identity p,.contact-identity strong{font-size:14px}.contact-discipline span,.contact-projects>span{font-size:11px}.contact-discipline strong{font-size:var(--ui-copy-size)}.contact-card dl div{grid-template-columns:62px 1fr;font-size:14px}.contact-projects button{font-size:var(--ui-micro-size)}.contact-notes,.fee-name span,.fee-values span,.member-name span{font-size:var(--ui-label-size)}.fee-name strong,.fee-values strong,.member-name strong{font-size:var(--ui-copy-size)}.role-grid strong,.danger-zone strong{font-size:var(--ui-body-size)}.role-grid p,.danger-zone p,.empty-state p,.error-state p{font-size:14px}.empty-state strong,.error-state h2{font-size:18px}.inline-alert,.demo-banner p,.toast{font-size:14px}.demo-banner>span,.demo-banner button{font-size:var(--ui-micro-size)}.danger-button{min-height:42px;font-size:14px}.modal-head h2{font-size:24px}.modal-card label>span,.contact-project-picker legend,.contact-project-picker>p{font-size:var(--ui-label-size)}.modal-card input,.modal-card select,.modal-card textarea{min-height:46px;font-size:var(--ui-control-size)}.contact-project-picker label>span,.contact-project-picker label strong{font-size:var(--ui-label-size)}.file-drop strong{font-size:var(--ui-body-size)}.file-drop>span,.file-drop input{font-size:var(--ui-label-size)!important}.form-note,.feeflow-import-rules p,.form-error{font-size:var(--ui-label-size)}.feeflow-derived-summary small,.feeflow-import-intro span{font-size:var(--ui-micro-size)}.feeflow-derived-summary strong,.feeflow-import-intro p,.feeflow-import-rules ul,.feeflow-open-link{font-size:14px}.feeflow-import-rules strong{font-size:var(--ui-body-size)}.ff-tabs button{min-height:46px;font-size:var(--ui-control-size);padding-inline:18px}.ff-toolbar>select{min-width:150px;height:46px;font-size:14px}.ff-kpi-grid article{min-height:145px}.ff-kpi-grid article>span,.ff-card>span,.ff-eyebrow,.ff-card-head span,.ff-stage-heading span,.ff-dialog-head span{font-size:var(--ui-micro-size)}.ff-kpi-grid article>strong{font-size:clamp(26px,2.2vw,34px)}.ff-kpi-grid article>small,.ff-legend,.ff-bar>span{font-size:var(--ui-label-size)}.ff-card-head h2,.ff-target-card h2{font-size:26px}.ff-card-head p,.ff-target-card>p,.ff-target-card dl div{font-size:var(--ui-copy-size)}.ff-target-card form input,.ff-target-card form button{height:44px;font-size:14px}.ff-project-layout{grid-template-columns:275px minmax(0,1fr)}.ff-project-list>span{font-size:var(--ui-micro-size)}.ff-project-list button{gap:5px;padding-block:16px}.ff-project-list button strong,.ff-project-list button small{font-size:var(--ui-micro-size)}.ff-project-list button span{font-size:var(--ui-copy-size)}.ff-shared-heading span,.ff-shared-heading strong,.ff-form-grid label{font-size:var(--ui-label-size)}.ff-form-grid input,.ff-form-grid select,.ff-form-grid textarea,.ff-stage-fields input,.ff-stage-fields select{min-height:46px;font-size:var(--ui-control-size)}.ff-stage-heading h3{font-size:21px}.ff-stage-heading p{font-size:14px}.ff-stage-heading button{min-height:42px;font-size:14px}.ff-stage-order>strong{font-size:14px}.ff-stage-order button{width:28px;height:32px}.ff-stage-fields label{font-size:var(--ui-micro-size)}.ff-stage-error,.ff-delete{font-size:var(--ui-label-size)}.ff-actuals-table{min-width:1660px}.ff-actuals-table th,.ff-actuals-table td{min-width:98px;padding:9px}.ff-actuals-table thead th,.ff-actuals-table tbody th strong,.ff-actuals-table tbody th em{font-size:var(--ui-micro-size)}.ff-actuals-table tbody th span,.ff-actuals-table td input{font-size:var(--ui-label-size)}.ff-actuals-table td input{width:88px;height:38px}.ff-gantt-actions button{min-height:42px;padding-inline:13px;font-size:14px}.ff-gantt-actions button.ff-export-pdf:before{font-size:10px}.ff-gantt-scale-label span{font-size:var(--ui-micro-size)}.ff-gantt-scale-label strong{font-size:var(--ui-label-size)}.ff-gantt-scale button{min-height:42px;font-size:17px}.ff-gantt-scale button.ff-gantt-fit,.ff-gantt-scale button.ff-gantt-comfort{min-width:124px;font-size:14px}.ff-ms-gantt{--gantt-fields-width:920px}.ff-ms-fields{grid-template-columns:minmax(320px,1fr) 115px 115px 90px 90px 190px;min-height:54px}.ff-ms-column-head,.ff-ms-months{min-height:48px}.ff-ms-column-head>strong,.ff-ms-months strong{font-size:var(--ui-micro-size)}.ff-ms-row>.ff-ms-fields>:not(.ff-ms-task),.ff-ms-task,.ff-ms-timeline{min-height:54px}.ff-ms-project-row .ff-ms-fields,.ff-ms-project-row>.ff-ms-fields>:not(.ff-ms-task),.ff-ms-project-row .ff-ms-timeline{min-height:62px}.ff-ms-task span small{font-size:14px}.ff-ms-project-task span strong{font-size:var(--ui-micro-size)}.ff-ms-project-task span small{font-size:16px}.ff-ms-stage-task span strong{font-size:var(--ui-micro-size)}.ff-ms-stage-task span small{font-size:var(--ui-label-size)}.ff-ms-stage-row input{min-height:38px;font-size:var(--ui-micro-size)}.ff-ms-progress small{font-size:var(--ui-micro-size)}.ff-ms-status{font-size:var(--ui-micro-size)!important}.ff-ms-row-actions button{min-height:34px;font-size:var(--ui-micro-size);padding-inline:9px}.ff-ms-summary-bar,.ff-ms-stage-bar{height:24px}.ff-ms-summary-bar{height:15px}.ff-ms-summary-bar>small,.ff-ms-stage-bar>small,.ff-ms-no-bar{font-size:11px}.ff-card .table-wrap table small{font-size:var(--ui-label-size)}.ff-data-grid h2{font-size:25px}.ff-data-grid p,.ff-data-grid li{font-size:var(--ui-copy-size)}.ff-import input[type=file]{font-size:14px}.ff-dialog-head h2{font-size:28px}.meeting-history-head span,.meeting-toolbar span,.meeting-item-identity>div>span,.proposal-history-head span,.proposal-toolbar span,.proposal-preview-label>span{font-size:var(--ui-micro-size)}.meeting-history-head strong,.meeting-toolbar strong,.meeting-items-head strong,.proposal-history-head strong,.proposal-toolbar strong{font-size:18px}.meeting-history-list strong,.proposal-history-list strong{font-size:var(--ui-copy-size)}.meeting-history-list span,.meeting-history-list p,.proposal-history-list span,.proposal-history-list small,.proposal-history-list p,.meeting-fields label>span,.meeting-item-editor label>span,.proposal-fields label>span,.proposal-stage-editor label>span{font-size:var(--ui-label-size)}.meeting-fields input,.meeting-fields select,.meeting-fields textarea,.meeting-item-meta input,.meeting-item-meta select{min-height:46px;font-size:var(--ui-control-size)}.meeting-item-identity>div>span{font-size:var(--ui-micro-size)}.meeting-item-identity strong{font-size:var(--ui-body-size)}.meeting-remove{min-height:46px;font-size:var(--ui-label-size)}.meeting-rich-editor-title{min-height:44px}.meeting-rich-editor-title>span,.meeting-rich-editor-title>button{font-size:var(--ui-label-size)}.meeting-rich-toolbar{min-height:49px}.meeting-rich-toolbar select,.meeting-rich-toolbar button{height:36px;font-size:var(--ui-label-size)}.meeting-rich-canvas{font-size:var(--ui-body-size)}.meeting-rich-editor.expanded .meeting-rich-canvas{font-size:18px}.meeting-preview-label p,.proposal-preview-label p{font-size:var(--ui-label-size)}.proposal-history-head button{min-height:40px;font-size:14px}.proposal-storage-note,.proposal-alert{font-size:14px}.proposal-editor summary strong{font-size:18px}.proposal-editor summary small{font-size:var(--ui-label-size)}.proposal-fields input,.proposal-fields select,.proposal-fields textarea,.proposal-stage-editor input,.proposal-stage-editor textarea{min-height:47px;font-size:var(--ui-control-size)}.proposal-stage-check strong{font-size:14px}.fee-calculator-shell{gap:16px;min-width:0;display:grid}.fee-calculator-service,.fee-calculator-project{justify-content:space-between;align-items:center;gap:28px;padding:22px 24px;display:flex}.fee-calculator-service>div:first-child,.fee-calculator-project>div:first-child{min-width:0}.fee-calculator-service>div:first-child>span,.fee-calculator-project>div:first-child>span,.fee-calculator-heading span,.fee-calculator-stage-head>div>span,.fee-calculator-summary>span,.fee-calculator-rate-row>div>span{color:var(--accent);font-size:var(--ui-micro-size);letter-spacing:.13em;font-weight:850;display:block}.fee-calculator-service h2,.fee-calculator-project h2,.fee-calculator-heading h2,.fee-calculator-summary h2{letter-spacing:-.025em;margin:5px 0 0;font-size:24px}.fee-calculator-service p,.fee-calculator-project p{max-width:760px;color:var(--muted);font-size:var(--ui-copy-size);margin:6px 0 0}.fee-calculator-service-tabs{grid-template-columns:1fr 1fr;gap:8px;width:min(450px,44%);display:grid}.fee-calculator-service-tabs button{border:1px solid var(--line);min-height:70px;color:var(--ink);text-align:left;background:#fff;border-radius:5px;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;padding:12px 15px;display:flex}.fee-calculator-service-tabs button.active{border-color:var(--ink);background:var(--ink);color:#fff}.fee-calculator-service-tabs button:disabled{color:#8a8d88;background:#f5f4f0}.fee-calculator-service-tabs strong{font-size:var(--ui-body-size)}.fee-calculator-service-tabs span{font-size:var(--ui-label-size)}.fee-calculator-project label{flex:none;gap:7px;width:min(420px,42%);display:grid}.fee-calculator-project label>span,.fee-calculator-input-card label>span,.fee-calculator-rate-row label>span,.fee-calculator-stage-value>span,.fee-calculator-stage-fee>span{color:#555854;font-size:var(--ui-label-size);font-weight:750}.fee-calculator-project select,.fee-calculator-input-card input,.fee-calculator-time-card input,.fee-calculator-stage-value input{width:100%;min-height:48px;color:var(--ink);font-size:var(--ui-body-size);background:#fff;border:1px solid #d7d7d1;border-radius:4px;outline:0}.fee-calculator-project select{padding:0 42px 0 13px}.fee-calculator-project select:focus,.fee-calculator-input-card input:focus,.fee-calculator-time-card input:focus,.fee-calculator-stage-value input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #d965321a}.fee-calculator-grid{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:16px;display:grid}.fee-calculator-builder{min-width:0;overflow:hidden}.fee-calculator-heading{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:20px;min-height:90px;padding:18px 22px;display:flex}.fee-calculator-method-tabs{border:1px solid var(--line);background:#f7f6f2;border-radius:7px;gap:6px;padding:4px;display:flex}.fee-calculator-method-tabs button{color:#60645f;cursor:pointer;min-height:42px;font-size:var(--ui-control-size);background:0 0;border:0;border-radius:4px;padding:0 16px;font-weight:750}.fee-calculator-method-tabs button.active{background:var(--ink);color:#fff}.fee-calculator-input-card{background:#faf9f6;grid-template-columns:minmax(220px,1fr) minmax(180px,.65fr) minmax(230px,.8fr);align-items:end;gap:16px;padding:22px;display:grid}.fee-calculator-input-card label,.fee-calculator-rate-row label{gap:8px;display:grid}.fee-calculator-money-input,.fee-calculator-suffix-input{grid-template-columns:auto 1fr;align-items:stretch;display:grid}.fee-calculator-suffix-input{grid-template-columns:1fr auto}.fee-calculator-money-input b,.fee-calculator-suffix-input b{color:#565a55;min-width:45px;font-size:var(--ui-control-size);background:#f1f0ec;border:1px solid #d7d7d1;place-items:center;display:grid}.fee-calculator-money-input b{border-right:0;border-radius:4px 0 0 4px}.fee-calculator-money-input input{border-radius:0 4px 4px 0}.fee-calculator-suffix-input b{border-left:0;border-radius:0 4px 4px 0}.fee-calculator-suffix-input input{border-radius:4px 0 0 4px}.fee-calculator-formula{border-left:3px solid var(--accent);background:var(--accent-soft);min-height:82px;padding:12px 15px}.fee-calculator-formula span,.fee-calculator-formula small{color:#7c624f;font-size:var(--ui-label-size);display:block}.fee-calculator-formula strong{margin:2px 0;font-size:25px;display:block}.fee-calculator-time-card{background:#faf9f6;padding:22px}.fee-calculator-rate-row{grid-template-columns:minmax(220px,.6fr) minmax(0,1.4fr);align-items:end;gap:20px;display:grid}.fee-calculator-rate-presets{grid-template-columns:repeat(4,minmax(100px,1fr));gap:6px;margin-top:8px;display:grid}.fee-calculator-rate-presets button{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:4px;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-height:57px;padding:8px 10px;display:flex}.fee-calculator-rate-presets button:hover{border-color:var(--accent)}.fee-calculator-rate-presets strong{font-size:var(--ui-label-size)}.fee-calculator-rate-presets span{color:var(--muted);font-size:var(--ui-label-size)}.fee-calculator-time-card>p{color:var(--muted);margin:14px 0 0;font-size:14px}.fee-calculator-stage-head{justify-content:space-between;align-items:center;gap:20px;padding:23px 22px 14px;display:flex}.fee-calculator-stage-head h3{margin:4px 0 0;font-size:20px}.fee-calculator-stages{border-top:1px solid var(--line-soft)}.fee-calculator-stage-columns,.fee-calculator-stages article{grid-template-columns:minmax(260px,1fr) 165px 195px;align-items:center;gap:14px;padding:0 22px;display:grid}.fee-calculator-stage-columns{color:#666a65;min-height:43px;font-size:var(--ui-micro-size);letter-spacing:.06em;text-transform:uppercase;background:#efeee9;font-weight:800}.fee-calculator-stage-columns span:nth-child(n+2){text-align:right}.fee-calculator-stages article{border-top:1px solid var(--line-soft);background:#f8f7f3;min-height:86px}.fee-calculator-stages article.included{background:#fff}.fee-calculator-stage-name{cursor:pointer;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;display:grid}.fee-calculator-stage-name input{width:19px;height:19px;accent-color:var(--accent)}.fee-calculator-stage-name>span{flex-direction:column;gap:3px;min-width:0;display:flex}.fee-calculator-stage-name small{color:var(--accent);font-size:var(--ui-micro-size);letter-spacing:.08em;font-weight:850}.fee-calculator-stage-name strong{font-size:var(--ui-copy-size);text-overflow:ellipsis;overflow:hidden}.fee-calculator-stage-value{gap:5px;display:grid}.fee-calculator-stage-value>span{display:none}.fee-calculator-stage-value input{text-align:right;min-height:43px;padding:0 10px}.fee-calculator-stage-value input:disabled{color:#8b8e89;background:#efeee9}.fee-calculator-stage-value .fee-calculator-suffix-input b{min-width:48px}.fee-calculator-stage-fee{text-align:right}.fee-calculator-stage-fee>span{display:none}.fee-calculator-stage-fee strong{font-size:17px}.fee-calculator-allocation{border-top:1px solid var(--line);font-size:var(--ui-label-size);grid-template-columns:1fr auto;gap:2px 16px;padding:15px 22px;display:grid}.fee-calculator-allocation span{font-weight:750}.fee-calculator-allocation strong{font-size:18px}.fee-calculator-allocation p{grid-column:1/-1;margin:0}.fee-calculator-allocation.valid{background:var(--success-soft);color:var(--success)}.fee-calculator-allocation.invalid{background:var(--danger-soft);color:var(--danger)}.fee-calculator-summary{padding:22px;position:sticky;top:92px}.fee-calculator-summary h2{overflow-wrap:anywhere;margin-bottom:21px}.fee-calculator-summary dl{border-top:1px solid var(--line-soft);margin:0}.fee-calculator-summary dl div{border-bottom:1px solid var(--line-soft);font-size:var(--ui-label-size);justify-content:space-between;gap:12px;padding:12px 0;display:flex}.fee-calculator-summary dt{color:var(--muted)}.fee-calculator-summary dd{text-align:right;margin:0;font-weight:750}.fee-calculator-totals{margin:18px 0}.fee-calculator-totals>div{justify-content:space-between;align-items:baseline;gap:10px;padding:6px 0;display:flex}.fee-calculator-totals span{color:var(--muted);font-size:var(--ui-label-size)}.fee-calculator-totals strong{font-size:17px}.fee-calculator-totals .grand-total{border-top:2px solid var(--ink);margin-top:8px;padding:14px 0 0}.fee-calculator-totals .grand-total span{color:var(--ink);font-weight:750}.fee-calculator-totals .grand-total strong{font-size:26px}.fee-calculator-transfer{justify-content:center;width:100%}.fee-calculator-transfer:disabled{cursor:not-allowed;opacity:.45}.fee-calculator-export{justify-content:center;width:100%;margin-bottom:9px}.fee-calculator-export:disabled{cursor:not-allowed;opacity:.45}.fee-calculator-guidance{color:var(--warning);font-size:var(--ui-label-size);margin:9px 0 0;line-height:1.45}.fee-calculator-reset{border:1px solid var(--line);color:#565a55;cursor:pointer;width:100%;min-height:42px;font-size:var(--ui-label-size);background:#fff;margin-top:9px;font-weight:750}.fee-calculator-message{background:var(--success-soft);color:var(--success);font-size:var(--ui-label-size);margin-top:10px;padding:9px}.fee-calculator-disclaimer{border-top:1px solid var(--line-soft);color:var(--muted);font-size:var(--ui-label-size);margin:18px 0 0;padding-top:15px;line-height:1.5}@media (width<=1160px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.project-grid,.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.role-grid{grid-template-columns:repeat(2,1fr)}.meeting-workspace{grid-template-columns:1fr}.meeting-history{position:static}.meeting-history-list{max-height:220px}.meeting-item-card-head{grid-template-columns:1fr;align-items:start}.meeting-item-meta{grid-template-columns:minmax(120px,1fr) 150px 140px 56px}.proposal-workspace{grid-template-columns:1fr}.proposal-history{position:static}.proposal-history-list{max-height:230px}.proposal-stage-editor article{grid-template-columns:repeat(2,minmax(0,1fr))}.fee-calculator-grid{grid-template-columns:1fr}.fee-calculator-summary{position:static}}@media (width<=900px){.auth-shell{grid-template-columns:1fr}.auth-brand-panel{min-height:auto;padding:30px}.auth-brand-copy{padding:64px 0 52px}.auth-brand-copy h1{max-width:650px;font-size:clamp(39px,8vw,64px)}.auth-form-panel{min-height:auto;padding:48px 22px}.sidebar{width:252px;transition:transform .18s;transform:translate(-105%)}.sidebar-open{transform:translate(0)}.mobile-close,.mobile-menu,.nav-scrim{display:grid}.nav-scrim{z-index:35;background:#0000006b;border:0;position:fixed;inset:0}.main-shell{margin-left:0}.mobile-menu{flex:none;place-items:center;width:38px;height:38px}.topbar{padding:0 20px}.search-box{width:min(430px,55vw)}.project-filter{display:none}.dashboard-grid,.settings-grid{grid-template-columns:1fr}.span-two,.settings-grid .span-two{grid-column:auto}.project-grid,.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fee-calculator-service,.fee-calculator-project{flex-direction:column;align-items:flex-start}.fee-calculator-service-tabs,.fee-calculator-project label{width:100%}.fee-calculator-input-card{grid-template-columns:1fr 1fr}.fee-calculator-formula{grid-column:1/-1}.fee-calculator-rate-row{grid-template-columns:1fr}.fee-calculator-stage-columns,.fee-calculator-stages article{grid-template-columns:minmax(220px,1fr) 145px 175px}}@media (width<=680px){.project-lifecycle-toolbar{flex-direction:column;align-items:stretch}.project-lifecycle-tabs{width:100%}.project-lifecycle-tabs button{flex:1;justify-content:center}.auth-brand-panel{padding:24px}.auth-brand-copy{padding:54px 0 42px}.auth-security-note{line-height:1.6}.auth-form-panel{padding:28px 15px}.auth-card{padding:30px 24px}.topbar{gap:8px;height:62px;padding:0 12px}.search-box{flex:1;width:auto}.notification-button{display:none}.page-content{padding:24px 15px 42px}.page-heading{flex-direction:column;align-items:flex-start;gap:17px}.heading-actions{width:100%}.heading-actions>button{flex:1}.metric-grid,.metric-grid-three,.project-grid,.contact-grid,.contact-category-tabs{grid-template-columns:1fr}.contact-directory-meta{flex-direction:column;align-items:flex-start;padding-bottom:9px}.metric-card{min-height:122px}.panel-heading{min-height:68px;padding:15px}.stage-row{grid-template-columns:1fr 22px;gap:7px 10px}.stage-row>div{grid-area:2/1/auto/-1}.fee-row{grid-template-columns:1fr 110px;gap:10px}.fee-bar{grid-area:2/1/auto/-1}.field-row,.contact-project-picker>div{grid-template-columns:1fr}.modal-layer{align-items:end;padding:0}.modal-card{width:100%;max-height:94vh}.member-row{grid-template-columns:34px 1fr auto}.member-row .status-pill:last-child{display:none}.role-grid,.demo-banner{grid-template-columns:1fr}.danger-zone,.meeting-toolbar{flex-direction:column;align-items:flex-start}.meeting-actions{justify-content:flex-start;width:100%}.meeting-actions button{flex:1}.meeting-fields{grid-template-columns:1fr}.meeting-attendees{grid-column:auto}.meeting-items-editor{padding:10px}.meeting-item-card-head{padding:14px}.meeting-item-meta{grid-template-columns:1fr 1fr}.meeting-item-meta .meeting-remove{justify-self:start}.meeting-item-writing{padding:12px}.meeting-rich-toolbar{padding:5px}.meeting-rich-canvas{min-height:175px;padding:14px}.meeting-rich-editor.tall .meeting-rich-canvas{min-height:220px}.meeting-rich-editor.expanded{inset:0}.meeting-rich-editor.expanded .meeting-rich-canvas{padding:22px 18px}.meeting-preview-label{flex-direction:column;align-items:flex-start;gap:6px}.meeting-a4-sheet{min-height:900px;padding:30px 22px}.meeting-a4-header{flex-direction:column;align-items:flex-start;gap:10px}.meeting-a4-header h2{font-size:23px}.meeting-a4-table{min-width:620px}.proposal-toolbar{flex-direction:column;align-items:flex-start}.proposal-actions{justify-content:flex-start;width:100%}.proposal-actions button{flex:1}.proposal-status-toggle{width:100%}.proposal-fields-two{grid-template-columns:1fr}.proposal-span-two{grid-column:auto}.proposal-scope-preset{flex-direction:column;align-items:flex-start}.proposal-scope-preset button{justify-content:center;width:100%}.proposal-stage-editor article{grid-template-columns:1fr}.proposal-third-party-head{display:none}.proposal-third-party-row{border-bottom:1px solid var(--line-soft);grid-template-columns:1fr;padding-bottom:12px}.proposal-third-party-row button{justify-self:start;padding:0 14px}.proposal-preview-label{flex-direction:column;align-items:flex-start;gap:6px}.proposal-preview-frame{height:780px}.fee-calculator-service,.fee-calculator-project{padding:18px}.fee-calculator-service-tabs{grid-template-columns:1fr}.fee-calculator-heading{flex-direction:column;align-items:flex-start;padding:18px}.fee-calculator-method-tabs{width:100%}.fee-calculator-method-tabs button{flex:1;padding-inline:8px}.fee-calculator-input-card{grid-template-columns:1fr;padding:18px}.fee-calculator-formula{grid-column:auto}.fee-calculator-rate-presets{grid-template-columns:1fr 1fr}.fee-calculator-stage-head{flex-direction:column;align-items:flex-start;padding-inline:18px}.fee-calculator-stage-columns{display:none}.fee-calculator-stages article{grid-template-columns:1fr;gap:12px;padding:16px 18px}.fee-calculator-stage-value>span,.fee-calculator-stage-fee>span{display:block}.fee-calculator-stage-fee{text-align:left;justify-content:space-between;align-items:baseline;display:flex}.fee-calculator-allocation{padding-inline:18px}.toast{bottom:15px;left:15px;right:15px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.dashboard-project-table{max-height:520px;overflow:auto}.dashboard-project-table thead th{z-index:1;background:#fff;position:sticky;top:0}.contract-type-card{border:1px solid var(--line);background:#f8f8f5;gap:3px;margin:9px 9px 3px;padding:12px 13px;display:grid}.contract-type-card span{color:var(--muted);font-size:var(--ui-micro-size);letter-spacing:.12em;font-weight:800}.contract-type-card strong{font-size:14px}.contract-type-card small{color:var(--muted);font-size:var(--ui-label-size);line-height:1.35}.contract-actions select{border:1px solid var(--line);min-height:44px;font:inherit;font-size:var(--ui-control-size);background:#fff;padding:0 34px 0 12px}.contract-editor .contract-textarea{grid-column:auto}.contract-editor .proposal-fields:not(.proposal-fields-two){gap:15px;display:grid}.contract-items-grid .contract-textarea{min-width:0}.contract-check{border:1px solid var(--line-soft);background:#fbfbf8;grid-column:1/-1;align-items:center;padding:12px;gap:9px!important;display:flex!important}.contract-check input{accent-color:var(--accent);width:18px!important;min-height:18px!important}.contract-check span{color:var(--ink)!important;font-weight:700!important}.contract-preview-frame{height:1180px}@media (width<=680px){.contract-actions{flex-wrap:wrap;width:100%}.contract-actions select{width:100%}.contract-preview-frame{height:780px}}.testhub-badge{color:#f1804a;letter-spacing:.13em;background:#ee6b2f1f;border:1px solid #ee6b2f8c;width:fit-content;margin-top:8px;padding:3px 7px;font-size:10px;font-style:normal;font-weight:850;display:inline-flex}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
