.feedback-trigger{position:fixed;bottom:24px;right:24px;z-index:40;display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--color-brand, #7B8C42);color:#fff;border:none;border-radius:24px;font-size:13px;font-weight:500;cursor:pointer;box-shadow:0 4px 12px #00000040;transition:background .15s,transform .1s}.feedback-trigger:hover{background:#6a7a38;transform:translateY(-1px)}.feedback-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:41;background:#00000040;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.feedback-panel{position:fixed;bottom:24px;right:24px;z-index:42;width:400px;max-width:calc(100vw - 2rem);max-height:90vh;display:flex;flex-direction:column;background:var(--color-surface, var(--color-bg-elevated, #1e1e1e));border:1px solid var(--color-border, #333);border-radius:16px;box-shadow:0 20px 60px #0006;overflow:hidden}.feedback-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border, #333);flex-shrink:0}.feedback-panel-title{font-size:15px;font-weight:600}.feedback-close-btn{background:none;border:none;cursor:pointer;padding:4px;color:var(--color-text-muted, #888);border-radius:4px;display:flex;align-items:center}.feedback-close-btn:hover{background:var(--color-hover, rgba(255,255,255,.06));color:var(--color-text, inherit)}.feedback-panel-body{display:flex;flex-direction:column;gap:14px;padding:16px 20px;overflow-y:auto}.feedback-field{display:flex;flex-direction:column;gap:6px}.feedback-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted, #888)}.feedback-required{color:var(--color-error, #e55)}.feedback-textarea{resize:vertical;min-height:72px}.feedback-category-pills{display:flex;flex-wrap:wrap;gap:6px}.feedback-category-pill{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;background:var(--color-hover, rgba(255,255,255,.06));border:1px solid var(--color-border, #333);color:var(--color-text-muted, #888);cursor:pointer;transition:all .12s}.feedback-category-pill:hover{background:var(--color-hover, rgba(255,255,255,.1));color:var(--color-text, inherit)}.feedback-category-pill-active{background:var(--color-brand, #7B8C42);border-color:var(--color-brand, #7B8C42);color:#fff}.feedback-recording-toggle{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--color-border, #333);border-radius:8px;background:none;cursor:pointer;text-align:left;transition:border-color .12s,background .12s;color:var(--color-text-muted, #888)}.feedback-recording-toggle:hover{background:var(--color-hover, rgba(255,255,255,.04))}.feedback-recording-toggle-on{border-color:var(--color-brand, #7B8C42);background:#7b8c4214;color:var(--color-brand, #7B8C42)}.feedback-recording-label{font-size:13px;font-weight:500;margin:0;color:var(--color-text, inherit)}.feedback-recording-meta{font-size:11px;color:var(--color-text-muted, #888);margin:2px 0 0}.feedback-page-ref{font-size:11px;color:var(--color-text-muted, #888);margin:0}.feedback-page-ref code{font-family:monospace}.feedback-panel-footer{padding:12px 20px 16px;border-top:1px solid var(--color-border, #333);flex-shrink:0}.feedback-submit-btn{width:100%;justify-content:center}.fb-screenshot-btn{display:flex;align-items:center;gap:7px;padding:8px 12px;border:1px dashed var(--color-border, #333);border-radius:8px;background:none;color:var(--color-text-muted, #888);font-size:13px;cursor:pointer;transition:border-color .12s,color .12s;width:100%;text-align:left}.fb-screenshot-btn:hover{border-color:var(--color-brand, #7B8C42);color:var(--color-brand, #7B8C42)}.fb-screenshot-btns{display:flex;gap:8px}.fb-screenshot-btns .fb-screenshot-btn{flex:1}.fb-screenshot-btn:disabled{opacity:.45;cursor:default}.fb-screenshot-hint{font-size:11px;color:var(--color-text-muted, #888);margin:2px 0 0;text-align:center}.fb-screenshot-preview{display:flex;flex-direction:column;gap:6px}.fb-screenshot-thumb{width:100%;border-radius:6px;border:1px solid var(--color-border, #333);display:block}.fb-screenshot-actions{display:flex;gap:6px}.fb-annotate-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#111;display:flex;flex-direction:column}.fb-annotate-toolbar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#1a1a1a;border-bottom:1px solid #333;flex-shrink:0}.fb-annotate-hint{font-size:13px;color:#aaa;flex:1}.fb-annotate-tools{display:flex;gap:4px}.fb-annotate-tool{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #444;border-radius:6px;background:none;color:#ccc;cursor:pointer;transition:background .1s,border-color .1s,color .1s}.fb-annotate-tool:hover{background:#2a2a2a;color:#fff}.fb-annotate-tool.active{background:#e53e3e26;border-color:#e53e3e;color:#e53e3e}.fb-annotate-tool:disabled{opacity:.35;cursor:default}.fb-annotate-actions{display:flex;gap:8px}.fb-annotate-canvas-wrap{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:16px;position:relative}.fb-annotate-canvas{max-width:100%;max-height:calc(100vh - 70px);object-fit:contain;border-radius:4px;display:block}.fb-annotate-cursor-circle,.fb-annotate-cursor-pen{cursor:crosshair}.fb-annotate-cursor-text{cursor:text}.fb-annotate-tool-group{display:flex;flex-direction:column;align-items:center;gap:3px}.fb-annotate-color{width:22px;height:14px;padding:0;border:1px solid #444;border-radius:3px;background:none;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.fb-annotate-color::-webkit-color-swatch-wrapper{padding:0}.fb-annotate-color::-webkit-color-swatch{border:none;border-radius:2px}.fb-annotate-color::-moz-color-swatch{border:none;border-radius:2px}.fb-annotate-text-input{position:absolute;background:transparent;border:none;border-bottom:2px solid #e53e3e;color:#e53e3e;font:700 18px system-ui,sans-serif;padding:0 2px;outline:none;min-width:80px;transform:translateY(-18px)}.fb-annotate-text-input::placeholder{color:#e53e3e80;font-size:13px}.feedback-success{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:48px 24px;text-align:center}.feedback-success-title{font-size:17px;font-weight:600;margin:0}.feedback-success-body{font-size:13px;color:var(--color-text-muted, #888);margin:0}.notif-bell-wrap{position:relative}.notif-bell-btn{position:relative;background:none;border:none;cursor:pointer;padding:6px;color:var(--color-text-muted, #888);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:color .12s,background .12s}.notif-bell-btn:hover{background:var(--color-hover, rgba(255,255,255,.06));color:var(--color-text, inherit)}.notif-badge{position:absolute;top:0;right:0;min-width:16px;height:16px;padding:0 3px;background:#e53e3e;color:#fff;font-size:9px;font-weight:700;border-radius:8px;display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none}.notif-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:50;width:320px;max-width:calc(100vw - 2rem);background:var(--color-surface, var(--color-bg-elevated, #1e1e1e));border:1px solid var(--color-border, #333);border-radius:10px;box-shadow:0 12px 40px #00000059;overflow:hidden}.notif-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--color-border, #333);background:var(--color-hover, rgba(255,255,255,.03))}.notif-panel-title{font-size:13px;font-weight:600}.notif-panel-actions{display:flex;align-items:center;gap:8px}.notif-mark-read-btn{display:flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;font-size:11px;color:var(--color-text-muted, #888);padding:0;transition:color .12s}.notif-mark-read-btn:hover{color:var(--color-text, inherit)}.notif-panel-body{max-height:340px;overflow-y:auto}.notif-empty{padding:28px 0;text-align:center;font-size:12px;color:var(--color-text-muted, #888);margin:0}.notif-item{padding:10px 14px;border-bottom:1px solid var(--color-border, #222);transition:background .1s}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--color-hover, rgba(255,255,255,.03))}.notif-item-link{cursor:pointer}.notif-item-link:hover{background:var(--color-hover, rgba(255,255,255,.06))}.notif-item-unread{background:#7b8c420f}.notif-item-title{font-size:13px;font-weight:500;margin:0;line-height:1.4}.notif-item-unread .notif-item-title{font-weight:600}.notif-item-body{font-size:12px;color:var(--color-text-muted, #888);margin:2px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-item-time{font-size:10px;color:var(--color-text-muted, #888);margin:4px 0 0}@font-face{font-family:Good Sans;src:url(/fonts/GoodSans-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Denim INK;src:url(/fonts/DenimINKWD-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{color-scheme:dark;--color-bg: #101210;--color-surface: #1a1d19;--color-border: #2a2e27;--color-text: #e2e4e0;--color-muted: #6b7268;--color-green: #22c55e;--color-green-dim: #14532d;--color-blue: #3b82f6;--color-blue-dim: #1e3a5f;--color-red: #ef4444;--color-red-dim: #450a0a;--color-yellow: #f59e0b;--color-yellow-dim: #3b3000;--color-brand: #7B8C42;--color-brand-dim: #2a3015;--color-shadow: rgba(0, 0, 0, .5);--color-surface-alt: #222620;--color-surface-hover: #232620;--color-teal: #06b6d4;--color-teal-dim: #082f49;--radius: 10px;--font: "Good Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--color-danger: #ef4444;--color-success: #22c55e;--color-warning: var(--color-yellow);--color-warning-dim: var(--color-yellow-dim);--color-error: var(--color-red);--color-ok: var(--color-green);--color-primary: var(--color-brand);--color-accent: var(--color-brand);--color-heading: var(--color-brand);--color-brand-hover: var(--color-brand);--color-card: var(--color-surface);--color-bg-elevated: var(--color-surface);--color-surface-secondary: var(--color-surface-alt);--color-surface-raised: var(--color-surface-alt);--color-bg-muted: var(--color-surface-alt);--color-hover: var(--color-surface-hover);--color-bg-hover: var(--color-surface-hover);--color-text-muted: var(--color-muted);--color-text-secondary: var(--color-muted);--text-muted: var(--color-muted);--border-color: var(--color-border);--color-border-light: var(--color-border);--logo-green: #545E42}[data-theme=light]{color-scheme:light;--color-bg: #f4f5f0;--color-surface: #ffffff;--color-border: #d6d9d0;--color-text: #1a1d19;--color-muted: #6b7268;--color-green: #16a34a;--color-green-dim: #dcfce7;--color-blue: #2563eb;--color-blue-dim: #dbeafe;--color-red: #dc2626;--color-red-dim: #fee2e2;--color-yellow: #d97706;--color-yellow-dim: #fef3c7;--color-brand: #6a7a38;--color-brand-dim: #eef0e4;--color-shadow: rgba(0, 0, 0, .1);--color-surface-alt: #f0f2ec;--color-surface-hover: #eaede4;--color-teal: #0891b2;--color-teal-dim: #cffafe;--color-danger: #dc2626;--color-success: #16a34a}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.required-mark,label .required-mark,abbr[title=required]{color:var(--color-danger)!important}html{overflow-x:clip}body{font-family:var(--font);background:var(--color-bg);color:var(--color-text);min-height:100vh;font-size:14px;line-height:1.6}a{color:var(--color-brand);text-decoration:none}a:hover{text-decoration:underline}input,select,textarea{background:var(--color-bg);border:1px solid var(--color-border);border-radius:5px;color:var(--color-text);font-family:var(--font);font-size:13px}input:focus,select:focus,textarea:focus{border-color:var(--color-brand);outline:none}input::placeholder,textarea::placeholder{color:var(--color-muted)}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-body{display:flex;align-items:flex-start;flex:1}.app-content{flex:1;min-width:0}.app-sidebar-wrap{position:sticky;top:56px;align-self:flex-start;display:flex;flex-direction:row;align-items:flex-start;flex-shrink:0;width:318px;min-width:318px}.app-sidebar{margin-left:16px;flex:1;position:relative;overflow:visible}.app-sidebar-scroll{display:flex;flex-direction:column;gap:12px;padding:28px 24px 28px 0;overflow-y:auto;max-height:calc(100vh - 56px)}.sidebar-collapse-handle{position:absolute;left:-16px;top:28px;height:48px;width:17px;background:var(--color-surface);border:1px solid var(--color-border);border-right:none;border-radius:8px 0 0 8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-muted);z-index:1;transition:background .15s,color .15s}.sidebar-collapse-handle:hover{background:var(--color-brand-dim);color:var(--color-brand)}.app-sidebar-scroll>.card:first-child{border-top-left-radius:0}.app-sidebar-wrap:has(.app-sidebar--tab){width:28px;min-width:28px}.app-sidebar--tab{margin-left:0;position:relative;overflow:visible;width:28px;height:52px;margin-top:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--color-border);border-right:none;border-radius:8px 0 0 8px;background:var(--color-surface)}.app-left-sidebar-wrap{position:sticky;top:56px;align-self:flex-start;flex-shrink:0;width:276px}.app-left-sidebar{margin-right:16px;position:relative;overflow:visible}.app-left-sidebar-scroll{display:flex;flex-direction:column;gap:12px;padding:28px 0 28px 24px;overflow-y:auto;max-height:calc(100vh - 56px)}.left-collapse-handle{position:absolute;right:-16px;top:28px;height:48px;width:17px;background:var(--color-surface);border:1px solid var(--color-border);border-left:none;border-radius:0 8px 8px 0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-muted);z-index:1;transition:background .15s,color .15s}.left-collapse-handle:hover{background:var(--color-brand-dim);color:var(--color-brand)}.app-left-sidebar-scroll>.plp-section:first-child,.app-left-sidebar-scroll>.plp-wrap:first-child>.plp-section:first-child,.app-left-sidebar-scroll>.card:first-child{border-top-right-radius:0}.sidebar-tab-btn{background:none;border:none;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-muted);border-radius:6px;transition:background .15s,color .15s;flex-shrink:0}.sidebar-tab-btn:hover{background:var(--color-brand-dim);color:var(--color-brand)}.sidebar-tab-badge{position:relative;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.sidebar-tab-badge-icon{line-height:1}.sidebar-tab-count{position:absolute;top:-4px;right:-4px;background:var(--color-red);color:#fff;border-radius:8px;font-size:9px;font-weight:700;padding:0 3px;min-width:14px;height:14px;display:flex;align-items:center;justify-content:center;line-height:1}.app-left-sidebar{width:260px;flex-shrink:0}.app-left-sidebar--tab{position:sticky;top:56px;align-self:flex-start;margin-top:28px;width:28px;height:52px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-left:none;border-radius:0 8px 8px 0;background:var(--color-surface)}.sidebar-widget-header{display:flex;align-items:center;justify-content:space-between;width:100%;cursor:pointer;-webkit-user-select:none;user-select:none;padding-bottom:10px;border-bottom:1px solid var(--color-border)}.sidebar-widget-header .sidebar-widget-title{margin:0;flex:1}.sidebar-widget-chevron{color:var(--color-muted);flex-shrink:0;margin-left:8px;display:flex;align-items:center}.sidebar-widget-body{margin-top:12px}@media(max-width:1280px),(pointer:coarse){.app-sidebar-wrap,.app-left-sidebar-wrap,.app-left-sidebar{display:none}}.nav{display:flex;align-items:center;gap:12px;padding:0 24px;height:56px;border-bottom:1px solid var(--color-border);background:var(--color-surface);position:sticky;top:0;z-index:10}.nav-logo{font-family:"Denim INK",var(--font);font-size:16px;font-weight:700;color:var(--color-text);display:flex;align-items:center;gap:8px;text-decoration:none!important}.nav-logo:hover{color:var(--color-text)}.nav-bird{height:28px;width:auto}.nav-bird-light,[data-theme=light] .nav-bird-dark{display:none}[data-theme=light] .nav-bird-light{display:block}.nav-logo svg{color:var(--color-brand)}.health-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:6px;vertical-align:middle}.health-unknown{background:var(--color-muted)}.health-healthy{background:var(--color-green)}.health-unhealthy{background:var(--color-red)}.nav-links{display:flex;gap:4px;margin-left:16px}.nav-link{padding:6px 12px;border-radius:6px;color:var(--color-muted);font-size:13px;font-weight:500;transition:background .15s,color .15s}.nav-link:hover,.nav-link.active{background:var(--color-border);color:var(--color-text);text-decoration:none}.nav-dropdown{position:relative}.nav-dropdown-trigger-row{display:flex;align-items:stretch;border-radius:6px;overflow:hidden}.nav-dropdown-label{padding-right:4px;border-top-right-radius:0!important;border-bottom-right-radius:0!important;margin-right:0}.nav-dropdown-caret-btn{background:none;border:none;cursor:pointer;padding:6px 8px;border-radius:0 6px 6px 0;display:flex;align-items:center;color:var(--color-muted);transition:background .1s,color .1s;line-height:1}.nav-dropdown-trigger-row:hover .nav-dropdown-label,.nav-dropdown-trigger-row:hover .nav-dropdown-caret-btn,.nav-dropdown-caret-btn.active,.nav-dropdown-caret-btn:hover{background:var(--color-border);color:var(--color-text)}.nav-dropdown-trigger-row:has(.nav-link.active) .nav-dropdown-label,.nav-dropdown-trigger-row:has(.nav-link.active) .nav-dropdown-caret-btn{background:var(--color-border);color:var(--color-text)}.nav-dropdown-caret{font-size:10px;opacity:.7}.nav-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);min-width:160px;box-shadow:0 8px 24px var(--color-shadow);z-index:100;padding:4px 0}.nav-dropdown-item{display:block;padding:8px 14px;font-size:13px;font-weight:500;color:var(--color-muted);text-decoration:none!important;transition:background .1s,color .1s}.nav-dropdown-item:hover,.nav-dropdown-item.active{background:var(--color-border);color:var(--color-text)}.nav-dropdown-divider{height:1px;background:var(--color-border);margin:4px 0}.nav-dropdown-section{padding:8px 14px 3px;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--color-muted);pointer-events:none}.nav-flyout-row{position:relative}.nav-flyout-trigger{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;font-size:13px;font-weight:500;color:var(--color-muted);cursor:pointer;transition:background .1s,color .1s;white-space:nowrap;gap:8px}.nav-flyout-row:hover .nav-flyout-trigger,.nav-flyout-row--open .nav-flyout-trigger{background:var(--color-border);color:var(--color-text)}.nav-flyout-arrow{font-size:14px;opacity:.5;line-height:1;flex-shrink:0}.nav-flyout-row:hover .nav-flyout-arrow,.nav-flyout-row--open .nav-flyout-arrow{opacity:1}.nav-flyout-panel{position:absolute;top:-4px;left:calc(100% + 2px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);min-width:170px;box-shadow:0 8px 24px var(--color-shadow);z-index:101;padding:4px 0}.nav-flyout-panel--flip{left:auto;right:calc(100% + 2px)}.page{padding:28px 36px;max-width:1100px;margin:0 auto;width:100%}.project-shell{width:100%;min-width:0;padding:20px 24px 36px}.project-subpage main.page,.project-subpage main.page-wide,.project-subpage main.page-form{padding-top:8px;max-width:none}.project-subpage .breadcrumbs{display:none}.plp-wrap{display:flex;flex-direction:column;gap:12px}.plp-section{display:flex;flex-direction:column;gap:2px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px}.plp-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);padding-bottom:8px;margin-bottom:2px}.plp-action{display:flex;align-items:center;padding:7px 10px;border-radius:6px;font-size:13px;color:var(--color-text);text-decoration:none;transition:background .12s,color .12s}.plp-action:hover{background:var(--color-surface-alt);color:var(--color-brand);text-decoration:none}.plp-recent-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;font-size:13px;color:var(--color-text);text-decoration:none;transition:background .12s,color .12s}.plp-recent-item:hover{background:var(--color-surface-alt);color:var(--color-brand);text-decoration:none}.plp-recent-icon{font-size:14px;flex-shrink:0}.plp-recent-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plp-recent-time{font-size:10px;color:var(--color-muted);flex-shrink:0}.plp-recent-wrap:not(:only-child){border-top:1px solid var(--color-border);padding-top:10px}.plp-action--refresh{cursor:pointer;background:none;border:none;width:100%;text-align:left;font-family:inherit;color:var(--color-muted);font-size:13px}.plp-action--refresh:hover{background:var(--color-surface-alt);color:var(--color-text)}.plp-action--refresh:disabled{opacity:.5;cursor:default}.plp-action--present{margin-top:8px;border-top:1px solid var(--color-border);padding-top:10px;cursor:pointer;background:none;border-left:none;border-right:none;border-bottom:none;width:100%;text-align:left;font-family:inherit;color:var(--color-brand);font-weight:600}.plp-action--present:hover{background:color-mix(in srgb,var(--color-brand) 8%,transparent)}.plp-action--active{color:var(--color-muted);font-weight:400}.plp-upload-footer{border-top:1px solid var(--color-border);padding:8px 10px;flex-shrink:0}.plp-action--upload{cursor:pointer;background:none;border:none;width:100%;text-align:left;font-family:inherit;display:flex;align-items:center;gap:7px;padding:7px 8px;border-radius:6px;color:var(--color-brand);font-size:13px;font-weight:600;transition:background .12s}.plp-action--upload:hover{background:color-mix(in srgb,var(--color-brand) 8%,transparent)}.upload-dropzone{border:1.5px dashed var(--color-border);border-radius:8px;padding:20px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-align:center;transition:border-color .15s,background .15s;background:var(--color-surface-alt);min-height:80px}.upload-dropzone:hover,.upload-dropzone:focus{border-color:var(--color-brand);outline:none}.upload-dropzone--active{border-color:var(--color-brand);background:color-mix(in srgb,var(--color-brand) 6%,transparent)}.upload-dropzone--compact{padding:10px 12px;min-height:44px;flex-direction:row;justify-content:flex-start}.upload-dropzone-hint{font-size:12px;color:var(--color-muted)}.upload-dropzone-file{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--color-text)}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:opacity .15s}.btn:disabled{opacity:.5;cursor:default}.btn-default{background:var(--color-border);color:var(--color-text)}.btn-default:hover:not(:disabled){opacity:.8}.btn-primary{background:var(--color-brand);color:#fff}[data-theme=light] .btn-primary{color:#fff}.btn-primary:hover:not(:disabled){opacity:.85}.source-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px 22px;margin-bottom:14px;transition:border-color .2s}.source-card.running{border-color:var(--color-blue)}.source-card.failed{border-color:var(--color-red)}.source-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.source-name{font-size:16px;font-weight:600;display:flex;align-items:center;gap:10px}.badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;letter-spacing:.3px;text-transform:uppercase}.badge-synced{background:var(--color-green-dim);color:var(--color-green)}.badge-running{background:var(--color-blue-dim);color:var(--color-blue)}.badge-failed{background:var(--color-red-dim);color:var(--color-red)}.badge-never{background:var(--color-border);color:var(--color-muted)}.module-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:20px;font-size:9px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;vertical-align:middle;line-height:1.5}.module-badge--dev{background:var(--color-red-dim);color:var(--color-red)}.module-badge--beta{background:var(--color-blue-dim);color:var(--color-blue)}.module-badge--new{background:var(--color-green-dim);color:var(--color-green)}.source-meta{font-size:12px;color:var(--color-muted);display:flex;gap:16px;flex-wrap:wrap;margin-bottom:10px}.progress-wrap{margin:12px 0 8px}.progress-label{display:flex;justify-content:space-between;font-size:12px;color:var(--color-muted);margin-bottom:5px}.progress-track{height:6px;background:var(--color-border);border-radius:10px;overflow:hidden}.progress-fill{height:100%;border-radius:10px;background:var(--color-blue);transition:width .4s ease}.stats-row{display:flex;gap:20px;font-size:12px;color:var(--color-muted);flex-wrap:wrap}.stat-item{display:flex;align-items:center;gap:4px}.stat-created{color:var(--color-green)}.stat-updated{color:var(--color-blue)}.stat-deleted{color:var(--color-yellow)}.stat-errors{color:var(--color-red)}.source-actions{display:flex;gap:8px;margin-top:14px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-title{font-size:22px;font-weight:700}.page-subtitle{font-size:13px;color:var(--color-muted);margin-top:2px}.header-actions{display:flex;align-items:center;gap:10px}.last-updated{font-size:12px;color:var(--color-muted)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--color-border);border-top-color:var(--color-brand);border-radius:50%;animation:spin .7s linear infinite}.spinner-lg{width:32px;height:32px;border-width:3px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:64px 20px;color:var(--color-muted)}.loading-state p{margin:0;font-size:13px}.error-banner{background:var(--color-red-dim);border:1px solid var(--color-red);color:var(--color-red);border-radius:var(--radius);padding:12px 16px;margin-bottom:20px;font-size:13px}.nav-right{margin-left:auto;display:flex;align-items:center;gap:10px}.nav--compact{gap:10px}.nav-right--compact{gap:8px;margin-left:auto}.nav-hamburger{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;margin-left:-6px;background:none;border:none;border-radius:8px;cursor:pointer;color:var(--color-text);flex:0 0 auto}.nav-hamburger:hover{background:#80808026}.mobile-nav{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;pointer-events:none;visibility:hidden}.mobile-nav.open{pointer-events:auto;visibility:visible}.mobile-nav-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;opacity:0;transition:opacity .2s ease}.mobile-nav.open .mobile-nav-backdrop{opacity:1}.mobile-nav-panel{position:absolute;top:0;left:0;bottom:0;width:min(320px,86vw);max-width:100vw;background:var(--color-surface);border-right:1px solid var(--color-border);box-shadow:4px 0 24px #0000002e;display:flex;flex-direction:column;transform:translate(-100%);transition:transform .22s ease}.mobile-nav.open .mobile-nav-panel{transform:translate(0)}.mobile-nav-head{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 10px 0 18px;border-bottom:1px solid var(--color-border);flex:0 0 auto}.mobile-nav-title{font-weight:700;font-size:14px;color:var(--color-text)}.mobile-nav-close{width:40px;height:40px;border:none;background:none;cursor:pointer;font-size:17px;color:var(--color-muted);border-radius:8px}.mobile-nav-close:hover{background:#80808026;color:var(--color-text)}.mobile-nav-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px;display:flex;flex-direction:column;gap:2px}.mobile-nav-search{margin-bottom:8px}.mobile-nav-search>*{width:100%}.mobile-nav-group{display:flex;flex-direction:column;gap:2px}.mobile-nav-grouplabel{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);font-weight:700;padding:8px 12px 4px}.mobile-nav-link{display:block;width:100%;text-align:left;padding:12px;min-height:44px;border:none;background:none;border-radius:8px;cursor:pointer;color:var(--color-text);text-decoration:none;font-size:15px;font-weight:500;line-height:20px}.mobile-nav-link:hover{background:#8080801f}.mobile-nav-link.active{background:var(--color-green-dim);color:var(--color-green);font-weight:600}.mobile-nav-link--btn{color:var(--color-green)}.mobile-nav-sep{height:1px;background:var(--color-border);margin:8px 4px}.mobile-nav-acc-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px;min-height:44px;border:none;background:none;cursor:pointer;border-radius:8px;color:var(--color-text);font-size:15px;font-weight:500;text-align:left}.mobile-nav-acc-trigger:hover{background:#8080801f}.mobile-nav-acc-caret{color:var(--color-muted);font-size:12px}.mobile-nav-acc-body{display:flex;flex-direction:column;gap:2px;padding-left:10px}.mobile-nav-acc-body .mobile-nav-link{font-size:14px;padding:10px 12px;min-height:40px}.mobile-nav-foot{margin-top:auto;padding:12px 8px 4px}@media(prefers-reduced-motion:reduce){.mobile-nav-panel,.mobile-nav-backdrop{transition:none}}.nav-user{font-size:12px;color:var(--color-muted)}.btn-small{padding:4px 10px;font-size:12px;border-radius:5px;border:none;cursor:pointer;font-weight:500}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:32px;max-width:380px;margin:60px auto}.login-card h1{font-family:"Denim INK",var(--font);font-size:22px;margin-bottom:20px;text-align:center}.login-brand-logo{display:block;margin:0 auto 16px;height:56px}.login-card label{display:block;margin-bottom:14px;font-size:13px;color:var(--color-muted)}.login-card input{display:block;width:100%;margin-top:4px;padding:8px 10px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-size:14px}.login-card input:focus{border-color:var(--color-brand);outline:none}.form-error{background:var(--color-red-dim);border:1px solid var(--color-red);color:var(--color-red);border-radius:6px;padding:8px 12px;font-size:13px;margin-bottom:14px}.form-success{background:var(--color-green-dim);border:1px solid var(--color-green);color:var(--color-green);border-radius:6px;padding:8px 12px;font-size:13px;margin-bottom:14px}.draft-restored-banner{display:flex;align-items:center;gap:12px;background:var(--color-surface-secondary, #222);border:1px solid var(--color-border);border-radius:6px;padding:8px 12px;font-size:13px;color:var(--color-text-secondary, #aaa);margin-bottom:14px}.draft-restored-banner span{flex:1}.login-subtitle{text-align:center;color:var(--color-muted);font-size:13px;margin:-12px 0 20px}.form-label{display:block;margin-bottom:14px;font-size:13px;color:var(--color-muted)}.form-input{display:block;width:100%;margin-top:4px;padding:8px 10px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-size:14px}.form-input:focus{border-color:var(--color-brand);outline:none}.btn-sso{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);font-weight:600;font-size:14px}.btn-sso:hover{background:var(--color-surface-hover);border-color:var(--color-muted)}.btn-full{width:100%;padding:10px 16px;border-radius:6px;cursor:pointer}.login-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--color-muted);font-size:12px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.btn-link{background:none;border:none;color:var(--color-brand);cursor:pointer;font-size:13px;padding:0}.btn-link:hover{text-decoration:underline}.login-toggle{display:block;margin:0 auto 16px}.login-form{margin-top:4px}.filter-bar{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.filter-bar-row{display:flex;gap:10px;align-items:center}.filter-search{flex:1;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;padding:8px 12px;color:var(--color-text);font-size:14px}.filter-search:focus{border-color:var(--color-brand);outline:none}.filter-search::placeholder{color:var(--color-muted)}.filter-select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;padding:8px 12px;color:var(--color-text);font-size:14px;min-width:150px}.filter-select:focus{border-color:var(--color-brand);outline:none}.empty-state{color:var(--color-muted);text-align:center;padding:40px 0;grid-column:1 / -1}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.project-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:18px 20px;transition:border-color .15s;text-decoration:none!important;color:inherit;display:block}.project-card:hover{border-color:var(--color-brand)}.project-card-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.project-number{font-size:11px;font-weight:700;background:var(--color-border);color:var(--color-text);padding:2px 8px;border-radius:4px}.project-card-name{font-size:15px;font-weight:600}.project-card-address{font-size:12px;color:var(--color-muted);margin-top:2px}.project-card-value{font-size:13px;color:var(--color-muted);margin-top:8px}@media(max-width:640px){.page-header{margin-bottom:16px;flex-wrap:wrap;gap:10px}.page-title{font-size:19px}.card{padding:14px 16px;margin-bottom:12px}.card-title{margin-bottom:8px}.card-desc{margin-bottom:10px}.card-collapse-body{margin-top:10px}.stat-card{padding:10px 12px}.stat-value{font-size:17px}.project-grid{gap:8px}.project-card{padding:11px 14px}.project-card-header{margin-bottom:3px;gap:6px}.project-card-name{font-size:14px;line-height:1.25}.project-card-address,.project-card-value{margin-top:2px}}.cal-nav{display:flex;align-items:center;gap:12px;margin-bottom:16px}.cal-month-title{font-size:16px;font-weight:600;min-width:180px;text-align:center;margin:0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:16px;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.cal-dow{background:var(--color-border);text-align:center;font-size:11px;font-weight:700;padding:6px 4px;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em}.cal-cell{background:var(--color-surface);min-height:72px;padding:6px;cursor:pointer;transition:background .1s;position:relative}.cal-cell:hover{background:var(--color-border)}.cal-cell--empty{background:var(--color-bg);cursor:default}.cal-cell--today{background:#545e4214}.cal-cell--today .cal-day-num{font-weight:800;color:var(--color-brand)}.cal-cell--selected{background:#545e4226!important;outline:2px solid var(--color-brand);outline-offset:-2px}.cal-cell--overdue{border-left:3px solid var(--color-danger, #e74c3c)}.cal-day-num{font-size:12px;font-weight:600;display:block;margin-bottom:2px}.cal-dots{display:flex;flex-wrap:wrap;gap:2px}.cal-dot{font-size:10px;line-height:1}.cal-dot-more{font-size:9px;color:var(--color-muted)}.cal-detail{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:14px 16px;margin-bottom:16px}.cal-event-list{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:6px}.cal-event-item{display:flex;align-items:flex-start;gap:8px;font-size:13px}.cal-event-dot{font-size:12px;line-height:1.4;flex-shrink:0}.cal-legend{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:11px;color:var(--color-muted);margin-top:8px;padding-top:12px;border-top:1px solid var(--color-border)}.cal-legend-item{display:flex;align-items:center;gap:4px;white-space:nowrap}.xero-summary-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:8px}.xero-summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:14px 16px}.xero-summary-label{font-size:11px;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.xero-summary-value{font-size:20px;font-weight:700}.xero-summary-sub{font-size:11px;color:var(--color-muted);margin-top:2px}.text-success{color:var(--color-green)}.text-danger{color:var(--color-danger, #e74c3c)}.overdue-amount{color:var(--color-danger, #e74c3c);font-weight:600}.btn-xs{padding:2px 7px;font-size:11px}.xero-relink-results{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);max-height:240px;overflow-y:auto}.xero-relink-result-row{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:none;cursor:pointer;font-size:13px;text-align:left;border-bottom:1px solid var(--color-border)}.xero-relink-result-row:last-child{border-bottom:none}.xero-relink-result-row:hover{background:var(--color-hover, #f5f5f5)}.xero-relink-inv{font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.confidence-badge{display:inline-block;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.confidence-exact{background:var(--color-green-dim);color:var(--color-green)}.confidence-high{background:var(--color-blue-dim);color:var(--color-blue)}.confidence-medium{background:var(--color-yellow-dim);color:var(--color-yellow)}.confidence-accept{background:var(--color-green-dim);color:var(--color-green);border:1px solid var(--color-green);padding:1px 6px}.confidence-accept:hover{background:var(--color-green);color:#fff}.confidence-dismiss{background:transparent;color:var(--color-muted);border:1px solid var(--color-border);padding:1px 6px}.confidence-dismiss:hover{color:var(--color-red);border-color:var(--color-red)}.badge-completed{background:var(--color-blue-dim);color:var(--color-blue)}.badge-on-hold{background:var(--color-brand-dim);color:var(--color-yellow)}.badge-tender{background:var(--color-yellow-dim);color:var(--color-yellow)}.badge-lead{background:var(--color-brand-dim);color:var(--color-brand)}.badge-submitted{background:var(--color-blue-dim);color:var(--color-blue)}.badge-awarded{background:var(--color-green-dim);color:var(--color-green)}.badge-practical-completion{background:var(--color-teal-dim);color:var(--color-teal)}.badge-inactive,.badge-archived{background:var(--color-border);color:var(--color-muted)}.badge-locked{background:var(--color-yellow-dim);color:var(--color-yellow)}.status-filter-pills{display:flex;flex-wrap:wrap;gap:6px}.status-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600;border:1.5px solid transparent;cursor:pointer;opacity:.45;transition:opacity .15s,border-color .15s;background:var(--color-border);color:var(--color-text)}.status-pill--selected{opacity:1;border-color:currentColor}.status-pill--active{background:var(--color-green-dim);color:var(--color-green)}.status-pill--on-hold{background:var(--color-brand-dim);color:var(--color-yellow)}.status-pill--completed{background:var(--color-blue-dim);color:var(--color-blue)}.status-pill--inactive{background:var(--color-border);color:var(--color-muted)}.status-pill--cancelled{background:var(--color-red-dim);color:var(--color-red)}.status-pill--archived{background:var(--color-border);color:var(--color-muted)}.status-pill--tender{background:var(--color-yellow-dim);color:var(--color-yellow)}.status-pill--submitted{background:var(--color-blue-dim);color:var(--color-blue)}.status-pill--awarded{background:var(--color-green-dim);color:var(--color-green)}.status-pill--practical-completion{background:var(--color-teal-dim);color:var(--color-teal)}.status-pill--open{background:var(--color-blue-dim);color:var(--color-blue)}.status-pill--investigating,.status-pill--being-fixed{background:var(--color-yellow-dim);color:var(--color-yellow)}.status-pill--fixed{background:var(--color-brand-dim);color:var(--color-brand)}.status-pill--info{background:var(--color-yellow-dim);color:var(--color-yellow)}.status-pill--reopened{background:var(--color-red-dim);color:var(--color-red)}.status-pill--technical-qa{background:var(--color-blue-dim);color:var(--color-blue)}.status-pill--resolved{background:var(--color-green-dim);color:var(--color-green)}.status-pill--implemented{background:var(--color-teal-dim, var(--color-green-dim));color:var(--color-teal, var(--color-green))}.status-pill--dismissed{background:var(--color-border);color:var(--color-muted)}.status-pill--all{background:var(--color-surface);color:var(--color-muted);border-color:var(--color-border);opacity:1}.status-pill-count{background:#0000001f;border-radius:10px;padding:0 5px;font-size:11px;min-width:16px;text-align:center}.project-group{margin-bottom:32px}.project-group-heading{display:flex;align-items:center;gap:10px;margin-bottom:12px}.project-group-count{font-size:12px;color:var(--color-muted);font-weight:400}.page-wide{max-width:1400px}.project-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px;flex-wrap:wrap}.project-banner-left{flex:1;min-width:200px}.project-banner-title{font-size:20px;font-weight:700;margin:4px 0 0;display:flex;align-items:center;gap:8px}.project-rename-btn{background:none;border:none;cursor:pointer;font-size:14px;color:var(--color-muted);padding:2px 4px;border-radius:4px;line-height:1}.project-rename-btn:hover{color:var(--color-primary);background:var(--color-bg-hover, #f0f0f0)}.project-rename-row{display:flex;align-items:center;gap:8px;margin:4px 0 0}.project-rename-input{font-size:18px;font-weight:700;padding:4px 8px;border:2px solid var(--color-primary);border-radius:6px;flex:1;min-width:220px}.btn-sm{padding:4px 10px;font-size:13px}.project-banner-address{font-size:13px;color:var(--color-muted);margin-top:2px}.project-banner-right{display:flex;gap:8px;align-items:center;flex-shrink:0}.back-link{font-size:13px;color:var(--color-muted)}.back-link:hover{color:var(--color-brand)}.section-title{font-size:16px;font-weight:600;margin-bottom:12px}.register-table-wrap{overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 140px);border:1px solid var(--color-border);border-radius:var(--radius)}.register-table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.register-table th{background:var(--color-surface);position:sticky;top:0;z-index:2;padding:8px 10px;text-align:left;font-weight:600;border-bottom:2px solid var(--color-border);color:var(--color-muted);font-size:11px;text-transform:uppercase;letter-spacing:.3px}.register-table th.col-money,.wb-th.col-money .wb-th-inner span{text-align:right}.wb-th.col-money{padding-right:10px!important}.register-table td{padding:6px 10px;border-bottom:1px solid var(--color-border)}.register-table tbody tr:hover{background:#7b8c4214}.col-money{text-align:right;font-variant-numeric:tabular-nums}.col-desc,.col-notes{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.col-desc{max-width:220px}.col-notes{max-width:200px}.empty-row{text-align:center;padding:40px 10px!important;color:var(--color-muted);font-size:14px}.totals-row{background:var(--color-surface);font-size:13px}.totals-row td{border-top:2px solid var(--color-border)}.paid-badge{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:600}.paid-green{background:var(--color-green-dim);color:var(--color-green)}.paid-red{background:var(--color-red-dim);color:var(--color-red)}.paid-amber{background:var(--color-brand-dim);color:var(--color-yellow)}.paid-dark-red{background:var(--color-red-dim);color:var(--color-red)}.sync-badge{font-size:11px;padding:2px 8px;border-radius:4px}.sync-synced{background:var(--color-green-dim);color:var(--color-green)}.sync-not-synced{background:var(--color-border);color:var(--color-muted)}.sync-error{background:var(--color-red-dim);color:var(--color-red)}.sync-pending{background:var(--color-blue-dim);color:var(--color-blue)}.sync-bc-only{background:var(--color-teal-dim);color:var(--color-teal)}.sync-status-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:12px 16px;margin-bottom:20px}.sync-status-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.sync-chip{font-size:12px;padding:3px 10px;border-radius:4px;background:var(--color-border);color:var(--color-muted)}.sync-chip.sync-synced{background:var(--color-green-dim);color:var(--color-green)}.sync-chip.sync-not-synced{background:var(--color-border);color:var(--color-muted)}.sync-chip.sync-error{background:var(--color-red-dim);color:var(--color-red)}.sync-chip.sync-pending{background:var(--color-blue-dim);color:var(--color-blue)}.procore-warnings-panel{margin-bottom:16px;padding:10px 14px;background:color-mix(in srgb,#f39c12 8%,var(--color-surface));border:1px solid color-mix(in srgb,#f39c12 30%,transparent);border-radius:6px;font-size:13px}.procore-warnings-summary{cursor:pointer;font-weight:600;color:#b7770d;display:flex;align-items:center}.sync-errors{margin-top:10px}.sync-errors-summary{font-size:12px;color:var(--color-red);cursor:pointer;font-weight:600}.sync-errors-list{margin-top:6px;padding-left:18px;font-size:12px;color:var(--color-muted)}.sync-errors-list li{margin-bottom:4px}.sync-errors-list a{color:var(--color-brand)}.pdf-link{font-size:11px;font-weight:600;color:var(--color-brand)}.page-form{max-width:1400px}.form-title{font-size:20px;font-weight:700;margin:8px 0 20px}.cost-form fieldset{border:1px solid var(--color-border);border-radius:var(--radius);padding:16px 18px;margin-bottom:18px;min-width:0;width:100%;box-sizing:border-box}.cost-form legend{font-size:14px;font-weight:600;color:var(--color-text);padding:0 6px;display:flex;align-items:center;gap:10px}.form-row{display:flex;gap:14px;margin-bottom:12px}.form-row>label{flex:1;min-width:0;display:flex;flex-direction:column;font-size:12px;color:var(--color-muted)}.form-row-3>label{flex:1;min-width:0}.form-row-full{display:flex;flex-direction:column;font-size:12px;color:var(--color-muted);margin-bottom:12px}.cost-form input,.cost-form select,.cost-form textarea{width:100%;box-sizing:border-box;margin-top:4px;padding:7px 10px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:5px;color:var(--color-text);font-size:13px;font-family:var(--font)}.cost-form input:focus,.cost-form select:focus,.cost-form textarea:focus{border-color:var(--color-brand);outline:none}.computed-field{display:flex;flex-direction:column;font-size:12px;color:var(--color-muted)}.computed-value{margin-top:4px;padding:7px 10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:5px;font-size:13px;color:var(--color-text);font-variant-numeric:tabular-nums}.legend-hint{font-size:11px;font-weight:400;color:var(--color-muted);margin-left:8px}.legend-hint .btn-link{background:none;border:none;padding:0;color:var(--color-brand);cursor:pointer;font-size:11px;text-decoration:underline}.form-field-warning{font-size:11px;color:var(--color-warning, #e67e22);margin-top:4px}.amount-hint{display:block;font-size:11px;color:var(--color-muted);margin-top:2px;font-variant-numeric:tabular-nums}.line-items-wrap{overflow-x:auto}.line-items-overflow-visible{overflow:visible!important}.line-items-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:8px}.line-items-table th{text-align:left;font-size:11px;font-weight:600;color:var(--color-muted);padding:4px 6px;text-transform:uppercase;background:var(--color-surface-alt, #222620);border-bottom:1px solid var(--color-border)}.line-items-table td{padding:3px 4px}.line-items-table input,.line-items-table select{width:100%;padding:5px 6px;margin-top:0;font-size:12px}.input-narrow{max-width:90px}.input-money{min-width:110px;text-align:right;font-variant-numeric:tabular-nums}.input-budget-desc{min-width:180px;color:var(--color-muted);background:var(--color-surface-alt);cursor:default}.budget-code-cell{position:relative;min-width:160px;overflow:visible!important}.budget-code-input-row{display:flex;gap:2px;align-items:center}.budget-code-input{flex:1;min-width:0;font-family:monospace;font-size:12px}.budget-code-input.input-error{border-color:var(--color-red)!important;outline-color:var(--color-red)}.budget-picker-btn{flex-shrink:0;padding:4px 6px;font-size:11px;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:4px;cursor:pointer;color:var(--color-muted);line-height:1}.budget-picker-btn:hover{background:var(--color-surface-hover)}.budget-code-desc{display:block;font-size:11px;color:var(--color-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.budget-code-warning-msg{font-size:11px;color:var(--color-red);margin-bottom:2px;white-space:nowrap}.budget-code-warning-budget{color:#b45309}.budget-picker-flyout{position:absolute;top:100%;left:0;z-index:500;margin-top:3px}.bp-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);min-width:200px;box-shadow:0 8px 24px var(--color-shadow);padding:4px 0;position:relative}.bp-panel--sub{position:absolute;top:-4px;left:calc(100% + 2px)}.bp-item{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:500;color:var(--color-muted);cursor:pointer;transition:background .1s,color .1s;position:relative;white-space:nowrap;-webkit-user-select:none;user-select:none}.bp-item:hover,.bp-item--open{background:var(--color-border);color:var(--color-text)}.bp-code{font-family:monospace;font-weight:700;min-width:28px;flex-shrink:0}.bp-label{flex:1;overflow:hidden;text-overflow:ellipsis}.bp-arrow{font-size:14px;opacity:.5;flex-shrink:0;margin-left:auto}.bp-item:hover .bp-arrow,.bp-item--open .bp-arrow{opacity:1}.account-combo-dropdown{position:absolute;top:100%;left:0;z-index:500;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 8px 24px var(--color-shadow);margin-top:3px;overflow:hidden;min-width:260px;max-height:240px;overflow-y:auto}.account-combo-item{display:flex;gap:8px;align-items:baseline;width:100%;padding:6px 10px;text-align:left;border:none;background:none;color:var(--color-text);cursor:pointer;font-size:12px;white-space:nowrap;overflow:hidden}.account-combo-item:hover{background:var(--color-surface-hover)}.account-combo-item.selected{background:color-mix(in srgb,var(--color-primary) 18%,transparent)}.aci-code{font-weight:600;font-family:monospace;color:var(--color-muted);flex-shrink:0;min-width:38px}.aci-name{overflow:hidden;text-overflow:ellipsis;color:var(--color-text)}.account-combo{position:relative}.account-combo-row{display:flex;align-items:center;gap:2px}.account-combo-input{flex:1;min-width:0;font-size:12px}.account-combo-clear{flex-shrink:0;padding:2px 5px;font-size:14px;line-height:1;background:none;border:none;color:var(--color-muted);cursor:pointer;border-radius:3px}.account-combo-clear:hover{color:var(--color-text);background:var(--color-surface-hover)}.account-combo-toggle{flex-shrink:0;padding:4px 5px;font-size:10px;line-height:1;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:4px;color:var(--color-muted);cursor:pointer}.account-combo-toggle:hover{background:var(--color-surface-hover)}.account-combo-showall{width:100%;padding:6px 10px;text-align:center;background:none;border:none;border-top:1px solid var(--color-border);color:var(--color-muted);font-size:11px;cursor:pointer}.account-combo-showall:hover{background:var(--color-surface-hover);color:var(--color-text)}.account-combo-empty{padding:8px 10px;font-size:12px;color:var(--color-muted);text-align:center}.line-item-warn td{background:none!important}.line-item-warn{outline:1px solid var(--color-danger, #ef4444);outline-offset:-1px}.line-items-table tr.line-item-warn:hover td{background:color-mix(in srgb,var(--color-danger, #ef4444) 6%,transparent)!important}.line-item-warn .budget-code-input{border-color:var(--color-danger, #ef4444)!important;box-shadow:0 0 0 2px var(--color-danger, #ef4444)}.line-item-exception td{background:none!important}.line-item-exception{outline:1px solid #f97316;outline-offset:-1px}.line-items-table tr.line-item-exception:hover td{background:color-mix(in srgb,#f97316 6%,transparent)!important}.line-item-exception .budget-code-input{border-color:#f97316!important;box-shadow:0 0 0 2px #f97316}.exception-badge{display:inline-block;font-size:10px;font-weight:600;color:#92400e;background:#fef3c7;border:1px solid #f59e0b;border-radius:3px;padding:1px 4px;margin-bottom:3px;white-space:nowrap}.budget-filter-bar{display:flex;align-items:center;gap:12px;margin-top:8px;padding:6px 10px;background:color-mix(in srgb,var(--color-accent) 6%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 20%,transparent);border-radius:4px;font-size:12px}.budget-filter-info{color:var(--color-text-muted, #6b7280);flex:1}.budget-filter-bar--warning{background:color-mix(in srgb,var(--color-yellow) 8%,transparent);border-color:color-mix(in srgb,var(--color-yellow) 30%,transparent)}.budget-filter-bar--warning .budget-filter-info{color:var(--color-yellow)}.btn-link--exception{color:#92400e;font-weight:600}.btn-link--exception:hover{color:#7c2d12}.btn-icon-danger{background:transparent;border:1px solid var(--color-danger, #ef4444);color:var(--color-danger, #ef4444);font-size:11px;font-weight:600;line-height:1.4;cursor:pointer;padding:1px 5px;border-radius:3px}.btn-icon-danger:hover{background:var(--color-red-dim, #450a0a)}.req{color:var(--color-danger, #ef4444);font-weight:700;vertical-align:super;font-size:.7em;line-height:0}.form-actions{display:flex;gap:10px;margin-top:8px;align-items:center}.shortcut-hint{font-size:11px;color:var(--color-muted);margin-left:8px}.project-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:24px}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column}.stat-label{font-size:11px;color:var(--color-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.stat-value{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.paid-toggle{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:600;border:none;cursor:pointer;transition:opacity .15s}.paid-toggle:hover{opacity:.8}.cost-link{color:var(--color-brand);font-weight:600;text-decoration:none}.cost-link:hover{text-decoration:underline}.clickable-row{cursor:pointer}.clickable-row:hover{background:#7b8c421f!important}.badge-po{background:var(--color-blue-dim);color:var(--color-blue);font-size:11px;padding:2px 8px;border-radius:4px;font-weight:600}.badge-sc{background:var(--color-brand-dim);color:var(--color-brand);font-size:11px;padding:2px 8px;border-radius:4px;font-weight:600}.badge-status{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:600}.badge-active{background:var(--color-green-dim);color:var(--color-green)}.badge-draft{background:var(--color-border);color:var(--color-muted)}.badge-closed,.badge-completed{background:var(--color-blue-dim);color:var(--color-blue)}.badge-cancelled{background:var(--color-red-dim);color:var(--color-red)}.badge-approval{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:600}.badge-pending{background:var(--color-yellow-dim);color:var(--color-yellow)}.badge-approved{background:var(--color-green-dim);color:var(--color-green)}.badge-rejected{background:var(--color-red-dim);color:var(--color-red)}.cost-detail-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;gap:16px}.cost-detail-actions{display:flex;align-items:center;gap:10px}.cost-detail-grid{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:12px 20px;margin-bottom:24px}.detail-field{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;gap:16px;padding:5px 0;font-size:13px;line-height:1.4}.detail-field+.detail-field{border-top:none}.detail-label{flex-shrink:0;font-size:13px;font-weight:500;color:var(--color-muted);white-space:nowrap;text-transform:none;letter-spacing:0;min-width:120px}.detail-field>:last-child:not(.detail-label){min-width:0;overflow-wrap:break-word;word-break:break-word;text-align:right;margin-left:auto}.detail-field>div:last-child,.detail-field>.detail-field-value{min-width:0;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;text-align:right}.project-tab-bar{display:flex;gap:2px;border-bottom:2px solid var(--color-border);margin-bottom:20px;overflow-x:auto;scrollbar-width:none}.project-tab-bar::-webkit-scrollbar{display:none}.project-tab{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;padding:8px 18px;font-size:13px;font-weight:500;color:var(--color-muted);cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:6px;transition:color .15s,border-color .15s}.project-tab:hover{color:var(--color-text)}.project-tab.active{color:var(--color-brand);border-bottom-color:var(--color-brand)}.tab-count{background:var(--color-border);color:var(--color-muted);font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px}.project-tab.active .tab-count{background:var(--color-brand-dim, #e8f0fe);color:var(--color-brand)}.tab-stub{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--color-muted);text-align:center;gap:8px}.tab-stub strong{font-size:16px;color:var(--color-text)}.tab-stub p{margin:0;font-size:13px;max-width:360px}.register-section{margin-bottom:28px}.register-section--spaced{margin-top:2rem}.tp-cv-row{background:var(--color-surface-alt);font-size:.875rem}.tp-cv-indent{padding-left:1.5rem;color:var(--color-text-muted, #666)}.tp-meta-row td{padding:0 12px 6px!important;border-bottom:none!important}.tp-meta-strip{display:flex;flex-wrap:wrap;gap:3px 16px;font-size:11px;color:var(--color-muted)}.tp-meta-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin-right:3px;opacity:.7}.cost-edit-form{margin-bottom:24px}.cost-edit-form .cost-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 20px}.cost-edit-form .detail-field{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:4px;padding:0}.cost-edit-form .detail-label{font-size:11px;text-transform:uppercase;letter-spacing:.3px;min-width:unset}.cost-edit-form .detail-field>:last-child{margin-left:0;text-align:left}.cost-edit-form .detail-field>div:last-child{justify-content:flex-start}.cost-edit-form .detail-field-full{grid-column:1 / -1}.cost-edit-form .detail-field-full textarea{min-height:60px;resize:vertical}.cost-edit-form .cost-detail-grid input,.cost-edit-form .cost-detail-grid select,.cost-edit-form .cost-detail-grid textarea{background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;padding:6px 10px;color:var(--color-text);font-size:13px;font-family:var(--font);width:100%}.cost-edit-form .cost-detail-grid input:focus,.cost-edit-form .cost-detail-grid select:focus,.cost-edit-form .cost-detail-grid textarea:focus{border-color:var(--color-brand);outline:none}.cost-edit-form .form-actions{display:flex;gap:10px;margin-top:16px}.tabs{display:flex;gap:4px;margin-bottom:18px;border-bottom:1px solid var(--color-border);padding-bottom:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.tab{flex:0 0 auto}.tab{padding:8px 16px;background:none;border:none;border-bottom:2px solid transparent;color:var(--color-muted);font-size:13px;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s}.tab:hover{color:var(--color-text)}.tab-active{color:var(--color-brand);border-bottom-color:var(--color-brand)}.col-nowrap{white-space:nowrap}.stat-meta{font-size:11px;color:var(--color-muted)}.badge-insert{background:var(--color-green-dim);color:var(--color-green);padding:2px 8px;border-radius:4px;font-size:11px}.badge-update{background:var(--color-blue-dim);color:var(--color-blue);padding:2px 8px;border-radius:4px;font-size:11px}.badge-delete{background:var(--color-red-dim);color:var(--color-red);padding:2px 8px;border-radius:4px;font-size:11px}.badge-accrual{background:var(--color-blue-dim);color:var(--color-blue);padding:2px 8px;border-radius:4px;font-size:11px}.detail-mono{font-family:monospace;font-size:12px}.doc-viewer{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:6px;overflow:hidden;background:var(--color-surface)}.doc-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.doc-viewer-name{font-size:13px;font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.doc-viewer-actions{display:flex;gap:6px;flex-shrink:0}.doc-viewer-body{position:relative;overflow:hidden;background:var(--color-surface-alt)}.doc-viewer-iframe{display:block}.doc-viewer-image-wrap{display:flex;align-items:center;justify-content:center;height:100%;overflow:auto;padding:16px;box-sizing:border-box}.doc-viewer-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;box-shadow:0 2px 8px #00000026}.doc-viewer-unsupported{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--color-text-muted)}.doc-viewer--loading{min-height:200px}.doc-viewer--error{padding:24px}.files-list{display:flex;flex-direction:column;gap:0}.file-row{display:grid;grid-template-columns:28px 1fr auto auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--color-border)}.file-row:last-child{border-bottom:none}.file-icon{font-size:18px;text-align:center;color:var(--color-text-muted)}.file-meta{min-width:0}.file-name{font-size:13px;font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-sub{font-size:11px;color:var(--color-text-muted);margin-top:1px}.file-badge{font-size:10px;padding:2px 6px;border-radius:3px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);white-space:nowrap}.file-view-btn{font-size:12px}.file-viewer-modal{margin-top:8px}.files-empty{color:var(--color-text-muted);font-size:13px;padding:24px 0;text-align:center}.sync-success{background:var(--color-green-dim);color:var(--color-green)}.sync-failed{background:var(--color-red-dim);color:var(--color-red)}.sync-warning{background:var(--color-yellow-dim);color:var(--color-yellow)}.sync-skipped{background:var(--color-border);color:var(--color-muted)}.toast-container{position:fixed;bottom:20px;right:20px;z-index:2200;display:flex;flex-direction:column-reverse;gap:8px;pointer-events:none}:focus-visible{outline:2px solid var(--color-blue, #2563eb);outline-offset:2px}.toast{padding:10px 18px;border-radius:var(--radius);font-size:13px;font-weight:500;pointer-events:auto;cursor:pointer;animation:toast-slide .25s ease-out;max-width:min(380px,calc(100vw - 40px));box-shadow:0 4px 20px var(--color-shadow)}.toast-success{background:var(--color-green-dim);color:var(--color-green);border:1px solid var(--color-green)}.toast-error{background:var(--color-red-dim);color:var(--color-red);border:1px solid var(--color-red)}.toast-info{background:var(--color-blue-dim);color:var(--color-blue);border:1px solid var(--color-blue)}.toast-warning{background:var(--color-yellow-dim);color:var(--color-yellow);border:1px solid var(--color-yellow)}@keyframes toast-slide{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:100;display:flex;align-items:center;justify-content:center;animation:fade-in .15s ease-out}.dialog-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:24px;max-width:440px;width:90%;box-shadow:0 8px 32px var(--color-shadow)}.new-client-modal{max-width:640px;max-height:90vh;overflow-y:auto}.contact-name-preview{margin-top:10px;padding:8px 12px;background:var(--color-accent-dim, rgba(84,94,66,.08));border-left:3px solid var(--color-brand);border-radius:0 4px 4px 0;font-size:.82rem;font-weight:600;letter-spacing:.02em;color:var(--color-brand);word-break:break-word}.dialog-title{font-size:16px;font-weight:700;margin-bottom:8px}.dialog-message{font-size:13px;color:var(--color-muted);margin-bottom:20px;line-height:1.5}.dialog-actions{display:flex;gap:10px;justify-content:flex-end}.btn-danger{background:var(--color-red);color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer}.btn-danger:hover{opacity:.85}.btn-sm{padding:3px 8px;font-size:12px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.breadcrumbs{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-muted);margin-bottom:12px}.breadcrumb-back{color:var(--color-muted);text-decoration:none;flex-shrink:0}.breadcrumb-back:hover{color:var(--color-brand)}.breadcrumb-trail{display:flex;align-items:center;flex-wrap:wrap;gap:0}.breadcrumb-ancestor{display:flex;align-items:center}.breadcrumbs a{color:var(--color-muted);text-decoration:none}.breadcrumbs a:hover{color:var(--color-brand)}.breadcrumb-sep{color:var(--color-border);margin:0 4px}.breadcrumb-current{color:var(--color-text)}.sort-header{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sort-header:hover{color:var(--color-brand)}.sort-indicator{font-size:10px;margin-left:3px;opacity:.6}.btn-export{background:none;border:1px solid var(--color-border);color:var(--color-muted);padding:5px 12px;border-radius:6px;font-size:12px;cursor:pointer;transition:border-color .15s,color .15s}.btn-export:hover{border-color:var(--color-brand);color:var(--color-brand)}.filter-tabs{display:flex;gap:4px;background:var(--color-surface);border-radius:8px;padding:3px;border:1px solid var(--color-border)}.filter-tab{background:none;border:none;padding:5px 14px;border-radius:6px;font-size:12px;cursor:pointer;color:var(--color-muted);transition:background .15s,color .15s;white-space:nowrap}.filter-tab:hover{color:var(--color-text)}.filter-tab.active{background:var(--color-brand);color:#fff}.alert-banner{padding:10px 16px;border-radius:8px;margin-bottom:16px;display:flex;align-items:center;gap:8px;font-size:13px}.alert-danger{background:#e74c3c1f;border:1px solid rgba(231,76,60,.3);color:#e74c3c}.alert-banner.alert-clickable{cursor:pointer}.alert-action{margin-left:auto;font-size:12px;opacity:.7}.spend-progress{margin-bottom:16px;padding:12px 16px;background:var(--color-surface);border-radius:8px;border:1px solid var(--color-border)}.spend-progress-header{display:flex;justify-content:space-between;font-size:12px;color:var(--color-muted);margin-bottom:6px}.progress-bar-track{height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:4px;transition:width .4s ease;width:var(--fill-w, 0%);background:var(--fill-bg, var(--color-success, #27ae60))}.mini-progress{position:relative;height:18px;min-width:60px;background:var(--color-border);border-radius:9px;overflow:hidden}.mini-progress-fill{height:100%;background:var(--color-brand);border-radius:9px;transition:width .3s ease;width:var(--fill-w, 0%)}.mini-progress-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff;mix-blend-mode:difference}.skeleton{background:linear-gradient(90deg,var(--color-surface) 25%,var(--color-border) 50%,var(--color-surface) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:var(--radius);height:20px;margin-bottom:12px}.skeleton-lg{height:48px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.status-select{background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;padding:4px 8px;color:var(--color-text);font-size:12px;cursor:pointer}.status-select:focus{border-color:var(--color-brand);outline:none}.project-status-readonly{display:inline-block;border:1px solid var(--color-border);border-radius:6px;padding:4px 8px;font-size:12px;color:var(--color-muted);background:transparent;cursor:default;-webkit-user-select:none;user-select:none}.cost-breakdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:12px 16px;margin-bottom:20px}.breakdown-title{font-size:13px;font-weight:600;color:var(--color-muted);margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.breakdown-chips{display:flex;flex-wrap:wrap;gap:8px}.breakdown-chip{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;font-size:13px}.breakdown-type{font-weight:600;color:var(--color-text)}.breakdown-count{color:var(--color-muted)}.breakdown-total{font-weight:600;color:var(--color-brand)}.stat-green{color:#22c55e}.stat-red{color:#ef4444}.btn-icon{background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:4px;font-size:14px;line-height:1;transition:background .15s,color .15s}.btn-delete-icon{color:var(--color-muted)}.btn-delete-icon:hover{background:#ef444426;color:#ef4444}.hc-summary{display:flex;gap:16px;margin-bottom:20px;padding:12px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);font-size:14px;font-weight:600}.hc-summary-item{display:flex;align-items:center;gap:6px}.hc-pass{color:var(--color-green)}.hc-fail{color:var(--color-red)}.hc-total{color:var(--color-muted);margin-left:auto}.hc-category{margin-bottom:24px}.hc-category-title{font-size:15px;font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--color-border)}.hc-tests{display:flex;flex-direction:column;gap:6px}.hc-test{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:10px 14px;transition:border-color .2s}.hc-test-pass{border-left:3px solid var(--color-green)}.hc-test-fail{border-left:3px solid var(--color-red)}.hc-test-running{border-left:3px solid var(--color-brand)}.hc-test-header{display:flex;align-items:center;gap:10px}.hc-test-indicator{width:20px;text-align:center;font-weight:700;font-size:14px}.hc-test-pass .hc-test-indicator{color:var(--color-green)}.hc-test-fail .hc-test-indicator{color:var(--color-red)}.hc-test-running .hc-test-indicator{color:var(--color-brand)}.hc-test-idle .hc-test-indicator{color:var(--color-muted)}.hc-test-name{flex:1;font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px}.hc-tag-mutate{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;background:var(--color-yellow-dim);color:var(--color-yellow);letter-spacing:.5px}.hc-test-time{font-size:12px;color:var(--color-muted);min-width:50px;text-align:right;font-variant-numeric:tabular-nums}.hc-test-detail{margin-top:6px;padding:6px 10px;font-size:12px;color:var(--color-muted);background:var(--color-bg);border-radius:4px;word-break:break-word}.hc-detail-error{color:var(--color-red)}.hc-env-info{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.hc-env-row{display:flex;justify-content:space-between;padding:8px 14px;font-size:13px;border-bottom:1px solid var(--color-border)}.hc-env-row:last-child{border-bottom:none}.hc-env-label{color:var(--color-muted);font-weight:500}.hc-env-badge{font-weight:600}.hc-env-local{color:var(--color-blue)}.hc-env-dev{color:var(--color-yellow)}.hc-env-production{color:var(--color-green)}@media(max-width:1024px){.page-wide{padding:12px}.project-banner{flex-direction:column;gap:12px}.project-banner-right{flex-wrap:wrap}.project-stats{grid-template-columns:repeat(3,1fr)}.breakdown-chips{flex-direction:column}}@media(max-width:768px){.page-wide{padding:8px}.project-stats{grid-template-columns:repeat(2,1fr);gap:8px}.register-table-wrap{overflow-x:auto}.register-table{min-width:900px}.project-banner-right{flex-wrap:wrap;gap:6px}.project-banner-right .btn{font-size:12px;padding:6px 10px}.filter-bar{flex-direction:column;gap:6px}.sync-status-panel{font-size:12px}.sync-chip{font-size:11px;padding:2px 6px}}@media(max-width:480px){.project-stats{grid-template-columns:1fr}.stat-card{padding:8px 12px}.breadcrumbs{font-size:12px}.section-title{font-size:15px}h1.project-banner-title{font-size:18px}}@media(max-width:640px){.input,.form-input,.form-select,textarea,.cost-form input,.cost-form select,.cost-form textarea{font-size:16px}.form-row,.form-row-3{flex-direction:column;gap:12px}.page{padding:16px}.modal-overlay{padding:12px}.modal-content{max-width:92vw}}.search-trigger{display:flex;align-items:center;gap:0;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;padding:5px 8px;color:var(--color-muted);font-size:12px;cursor:pointer;transition:border-color .15s,gap .2s,padding .2s}.search-trigger:hover{border-color:var(--color-brand);gap:6px;padding:5px 10px}.search-trigger-icon{flex-shrink:0}.search-trigger-text{white-space:nowrap;max-width:0;overflow:hidden;opacity:0;transition:max-width .2s ease,opacity .2s ease}.search-trigger:hover .search-trigger-text{max-width:80px;opacity:1}.search-trigger-kbd{font-size:9px;font-family:monospace;background:var(--color-surface);border:1px solid var(--color-border);border-radius:3px;padding:1px 4px;max-width:0;overflow:hidden;opacity:0;transition:max-width .2s ease,opacity .2s ease,margin .2s ease;margin-left:0}.search-trigger:hover .search-trigger-kbd{max-width:30px;opacity:1;margin-left:2px}.search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:100;display:flex;justify-content:center;padding-top:120px}.search-dialog{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:520px;max-height:420px;display:flex;flex-direction:column;box-shadow:0 12px 40px var(--color-shadow)}.search-input{border:none;background:transparent;color:var(--color-text);font-size:15px;padding:14px 16px;outline:none;border-bottom:1px solid var(--color-border);font-family:var(--font)}.search-input::placeholder{color:var(--color-muted)}.search-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px}.search-loading-label{color:var(--color-muted);font-size:13px}.search-results{list-style:none;overflow-y:auto;padding:6px}.search-result-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .1s}.search-result-item:hover,.search-result-item.selected{background:var(--color-border)}.search-result-type{font-size:10px;font-weight:700;text-transform:uppercase;padding:2px 6px;border-radius:3px;white-space:nowrap;flex-shrink:0}.type-project{background:var(--color-brand-dim);color:var(--color-brand)}.type-cost{background:var(--color-blue-dim);color:var(--color-blue)}.type-tradePackage{background:var(--color-yellow-dim);color:var(--color-yellow)}.type-variation{background:var(--color-red-dim);color:var(--color-red)}.search-result-body{display:flex;flex-direction:column;min-width:0}.search-result-title{font-size:13px;font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-sub{font-size:11px;color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-empty{text-align:center;color:var(--color-muted);padding:20px;font-size:13px}.search-error{display:flex;flex-direction:column;align-items:center;gap:10px}.health-pill-wrap{position:relative}.health-pill{display:inline-flex;align-items:center;gap:0;background:var(--color-bg);border:1px solid var(--color-border);border-radius:20px;padding:4px 6px;font-size:11px;color:var(--color-muted);cursor:pointer;transition:border-color .15s,gap .2s,padding .2s}.health-pill:hover{gap:6px;padding:4px 10px 4px 6px}.hp-label{max-width:0;overflow:hidden;opacity:0;white-space:nowrap;transition:max-width .2s ease,opacity .2s ease}.health-pill:hover .hp-label{max-width:120px;opacity:1}.hp-icon{flex-shrink:0;opacity:.7}.health-pill-healthy{border-color:var(--color-green-dim)}.health-pill-healthy .hp-icon{color:var(--color-green);opacity:1}.health-pill-degraded{border-color:var(--color-yellow-dim)}.health-pill-degraded .hp-icon{color:var(--color-yellow);opacity:1}.health-pill-unhealthy{border-color:var(--color-red-dim)}.health-pill-unhealthy .hp-icon{color:var(--color-red);opacity:1}.hp-indicator{width:7px;height:7px;border-radius:50%;flex-shrink:0}.hp-indicator-ok,.hp-dot-ok{background:var(--color-green)}.hp-indicator-degraded,.hp-dot-degraded{background:var(--color-yellow)}.hp-indicator-down,.hp-dot-down{background:var(--color-red)}.hp-indicator-unconfigured,.hp-dot-unconfigured{background:var(--color-muted)}.hp-indicator-disabled,.hp-dot-disabled{background:var(--color-border)}.health-popover{position:absolute;top:calc(100% + 8px);right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:14px 16px;min-width:260px;box-shadow:0 8px 24px var(--color-shadow);z-index:20}.health-popover-title{font-size:12px;font-weight:700;color:var(--color-text);margin-bottom:10px;text-transform:uppercase;letter-spacing:.3px}.health-popover-list{list-style:none}.health-popover-item{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:12px;border-bottom:1px solid var(--color-border)}.health-popover-item:last-child{border-bottom:none}.hp-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.hp-name{font-weight:500;color:var(--color-text)}.hp-status{margin-left:auto;font-size:11px;text-transform:capitalize;color:var(--color-muted)}.hp-msg{display:block;width:100%;font-size:10px;color:var(--color-muted);padding-left:15px;margin-top:-2px}.hp-error-banner{background:color-mix(in srgb,var(--color-red) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-red) 30%,transparent);border-radius:6px;padding:8px 10px;margin-bottom:8px}.hp-error-code{font-size:11px;font-weight:700;font-family:monospace;color:var(--color-red);letter-spacing:.3px}.hp-error-reason{font-size:11px;color:var(--color-text);margin-top:3px;line-height:1.4}.health-popover-ts{font-size:10px;color:var(--color-muted);margin-top:8px;text-align:right}.health-popover-versions{margin-top:10px;padding-top:8px;border-top:1px solid var(--color-border)}.health-popover-versions-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--color-muted);margin-bottom:6px}.hp-version-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;padding:2px 0}.hp-version-label{color:var(--color-muted)}.hp-version-val{font-weight:500;color:var(--color-text)}.profile-pill-wrap{position:relative}.profile-pill{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:0}.profile-avatar{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--color-brand);color:#fff;font-size:11px;font-weight:700;letter-spacing:.3px;transition:opacity .15s}.profile-pill:hover .profile-avatar{opacity:.85}.profile-avatar-lg{width:36px;height:36px;font-size:13px;flex-shrink:0}.profile-popover{position:absolute;top:calc(100% + 8px);right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);min-width:220px;box-shadow:0 8px 24px var(--color-shadow);z-index:20;overflow:hidden}.profile-popover-header{display:flex;align-items:center;gap:10px;padding:14px 16px}.profile-popover-info{display:flex;flex-direction:column;min-width:0}.profile-popover-email{font-size:12px;color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-popover-divider{height:1px;background:var(--color-border)}.profile-popover-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;border:none;background:none;color:var(--color-text);font-size:13px;cursor:pointer;transition:background .1s;font-family:var(--font)}.profile-popover-item:hover{background:var(--color-border)}.profile-popover-logout{color:var(--color-red)}.profile-popover-logout:hover{background:var(--color-red-dim)}.profile-theme-row{display:flex;align-items:center;justify-content:space-between;padding:8px 16px}.profile-theme-label{font-size:12px;color:var(--color-muted)}.profile-theme-toggle{display:flex;gap:2px;background:var(--color-border);border-radius:6px;padding:2px}.profile-theme-btn{display:flex;align-items:center;justify-content:center;width:28px;height:26px;border:none;border-radius:4px;background:transparent;color:var(--color-muted);cursor:pointer;transition:background .12s,color .12s}.profile-theme-btn:hover{color:var(--color-text)}.profile-theme-btn.active{background:var(--color-surface);color:var(--color-text);box-shadow:0 1px 3px var(--color-shadow)}.dash-section{margin-bottom:28px}.section-title{font-family:"Denim INK",var(--font);font-size:16px;font-weight:700;margin-bottom:12px;color:var(--color-text)}.dash-quick-links{display:flex;flex-wrap:wrap;gap:10px}.dash-quick-card{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:13px;font-weight:500;transition:border-color .15s,background .15s;text-decoration:none!important}.dash-quick-card:hover{border-color:var(--color-brand);background:var(--color-brand-dim)}.dash-quick-icon{font-size:16px}.dash-recent-list{display:flex;flex-direction:column;gap:4px}.dash-recent-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius);transition:background .12s;color:var(--color-text);text-decoration:none!important}.dash-recent-item:hover{background:var(--color-surface)}.dash-recent-icon{font-size:15px;flex-shrink:0}.dash-recent-label{flex:1;font-size:13px}.dash-recent-time{font-size:11px;color:var(--color-muted);flex-shrink:0}.home-layout{display:flex;gap:24px;align-items:flex-start}.home-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}.home-sidebar{width:300px;flex-shrink:0;display:flex;flex-direction:column;gap:16px}.home-ask-ai{border-color:var(--color-brand);background:var(--color-brand-dim)}.home-ask-ai-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.home-ask-ai-icon{font-size:20px;color:var(--color-brand);flex-shrink:0;margin-top:2px}.home-ask-ai-title{font-size:15px;font-weight:600;margin:0 0 2px}.home-ask-ai-sub{font-size:12px;color:var(--color-muted);margin:0}.home-ask-ai-row{display:flex;gap:8px}.home-ask-ai-input{flex:1}.sidebar-widget{padding:16px 18px}.sidebar-widget-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);margin:0 0 14px;display:flex;align-items:center;gap:6px}.sidebar-widget-icon{font-size:14px;color:var(--color-brand)}.sidebar-coming-soon{font-size:11px;color:var(--color-muted);margin:10px 0 0;font-style:italic}.procore-docs-widget{display:flex;flex-direction:column;gap:10px}.procore-docs-widget--scrollable{max-height:380px;overflow-y:auto;padding-right:2px}.procore-docs-category-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);margin-bottom:4px}.procore-docs-count{font-weight:400;opacity:.7}.procore-docs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.procore-docs-link{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:5px;text-decoration:none;color:var(--color-text);font-size:12px;transition:background .12s}.procore-docs-link:hover{background:var(--color-surface-hover)}.procore-docs-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-cache-hint{font-size:11px;color:var(--color-muted)}.project-tab--admin{margin-left:auto}.admin-fields-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-top:16px}.admin-field-group{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:12px}.admin-field-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-brand);margin-bottom:2px}.admin-field{display:flex;flex-direction:column;gap:4px}.admin-field-label{font-size:11px;font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em}.admin-field-value{font-size:14px;color:var(--color-text)}.admin-field-hint{font-size:13px}.admin-field-muted{font-size:11px;color:var(--color-muted);font-weight:400}.admin-field-empty{color:var(--color-muted)}.admin-field-input{width:100%;font-size:13px}.admin-field-textarea{width:100%;font-size:13px;resize:vertical}.admin-inline-edit{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-inline-edit .input{flex:1;min-width:160px}.admin-field-link{color:var(--color-brand);text-decoration:none}.admin-field-link:hover{text-decoration:underline}.admin-inline-btn{margin-left:10px;vertical-align:middle}.online-users-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.online-user{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:calc(var(--radius) - 2px);cursor:pointer;transition:background .12s}.online-user:hover{background:var(--color-border)}.online-avatar{position:relative;width:30px;height:30px;border-radius:50%;background:var(--color-brand-dim);color:var(--color-brand);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.online-dot{position:absolute;bottom:0;right:0;width:8px;height:8px;border-radius:50%;background:var(--color-muted);border:2px solid var(--color-surface)}.online-dot--active{background:#4caf50}.online-dot--away{background:#f0a020}.online-dot--busy{background:#e5484d}.online-user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.online-user-name{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.online-user-time{font-size:11px;color:var(--color-muted)}.online-user-dm{font-size:13px;color:var(--color-muted);opacity:0;transition:opacity .12s;text-decoration:none}.online-user:hover .online-user-dm{opacity:1}.cal-widget{display:flex;flex-direction:column;gap:10px}.cal-nav{display:flex;align-items:center;justify-content:space-between}.cal-nav-btn{background:none;border:none;color:var(--color-muted);cursor:pointer;font-size:16px;padding:2px 6px;border-radius:4px;line-height:1;transition:background .12s,color .12s}.cal-nav-btn:hover{background:var(--color-border);color:var(--color-text)}.cal-month-label{font-size:12px;font-weight:600}.cal-grid-header{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.cal-dow{font-size:10px;font-weight:600;color:var(--color-muted);padding:2px 0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-day{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:11px;border-radius:4px;cursor:default;color:var(--color-text);transition:background .1s}.cal-day:not(.cal-day--empty):hover{background:var(--color-border)}.cal-day--empty{color:transparent;pointer-events:none}.cal-day--today{background:var(--color-brand);color:#fff;font-weight:700}.cal-day--today:hover{background:var(--color-brand)}.cal-day--event{font-weight:600}.cal-event-dot{position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:3px;height:3px;border-radius:50%;background:var(--color-brand)}.cal-day--today .cal-event-dot{background:#fff}.cal-mini-grid-header{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.cal-mini-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.cal-mini-day{position:relative;aspect-ratio:1;min-width:0;display:flex;align-items:center;justify-content:center;font-size:11px;border-radius:4px;color:var(--color-text)}.cal-mini-day--empty{color:transparent}.cal-mini-day--today{background:var(--color-brand);color:#fff;font-weight:700}.cal-mini-dots{position:absolute;bottom:1px;left:50%;transform:translate(-50%);display:flex;gap:2px}.cal-mini-dot{width:4px;height:4px;border-radius:50%}.cal-mini-day--today .cal-mini-dot{background:#fff!important}.cal-mini-day[role=button]{cursor:pointer}.cal-mini-day[role=button]:hover{background:color-mix(in srgb,var(--color-brand) 15%,transparent)}.cal-mini-day--selected{outline:2px solid var(--color-brand);outline-offset:-2px}.cal-mini-day--today.cal-mini-day--selected{outline-color:#fff}.cal-widget,.cal-widget>*,.cal-actions,.cal-project-toggles,.action-items-list,.action-item{min-width:0}.cal-toggle-label,.action-item-project{overflow-wrap:anywhere}.cal-actions{display:flex;flex-direction:column;gap:6px;margin-top:4px;padding-top:8px;border-top:1px solid var(--color-border)}.cal-actions-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.sidebar-widget-title-link{color:inherit;text-decoration:none}.sidebar-widget-title-link:hover{text-decoration:underline}.sidebar-customise-bar{position:relative;display:flex;justify-content:flex-end;margin-bottom:-4px}.sidebar-customise-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--color-muted);font-size:11px;cursor:pointer;padding:2px 4px;border-radius:4px}.sidebar-customise-btn:hover{background:var(--color-border);color:var(--color-text)}.sidebar-customise-pop{position:absolute;top:26px;right:0;z-index:50;width:224px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 6px 24px #0000002e;padding:8px;display:flex;flex-direction:column;gap:4px}.sidebar-customise-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);padding:2px 4px 4px}.sidebar-customise-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 4px}.sidebar-customise-toggle{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.sidebar-customise-move{display:flex;gap:2px}.sidebar-customise-move button{background:none;border:1px solid var(--color-border);border-radius:4px;width:20px;height:20px;cursor:pointer;color:var(--color-text);line-height:1}.sidebar-customise-move button:disabled{opacity:.3;cursor:default}.sidebar-customise-note{font-size:10px;color:var(--color-muted);padding:4px 4px 0}.cal-project-toggles{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--color-border);padding-top:10px;margin-top:4px}.cal-toggles-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);margin-bottom:2px}.cal-toggle{display:flex;align-items:center;gap:7px;font-size:12px;cursor:pointer}.cal-toggle-label{transition:color .15s}.action-items-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.action-item{padding:8px 10px;border-radius:calc(var(--radius) - 2px);border-left:3px solid transparent;background:color-mix(in srgb,var(--color-border) 40%,transparent)}.action-item--overdue{border-left-color:#e05252;background:color-mix(in srgb,#e05252 8%,transparent)}.action-item--soon{border-left-color:#e09a38;background:color-mix(in srgb,#e09a38 8%,transparent)}.action-item--ok{border-left-color:#4caf50;background:color-mix(in srgb,#4caf50 6%,transparent)}.action-item-title{font-size:12px;font-weight:500;line-height:1.4;margin-bottom:4px;display:block;overflow-wrap:anywhere}.action-item-meta{display:flex;align-items:center;justify-content:space-between;gap:6px}.action-item-project{font-size:11px;color:var(--color-muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-item-due{font-size:11px;font-weight:600;flex-shrink:0}.action-item-due--overdue{color:#e05252}.action-item-due--soon{color:#e09a38}.action-item-due--ok{color:var(--color-muted)}.todo-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin:0 0 6px;display:flex;align-items:center;gap:6px}.action-item-link{display:block;text-decoration:none;color:inherit}.action-item-link:hover .action-item-title{color:var(--color-primary);text-decoration:underline}.todo-type-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 7px;border-radius:10px;white-space:nowrap}.todo-type-feedback{background:var(--color-blue-dim);color:var(--color-blue)}.todo-type-roadmap{background:var(--color-brand-dim);color:var(--color-brand)}.todo-title-link{color:inherit;text-decoration:none;font-size:13px}.todo-title-link:hover{color:var(--color-primary);text-decoration:underline}.todo-table td{vertical-align:middle}@media(max-width:1100px){.home-sidebar{width:260px}}@media(max-width:860px){.home-layout{flex-direction:column}.home-sidebar{width:100%;display:grid;grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.home-sidebar{grid-template-columns:1fr}}.schedule-info{font-size:13px;color:var(--color-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:12px 16px;margin-bottom:20px;line-height:1.6}.schedule-table{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.schedule-table-header{display:grid;grid-template-columns:200px 1fr;padding:10px 16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.schedule-row{display:grid;grid-template-columns:200px 1fr;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border)}.schedule-row:last-child{border-bottom:none}.schedule-source-name{font-size:14px;font-weight:500}.schedule-options{display:flex;flex-wrap:wrap;gap:6px}.schedule-option{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;font-size:12px;font-weight:500;border:1px solid var(--color-border);border-radius:20px;cursor:pointer;transition:background .1s,border-color .1s,color .1s}.schedule-option input[type=radio]{display:none}.schedule-option:hover{background:var(--color-border)}.schedule-option.selected{background:var(--color-brand);border-color:var(--color-brand);color:#fff}.schedule-empty{padding:24px;color:var(--color-muted);font-size:13px;text-align:center}.schedule-saved{font-size:13px;color:var(--color-success, #22c55e);font-weight:500}.schedule-footer-note{margin-top:16px;font-size:12px;color:var(--color-muted)}.sync-merged-table th,.sync-merged-table td{vertical-align:middle;font-size:12px}.sync-merged-table th{font-size:11px;white-space:nowrap}.sync-countdown{font-size:12px;font-variant-numeric:tabular-nums;font-weight:500;color:var(--text-primary)}.sync-countdown--off{color:var(--text-muted)}.sync-countdown--active{color:var(--color-warning, #f59e0b)}.sync-countdown--due{color:var(--color-primary)}.sync-countdown--waiting{color:var(--text-muted);font-style:italic}.sync-interval-pills{display:flex;flex-wrap:wrap;gap:3px}.sync-interval-pill{display:inline-flex;align-items:center;padding:2px 7px;border-radius:10px;border:1px solid var(--color-border);font-size:11px;cursor:pointer;transition:background .1s,border-color .1s,color .1s;-webkit-user-select:none;user-select:none;white-space:nowrap}.sync-interval-pill input[type=radio]{display:none}.sync-interval-pill:hover{background:var(--color-surface-alt)}.sync-interval-pill.active{background:var(--color-brand);border-color:var(--color-brand);color:#fff}.new-contact-sync-results{display:flex;flex-direction:column;gap:4px;margin:8px 0;padding:8px 12px;background:var(--color-surface-alt);border-radius:var(--radius);border:1px solid var(--color-border)}.sync-result-row{display:flex;align-items:center;gap:8px;font-size:12px}.import-source-header{display:flex;align-items:center;gap:10px;padding:0 0 14px;border-bottom:1px solid var(--color-border);margin-bottom:16px}.import-source-icon{font-size:20px}.import-source-name{font-size:15px;font-weight:600}.import-source-desc{font-size:13px;color:var(--color-muted);margin-top:2px}.import-table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius)}.import-table{width:100%;border-collapse:collapse;font-size:13px}.import-table th{padding:8px 12px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.import-table td{padding:8px 12px;border-bottom:1px solid var(--color-border);vertical-align:middle}.import-table tr:last-child td{border-bottom:none}.import-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--color-muted)}.import-result-ok{color:var(--color-success, #22c55e);font-size:13px;font-weight:600}.import-source-soon .import-source-header{border-bottom:none;padding-bottom:0;margin-bottom:0}.badge-soon{display:inline-block;padding:2px 8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:10px;background:var(--color-border);color:var(--color-muted)}.mt-8{margin-top:8px}.hc-version-soon{display:inline-flex;align-items:center;gap:6px;color:var(--color-muted);font-size:13px}.hc-version-value{font-size:13px;font-weight:500}.hc-version-unknown{font-size:13px;color:var(--color-muted);font-style:italic}.admin-overview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:8px}.admin-overview-card{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);text-decoration:none!important;color:var(--color-text);transition:border-color .15s,box-shadow .15s}.admin-overview-card:hover{border-color:var(--color-brand);box-shadow:0 4px 16px var(--color-shadow);color:var(--color-text)}.admin-overview-icon{font-size:24px}.admin-overview-title{font-size:15px;font-weight:600}.admin-overview-desc{font-size:13px;color:var(--color-muted);line-height:1.5}.mono{font-family:monospace;font-size:12px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px 24px;margin-bottom:20px}.card-title{font-size:15px;font-weight:600;margin:0 0 12px}.card-desc{font-size:13px;color:var(--color-muted);margin:0 0 16px;line-height:1.6}.card-actions{display:flex;align-items:center;gap:12px;margin-top:16px}.card-collapse-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;padding-bottom:10px;border-bottom:1px solid var(--color-border);margin-bottom:0}.card-collapse-header .card-title,.card-collapse-header .home-ask-ai-title{margin:0}.card-collapse-header:hover .card-title,.card-collapse-header:hover .home-ask-ai-title{color:var(--color-brand)}.card--collapsed{padding-bottom:16px}.card-collapse-body{margin-top:14px}.alert{padding:10px 14px;border-radius:var(--radius);font-size:13px;margin-bottom:14px}.alert-success{background:var(--color-green-dim);border:1px solid var(--color-green);color:var(--color-green)}.alert-error{background:var(--color-red-dim);border:1px solid var(--color-red);color:var(--color-red)}.status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600}.status-badge-success{background:var(--color-green-dim);color:var(--color-green)}.status-badge-error{background:var(--color-red-dim);color:var(--color-red)}.status-badge-info{background:var(--color-blue-dim);color:var(--color-blue)}.xero-status-grid{display:grid;gap:10px}.xero-status-row{display:flex;align-items:center;gap:12px;font-size:13px}.xero-status-label{width:150px;flex-shrink:0;color:var(--color-muted);font-weight:500}.xero-token-expired-banner{margin-bottom:1rem;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.xero-reauth-btn{margin-left:.5rem}.import-discover-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.import-discover-count{font-size:13px;color:var(--color-muted)}.import-empty-hint{margin-top:1rem}.import-file-row{transition:background .1s}.import-file-row:hover{background:var(--color-hover, rgba(0,0,0,.04))}.import-file-name{font-weight:500}.import-file-name a{color:var(--color-text);text-decoration:none}.import-file-name a:hover{text-decoration:underline;color:var(--color-brand)}.import-file-path{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-col-narrow,.import-col-status{white-space:nowrap}.import-col-action{white-space:nowrap;text-align:right;width:120px}.import-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:99px;font-size:12px;font-weight:500;white-space:nowrap}.import-badge--imported{background:color-mix(in srgb,var(--color-brand) 15%,transparent);color:var(--color-brand)}.import-badge--new{background:color-mix(in srgb,#3b82f6 12%,transparent);color:#2563eb}.import-error-inline{font-size:13px;color:var(--color-danger, #dc2626)}.import-folders-section{padding:14px 0 16px;border-bottom:1px solid var(--color-border);margin-bottom:16px}.import-folders-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.import-folders-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted)}.import-folders-empty{font-size:13px;color:var(--color-muted)}.import-folder-toggles{display:flex;flex-wrap:wrap;gap:8px}.import-folder-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 8px;border:1px solid var(--color-border);border-radius:6px;font-size:13px;cursor:pointer;transition:border-color .12s,background .12s;-webkit-user-select:none;user-select:none}.import-folder-toggle:hover{border-color:var(--color-brand)}.import-folder-toggle.is-enabled{border-color:var(--color-brand);background:var(--color-brand-dim);color:var(--color-brand);font-weight:500}.import-folder-toggle input{cursor:pointer;accent-color:var(--color-brand)}.import-folder-toggle--filter{font-size:.8rem}.import-badge--partial{background:var(--color-warning-dim, #fff3cd);color:var(--color-warning, #856404);border:1px solid var(--color-warning, #f0c040)}.import-badge--error{background:color-mix(in srgb,#ef4444 12%,transparent);color:#b91c1c;cursor:help}.procore-extract-status{display:flex;flex-direction:column;gap:2px}.procore-extract-date{font-size:11px;color:var(--color-muted)}.procore-detail-row td{background:var(--color-surface-alt);padding:12px 16px!important}.procore-counts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px}.procore-count-cell{display:flex;justify-content:space-between;align-items:center;padding:5px 10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;font-size:12px}.procore-count-cell.procore-count-zero{opacity:.45}.procore-count-label{color:var(--color-muted)}.procore-count-value{font-weight:600;color:var(--color-text);min-width:24px;text-align:right}.section-header-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.section-header-row .section-title{margin-bottom:0}.filter-row{display:flex;gap:12px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.filter-search{max-width:320px}.filter-search-mb{max-width:320px;margin-bottom:12px}.variation-actions{display:flex;gap:4px}.tab-stub-icon{font-size:32px;margin-bottom:12px}.import-actions-row{margin-left:auto;display:flex;gap:8px;align-items:center}.hc-block{border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:16px;overflow:hidden}.hc-header{background:var(--color-surface-alt);border-bottom:1px solid var(--color-border);padding:10px 14px;display:flex;flex-direction:column;gap:4px}.hc-header-meta{display:flex;align-items:center;gap:6px}.hc-number{font-weight:600;font-size:12px;color:var(--color-muted)}.hc-client{color:var(--color-muted);font-size:13px}.hc-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0;padding:0}.hc-stat{padding:10px 14px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:2px}.hc-stat:last-child{border-right:none}.hc-stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.3px;color:var(--color-muted)}.hc-stat-value{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.hc-dates{display:flex;flex-wrap:wrap;gap:6px 20px;padding:8px 14px;border-bottom:1px solid var(--color-border);font-size:12px}.hc-date-item{display:flex;gap:5px;align-items:baseline}.hc-date-label{font-size:10px;text-transform:uppercase;letter-spacing:.3px;color:var(--color-muted)}.hc-stat--highlight{background:var(--color-surface)}.hc-section-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-muted);padding:8px 14px 0;border-top:1px solid var(--color-border)}.hc-line-items{padding:0}.hc-line-items .register-table{margin:0;border-radius:0;border:none;border-top:1px solid var(--color-border)}.hc-line-items .register-table tfoot tr{background:var(--color-surface-alt)}.hc-line-items .register-table tfoot .hc-li-total{font-weight:600}.hc-budget-code{font-size:11px;color:var(--color-muted);font-family:monospace}.hc-variations{padding:0}.hc-variations .register-table{margin:0;border-radius:0;border:none;border-top:1px solid var(--color-border)}.hc-variations .hc-section-label{border-top:1px solid var(--color-border)}.hc-empty-probe{display:flex;flex-direction:column;gap:8px;padding:8px 0}.hc-probe-action{margin-top:4px}.hc-probe-details{margin-top:8px;font-size:12px}.hc-probe-pre{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius);padding:10px;overflow:auto;max-height:320px;white-space:pre-wrap;word-break:break-all;font-size:11px}.hc-import-panel{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius);padding:12px 16px;margin-bottom:20px;display:flex;flex-direction:column;gap:8px}.hc-import-label{font-size:12px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.hc-detail{display:flex;flex-direction:column;gap:0;margin-bottom:24px}.hc-detail-titlebar{padding:16px 20px 14px;border-bottom:1px solid var(--color-border)}.hc-detail-title-meta{display:flex;align-items:center;gap:8px;margin-bottom:6px}.hc-detail-contract-num{font-size:12px;font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em}.hc-detail-title{font-size:20px;font-weight:600;margin:0 0 2px}.hc-detail-client{font-size:13px;color:var(--color-muted);margin:0}.hc-detail-layout{display:grid;grid-template-columns:180px 1fr;gap:0;align-items:start}.hc-detail-nav{position:sticky;top:56px;display:flex;flex-direction:column;gap:2px;padding:16px 12px;border-right:1px solid var(--color-border);min-height:200px}.hc-detail-nav-item{font-size:13px;padding:6px 10px;border-radius:var(--radius);color:var(--color-text);text-decoration:none;transition:background .1s}.hc-detail-nav-item:hover{background:var(--color-surface-alt);color:var(--color-brand);text-decoration:none}.hc-detail-content{display:flex;flex-direction:column}.hc-detail-section{border-bottom:1px solid var(--color-border)}.hc-detail-section:last-child{border-bottom:none}.hc-detail-section-header{display:flex;align-items:center;gap:10px;padding:14px 20px;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--color-bg)}.hc-detail-section-header:hover{background:var(--color-surface-alt)}.hc-detail-section-chevron{color:var(--color-muted);flex-shrink:0}.hc-detail-section-title{font-size:15px;font-weight:600;margin:0;flex:1}.hc-detail-section-body{padding:4px 20px 20px}.hc-field-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 24px;padding-top:12px}.hc-field-item{display:flex;flex-direction:column;gap:3px}.hc-field-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.hc-field-value{font-size:14px}.hc-field-empty{color:var(--color-muted);font-style:italic}.hc-detail-description{margin-top:16px;display:flex;flex-direction:column;gap:6px}.hc-detail-description-text{font-size:13px;white-space:pre-wrap;margin:0}.hc-detail-attachments{margin-top:16px;display:flex;flex-direction:column;gap:6px}.hc-detail-attachment-link{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--color-brand);text-decoration:underline}.hc-pdf-link{color:var(--color-muted);display:inline-flex}.hc-pdf-link:hover{color:var(--color-brand)}.hc-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;margin-top:12px}.hc-summary-tile{padding:14px 16px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:4px}.hc-summary-tile:nth-child(4n){border-right:none}.hc-summary-tile--highlight{background:var(--color-surface-alt)}.hc-summary-tile-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.hc-summary-tile-value{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.hc-summary-tile-sub{font-size:11px;color:var(--color-muted)}.hc-sov-table-wrap{margin-top:8px;overflow-x:auto}.hc-sov-table{width:100%}.hc-sov-table tfoot tr{background:var(--color-surface-alt)}.hc-sov-total-row td{font-weight:600}.hc-sov-code{font-size:12px;font-family:monospace;font-weight:600}.hc-sov-code-name{font-size:11px;color:var(--color-muted)}.hc-sov-budget-col{min-width:60px;width:90px;white-space:nowrap}.col-money-label{text-align:right;color:var(--color-muted)}.hc-sov-level1-row td{background:color-mix(in srgb,var(--color-brand) 18%,transparent);color:var(--color-brand);font-weight:700;font-size:13px}.hc-sov-level1-row .hc-sov-code{color:var(--color-brand)}.hc-sov-level2-row td{background:color-mix(in srgb,var(--color-text) 8%,var(--color-surface));font-weight:600;font-size:12px}.hc-sov-group-divider td{padding:0;height:8px;border:none;background:transparent}.hc-sov-expand-btn,.hc-sov-toggle-all{all:unset;cursor:pointer;font-size:11px;color:var(--text-muted);padding:2px 4px;border-radius:3px;line-height:1}.hc-sov-expand-btn:hover,.hc-sov-toggle-all:hover{background:var(--color-border);color:var(--color-text)}.dp-wrap{position:relative;display:block}.dp-input-row{display:flex;align-items:stretch;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);overflow:hidden;transition:border-color .15s}.dp-input-row:focus-within{border-color:var(--color-brand)}.dp-text-input{flex:1;border:none;outline:none;padding:7px 10px;font-size:14px;font-family:inherit;background:transparent;color:var(--color-text);min-width:0}.dp-text-input::placeholder{color:var(--color-muted)}.dp-text-input:disabled{opacity:.6;cursor:default;background:var(--color-surface-alt)}.dp-icon-btn{display:flex;align-items:center;justify-content:center;padding:0 9px;border:none;border-left:1px solid var(--color-border);background:none;cursor:pointer;color:var(--color-muted);transition:color .15s,background .15s;flex-shrink:0}.dp-icon-btn:hover:not(:disabled){color:var(--color-brand);background:var(--color-surface-alt)}.dp-icon-btn:disabled{opacity:.6;cursor:default}.dp-icon{width:16px;height:16px;flex-shrink:0}.dp-cal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 6px 24px var(--color-shadow);padding:14px;width:280px;z-index:9999;color:var(--color-text)}.dp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.dp-nav{background:none;border:none;font-size:20px;cursor:pointer;line-height:1;padding:2px 8px;border-radius:4px;color:var(--color-brand)}.dp-nav:hover{background:var(--color-surface-alt)}.dp-month-year{font-weight:600;font-size:14px;color:var(--color-text)}.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dp-dow{text-align:center;font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--color-muted);padding:4px 0;text-transform:uppercase}.dp-day{text-align:center;font-size:13px;padding:6px 2px;border:none;background:none;cursor:pointer;border-radius:4px;line-height:1;width:100%;font-family:inherit;color:var(--color-text)}.dp-day:hover{background:var(--color-surface-alt)}.dp-today{font-weight:700;color:var(--color-brand)}.dp-selected{background:var(--color-brand)!important;color:#fff!important}.dp-footer{margin-top:10px;text-align:right;border-top:1px solid var(--color-border);padding-top:8px}.dp-clear{background:none;border:none;font-size:12px;color:var(--color-muted);cursor:pointer;text-decoration:underline;font-family:inherit}.dp-clear:hover{color:var(--color-red)}.feas-tab{padding:0}.feas-page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:16px}.feas-page-title{font-size:16px;font-weight:700;color:var(--color-text)}.feas-page-sub{font-size:12px;color:var(--color-muted);margin-top:2px}.feas-body{display:grid;grid-template-columns:1fr 280px;gap:20px;align-items:start}@media(max-width:960px){.feas-body{grid-template-columns:1fr}}.feas-main{min-width:0}.feas-tbl{width:100%;border-collapse:collapse;font-size:13px;border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.feas-tbl .feas-col-desc{width:auto}.feas-tbl .feas-col-amt{width:180px}.feas-tbl .feas-col-pct{width:88px}.feas-th{padding:8px 12px;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--color-muted);background:var(--color-surface-alt);border-bottom:1px solid var(--color-border);white-space:nowrap}.feas-th-amt,.feas-th-pct{text-align:right}.feas-section-hdr td{padding:8px 12px;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--color-brand);background:color-mix(in srgb,var(--color-brand) 8%,var(--color-surface));border-top:1px solid var(--color-border)}.feas-tbl tbody tr:first-child .feas-section-hdr td,.feas-section-hdr:first-child td{border-top:none}.feas-tbl td{padding:7px 12px;border-top:1px solid var(--color-border);vertical-align:middle;color:var(--color-text)}.feas-tbl tbody tr:first-child td{border-top:none}.feas-row-label{color:var(--color-text)}.feas-note{color:var(--color-muted);font-size:11px;margin-left:6px}.feas-amt{text-align:right;font-family:monospace;white-space:nowrap}.feas-pct-cell{text-align:right;color:var(--color-muted);font-size:11px;white-space:nowrap}.feas-subtotal-row td{background:color-mix(in srgb,var(--color-surface-alt) 60%,transparent);font-weight:600;border-top:1px solid var(--color-border)}.feas-subtotal-row--revenue td{font-size:14px}.feas-total-row td{font-weight:700;font-size:13px;border-top:2px solid var(--color-border);border-bottom:2px solid var(--color-border);background:var(--color-surface-alt)}.feas-profit-row td{font-size:15px;padding-top:10px;padding-bottom:10px}.feas-target-comparison-row td{color:var(--color-muted);font-size:12px}.feas-status-row td{padding:8px 12px}.feas-status-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.feas-status-badge--ok{background:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-success)}.feas-status-badge--warn{background:color-mix(in srgb,var(--color-danger) 12%,transparent);color:var(--color-danger)}.feas-metrics-bar{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.feas-metric{flex:1;min-width:110px;background:var(--color-surface-alt);border-radius:6px;padding:10px 12px;text-align:center;border:1px solid var(--color-border)}.feas-metric-val{font-size:15px;font-weight:700;color:var(--color-text)}.feas-metric-lbl{font-size:11px;color:var(--color-muted);margin-top:2px}.feas-cashflow-placeholder{margin-top:14px;padding:16px;border:1px dashed var(--color-border);border-radius:6px;text-align:center}.feas-cashflow-label{font-size:12px;color:var(--color-muted);font-style:italic}.feas-inputs-panel{position:sticky;top:76px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.feas-inputs-hdr{padding:10px 14px;font-size:10px;font-weight:700;letter-spacing:.1em;background:var(--color-brand);color:#fff}.feas-inp-section{padding:12px 14px;border-bottom:1px solid var(--color-border)}.feas-inp-section:last-of-type{border-bottom:none}.feas-inp-section-title{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--color-muted);margin-bottom:8px}.feas-inp-field{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.feas-inp-field:last-child{margin-bottom:0}.feas-inp-label{font-size:12px;color:var(--color-text)}.feas-inp-unit{color:var(--color-muted);font-size:11px}.feas-inp-input{font-size:13px!important;padding:5px 8px!important}.feas-inp-note{padding:10px 14px;font-size:11px;color:var(--color-muted);background:var(--color-surface-alt);line-height:1.5}.budget-subtab-strip{display:flex;gap:4px;margin-bottom:14px;border-bottom:1px solid var(--color-border);padding-bottom:0}.budget-subtab-btn{padding:6px 16px;font-size:13px;font-family:inherit;background:none;border:none;border-bottom:2px solid transparent;color:var(--color-muted);cursor:pointer;margin-bottom:-1px;transition:color .15s,border-color .15s}.budget-subtab-btn:hover{color:var(--color-text)}.budget-subtab-btn--active{color:var(--color-brand);border-bottom-color:var(--color-brand);font-weight:600}.bv-strip{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;margin-top:-6px;border-bottom:1px solid var(--color-border);padding-bottom:8px}.bv-tabs{display:flex;gap:4px;flex-wrap:wrap}.bv-tab{padding:5px 14px;font-size:12px;font-family:inherit;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px 4px 0 0;cursor:pointer;color:var(--color-text);transition:background .12s,border-color .12s;display:flex;align-items:center;gap:6px}.bv-tab:hover{background:color-mix(in srgb,var(--color-brand) 8%,var(--color-surface))}.bv-tab--active{background:var(--color-brand);color:#fff;border-color:var(--color-brand);font-weight:600}.bv-tab--contract{border-color:var(--color-brand)}.bv-tab--locked{opacity:.55}.bv-tab-contract-badge{font-size:9px;font-weight:700;letter-spacing:.04em;background:var(--color-brand);color:#fff;padding:1px 5px;border-radius:3px}.bv-tab--active .bv-tab-contract-badge{background:#ffffff4d}.bv-meta-section{margin:0 0 12px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.bv-meta-view{cursor:pointer;min-height:32px;padding:4px 6px}.bv-meta-view:hover{background:var(--color-surface-hover);border-radius:4px}.bv-meta-name{font-size:14px;font-weight:600;color:var(--color-text);display:block}.bv-meta-placeholder{font-size:13px;color:var(--color-muted);font-style:italic}.bv-meta-notes{margin-top:6px;font-size:12px;color:var(--color-muted)}.bv-meta-edit{display:flex;flex-direction:column}.bv-meta-label{font-size:12px;font-weight:600;color:var(--color-muted);margin-bottom:4px}.bv-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.bv-new-dropdown{position:relative}.bv-dropdown-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:200;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 4px 16px #0000001f;min-width:240px;overflow:hidden}.bv-dropdown-item{display:flex;flex-direction:column;gap:2px;padding:10px 14px;cursor:pointer;text-align:left;background:none;border:none;width:100%;font-family:inherit;transition:background .1s}.bv-dropdown-item:hover{background:color-mix(in srgb,var(--color-brand) 8%,transparent)}.bv-dropdown-item strong{font-size:13px;color:var(--color-text)}.bv-dropdown-item span{font-size:11px;color:var(--color-muted)}.bv-dropdown-item--danger strong{color:#c0392b}.bv-dropdown-divider{height:1px;background:var(--color-border);margin:2px 0}.bv-compare-panel{border:1px solid var(--color-border);border-radius:6px;padding:14px 16px;margin-bottom:16px;background:color-mix(in srgb,var(--color-brand) 4%,var(--color-surface))}.bv-compare-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.bv-compare-table .bv-compare-diff td{background:color-mix(in srgb,#e67e22 6%,transparent)}.bv-compare-diff-cell{background:color-mix(in srgb,#e67e22 14%,transparent)!important;font-weight:600}.col-vis{width:32px;text-align:center;padding:0 4px!important}.budget-vis-check{cursor:pointer;accent-color:var(--color-brand);width:14px;height:14px}.budget-depth-0.budget-row-heading td{background:color-mix(in srgb,var(--color-brand) 18%,transparent);color:var(--color-brand);font-weight:700;font-size:13px}.budget-depth-1.budget-row-heading td{background:color-mix(in srgb,var(--color-text) 12%,var(--color-surface));color:var(--color-text);font-weight:700;font-size:13px}.budget-depth-2 td{font-size:12px}.budget-depth-3 td{font-size:12px;padding-left:28px}.budget-subtotal-row td{font-weight:600;font-size:12px;border-top:1px solid var(--color-border);color:var(--color-muted);padding-top:4px;padding-bottom:4px}.budget-subtotal-row .budget-subtotal-label{text-align:right;color:var(--color-muted);font-style:italic}.col-lcode{text-align:center;color:var(--color-muted);font-size:11px}.hc-detail-section-action{margin-left:auto}.hc-lock-btn{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;border:1.5px solid transparent;transition:background .15s,color .15s;white-space:nowrap}.hc-lock-btn--locked{background:var(--color-yellow-dim);color:var(--color-yellow);border-color:var(--color-yellow)}.hc-lock-btn--locked:hover{background:var(--color-surface-alt)}.hc-lock-btn--open{background:var(--color-green-dim);color:var(--color-green);border-color:var(--color-green)}.hc-lock-btn--open:hover{background:var(--color-surface-alt)}.hc-lock-btn:disabled{opacity:.6;cursor:default}.hc-lock-notice{display:flex;align-items:center;gap:6px;background:var(--color-yellow-dim);color:var(--color-yellow);border:1px solid var(--color-yellow);border-radius:var(--radius-sm);padding:7px 12px;font-size:12px;margin-bottom:10px}.budget-estimate-table{table-layout:fixed}.budget-estimate-table td,.budget-estimate-table th{white-space:nowrap}.budget-estimate-table td:not(.col-money):not(.col-lcode){overflow:hidden;text-overflow:ellipsis}.budget-row-heading td{text-align:left!important}.budget-row-heading td.col-money{text-align:right!important}.budget-estimate-table td.col-lcode,.budget-estimate-table th.col-lcode{text-align:center}.budget-cell-display{display:block;width:100%;padding:1px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.budget-cell-number{text-align:right;overflow:visible;text-overflow:clip}.budget-cell-clickable{cursor:pointer;border:1px solid transparent;border-radius:3px;transition:border-color .1s,background .1s}.budget-cell-clickable:hover{border-color:var(--color-border);background:color-mix(in srgb,var(--color-brand) 6%,transparent)}.budget-cell-empty{color:var(--color-muted);font-size:11px}.budget-filter-row th{padding:3px 4px;border-top:1px solid var(--color-border);position:sticky!important;top:34px;z-index:2}.budget-filter-input{width:100%;background:var(--color-bg);border:1px solid var(--color-border);border-radius:3px;padding:2px 4px;font-size:11px;font-family:inherit;color:var(--color-text);box-sizing:border-box}.budget-filter-input:focus{outline:none;border-color:var(--color-brand)}.budget-row-collapsible{cursor:pointer}.budget-row-collapsible:hover td{filter:brightness(1.08)}.budget-collapse-arrow{display:inline-block;margin-right:3px;font-size:9px;opacity:.6}.budget-inline-input{width:100%;background:transparent;border:1px solid transparent;border-radius:3px;padding:1px 4px;font-size:inherit;font-family:inherit;color:var(--color-text);text-align:right;transition:border-color .1s,background .1s;box-sizing:border-box}.budget-inline-input:hover{border-color:var(--color-border);background:color-mix(in srgb,var(--color-brand) 6%,transparent)}.budget-inline-input:focus{outline:none;border-color:var(--color-brand);background:color-mix(in srgb,var(--color-brand) 10%,transparent)}.budget-inline-input--text{text-align:left}.budget-inline-input--saving{opacity:.5;pointer-events:none}.budget-addline-row td{background:color-mix(in srgb,var(--color-brand) 5%,var(--color-surface));border-top:1px dashed var(--color-border);padding:4px 6px}.budget-addline-row input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:3px;padding:3px 6px;font-size:12px;font-family:inherit;color:var(--color-text);width:100%;box-sizing:border-box}.budget-addline-row input:focus{outline:none;border-color:var(--color-brand)}.budget-locked-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600;background:#fff3cd;color:#856404;border:1px solid #ffc107;white-space:nowrap}.budget-working-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.budget-working-table table{min-width:900px}.budget-working-table .col-num{width:90px;text-align:right}.budget-working-table .col-num-sm{width:70px;text-align:right}.budget-working-table td.col-num,.budget-working-table th.col-num,.budget-working-table td.col-num-sm,.budget-working-table th.col-num-sm{text-align:right;padding-right:8px}.budget-working-table td,.budget-working-table th{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.budget-working-table td:not(.col-lcode):not(.col-money):not(.budget-subtotal-label){white-space:normal;overflow:visible;text-overflow:unset}.budget-working-table td.budget-subtotal-label{white-space:normal;overflow:visible;text-overflow:unset}.budget-working-table td.col-money,.budget-working-table th.col-money{text-align:right;overflow:hidden;text-overflow:clip}.wb-th{position:sticky!important;top:0;padding-right:20px!important;z-index:2}.wb-th-inner{display:flex;align-items:center;gap:3px;min-width:0}.wb-th-inner span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.wb-hide-col{display:none;background:none;border:none;padding:0 2px;line-height:1;font-size:.75rem;color:var(--color-muted);cursor:pointer;border-radius:2px;flex-shrink:0}.wb-th:hover .wb-hide-col{display:inline-block}.wb-hide-col:hover{color:var(--color-red, #c0392b);background:var(--color-surface-alt)}.wb-resize-handle{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:1}.wb-resize-handle:hover,.wb-resize-handle:active{background:var(--color-brand);opacity:.5}.wb-hidden-bar{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:4px 0 6px;font-size:.78rem}.wb-hidden-label{color:var(--color-muted);font-size:.75rem;margin-right:2px}.wb-show-col-btn{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:3px;padding:2px 7px;font-size:.75rem;color:var(--color-brand);cursor:pointer;white-space:nowrap}.wb-show-col-btn:hover{background:var(--color-brand-dim);border-color:var(--color-brand)}.wb-show-all{color:var(--color-muted);font-style:italic}.budget-delete-btn{background:none;border:none;cursor:pointer;color:var(--color-muted);padding:2px 4px;border-radius:3px;font-size:13px;line-height:1;opacity:0;transition:color .1s,opacity .1s}tr:hover .budget-delete-btn{opacity:1}.budget-delete-btn:hover{color:var(--color-danger)}.budget-addline-action{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px dashed var(--color-border);margin-top:2px}.hc-page-titlebar{margin-bottom:4px}.hc-page-title{font-size:22px;font-weight:700;margin:0;line-height:1.3}.hc-page-client{font-size:13px;color:var(--color-muted);margin:4px 0 0}.hc-section-tab-bar{margin-top:8px;border-top:1px solid var(--color-border);padding-top:4px}.hc-page-layout{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:start}.hc-page-nav{position:sticky;top:56px;display:flex;flex-direction:column;gap:2px;padding-top:4px}.hc-page-content{display:flex;flex-direction:column;gap:16px}.hc-page-section{padding:0}.hc-page-section-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;cursor:pointer;border-radius:var(--radius) var(--radius) 0 0;-webkit-user-select:none;user-select:none}.hc-page-section-header:hover{background:var(--color-surface-alt);border-radius:var(--radius)}.hc-page-section-title{font-size:16px;font-weight:600;margin:0}.hc-page-section-body{padding:4px 20px 20px}.hc-page-field-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 24px;padding:12px 0}.hc-page-field-item{display:flex;flex-direction:column;gap:4px}.hc-page-field-label{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted)}.hc-page-field-value{font-size:14px}.hc-page-subsection{margin-top:16px;display:flex;flex-direction:column;gap:6px}.hc-page-description-text{font-size:13px;white-space:pre-wrap;margin:0;line-height:1.6}.hc-rte-display{font-size:13px;line-height:1.6;color:var(--color-text)}.hc-rte-display p{margin:0 0 6px}.hc-rte-display p:last-child{margin-bottom:0}.hc-rte-display ul,.hc-rte-display ol{margin:0 0 6px;padding-left:20px}.hc-rte-display li{margin-bottom:2px}.hc-rte-display strong{font-weight:600}.hc-rte-display em{font-style:italic}.hc-attachments-list{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.hc-attach-error{font-size:12px;color:var(--color-danger)}.hc-attach-upload-row{display:flex;align-items:center;gap:8px;margin-top:6px}.hc-attach-upload-row .input{font-size:13px;padding:5px 8px;height:auto}.hc-page-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;margin:8px 0 4px}.hc-page-summary-tile{padding:16px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:6px}.hc-page-summary-tile:nth-child(4n){border-right:none}.hc-page-summary-tile--hi{background:var(--color-surface-alt)}.hc-page-summary-label{font-size:11px;font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em}.hc-page-summary-value{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}@media(max-width:1100px){.hc-page-layout{grid-template-columns:1fr}.hc-page-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:4px}.hc-page-summary-grid,.hc-page-field-grid{grid-template-columns:repeat(2,1fr)}}.project-stats--dates{background:var(--color-surface-alt);border-radius:var(--radius);padding:4px 0}.stat-card--date{background:transparent}.stat-card--empty{opacity:.5}.project-contacts-row{display:flex;flex-direction:row;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.contact-card{flex-shrink:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:3px;min-width:180px;max-width:240px}.contact-card-role{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.contact-card-name{background:none;border:none;padding:0;font-size:13px;font-weight:600;color:var(--color-primary);text-align:left;cursor:pointer;line-height:1.3}.contact-card-name:hover{text-decoration:underline}.contact-card-company{font-size:12px;color:var(--text-muted);line-height:1.3}.contact-card-detail{font-size:11px;color:var(--text-muted);text-decoration:none;line-height:1.4;word-break:break-all}.contact-card-detail:hover{color:var(--color-primary);text-decoration:underline}.contact-card--placeholder{border-style:dashed;opacity:.55}.contact-card-name--empty{font-size:13px;color:var(--text-muted);font-style:italic;background:none;border:none;padding:0;cursor:default}.contact-view-modal{max-width:480px;width:100%}.contact-view-body{padding:16px 0 8px}.contact-view-role{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px}.contact-view-table th{text-align:left;font-weight:500}.contact-view-table td{text-align:left}.contact-link{color:var(--color-primary);text-decoration:none}.contact-link:hover{text-decoration:underline}.key-contacts-section{padding:4px 0}.kc-card-grid{display:flex;flex-wrap:wrap;gap:10px}.kc-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:3px;min-width:180px;max-width:230px;flex:0 0 auto}.kc-card--client{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 4%,var(--color-surface))}.kc-card--empty{border-style:dashed;opacity:.65;cursor:pointer;min-height:80px;justify-content:flex-start}.kc-card--empty:hover{opacity:1;background:var(--color-surface-alt)}.kc-card--skeleton{opacity:.35}.kc-card-role-row{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:4px}.kc-card-role{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);flex:1}.kc-card-role--editable{all:unset;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;flex:1;border-bottom:1px dashed transparent}.kc-card-role--editable:hover{border-bottom-color:var(--color-border);color:var(--color-text)}.kc-card-role-placeholder{font-style:italic;opacity:.6}.kc-card-role-input{font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;background:var(--color-surface-alt);border:1px solid var(--color-primary);border-radius:3px;padding:1px 4px;flex:1;min-width:0;outline:none}.kc-card-remove{all:unset;cursor:pointer;font-size:11px;color:var(--text-muted);opacity:0;padding:1px 3px;border-radius:3px;transition:opacity .15s;flex-shrink:0}.kc-card:hover .kc-card-remove{opacity:1}.kc-card-remove:hover{background:color-mix(in srgb,var(--color-danger) 15%,transparent);color:var(--color-danger)}.kc-card-name{all:unset;font-size:13px;font-weight:600;color:var(--color-primary);cursor:pointer;line-height:1.3}.kc-card-name:hover{text-decoration:underline}.kc-card-company{font-size:12px;color:var(--text-muted);line-height:1.3}.kc-card-detail{font-size:11px;color:var(--text-muted);text-decoration:none;line-height:1.4;word-break:break-all}.kc-card-detail:hover{color:var(--color-primary);text-decoration:underline}.kc-card-footer{display:flex;align-items:center;gap:8px;margin-top:6px;padding-top:6px;border-top:1px solid var(--color-border)}.kc-card-dash-toggle{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.kc-card-auto-label{font-size:10px;color:var(--text-muted);font-style:italic}.kc-card-unassigned{font-size:13px;color:var(--text-muted);font-style:italic;margin-top:2px}.kc-card-add-btn{all:unset;font-size:11px;color:var(--color-primary);cursor:pointer;margin-top:6px}.add-key-contacts-modal{max-width:620px;width:100%;display:flex;flex-direction:column;max-height:85vh}.add-key-contacts-search{padding:12px 20px 8px;border-bottom:1px solid var(--color-border)}.add-key-contacts-search .form-input{width:100%}.add-key-contacts-list{overflow-y:auto;flex:1;min-height:0}.akc-row{padding:8px 20px;border-bottom:1px solid var(--color-border);transition:background .1s}.akc-row:last-child{border-bottom:none}.akc-row--selected{background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.akc-row--disabled{opacity:.45}.akc-row-top{display:flex;align-items:center;gap:10px}.akc-row-check{display:flex;align-items:center;flex-shrink:0}.akc-row-info{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.akc-row-name{font-size:13px;font-weight:500}.akc-row-company,.akc-row-email{font-size:11px;color:var(--text-muted)}.akc-row-badge{font-size:10px;color:var(--text-muted);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:10px;padding:1px 7px;flex-shrink:0}.akc-row-role{display:flex;gap:8px;align-items:center;margin-top:6px;padding-left:28px}.akc-row-role .form-select{font-size:12px;min-width:180px}.akc-row-role .form-input{font-size:12px;flex:1}@media(max-width:900px){.hc-detail-layout{grid-template-columns:1fr}.hc-detail-nav{position:static;flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid var(--color-border)}.hc-summary-grid,.hc-field-grid{grid-template-columns:repeat(2,1fr)}}.hc-import-row{display:flex;gap:8px;align-items:center}.hc-import-input{flex:1;font-size:13px}.hc-import-summary{margin:6px 0 0;padding-left:18px;font-size:12px;line-height:1.7}.hc-import-warn{color:var(--color-danger, #c0392b)}.hc-doc-link{font-size:11px;color:var(--color-primary);text-decoration:none;margin-left:8px}.hc-doc-link:hover{text-decoration:underline}.hc-section-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.hc-section-card-title{font-size:15px;font-weight:600;margin:0}.hc-edit-form{display:flex;flex-direction:column;gap:0}.hc-edit-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--color-border)}.hc-edit-error{font-size:12px;color:var(--color-danger);margin:8px 0 0}.dialog-box--hc-create{max-width:900px;width:min(900px,93vw);max-height:min(92vh,92dvh);padding:0;display:flex;flex-direction:column;overflow:hidden}.hc-create-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--color-border);flex-shrink:0}.hc-create-body{flex:1;min-height:0;overflow-y:auto;padding:0 24px 8px}.dialog-overlay:has(.dialog-box--hc-create){align-items:flex-start;padding:4vh 0;overflow-y:auto}.dialog-overlay:has(.dialog-box--hcv-create){align-items:flex-start;padding:10vh 0 4vh;overflow-y:auto;background:#00000061}.dialog-box--hcv-create{max-width:1100px;width:min(1100px,96vw);max-height:none;padding:0;display:flex;flex-direction:column;overflow:hidden}.dialog-box--hcv-create .hc-create-body{padding:0 32px 16px}.dialog-box--hcv-create .hc-create-section{padding-top:24px;padding-bottom:8px}.dialog-box--hcv-create .form-field{gap:6px;margin-bottom:14px}.dialog-box--hcv-create .hc-create-row{gap:16px;margin-bottom:4px}.dialog-box--hcv-create .hc-create-header{padding:24px 32px 18px}.hcv-lines-wrap{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.hcv-lines-table{width:100%;border-collapse:collapse}.hcv-lines-table th{padding:6px 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--color-muted);border-bottom:1px solid var(--color-border);text-align:left;background:var(--color-surface-alt)}.hcv-lines-table td{padding:3px 4px;border-bottom:1px solid var(--color-border);vertical-align:middle}.hcv-lines-table tbody tr:last-child td{border-bottom:none}.hcv-lines-table tfoot td{padding:6px 10px;background:var(--color-surface-alt);font-size:13px;border-top:1px solid var(--color-border)}.hcv-lines-table .form-input{height:30px;padding:3px 7px;font-size:13px;border-radius:4px}.btn-icon-sm{background:none;border:none;cursor:pointer;color:var(--color-muted);padding:4px 6px;line-height:1;font-size:13px;border-radius:var(--radius)}.btn-icon-sm:hover{color:var(--color-danger);background:var(--color-surface-alt)}.hcv-line-amount-calc{display:block;text-align:right;padding:3px 7px;font-size:13px;color:var(--color-muted);font-style:italic}.hcv-lines-table td:last-child,.hcv-lines-table th:last-child{padding:0 4px}.hcv-lines-wrap{overflow-x:auto}.hc-create-footer{border-top:1px solid var(--color-border);padding:16px 24px;flex-shrink:0;margin:0}.hc-create-section{padding-top:20px;padding-bottom:4px}.hc-create-section+.hc-create-section{border-top:1px solid var(--color-border);margin-top:4px}.hc-create-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--color-muted);margin-bottom:12px}.hc-create-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:4px}.hc-create-checkbox-label{display:flex!important;align-items:center;gap:6px;cursor:pointer}.hc-create-hint{font-size:12px;color:var(--color-muted);margin:0 0 8px}.hc-create-sov-actions{display:flex;gap:8px;margin-bottom:8px}.hc-create-sov-wrap{max-height:240px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius)}.hc-create-sov-table{margin:0;border-radius:0;border:none}.hc-create-sov-deselected td{color:var(--color-muted);opacity:.5}.hc-create-attach-label{display:flex;align-items:center;cursor:pointer}.hc-create-attach-preview{display:flex;align-items:center;gap:8px;padding:8px;background:var(--color-surface-alt);border-radius:var(--radius);border:1px solid var(--color-border)}.hc-create-attach-name{font-size:13px;flex:1;word-break:break-all}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.procore-col-id{width:80px}.procore-col-num,.procore-col-stage{width:120px}.procore-col-active{width:80px}.procore-col-mapped{width:90px}.procore-col-extract,.procore-col-action{width:140px}.excel-col-name{width:30%}.excel-col-loc{width:28%}.excel-col-size{width:100px}.excel-col-date{width:70px}.excel-col-action{width:130px}.import-folders-actions{display:flex;align-items:center;gap:10px;margin-top:10px}.import-saved-hint{font-size:12px;color:var(--color-brand);font-weight:500}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 12px 48px #00000047;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-content .modal-header{padding:20px 24px 16px;border-bottom:1px solid var(--color-border);margin-bottom:0}.viewer-window-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1100}.viewer-window{min-width:360px;min-height:240px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 20px 60px #00000073;display:flex;flex-direction:column;overflow:hidden}.viewer-window-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--color-border);background:var(--color-bg);cursor:move;-webkit-user-select:none;user-select:none;flex-shrink:0}.viewer-window-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:14px;color:var(--color-text)}.viewer-window-close{background:none;border:none;cursor:pointer;font-size:15px;line-height:1;color:var(--color-muted);padding:4px 8px;border-radius:6px}.viewer-window-close:hover{background:var(--color-border);color:var(--color-text)}.viewer-window-body{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;background:var(--color-surface)}.viewer-window-body--doc{background:#fff}.dt-row-clickable{cursor:pointer}.dt-row-clickable:hover{background:var(--color-bg-muted, rgba(127, 127, 127, .08))}.dt-cell-link{color:var(--color-brand);background:none;border:none;padding:0;margin:0;font:inherit;text-align:left;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.dt-row-clickable:hover .dt-cell-link{text-decoration:underline}.modal-dialog{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:24px;max-width:440px;width:90%;box-shadow:0 8px 32px #0000002e}.modal-title{font-size:17px;font-weight:600;margin:0 0 12px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.btn-danger{background:#dc2626;color:#fff;border:none}.btn-danger:hover{background:#b91c1c}.btn-secondary{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary:hover:not(:disabled){border-color:var(--color-brand);color:var(--color-brand)}.page-actions{display:flex;align-items:center;gap:12px}.toggle-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-label input{accent-color:var(--color-brand);cursor:pointer}.loading-text{font-size:13px;color:var(--color-muted);padding:20px 0}.users-table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius)}.users-table{width:100%;border-collapse:collapse;font-size:13px}.users-table th{background:var(--color-surface);padding:9px 14px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--color-muted);border-bottom:2px solid var(--color-border);white-space:nowrap}.users-table th.col-center{text-align:center}.users-table td{padding:10px 14px;border-bottom:1px solid var(--color-border);vertical-align:middle}.users-table tbody tr:last-child td{border-bottom:none}.users-table tbody tr:hover{background:#7b8c420f}.users-table tbody tr.row-inactive{opacity:.5}.user-cell{display:flex;flex-direction:column;gap:2px;min-width:0}.user-name{font-size:13px;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.user-email{font-size:11px;color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.badge-provider{font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;letter-spacing:.4px;text-transform:uppercase;background:var(--color-border);color:var(--color-muted);white-space:nowrap}.role-select{background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;padding:5px 8px;color:var(--color-text);font-size:12px;font-family:var(--font);cursor:pointer;min-width:130px;max-width:160px}.role-select:focus{border-color:var(--color-brand);outline:none}.role-select:disabled{opacity:.5;cursor:default}.role-tags-cell{min-width:160px}.role-tags{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.role-tag{display:inline-flex;align-items:center;gap:3px;background:#545e421f;color:var(--color-brand);border-radius:4px;padding:2px 6px;font-size:11px;font-weight:500;white-space:nowrap}.role-tag-remove{background:none;border:none;cursor:pointer;color:var(--color-muted);font-size:13px;line-height:1;padding:0 1px}.role-tag-remove:hover{color:var(--color-danger, #c0392b)}.role-add-btn{background:none;border:1px dashed var(--color-border);border-radius:4px;color:var(--color-muted);cursor:pointer;font-size:14px;line-height:1;padding:1px 6px}.role-add-btn:hover{color:var(--color-brand);border-color:var(--color-brand)}.role-add-select{background:var(--color-bg);border:1px solid var(--color-brand);border-radius:6px;padding:3px 6px;color:var(--color-text);font-size:12px;font-family:var(--font);cursor:pointer;max-width:160px}.cell-date{font-size:12px;color:var(--color-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.col-date{min-width:180px}.col-center,.cell-center{text-align:center}.toggle-switch{position:relative;display:inline-block;width:34px;height:20px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-border);border-radius:20px;cursor:pointer;transition:background .2s}.toggle-slider:before{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0000004d}.toggle-switch input:checked+.toggle-slider{background:var(--color-brand)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(14px)}.toggle-switch input:disabled+.toggle-slider{opacity:.45;cursor:default}.table-empty{text-align:center;padding:40px!important;color:var(--color-muted);font-size:14px}.admin-tab-bar{display:flex;gap:2px;border-bottom:2px solid var(--color-border);margin-bottom:20px}.admin-tab{padding:9px 18px;background:none;border:none;font-size:13px;font-weight:500;color:var(--color-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;border-radius:4px 4px 0 0;transition:color .15s,border-color .15s;font-family:var(--font)}.admin-tab:hover{color:var(--color-text)}.admin-tab--active{color:var(--color-brand);border-bottom-color:var(--color-brand);font-weight:600}.roles-tab{display:flex;flex-direction:column;gap:16px}.roles-tab-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.roles-tab-hint{font-size:13px;color:var(--color-muted);max-width:600px;margin:0}.roles-new-form{padding:16px 20px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.roles-form-title{font-size:14px;font-weight:600;margin:0 0 12px}.roles-form-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:10px}.roles-form-label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:.3px;flex:1;min-width:180px}.roles-form-input{background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;padding:7px 10px;font-size:13px;font-family:var(--font);color:var(--color-text);font-weight:400}.roles-form-input:focus{border-color:var(--color-brand);outline:none}.roles-form-input:disabled{opacity:.5}.roles-form-check{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none}.roles-form-check input{accent-color:var(--color-brand);cursor:pointer}.roles-form-check-sm{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none}.roles-form-check-sm input{accent-color:var(--color-brand);cursor:pointer}.roles-form-error{font-size:12px;color:var(--color-danger, #c0392b);margin:6px 0 0}.roles-form-error-inline{font-size:11px;color:var(--color-danger, #c0392b)}.roles-form-actions{display:flex;gap:8px;margin-top:14px}.roles-list{display:flex;flex-direction:column;gap:8px}.role-card{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);overflow:hidden;transition:border-color .15s}.role-card--expanded{border-color:var(--color-brand)}.role-card-header{display:flex;align-items:center;gap:12px;padding:12px 16px;flex-wrap:wrap}.role-card-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.role-name{font-size:14px;font-weight:600;color:var(--color-text)}.role-desc{font-size:12px;color:var(--color-muted)}.role-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.badge-system{background:rgba(var(--color-brand-rgb, 123, 140, 66),.15);color:var(--color-brand);font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;letter-spacing:.4px;text-transform:uppercase}.badge-template{background:#4278b41f;color:#3a6fa8;font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;letter-spacing:.4px;text-transform:uppercase}.role-card-stats{display:flex;gap:14px;flex-shrink:0}.role-stat{font-size:12px;color:var(--color-muted);white-space:nowrap}.role-card-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}.roles-inline-edit{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.roles-inline-name{max-width:200px}.roles-inline-desc{max-width:260px}.role-perms-section{border-top:1px solid var(--color-border);padding:16px 20px 20px;background:#00000004}.uat-top-banner{position:fixed;top:0;left:0;right:0;height:26px;line-height:26px;background:#f59e0b;color:#fff;font-size:11px;font-weight:700;text-align:center;letter-spacing:.08em;z-index:10001;pointer-events:none;-webkit-user-select:none;user-select:none}.uat-watermark-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10000;-webkit-user-select:none;user-select:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280'%3E%3Ctext x='50%25' y='50%25' font-family='Arial%2C sans-serif' font-size='36' font-weight='bold' fill='rgba(245%2C158%2C11%2C0.13)' text-anchor='middle' dominant-baseline='middle' transform='rotate(-45 140 140)'%3EUAT%3C%2Ftext%3E%3C%2Fsvg%3E");background-repeat:repeat;background-size:280px 280px}body:has(.uat-top-banner) .app-shell{padding-top:26px}body:has(.uat-top-banner) .nav{top:26px}body:has(.uat-top-banner) .app-sidebar-wrap,body:has(.uat-top-banner) .app-left-sidebar-wrap,body:has(.uat-top-banner) .app-left-sidebar--tab{top:82px}.app-sidebar-wrap:has(.app-sidebar--tab){justify-content:flex-start}.role-perms-matrix{display:flex;flex-direction:column;gap:12px}.perms-category{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.perms-category-header{padding:6px 14px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-muted);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.perms-row{display:flex;align-items:center;gap:12px;padding:7px 14px;border-bottom:1px solid var(--color-border)}.perms-row:last-child{border-bottom:none}.perms-label{flex:1;font-size:13px;color:var(--color-text);min-width:0}.perms-levels{display:flex;gap:6px;flex-shrink:0}.perms-level-label{display:flex;align-items:center;gap:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.perms-level-label input[type=radio]{accent-color:var(--color-brand);cursor:pointer}.perms-level-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;letter-spacing:.2px;border:1px solid transparent;cursor:pointer;transition:background .15s,opacity .15s,filter .15s;background:var(--color-border);color:var(--color-muted);border-color:transparent;opacity:.5;filter:grayscale(.4)}.perms-level-label input:checked+.perms-level-badge{opacity:1;filter:none}.perms-level-label input:checked+.perms-level-badge--none{background:var(--color-border);color:var(--color-muted)}.perms-level-label input:checked+.perms-level-badge--read{background:var(--color-blue-dim);color:var(--color-blue);border-color:var(--color-blue)}.perms-level-label input:checked+.perms-level-badge--write{background:var(--color-yellow-dim);color:var(--color-yellow);border-color:var(--color-yellow)}.perms-level-label input:checked+.perms-level-badge--full{background:var(--color-brand-dim);color:var(--color-brand);border-color:var(--color-brand)}.perms-level-label:hover input:not(:checked)+.perms-level-badge{opacity:.8;filter:grayscale(.1)}.role-perms-footer{display:flex;justify-content:flex-end;margin-top:14px}.btn-sm{padding:5px 10px;font-size:12px}.btn-danger{background:#c0392b1a;color:#c0392b;border:1px solid rgba(192,57,43,.2)}.btn-danger:hover:not(:disabled){background:#c0392b2e;border-color:#c0392b59}.btn-default{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-default:hover:not(:disabled){background:var(--color-border)}.muted{color:var(--color-muted);font-size:13px}.procore-number-input{width:100%;background:transparent;border:1px solid transparent;border-radius:5px;padding:3px 6px;font-size:13px;color:var(--color-muted);font-family:var(--font);transition:border-color .15s,background .15s,color .15s}.procore-number-input:hover,.procore-number-input:focus{border-color:var(--color-border);background:var(--color-bg);color:var(--color-text);outline:none}.procore-number-input.is-saving{opacity:.5;pointer-events:none}.procore-count-link{all:unset;cursor:pointer;font-weight:600;color:var(--color-brand);min-width:24px;text-align:right;text-decoration:underline;text-underline-offset:2px}.procore-count-link:hover{color:var(--color-brand-hover, #5a6e28)}.procore-errors-section{margin-top:12px;border-top:1px solid var(--color-border);padding-top:10px}.procore-errors-title{font-size:12px;font-weight:600;color:var(--color-warning, #856404);display:block;margin-bottom:6px}.procore-errors-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.procore-error-item{display:flex;gap:6px;font-size:12px;color:var(--color-text)}.procore-error-category{font-weight:600;color:var(--color-muted);flex-shrink:0}.procore-error-message{color:var(--color-warning, #856404)}.procore-warnings-section{border-color:var(--color-border)}.procore-warnings-section .procore-errors-title,.procore-warning-item .procore-error-message{color:var(--color-muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:900}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:901;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:90%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000038}.modal.modal-wide{max-width:760px}.modal>.modal-header{padding:16px 24px 14px;margin-bottom:0;border-bottom:1px solid var(--color-border)}.modal>.modal-header .modal-title{margin:0;font-size:16px;font-weight:600}.modal-body{padding:20px 24px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:14px}.modal-footer{padding:12px 24px 16px;border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:8px}.detail-list{margin:0;display:flex;flex-direction:column;gap:6px}.detail-row{display:flex;gap:12px;align-items:baseline;font-size:13px}.detail-row dt{width:110px;flex-shrink:0;color:var(--color-text-muted);font-weight:500}.detail-row dd{margin:0}.modal-dialog--wide{max-width:780px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px;flex-shrink:0}.modal-subtitle{margin:2px 0 0;font-size:12px}.modal-close{all:unset;cursor:pointer;font-size:18px;color:var(--color-muted);line-height:1;padding:2px 6px;border-radius:4px;flex-shrink:0}.modal-close:hover{color:var(--color-text);background:var(--color-border)}.modal-loading{padding:24px 0;color:var(--color-muted);display:flex;align-items:center;gap:8px;font-size:13px}.pdf-template-option{display:flex;align-items:center;padding:7px 10px;border-radius:5px;font-size:.82rem;cursor:pointer;color:var(--color-text);border:1px solid transparent;transition:background .1s,border-color .1s}.pdf-template-option:hover{background:var(--color-border)}.pdf-template-option--selected,.pdf-template-option:has(input:checked){background:color-mix(in srgb,var(--color-brand) 12%,transparent);border-color:color-mix(in srgb,var(--color-brand) 30%,transparent);color:var(--color-text)}.pdf-template-option input[type=radio]{accent-color:var(--color-brand);flex-shrink:0}.procore-detail-items{overflow-y:auto;display:flex;flex-direction:column;gap:12px;flex:1;min-height:0}.procore-detail-item{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;font-size:12px}.procore-detail-item-header{display:flex;gap:10px;align-items:baseline;padding:7px 12px;background:var(--color-surface-alt);border-bottom:1px solid var(--color-border)}.procore-detail-item-id{font-weight:700;color:var(--color-muted);font-size:11px}.procore-detail-item-name{font-weight:600;color:var(--color-text)}.procore-detail-item-json{margin:0;padding:10px 12px;background:var(--color-bg);font-size:11px;font-family:monospace;overflow-x:auto;max-height:200px;white-space:pre-wrap;word-break:break-word}.contacts-table td{vertical-align:middle;padding:6px 10px}.contacts-cell-name{display:flex;align-items:center;gap:6px}.contacts-inline-input{width:100%;border:1px solid transparent;border-radius:4px;background:transparent;padding:4px 6px;font-size:13px;color:var(--color-text);transition:border-color .12s,background .12s;outline:none}.contacts-inline-input:hover{border-color:var(--color-border);background:var(--color-bg)}.contacts-inline-input:focus{border-color:var(--color-brand);background:var(--color-bg)}.contacts-detail-link{flex-shrink:0;font-size:11px;color:var(--color-muted);text-decoration:none;opacity:0;transition:opacity .12s}.contacts-cell-name:hover .contacts-detail-link{opacity:1}.contacts-detail-link:hover{color:var(--color-brand)}.contacts-col-edit{width:48px;text-align:center}.contacts-edit-btn{background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:14px;line-height:1;padding:5px 8px;transition:background .12s,border-color .12s}.contacts-edit-btn:hover{background:var(--color-bg);border-color:var(--color-border)}.row-dirty{background:color-mix(in srgb,var(--color-brand) 5%,transparent)!important}.row-selected{background:color-mix(in srgb,var(--color-brand) 8%,transparent)!important}.row-selected.row-dirty{background:color-mix(in srgb,var(--color-brand) 12%,transparent)!important}.row-highlight{background:color-mix(in srgb,#2e7d32 6%,transparent)!important}.row-muted{opacity:.45}.project-dashboard{display:flex;flex-direction:column;gap:20px}.stat-sublabel{font-size:11px;color:var(--color-muted);margin-top:2px}.stat-amber{color:#f39c12}.dash-section-title{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-brand);margin-bottom:8px}.dash-action-bar{display:flex;flex-wrap:wrap;gap:8px}.dash-action-btn{padding:7px 14px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-muted);font-size:13px;cursor:not-allowed;opacity:.6}.dash-ask-ai{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px dashed var(--color-border);border-radius:8px;background:var(--color-surface)}.dash-ask-ai-label{font-size:13px;font-weight:500;color:var(--color-muted);white-space:nowrap}.dash-ask-ai-input{flex:1;border:none;background:transparent;color:var(--color-muted);font-size:13px;cursor:not-allowed;outline:none}.dash-quick-tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.dash-quick-tile{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;font-size:12px;font-weight:500;color:var(--color-text);text-decoration:none!important;transition:border-color .15s,background .15s;cursor:pointer}.dash-quick-tile:hover:not(.dash-quick-tile--disabled){border-color:var(--color-brand);background:var(--color-brand-dim)}.dash-quick-tile--disabled{opacity:.45;cursor:default}.dash-quick-tile-icon{font-size:22px}button.dash-quick-tile{background:var(--color-surface);border:1px solid var(--color-border);font-family:inherit}.dash-programme-card{padding:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.dash-programme-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dash-programme-dates{display:flex;gap:24px;flex-wrap:wrap}.dash-programme-date-item{display:flex;flex-direction:column;gap:2px}.dash-programme-date-label{font-size:11px;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em}.dash-programme-date-value{font-size:14px;font-weight:600;color:var(--color-text)}.dash-programme-hint{margin:10px 0 0;font-size:12px}.dash-teams-panel{padding:16px;background:color-mix(in srgb,#5c5aef 8%,var(--color-surface));border:1px solid color-mix(in srgb,#5c5aef 25%,transparent);border-radius:8px;color:var(--color-muted);font-size:13px}.dash-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dash-placeholder-card{padding:16px;border:1px dashed var(--color-border);border-radius:8px;color:var(--color-muted);font-size:13px}.dash-placeholder-card p{margin:0}.dash-compliance-strip{display:flex;align-items:center;justify-content:center;padding:8px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;font-size:12px;color:var(--color-muted)}@media(max-width:900px){.dash-quick-tiles{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.dash-quick-tiles{grid-template-columns:repeat(2,1fr)}.dash-two-col{grid-template-columns:1fr}}.input{display:block;width:100%;padding:7px 10px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-size:13px;font-family:var(--font);transition:border-color .15s}.input:focus{border-color:var(--color-brand);outline:none}.input::placeholder{color:var(--color-muted)}.input:disabled{opacity:.5;cursor:not-allowed}.form-sections{display:flex;flex-direction:column;gap:0}.form-section{padding:20px 0;border-bottom:1px solid var(--color-border)}.form-section:last-child{border-bottom:none}.form-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--color-muted);margin:0 0 14px}.form-grid{display:grid;gap:12px}.form-grid-2{grid-template-columns:1fr 1fr}.form-field{display:flex;flex-direction:column;gap:4px}.form-field label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--color-muted)}.form-section-meta{display:flex;gap:32px;flex-wrap:wrap;padding:16px 0;border-bottom:none}.meta-pair{display:flex;flex-direction:column;gap:2px}.meta-pair span:first-child{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-muted);font-weight:600}.meta-pair span:last-child{font-size:13px;color:var(--color-text)}.changelog-value{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}@media(max-width:640px){.form-grid-2{grid-template-columns:1fr}}.cat-multiselect{position:relative;width:100%}.cat-multiselect-trigger{display:flex;align-items:center;gap:8px;min-height:38px;padding:4px 10px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;transition:border-color .15s}.cat-multiselect-trigger:hover,.cat-multiselect--open .cat-multiselect-trigger{border-color:var(--color-brand)}.cat-placeholder{color:var(--color-muted);font-size:13px;flex:1}.cat-chips{display:flex;flex-wrap:wrap;gap:4px;flex:1}.cat-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 6px 2px 8px;background:var(--color-brand-dim);border:1px solid color-mix(in srgb,var(--color-brand) 30%,transparent);color:var(--color-brand);border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap}.cat-chip-remove{background:none;border:none;color:inherit;cursor:pointer;font-size:15px;line-height:1;padding:0 2px;opacity:.65}.cat-chip-remove:hover{opacity:1}.cat-caret{font-size:9px;color:var(--color-muted);flex-shrink:0;margin-left:auto}.cat-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--color-surface);border:1px solid var(--color-brand);border-radius:8px;box-shadow:0 8px 24px var(--color-shadow);z-index:200;max-height:280px;overflow-y:auto;padding:4px;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.cat-option{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:4px;font-size:13px;cursor:pointer;transition:background .1s;-webkit-user-select:none;user-select:none}.cat-option:hover{background:var(--color-border)}.cat-option.is-checked{color:var(--color-brand);font-weight:500}.cat-option input{accent-color:var(--color-brand);cursor:pointer;flex-shrink:0}.cat-create-row{grid-column:1 / -1;display:flex;gap:6px;padding:6px 4px 2px;border-top:1px solid var(--color-border);margin-top:4px}.cat-create-input{flex:1;min-width:0;padding:6px 8px;font-size:13px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text)}.cat-create-btn{flex-shrink:0;padding:6px 10px;font-size:12px;font-weight:600;border:1px solid var(--color-brand);border-radius:4px;background:var(--color-brand);color:#fff;cursor:pointer}.cat-create-btn:disabled{opacity:.5;cursor:default}.onb-page{background:var(--color-surface-alt);color:var(--color-text);padding:28px 40px 8px}[data-theme=light] .onb-page{background:#ebe5db}.onb-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.onb-logo{height:42px;width:auto}.onb-logo-dark{display:block}.onb-logo-light,[data-theme=light] .onb-logo-dark{display:none}[data-theme=light] .onb-logo-light{display:block}.onb-wordmark{display:flex;flex-direction:column;line-height:1;font-family:var(--font-heading, inherit);font-weight:700;font-size:26px;letter-spacing:1px;color:var(--color-brand)}.onb-wordmark small{font-size:9px;font-weight:600;letter-spacing:2px;margin-top:3px}.onb-title{font-family:var(--font-heading, inherit);text-transform:uppercase;letter-spacing:.5px;color:var(--color-brand);font-size:20px;font-weight:700;margin:4px 0 6px;padding-bottom:10px;border-bottom:2px solid var(--color-brand)}.onb-section{font-family:var(--font-heading, inherit);text-transform:uppercase;letter-spacing:.5px;color:var(--color-brand);font-size:14px;font-weight:700;margin:22px 0 12px}.onb-section:first-of-type{margin-top:4px}.onb-row{display:flex;align-items:center;gap:16px;margin-bottom:10px}.onb-row-label{flex:0 0 150px;font-size:13px;color:var(--color-muted);line-height:1.3}.onb-row-field{flex:1;min-width:0}.onb-row-field>input{width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:5px;padding:8px 10px;color:var(--color-text);font-size:13px}[data-theme=light] .onb-row-field>input{background:#fff}.onb-pair{display:flex;align-items:center;gap:12px}.onb-pair>input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:5px;padding:8px 10px;color:var(--color-text);font-size:13px;min-width:0;flex:1}[data-theme=light] .onb-pair>input{background:#fff}.onb-pair-sep{flex:0 0 auto;font-size:13px;color:var(--color-muted)}.onb-radio-row{display:flex;gap:22px;align-items:center;font-size:13px;color:var(--color-text)}.onb-radio-row label{display:flex;align-items:center;gap:6px;cursor:pointer}.onb-signature-box{flex:1;min-width:0;height:48px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--color-muted);font-style:italic}[data-theme=light] .onb-signature-box{background:#fff}.onb-footer{margin-top:26px;padding-top:10px;border-top:1px solid var(--color-brand);font-size:11px;color:var(--color-muted)}.onb-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.onb-upload-btn{cursor:pointer;margin:0}.onb-status{display:inline-block;font-size:12px;font-weight:600;padding:2px 10px;border-radius:20px;margin-bottom:12px;background:var(--color-border);color:var(--color-text)}.bmap-help{font-size:13px;color:var(--color-muted);margin:4px 0 14px}.bmap-section{margin-bottom:22px}.bmap-section-title{font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-brand);border-bottom:1px solid var(--color-border);padding-bottom:4px;margin-bottom:6px}.bmap-count{font-size:11px;color:var(--color-muted);font-weight:400;text-transform:none;letter-spacing:0}.bmap-table{width:100%}.bmap-table .col-desc{max-width:320px}.bmap-select{min-width:200px;padding:4px 6px;font-size:12px}.bmap-table tr.bmap-unmapped{background:#e6a8171f}.bmap-empty{color:var(--color-muted);font-style:italic}.onb-status--validated{background:var(--color-green-dim);color:var(--color-green)}.onb-status--received{background:var(--color-brand-dim);color:var(--color-brand)}.onb-note{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;padding:8px 12px;margin-bottom:12px;font-size:13px;color:var(--color-text)}.sync-status-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;justify-content:flex-end}.sync-status-label{font-size:10px;color:var(--color-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.sync-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:500;border:1px solid transparent}.sync-pill:before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0}.sync-pill--synced{background:var(--color-green-dim);color:var(--color-green);border-color:color-mix(in srgb,var(--color-green) 30%,transparent)}.sync-pill--synced:before{background:var(--color-green)}.sync-pill--error{background:var(--color-red-dim);color:var(--color-red);border-color:color-mix(in srgb,var(--color-red) 30%,transparent)}.sync-pill--error:before{background:var(--color-red)}.sync-pill--pending{background:var(--color-border);color:var(--color-muted)}.sync-pill--pending:before{background:var(--color-muted)}.badge-open{background:var(--color-blue-dim);color:var(--color-blue)}.badge-investigating,.badge-being-fixed{background:var(--color-yellow-dim);color:var(--color-yellow)}.badge-fixed{background:var(--color-brand-dim);color:var(--color-brand)}.badge-info{background:var(--color-yellow-dim);color:var(--color-yellow)}.badge-reopened{background:var(--color-red-dim);color:var(--color-red)}.badge-technical-qa{background:var(--color-blue-dim);color:var(--color-blue)}.badge-resolved{background:var(--color-green-dim);color:var(--color-green)}.badge-dismissed{background:var(--color-border);color:var(--color-muted)}.badge-bug{background:var(--color-red-dim);color:var(--color-red)}.badge-feature{background:var(--color-blue-dim);color:var(--color-blue)}.badge-improvement{background:var(--color-brand-dim);color:var(--color-brand)}.badge-question{background:var(--color-yellow-dim);color:var(--color-yellow)}.badge-other{background:var(--color-border);color:var(--color-muted)}.estimating-section{padding-top:0}.estimating-settings{display:flex;align-items:center;gap:16px}.estimating-setting-label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--color-text);white-space:nowrap}.estimating-setting-input{width:64px;text-align:center;padding:4px 6px;font-size:13px}.presenting-pill{display:flex;align-items:center}.pres-float-unlock{position:fixed;top:24px;right:24px;z-index:1100}.pres-float-unlock-btn{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-muted);font-size:14px;font-weight:500;cursor:pointer;box-shadow:0 4px 16px #00000040;transition:background .12s,color .12s}.pres-float-unlock-btn:hover{background:var(--color-surface-alt);color:var(--color-text)}.pres-logo-header{display:flex;align-items:center;justify-content:center;gap:24px;padding:28px 0 20px}.pres-logo{height:52px;width:auto;object-fit:contain}.pres-logo-amp{font-size:36px;font-weight:300;color:var(--color-muted);line-height:1}.logo-upload-panel{display:flex;flex-direction:column;gap:12px}.logo-upload-preview{display:flex;align-items:center;gap:12px}.logo-upload-img{height:56px;width:auto;max-width:200px;object-fit:contain;border:1px solid var(--color-border);border-radius:4px;padding:6px;background:#fff}.logo-upload-placeholder{height:56px;display:flex;align-items:center;color:var(--color-muted);font-size:13px}.logo-upload-actions{display:flex;flex-direction:column;gap:8px}.logo-upload-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.logo-upload-or{font-size:12px;color:var(--color-muted);white-space:nowrap}.logo-upload-hint{font-size:12px;color:var(--color-muted);margin:0}.logo-upload-hint a{color:var(--color-brand);text-decoration:none}.logo-upload-hint a:hover{text-decoration:underline}.logo-scrape-todo{font-size:11px;color:var(--color-muted);opacity:.7}.estimating-table .col-item{width:60px;text-align:center}.estimating-table .col-money{width:130px;text-align:right}.estimating-table .col-check{width:80px;text-align:right;color:var(--color-muted);font-size:12px}.estimating-table .col-override{width:90px;text-align:center}.estimating-table .est-total{font-weight:500}.estimating-table .est-row-empty td{color:var(--color-muted)}.estimating-table .est-div0{color:#c0392b;font-size:11px}.estimating-override-input{width:64px;text-align:center;padding:2px 4px;font-size:12px}.est-note{font-size:11px;color:var(--color-muted);margin-left:6px;font-weight:400}.est-rounded-row td,.est-gst-row td{background:var(--color-surface-alt)}.modal-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:28px;width:90%;box-shadow:0 8px 32px #0003}.badge-priority-critical{background:var(--color-red-dim);color:var(--color-red);font-weight:600}.badge-priority-high,.badge-priority-medium{background:var(--color-yellow-dim);color:var(--color-yellow)}.badge-priority-low{background:var(--color-border);color:var(--color-muted)}.feedback-thread{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto;padding-right:4px}.feedback-thread-item{padding:10px 14px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg);font-size:13px}.feedback-thread-status_change{background:var(--color-surface);opacity:.85}.feedback-thread-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px;font-size:12px}.feedback-thread-type{color:var(--color-text-muted);font-size:11px}.feedback-thread-msg{margin:0;white-space:pre-wrap;line-height:1.5}.feedback-thread-attachments{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.feedback-attachment-chip{font-size:11px;padding:2px 8px;background:var(--color-blue-dim);color:var(--color-blue);border-radius:20px}.feedback-action-form{padding:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.feedback-review-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-bottom:28px}.feedback-review-card{padding:14px 16px;border-radius:8px;border:2px solid var(--color-border);background:var(--color-surface);cursor:pointer;transition:border-color .15s}.feedback-review-card:hover{border-color:var(--color-brand)}.feedback-review-card--fixed{border-color:color-mix(in srgb,var(--color-brand) 50%,transparent)}.feedback-review-card--info{border-color:color-mix(in srgb,#f59e0b 50%,transparent)}.feedback-review-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.feedback-review-card-title{font-weight:600;font-size:14px;margin:0 0 4px}.input-with-action{display:flex;gap:6px;align-items:stretch}.input-with-action select,.input-with-action input{flex:1;min-width:0}.input-addon-btn{flex-shrink:0;padding:0 10px;font-size:16px;line-height:1}.col-divider{border-left:2px solid var(--color-border)!important;padding-left:10px!important}.input-account{min-width:140px}.attach-file-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.attach-file-label{font-size:13px;color:var(--color-muted);white-space:nowrap}.attach-file-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.attach-upload-status{font-size:12px;color:var(--color-muted)}.attach-upload-ok{color:var(--color-brand)}.attach-file-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:6px;font-size:13px}.attach-file-name{color:var(--color-text);text-decoration:none;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a.attach-file-name:hover{color:var(--color-brand);text-decoration:underline}.attach-file-remove{background:none;border:none;cursor:pointer;color:var(--color-muted);font-size:16px;line-height:1;padding:0 2px}.attach-file-remove:hover{color:var(--color-red)}.attach-view-pdf-btn{background:none;border:none;cursor:pointer;font-size:12px;color:var(--color-brand);padding:0 2px;text-decoration:underline}.attach-view-pdf-btn:hover{opacity:.75}.page-form-with-pdf{max-width:none!important;display:flex;flex-direction:row;height:calc(100vh - 56px);overflow:hidden;padding:0!important;gap:0}.cost-pdf-panel{flex:0 0 45%;display:flex;flex-direction:column;border-right:1px solid var(--color-border);height:100%;overflow:hidden}.cost-pdf-panel-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-bottom:1px solid var(--color-border);font-size:12px;font-weight:600;color:var(--color-muted);flex-shrink:0;background:var(--color-surface)}.cost-pdf-panel-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:8px}.cost-pdf-panel-external{font-size:13px;color:var(--color-brand);text-decoration:none;margin-right:8px;flex-shrink:0}.cost-pdf-panel-external:hover{opacity:.75}.cost-pdf-panel-no-blob{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;color:var(--color-muted);font-size:13px}.cost-pdf-panel-frame{flex:1;border:none;width:100%;height:100%}.cost-form-content{flex:1;overflow-y:auto;padding:20px 24px 40px;min-width:0}.page-form .cost-form-content{max-width:none}.feedback-review-card-notes{font-size:13px;color:var(--color-text-muted);margin:0}.badge-danger{background:var(--color-red-dim);color:var(--color-red)}body:has(.accounts-queue-page) .app-shell{height:100vh;overflow:hidden}body:has(.accounts-queue-page) .app-body{overflow:hidden;align-items:stretch;min-height:0}body:has(.accounts-queue-page) .app-content{overflow:hidden;min-height:0}.accounts-queue-page{padding:0;height:100%;overflow:hidden;max-width:none;width:100%}.accounts-queue-layout{display:flex;height:100%;overflow:hidden}.accounts-queue-list{width:300px;flex-shrink:0;border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden}.accounts-queue-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--color-border);flex-shrink:0}.accounts-queue-header .page-title{margin:0;font-size:18px}.accounts-queue-search{padding:10px 16px;border-bottom:1px solid var(--color-border);flex-shrink:0}.accounts-queue-search-note{padding:8px 16px;font-size:12px;color:var(--color-yellow, #b08900);background:var(--color-yellow-dim, #fff8e1);border-bottom:1px solid var(--color-border)}.accounts-cost-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.accounts-cost-item{padding:12px 16px;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background .1s}.accounts-cost-item:hover{background:var(--color-surface-hover, #f7f5f1)}.accounts-cost-item.selected{background:var(--color-brand-dim)}.accounts-cost-item.urgent{border-left:3px solid var(--color-red)}.accounts-cost-item-top{display:flex;align-items:center;gap:8px;margin-bottom:4px}.accounts-cost-contact{font-weight:600;font-size:13px;flex:1}.accounts-cost-amount{font-weight:700;font-size:13px;font-family:monospace}.accounts-cost-item-bottom{display:flex;justify-content:space-between;font-size:11px;color:var(--color-muted)}.accounts-cost-inv{font-size:11px;color:var(--color-muted);margin-top:2px}.accounts-queue-review{flex:1;overflow:hidden;display:flex;flex-direction:column;min-width:0}.accounts-queue-empty{margin:auto}.accounts-review-panel{height:100%;overflow:hidden}.accounts-review-split{display:flex;height:100%;overflow:hidden}.accounts-review-details{flex-shrink:0;padding:20px;overflow-y:auto;min-height:0;border-right:1px solid var(--color-border);display:flex;flex-direction:column;gap:16px}.accounts-review-detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.accounts-review-detail-header h2{margin:0;font-size:16px}.detail-table{width:100%;border-collapse:collapse;font-size:13px}.detail-table th,.detail-table td{padding:5px 0;vertical-align:baseline;line-height:1.4}.detail-table th{text-align:left;font-weight:500;color:var(--color-muted);white-space:nowrap;padding-right:16px;width:1%}.detail-table td{text-align:right}.amounts-table th{font-weight:600;color:var(--color-text)}.amounts-table tr:last-child td{font-weight:700}.budget-codes-table td{padding-left:10px}.budget-codes-table thead tr th,.budget-codes-table thead tr td{padding-bottom:4px;border-bottom:1px solid var(--color-border)}.accounts-review-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);margin-bottom:6px}.accounts-review-notes{font-size:13px;color:var(--color-muted);background:var(--color-surface);border-radius:var(--radius);padding:10px 12px}.accounts-review-actions{display:flex;gap:10px;padding-top:8px;flex-wrap:wrap}.accounts-xero-success{margin-top:10px;padding:8px 12px;background:#f0faf4;border:1px solid #68d391;border-radius:var(--radius);font-size:.85rem;color:#276749}.accounts-xero-success code{font-family:var(--font-mono, monospace);font-size:.82rem}.accounts-review-pdf{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:#e0ddd9}.accounts-review-pdf-label{display:none}.accounts-review-pdf-frame{flex:1;border:none;width:100%;min-height:0;display:block}.accounts-review-pdf-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-muted);font-size:13px}.col-resizer{width:5px;flex-shrink:0;cursor:col-resize;background:transparent;transition:background .15s;position:relative;z-index:1}.col-resizer:hover,.col-resizer:active{background:var(--color-accent);opacity:.4}.return-draft-dialog{width:480px;max-width:96vw;padding:28px 28px 20px;display:flex;flex-direction:column;gap:12px}.return-draft-dialog .modal-dialog-title{margin:0;font-size:16px;font-weight:700}.return-draft-dialog .modal-dialog-sub{margin:0;font-size:13px;color:var(--color-muted)}.return-draft-dialog .form-label{font-size:13px;font-weight:600;margin:0}.return-draft-dialog .form-control{font-size:13px;resize:vertical}.return-draft-dialog .modal-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.return-reason-banner{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;padding:10px 14px;font-size:13px;color:#856404;margin-bottom:12px}.return-reason-banner strong{display:block;margin-bottom:4px}.form-urgent-row{padding:12px 0 4px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;margin:0}.urgent-label{color:var(--color-red);font-weight:600}.quick-access-list{display:flex;flex-direction:column;gap:4px}.quick-access-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--radius);font-size:13px;color:var(--color-text);text-decoration:none;transition:background .12s}.quick-access-item:hover{background:var(--color-brand-dim);color:var(--color-brand);text-decoration:none}.quick-access-icon{font-size:14px;width:18px;text-align:center;flex-shrink:0}.tp-detail-layout{display:flex;gap:2rem;align-items:flex-start}.tp-detail-main{flex:1;min-width:0}.tp-fields-row{display:flex;gap:16px;align-items:flex-start;margin-bottom:0}.tp-fields-col{flex:1 1 0;min-width:0;max-width:520px;margin-bottom:16px!important}.tp-detail-sidebar{flex:0 0 300px;width:300px;position:sticky;top:1rem}.tp-detail-sidebar .tp-section{max-width:none}.tp-detail-sidebar .tp-summary-table{width:100%}.tp-source-panel{margin-top:1.5rem;border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.tp-source-panel-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-bottom:1px solid var(--color-border);background:var(--color-surface-raised, rgba(255,255,255,.03))}.tp-source-modal-title{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.tp-source-panel-iframe{width:100%;height:78vh;border:none;display:block}.tp-section{max-width:860px}.tp-section--wide{max-width:none}.tp-procore-status{font-size:11px;color:var(--color-muted)}.tp-published-badge{font-size:11px;color:var(--color-success, #4caf50);font-weight:600}.tp-summary-table{width:360px;border-collapse:collapse;font-size:13px}.tp-summary-table td{padding:5px 0}.tp-summary-table td:last-child{text-align:right;padding-left:24px;font-variant-numeric:tabular-nums;min-width:120px}.tp-summary-table tr+tr td{border-top:1px solid var(--color-border)}.tp-summary-subtotal td{font-weight:600}.tp-summary-muted td{color:var(--color-muted);font-size:12px}.tp-html-content{font-size:13px;line-height:1.6;color:var(--color-text);max-width:720px}.tp-html-content p{margin:0 0 8px}.tp-html-content ul,.tp-html-content ol{margin:0 0 8px;padding-left:20px}.tp-html-content li{margin-bottom:3px}.tp-html-content strong,.tp-html-content b{font-weight:600}.tp-plain-text{font-size:13px;line-height:1.6;white-space:pre-wrap;max-width:720px;margin:0}.tp-sov-wrap{container-type:inline-size}.tp-sov-rem-badge{display:none}.tp-sov-budgetline-display{display:flex;align-items:flex-start;gap:6px;width:100%}.tp-sov-source-tag{color:var(--color-brand, #2563eb);font-weight:600;font-size:12px;white-space:nowrap}.tp-sov-budgetline-display-text{flex:1;white-space:normal;word-break:break-word;overflow-wrap:break-word;font-size:13px;line-height:1.4}.tp-sov-budgetline-pencil{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--color-muted);padding:0 2px;font-size:13px;line-height:1.4}.tp-sov-budgetline-pencil:hover{color:var(--color-text, #fff)}.tp-sov-edit-table{table-layout:fixed;width:100%}.tp-sov-edit-money,.tp-sov-edit-money input{text-align:right}.tp-sov-edit-table td.tp-sov-edit-budgetline select{width:100%;min-width:0;box-sizing:border-box}.tp-sov-edit-table td.tp-sov-edit-description textarea{width:100%;min-width:0;box-sizing:border-box;resize:none;overflow:hidden}.tp-sov-edit-table td.tp-sov-edit-qty input{width:100%;min-width:0;box-sizing:border-box}.tp-sov-edit-table td.tp-sov-edit-money input{width:100%;min-width:0;box-sizing:border-box;padding-right:4px}.tp-sov-edit-table td:nth-child(6) select{width:100%;min-width:0;box-sizing:border-box}.tp-sov-col-remaining{border-left:3px solid var(--color-muted)!important;border-right:2px solid var(--color-muted)!important;padding-left:10px!important;padding-right:8px!important}.tp-sov-edit-table th.tp-sov-col-remaining{white-space:nowrap;background:color-mix(in srgb,var(--color-surface-alt, #222620) 80%,transparent)}.tp-sov-edit-table td.tp-sov-col-remaining{background:color-mix(in srgb,var(--color-brand-dim, #2a3015) 30%,var(--color-surface-alt, #222620));font-variant-numeric:tabular-nums;font-size:11px;white-space:nowrap;overflow:hidden}@container (max-width: 960px){.tp-sov-edit-table,.tp-sov-edit-table thead,.tp-sov-edit-table tbody,.tp-sov-edit-table tfoot{display:block}.tp-sov-edit-table thead tr{display:none}.tp-sov-edit-table tbody tr{display:block;border:1px solid var(--color-border);border-radius:6px;padding:8px 10px;margin-bottom:8px}.tp-sov-edit-table tbody tr td{border-bottom:none}.tp-sov-edit-table tbody td{display:flex;align-items:center;gap:8px;padding:3px 0;width:100%;box-sizing:border-box;text-align:left}.tp-sov-edit-table tbody td:before{content:attr(data-label);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-muted);min-width:120px;flex-shrink:0}.tp-sov-edit-table tbody td:last-child:before{content:none}.tp-sov-edit-table tbody td:last-child{justify-content:flex-end;padding-top:4px}.tp-sov-edit-table tbody td input,.tp-sov-edit-table tbody td select,.tp-sov-edit-table tbody td textarea{flex:1;width:auto;min-width:0}.tp-sov-edit-table td.tp-sov-edit-money input{width:auto;text-align:right}.tp-sov-edit-table tbody td.tp-sov-edit-budgetline,.tp-sov-edit-table tbody td.tp-sov-edit-description{flex-direction:column;align-items:flex-start;gap:2px}.tp-sov-edit-table tbody td.tp-sov-edit-budgetline:before,.tp-sov-edit-table tbody td.tp-sov-edit-description:before{min-width:unset}.tp-sov-edit-table tbody td.tp-sov-edit-budgetline select{width:100%;flex:none}.tp-sov-edit-table tbody td.tp-sov-edit-budgetline select[size]{max-height:220px;overflow-y:auto;border-radius:4px}.tp-sov-edit-table tbody td.tp-sov-edit-description textarea{width:100%;flex:none;height:auto;min-height:40px;overflow:visible;white-space:pre-wrap;overflow-wrap:break-word;resize:none}.tp-sov-edit-table tbody td.tp-sov-col-remaining{display:flex;border-left:none!important;border-right:none!important;padding-left:0!important;padding-right:0!important;background:none!important;overflow:visible;white-space:normal;font-size:inherit;justify-content:flex-start}.tp-sov-edit-table tbody td.tp-sov-col-remaining:before{content:none}.tp-sov-rem-wide{display:none}.tp-sov-rem-badge{position:relative;display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border:1px solid var(--color-border);border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:default;-webkit-user-select:none;user-select:none}.tp-sov-rem-tip{display:none;position:absolute;bottom:calc(100% + 6px);left:0;background:var(--color-surface-secondary, #1e2219);border:1px solid var(--color-border);border-radius:4px;padding:5px 10px;white-space:nowrap;font-size:12px;font-variant-numeric:tabular-nums;font-weight:400;text-transform:none;letter-spacing:0;color:inherit;z-index:100;box-shadow:0 2px 10px #0006;pointer-events:none}.tp-sov-rem-badge:hover .tp-sov-rem-tip{display:block}.tp-sov-edit-table tfoot tr.tp-sov-tfoot-row{display:flex;align-items:center;justify-content:flex-end;gap:8px;border-top:2px solid var(--color-border);padding:8px 0 4px}.tp-sov-edit-table tfoot tr.tp-sov-tfoot-row td{display:none;padding:0;border:none;width:auto}.tp-sov-edit-table tfoot tr.tp-sov-tfoot-row td.tp-sov-tfoot-label{display:block;font-weight:600;font-size:12px;text-align:right}.tp-sov-edit-table tfoot tr.tp-sov-tfoot-row td.tp-sov-tfoot-total{display:block;text-align:right}}.jc-li-wrap{container-type:inline-size}.jc-li-table{table-layout:fixed}.jc-li-table tbody tr{background:var(--color-surface-alt, #222620)}.jc-li-table td input,.jc-li-table td select{width:100%;min-width:0;box-sizing:border-box}.jc-li-notes-area{width:100%;min-width:0;box-sizing:border-box;resize:none;overflow:hidden;font-size:12px;font-family:inherit;padding:5px 6px;margin-top:0;white-space:pre-wrap;word-break:break-word;min-height:28px;line-height:1.4}.jc-li-tfoot-row td{padding:5px 4px;font-variant-numeric:tabular-nums}.jc-li-tfoot-row .jc-li-tfoot-label{text-align:right;font-weight:600;font-size:12px;color:var(--color-muted)}.jc-li-tfoot-row .jc-li-tfoot-total{text-align:right;font-weight:700;font-size:13px;border-top:2px solid var(--color-border)}@container (max-width: 960px){.jc-li-table,.jc-li-table thead,.jc-li-table tbody,.jc-li-table tfoot{display:block}.jc-li-table thead tr{display:none}.jc-li-table tbody tr{display:block;border:1px solid var(--color-border);border-radius:6px;padding:8px 10px;margin-bottom:8px}.jc-li-table tbody td{display:flex;align-items:center;gap:8px;padding:4px 0;border:none;width:100%!important}.jc-li-table tbody td:before{content:attr(data-label);min-width:120px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--color-muted);flex-shrink:0}.jc-li-table tbody td.jc-li-desc,.jc-li-table tbody td.jc-li-budget,.jc-li-table tbody td.jc-li-notes{flex-direction:column;align-items:flex-start}.jc-li-table tbody td.jc-li-desc:before,.jc-li-table tbody td.jc-li-budget:before,.jc-li-table tbody td.jc-li-notes:before{margin-bottom:2px}.jc-li-table tbody td.jc-li-desc input,.jc-li-table tbody td.jc-li-budget input,.jc-li-table tbody td.jc-li-notes input{width:100%}.jc-li-table tbody td input,.jc-li-table tbody td select{flex:1;min-width:0;max-width:none}.jc-li-table tbody td:has(.sov-contracted-hint){flex-direction:column;align-items:flex-start}.jc-li-table tbody td:has(.sov-contracted-hint) input{width:100%}.jc-li-table tbody td:first-child{justify-content:flex-end;font-size:11px;color:var(--color-muted);padding-bottom:0}.jc-li-table tbody td:first-child:before{content:none}.jc-li-table tbody td:last-child:before{content:none}.jc-li-table tbody td:last-child{justify-content:flex-end;padding-top:4px}.jc-li-table tbody td.jc-li-notes .jc-li-notes-area{width:100%}.jc-li-tfoot-row{display:flex;align-items:center;justify-content:flex-end;gap:8px;border-top:2px solid var(--color-border);padding:8px 0 4px}.jc-li-tfoot-row td{display:none;padding:0;border:none;width:auto}.jc-li-tfoot-row td.jc-li-tfoot-label{display:block;font-weight:600;font-size:12px;text-align:right}.jc-li-tfoot-row td.jc-li-tfoot-total{display:block;text-align:right;border-top:none}}.tp-claim-info{display:flex;flex-wrap:wrap;gap:6px 16px;padding:8px 12px;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:5px;font-size:12px;color:var(--color-text);margin-bottom:8px}.tp-claim-info strong{font-weight:600;margin-right:3px}.tp-claim-info-sep{color:var(--color-border);-webkit-user-select:none;user-select:none;align-self:center}.sov-contracted-hint{display:block;font-size:11px;color:var(--color-muted);margin-top:2px;font-variant-numeric:tabular-nums;white-space:nowrap}.tp-sov-table{width:100%;border-collapse:collapse;font-size:13px}.tp-sov-table th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--color-muted);padding:0 10px 8px 0;border-bottom:1px solid var(--color-border)}.tp-sov-table th.col-money{text-align:right}.tp-sov-table td{padding:7px 10px 7px 0;border-bottom:1px solid var(--color-border);vertical-align:top}.tp-sov-table th:nth-child(5),.tp-sov-table td:nth-child(5){padding-left:20px}.tp-sov-table td.col-money{text-align:right;font-variant-numeric:tabular-nums;padding-right:0}.tp-sov-total td{font-weight:600;padding-top:10px;border-bottom:none;border-top:2px solid var(--color-border)}.fte-container{border:1px solid var(--color-border);border-radius:6px;overflow:hidden;max-width:780px}.fte-row{display:flex;align-items:center;gap:8px;padding:0 10px 0 0;min-height:38px;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.fte-row:last-child{border-bottom:none}.fte-row:hover{background:var(--color-hover)}.fte-row:hover .fte-actions,.fte-row:focus-within .fte-actions{opacity:1}.fte-toggle{flex-shrink:0;width:28px;height:38px;border:none;background:none;cursor:pointer;font-size:11px;color:var(--color-muted);display:flex;align-items:center;justify-content:center}.fte-toggle:hover{color:var(--color-text)}.fte-icon{font-size:15px;flex-shrink:0;line-height:1}.fte-icon-leaf{filter:grayscale(1) opacity(.45)}.fte-name{flex:1;font-size:13px;padding:2px 4px;border-radius:3px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.fte-name:hover{background:#545e4214}.fte-input{flex:1;min-width:0;font-size:13px;font-family:inherit;padding:3px 7px;border:1.5px solid var(--color-brand);border-radius:4px;background:var(--color-bg);color:var(--color-text);outline:none}.fte-actions{display:flex;gap:4px;opacity:0;transition:opacity .12s;flex-shrink:0}.fte-btn{background:none;border:1px solid var(--color-border);border-radius:4px;padding:2px 8px;font-size:11px;font-family:inherit;cursor:pointer;color:var(--color-text);white-space:nowrap;line-height:1.6}.fte-btn:hover{background:var(--color-surface-alt)}.fte-btn:disabled{opacity:.25;cursor:not-allowed}.fte-add{color:var(--color-brand);border-color:var(--color-brand-dim)}.fte-add:hover{background:var(--color-brand-dim)!important}.fte-del{color:var(--color-danger, #c0392b);border-color:transparent}.fte-del:hover{background:#fdecea!important;border-color:#fdecea!important}.fte-children{border-bottom:1px solid var(--color-border);background:var(--color-surface-alt)}.fte-children:last-child{border-bottom:none}.fte-add-inline{display:block;width:100%;text-align:left;background:none;border:none;border-top:1px dashed var(--color-border);padding:7px 10px;font-size:12px;font-family:inherit;color:var(--color-muted);cursor:pointer}.fte-add-inline:hover{color:var(--color-brand);background:var(--color-brand-dim)}.fte-add-top{border-top:none;border-bottom:none;padding:10px 12px;background:var(--color-surface)}.page-hint{font-size:12px;color:var(--color-muted);margin:0}.pse-section{padding:24px}.pse-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:4px}.pse-section-title{font-size:15px;font-weight:600;color:var(--color-text);margin:0 0 4px}.pse-section-desc{font-size:13px;color:var(--color-muted);margin:0}.pse-status-list{display:flex;flex-direction:column}.pse-status-row{display:flex;align-items:center;gap:10px;padding:5px 8px;border-radius:6px;transition:background .1s}.pse-status-row:hover{background:var(--color-surface-alt, rgba(0,0,0,.04))}.pse-color-swatch{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;border:2px solid var(--color-border);cursor:pointer;flex-shrink:0;padding:0;background:none}.pse-color-swatch::-webkit-color-swatch-wrapper{padding:0;border-radius:50%}.pse-color-swatch::-webkit-color-swatch{border:none;border-radius:50%}.pse-status-preview{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;white-space:nowrap;flex-shrink:0;width:155px;text-align:center}.pse-status-name{flex:1;font-size:13px;cursor:text;color:var(--color-text)}.pse-status-name-input{flex:1;font-size:13px;border:1px solid var(--color-border);border-radius:4px;padding:2px 6px;background:var(--color-surface);color:var(--color-text);min-width:0}.pse-phase-select{font-size:12px;padding:3px 8px;border-radius:4px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);width:96px;flex-shrink:0}.pse-status-actions{display:flex;gap:4px;opacity:0;transition:opacity .1s}.pse-status-row:hover .pse-status-actions{opacity:1}.pse-phase-divider{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);padding:10px 8px 4px;border-top:1px solid var(--color-border);margin-top:6px}.pse-phase-divider:first-child{border-top:none;margin-top:0;padding-top:4px}.budget-row-required{background:color-mix(in srgb,var(--color-yellow-dim) 40%,transparent)}.budget-row-required:hover td{background:color-mix(in srgb,var(--color-yellow-dim) 60%,transparent)!important}.budget-desc-cell{display:flex;align-items:flex-start;gap:5px}.budget-required-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--color-yellow);flex-shrink:0;margin-top:5px;title:attr(title)}.budget-note-btn{background:none;border:none;padding:2px 3px;cursor:pointer;font-size:.8rem;color:var(--color-muted);border-radius:3px;line-height:1;flex-shrink:0;opacity:.5;transition:opacity .1s,color .1s}.budget-note-btn:hover,.budget-note-btn--has-note{opacity:1;color:var(--color-brand)}.budget-note-editor{padding:4px 6px 6px}.budget-note-textarea{width:100%;box-sizing:border-box;min-height:60px;padding:5px 8px;border:1px solid var(--color-brand);border-radius:4px;font-size:.82rem;background:var(--color-surface);color:var(--color-text);font-family:inherit;resize:vertical}.budget-note-textarea:focus{outline:none}.budget-price-cell{display:flex;align-items:center;gap:4px;justify-content:flex-end}.budget-price-lock-btn{background:none;border:none;padding:1px 3px;cursor:pointer;font-size:.75rem;color:var(--color-muted);border-radius:3px;opacity:.4;transition:opacity .1s,color .1s}.budget-price-lock-btn:hover{opacity:1;color:var(--color-brand)}.budget-price-lock-btn--override{opacity:1;color:var(--color-yellow)}.budget-flag-btn{background:none;border:none;padding:2px 4px;cursor:pointer;font-size:.75rem;color:var(--color-muted);border-radius:3px;opacity:.45;transition:opacity .1s,color .1s}.budget-flag-btn:hover,.budget-flag-btn--active{opacity:1;color:var(--color-yellow)}.wb-var-pos{color:var(--color-green)!important;font-weight:600}.wb-var-neg{color:var(--color-red)!important;font-weight:600}.project-card-dates{font-size:.75rem;color:var(--color-muted);margin-top:3px}.folder-move-banner{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:var(--radius-sm);font-size:13px;margin:8px 0 4px}.folder-move-banner--pending{background:color-mix(in srgb,var(--color-yellow) 15%,transparent);border:1px solid var(--color-yellow);color:var(--color-text)}.folder-move-banner--failed{background:color-mix(in srgb,var(--color-red) 12%,transparent);border:1px solid var(--color-red);color:var(--color-text)}.folder-move-banner-icon{font-size:15px;flex-shrink:0}.folder-move-banner-text{flex:1}.folder-move-banner-detail{font-size:11px;opacity:.7;cursor:help;text-decoration:underline dotted;flex-shrink:0}.quick-cost-page{max-width:none}.quick-cost-project-bar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:12px 16px;margin-bottom:20px;display:flex;align-items:center;gap:12px}.quick-cost-project-selector{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.quick-cost-project-label{font-size:.78rem;font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;flex-shrink:0}.quick-cost-project-chosen{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.quick-cost-project-name{font-weight:600;font-size:.95rem;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-cost-project-change{font-size:.8rem;white-space:nowrap;flex-shrink:0}.quick-cost-project-search-wrap{position:relative;flex:1}.quick-cost-project-search{width:100%;box-sizing:border-box;padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.9rem;background:var(--color-bg);color:var(--color-text);font-family:inherit}.quick-cost-project-search:focus{border-color:var(--color-brand);outline:none}.quick-cost-project-list{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 4px 16px var(--color-shadow);z-index:200;list-style:none;margin:0;padding:4px 0;max-height:280px;overflow-y:auto}.quick-cost-project-option{display:flex;align-items:baseline;gap:8px;padding:7px 12px;cursor:pointer;font-size:.88rem}.quick-cost-project-option:hover{background:var(--color-surface-alt)}.quick-cost-project-num{font-weight:700;color:var(--color-brand);flex-shrink:0;min-width:46px}.quick-cost-project-pname{flex:1;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-cost-project-status{font-size:.75rem;color:var(--color-muted);white-space:nowrap;flex-shrink:0}.quick-cost-project-empty{padding:8px 12px;font-size:.85rem;color:var(--color-muted);font-style:italic}.quick-cost-last-saved{background:#f0faf4;border:1px solid #68d391;border-radius:var(--radius);padding:7px 14px;font-size:.85rem;color:#276749;margin-bottom:14px}.quick-cost-last-link{color:#276749;font-weight:600;text-decoration:underline}.quick-cost-actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:8px;margin-top:4px}.quick-cost-prompt{color:var(--color-muted);font-size:.92rem;padding:32px 0;text-align:center}.quick-cost-form .form-notes{width:100%;box-sizing:border-box;resize:vertical;font-family:inherit;font-size:.88rem;padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text)}.quick-cost-form .form-notes:focus{border-color:var(--color-brand);outline:none}.page.pdf-templates-page{max-width:none;padding:0;display:flex;flex-direction:column;height:100%;overflow:hidden;margin:0;width:100%}.ptl-header{padding:18px 28px 12px;flex-shrink:0;border-bottom:1px solid var(--color-border)}.ptl-tab-bar{display:flex;align-items:flex-end;background:var(--color-surface);border-bottom:2px solid var(--color-border);overflow-x:auto;scrollbar-width:none;flex-shrink:0;padding:0 8px;min-height:56px}.ptl-tab-bar::-webkit-scrollbar{display:none}.ptl-tab-loading{display:flex;align-items:center;padding:0 14px;font-size:13px;color:var(--color-muted)}.ptl-tab-group{display:flex;flex-direction:column;align-self:stretch}.ptl-tab-group+.ptl-tab-group{border-left:1px solid var(--color-border);margin-left:8px;padding-left:8px}.ptl-tab-group-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--color-muted);padding:6px 4px 4px;white-space:nowrap;flex:1}.ptl-tab-group-tabs{display:flex;align-items:stretch}.ptl-tab{display:flex;align-items:center;gap:5px;padding:0 12px;font-size:13px;color:var(--color-muted);border:none;background:none;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .12s;position:relative}.ptl-tab:hover{color:var(--color-text)}.ptl-tab.active{color:var(--color-brand);border-bottom-color:var(--color-brand);font-weight:600}.ptl-tab-default{font-size:8px;font-weight:700;text-transform:uppercase;padding:1px 4px;background:var(--color-brand-dim);color:var(--color-brand);border-radius:3px}.ptl-tab-delete{opacity:0;font-size:14px;color:var(--color-muted);line-height:1;padding:0 2px;margin-left:2px;cursor:pointer;transition:color .1s}.ptl-tab:hover .ptl-tab-delete{opacity:1}.ptl-tab-delete:hover{color:var(--color-red)!important}.ptl-tab-add{display:flex;align-items:center;padding:0 14px 8px;font-size:13px;color:var(--color-muted);border:none;background:none;cursor:pointer;white-space:nowrap;margin-left:auto;align-self:flex-end}.ptl-tab-add:hover{color:var(--color-text)}.ptl-new-form{display:flex;align-items:center;gap:10px;padding:8px 20px;background:var(--color-surface-alt);border-bottom:1px solid var(--color-border);flex-shrink:0}.ptl-new-form-label{font-size:12px;color:var(--color-muted);white-space:nowrap}.ptl-split{flex:1;min-height:0;display:flex}.ptl-editor{flex-shrink:0;display:flex;flex-direction:column;overflow:hidden;min-width:0}.ptl-editor-header{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--color-border);flex-shrink:0;background:var(--color-surface)}.ptl-editor-name{flex:1;min-width:0;font-size:13px;font-weight:600}.ptl-editor-empty{color:var(--color-muted);font-size:13px;text-align:center;padding:28px 20px}.ptl-quick-actions{padding:10px 12px;border-bottom:1px solid var(--color-border);background:var(--color-surface-alt);flex-shrink:0}.ptl-qa-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);margin-bottom:7px}.ptl-add-block-bar{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.ptl-variables{font-size:12px;color:var(--color-muted)}.ptl-variables summary{cursor:pointer;font-size:11px;padding:2px 0;-webkit-user-select:none;user-select:none}.ptl-variables-list{display:flex;flex-wrap:wrap;gap:3px;margin-top:6px}.ptl-blocks-scroll{flex:1;overflow-y:auto;padding:10px 12px}.ptl-divider{width:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);cursor:col-resize;-webkit-user-select:none;user-select:none;transition:background .1s;position:relative}.ptl-divider:hover,.ptl-divider--active{background:var(--color-brand-dim)}.ptl-divider-grip{display:block;width:2px;height:32px;border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);opacity:.5;transition:opacity .1s}.ptl-divider:hover .ptl-divider-grip,.ptl-divider--active .ptl-divider-grip{opacity:1;border-color:var(--color-brand)}.ptl-preview{flex:1;min-width:0;display:flex;flex-direction:column}.ptl-preview-bar{display:flex;align-items:center;justify-content:space-between;padding:7px 14px;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.ptl-preview-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted)}.ptl-preview-scroll{flex:1;overflow:auto;display:flex;justify-content:center;padding:20px 16px 32px;background:#252820}.ptl-preview-frame{width:794px;min-height:1123px;flex-shrink:0;border:none;display:block;background:#fff;box-shadow:0 2px 12px #00000080,0 8px 40px #0006}.ptl-preview-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#555;font-size:14px;font-family:sans-serif;background:#252820}.pdf-doc-type-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;background:var(--color-brand-dim);color:var(--color-brand);border-radius:20px;white-space:nowrap;flex-shrink:0}.pdf-blocks-list{display:flex;flex-direction:column;gap:6px}.pdf-blocks-empty{color:var(--color-muted);font-size:13px;text-align:center;padding:16px 0}.pdf-block-item{border:1px solid var(--color-border);border-radius:6px;overflow:hidden;background:var(--color-surface-alt)}.pdf-block-controls{display:flex;align-items:center;gap:2px;padding:4px 6px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.pdf-block-move{border:none;background:none;cursor:pointer;color:var(--color-muted);font-size:11px;padding:1px 5px;border-radius:4px}.pdf-block-move:hover:not(:disabled){background:var(--color-brand-dim);color:var(--color-brand)}.pdf-block-move:disabled{opacity:.3;cursor:default}.pdf-block-type-label{flex:1;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted)}.pdf-block-remove{border:none;background:none;cursor:pointer;color:var(--color-muted);font-size:16px;line-height:1;padding:0 4px}.pdf-block-remove:hover{color:var(--color-red)}.pdf-block-static{padding:8px 10px;font-size:12px;color:var(--color-muted)}.pdf-block-textarea{width:100%;box-sizing:border-box;border:none;border-radius:0;background:var(--color-surface-alt);resize:vertical;font-size:12.5px;padding:8px 10px}.pdf-field-grid-editor{display:flex;flex-direction:column;gap:4px;padding:6px 8px}.pdf-field-grid-row{display:flex;align-items:center;gap:6px}.pdf-field-grid-row .form-input{flex:1;font-size:12px;padding:4px 8px}.pdf-variable-chip{font-family:monospace;font-size:10.5px;padding:2px 6px;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:4px;cursor:pointer;color:var(--color-brand)}.pdf-variable-chip:hover{background:var(--color-brand-dim)}.ptl-block-layout{border-top:1px dashed var(--color-border);padding:5px 8px;background:var(--color-surface)}.ptl-layout-row{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.ptl-layout-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);white-space:nowrap}.ptl-layout-sublabel{font-size:11px;color:var(--color-muted)}.ptl-layout-sep{display:block;width:1px;height:16px;background:var(--color-border);flex-shrink:0}.ptl-layout-segs{display:flex;gap:1px;background:var(--color-border);border:1px solid var(--color-border);border-radius:5px;overflow:hidden}.ptl-layout-seg{font-size:10px;padding:2px 6px;border:none;background:var(--color-surface-alt);color:var(--color-muted);cursor:pointer;white-space:nowrap;transition:background .1s,color .1s}.ptl-layout-seg:hover{background:var(--color-brand-dim);color:var(--color-brand)}.ptl-layout-seg.active{background:var(--color-brand);color:#fff;font-weight:600}.ptl-layout-num{width:38px;padding:2px 4px;font-size:11px;text-align:center;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface-alt);color:var(--color-text);-moz-appearance:textfield}.ptl-layout-num::-webkit-outer-spin-button,.ptl-layout-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ptl-layout-row--typo{margin-top:4px;padding-top:4px;border-top:1px dotted var(--color-border)}.ptl-layout-select{font-size:11px;padding:2px 4px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface-alt);color:var(--color-text);max-width:140px}.ptl-layout-color{width:26px;height:22px;padding:1px 2px;border:1px solid var(--color-border);border-radius:4px;background:none;cursor:pointer}.ptl-fmt-bold{font-weight:700}.ptl-fmt-italic{font-style:italic}.ptl-fmt-under{text-decoration:underline}.pdf-col-manager{padding:6px 10px 8px;border-bottom:1px dashed var(--color-border);margin-bottom:4px}.pdf-col-manager-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.pdf-col-row{display:flex;align-items:center;gap:4px;margin-bottom:3px}.pdf-col-header-input{flex:1;min-width:0;font-size:11px!important;padding:2px 6px!important}.pdf-block-logo-editor{padding:8px 10px;display:flex;gap:14px;align-items:flex-start}.pdf-block-logo-preview{flex-shrink:0;width:80px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.pdf-block-logo-actions{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.pdf-block-logo-chips{display:flex;flex-wrap:wrap;gap:5px}.pdf-block-logo-chip{display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 8px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface-alt);cursor:pointer;font-size:10px;color:var(--color-muted);transition:border-color .1s}.pdf-block-logo-chip:hover{border-color:var(--color-brand)}.pdf-block-logo-chip.active{border-color:var(--color-brand);background:var(--color-brand-dim)}.pdf-block-logo-upload{display:flex;align-items:center}html:has(.pdf-templates-page),body:has(.pdf-templates-page){overflow:hidden;height:100%}body:has(.pdf-templates-page) .app-shell{height:100vh;overflow:hidden}body:has(.pdf-templates-page) .app-body{overflow:hidden;align-items:stretch;min-height:0}body:has(.pdf-templates-page) .app-content{overflow:hidden}.dup-badge-pill{position:absolute;top:-6px;right:-6px;background:var(--color-danger);color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;pointer-events:none}.dup-group{border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.dup-group-header{display:flex;align-items:center;gap:6px;padding:7px 12px;background:var(--color-surface-alt, #f7f7f5);border-bottom:1px solid var(--color-border)}.dup-dismiss-btn{margin-left:auto;font-size:12px;color:var(--color-muted);background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:4px}.dup-dismiss-btn:hover{background:var(--color-border)}.dup-pair-row{display:flex;align-items:center;gap:4px;padding:0 14px;width:100%;border-top:1px solid var(--color-border)}.dup-pair-row:first-of-type{border-top:none}.dup-pair-row:hover{background:var(--color-surface-hover)}.dup-contact{flex:1;display:flex;flex-direction:column;gap:1px}.dup-contact-name{font-weight:600;font-size:13px;color:var(--color-text)}.dup-contact-meta{font-size:11px;color:var(--color-muted)}.dup-vs{font-size:11px;font-weight:700;color:var(--color-muted);text-transform:uppercase}.dup-cta{font-size:12px;color:#545e42;font-weight:600;white-space:nowrap;flex-shrink:0}.merge-modal-box{background:var(--color-surface);border-radius:10px;box-shadow:0 8px 40px var(--color-shadow);width:min(960px,95vw);max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.merge-cols-header{display:grid;grid-template-columns:160px 1fr 1fr;gap:0;border-bottom:2px solid var(--color-border);background:var(--color-surface-alt);padding:0}.merge-label-col{padding:10px 14px;display:flex;align-items:center;gap:6px;border-right:1px solid var(--color-border)}.merge-contact-col{padding:10px 14px;display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--color-border)}.merge-contact-col:last-child{border-right:none}.merge-contact-col--keep{background:var(--color-brand-dim)}.merge-contact-heading{font-size:13px}.merge-contact-sub{font-size:11px;color:var(--color-muted)}.merge-fields-scroll{flex:1;overflow-y:auto}.merge-field-row{display:grid;grid-template-columns:160px 1fr 1fr;border-bottom:1px solid var(--color-border);min-height:40px}.merge-field-row--warn{background:var(--color-yellow-dim)}.merge-field-label{font-size:11px;font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:.3px}.merge-warn-dot{width:7px;height:7px;border-radius:50%;background:var(--color-danger);flex-shrink:0}.merge-equal-badge{font-size:10px;font-weight:600;color:var(--color-muted);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:3px;padding:1px 5px;text-transform:uppercase;letter-spacing:.2px}.merge-val{padding:8px 14px;cursor:pointer;position:relative;border-left:1px solid var(--color-border);display:flex;align-items:flex-start;justify-content:space-between;gap:6px;transition:background .1s;outline:none}.merge-val:hover:not(.merge-val--empty){background:var(--color-surface-hover)}.merge-val:focus-visible{outline:2px solid var(--color-brand);outline-offset:-2px}.merge-val--selected{background:var(--color-brand-dim)!important;border-left:3px solid var(--color-brand)}.merge-val--empty{cursor:default;opacity:.5}.merge-val-text{font-size:13px;color:var(--color-text);flex:1;word-break:break-word}.merge-empty-hint{color:var(--color-muted);font-style:normal}.merge-check{color:var(--color-brand);font-weight:700;font-size:14px;flex-shrink:0}.merge-both-btn{grid-column:1 / -1;margin:0 14px 8px;padding:4px 12px;font-size:12px;font-weight:600;border:1px solid var(--color-brand);border-radius:4px;background:transparent;color:var(--color-brand);cursor:pointer;align-self:center;width:fit-content}.merge-both-btn--active{background:var(--color-brand);color:#fff}.merge-both-btn:hover:not(.merge-both-btn--active){background:var(--color-brand-dim)}.merge-select-all-btn{font-size:10px;font-weight:600;padding:2px 7px;border:1px solid var(--color-border);border-radius:3px;background:transparent;color:var(--color-muted);cursor:pointer;text-transform:uppercase;letter-spacing:.3px}.merge-select-all-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.badge-warning{background:var(--color-yellow-dim);color:var(--color-yellow);border:1px solid var(--color-yellow)}.be-margin-header{display:flex;align-items:center;gap:24px;padding:8px 0 10px;flex-wrap:wrap}.be-margin-inputs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.be-margin-label{font-size:11px;font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.be-margin-input{width:72px;padding:3px 6px;font-size:13px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text);text-align:right}.be-margin-input:focus{border-color:var(--color-brand);outline:none}.be-margin-sep{width:1px;height:16px;background:var(--color-border);margin:0 4px}.be-margin-saving{font-size:11px;color:var(--color-muted);font-style:italic}.be-margin-export-group{display:flex;align-items:center;gap:6px;margin-left:auto}.be-margin-export-label{font-size:11px;color:var(--color-muted);white-space:nowrap}.be-margin-cell{background:color-mix(in srgb,var(--color-surface) 80%,var(--color-brand) 20%)!important}.be-margin-cell--override{background:color-mix(in srgb,var(--color-surface) 55%,#e8a020 45%)!important}.be-final-cell{background:color-mix(in srgb,var(--color-surface) 60%,var(--color-brand) 40%)!important;font-weight:600}.be-margin-pct-cell{display:flex;align-items:center;gap:4px;justify-content:flex-end;min-height:24px}.be-margin-pct-value{cursor:pointer;padding:1px 4px;border-radius:3px;font-size:12px;color:var(--color-muted);white-space:nowrap}.be-margin-pct-value:hover{background:var(--color-surface-hover);color:var(--color-text)}.be-margin-overridden{color:var(--color-brand)!important;font-weight:600}.be-margin-clear{background:none;border:none;color:var(--color-muted);cursor:pointer;font-size:11px;padding:0 1px;line-height:1;margin-left:1px}.be-margin-clear:hover{color:var(--color-danger)}.pc-register-table .pc-contract-row td{background:var(--color-surface-alt);font-weight:600}.pc-register-table .pc-claim-row:hover td{background:var(--color-hover)}.pc-register-table .pc-next-row td{color:var(--color-muted);font-style:italic}.pc-register-table .pc-next-row:hover td{background:var(--color-hover);color:var(--color-text);font-style:normal}.pc-register-table .pc-next-num{color:var(--color-muted)}.pc-register-table tfoot td{border-top:2px solid var(--color-border);font-weight:600;padding:10px 12px}.dialog-overlay:has(.dialog-box--pc-detail){align-items:center;overflow:hidden}.dialog-box--pc-detail{width:fit-content;max-width:97vw;max-height:92vh;display:flex;flex-direction:column;padding:0;overflow:hidden}.pc-modal-header{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 20px;border-bottom:1px solid var(--color-border);flex-shrink:0;background:var(--color-surface)}.pc-modal-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:20px 24px}.pc-modal-body .register-table-wrap,.pc-modal-body .pc-linked-costs,.pc-modal-body .dt-scroll-wrap{overflow-x:hidden;overflow-y:visible;max-height:none;border:none;border-radius:0}.pc-modal-body table.register-table,.pc-modal-body table.detail-table{width:100%;table-layout:auto}.pc-modal-body table.register-table th,.pc-modal-body table.register-table td,.pc-modal-body table.detail-table th,.pc-modal-body table.detail-table td{white-space:normal;overflow-wrap:normal;word-break:normal}.pc-modal-body table.register-table td.col-money,.pc-modal-body table.register-table td.col-num,.pc-modal-body table.detail-table td.col-money{white-space:nowrap}.pc-doc-top{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;position:sticky;top:-20px;z-index:6;background:var(--color-surface);padding:20px 0 14px;border-bottom:1px solid var(--color-border)}.pc-summary-table{border-collapse:collapse;font-size:12.5px;min-width:380px}.pc-summary-table thead th{background:var(--color-surface-alt);border:1px solid var(--color-border);font-weight:600;font-size:12px;text-align:center;padding:6px 10px;letter-spacing:.02em}.pc-summary-table tbody td{border:1px solid var(--color-border);padding:5px 10px;white-space:nowrap}.pc-summary-table tbody tr td:first-child{color:var(--color-text);min-width:170px}.pc-summary-num{text-align:right;font-weight:600;min-width:120px}.pc-doc-right{display:flex;flex-direction:row;border:1px solid var(--color-border);border-radius:4px;overflow:hidden;align-self:stretch}.pc-doc-parties{display:flex;flex-direction:column;flex:1;border-right:1px solid var(--color-border)}.pc-doc-logo-col{display:flex;flex-direction:column;flex:1}.pc-doc-party{padding:8px 14px;border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:2px}.pc-doc-party:last-child{border-bottom:none}.pc-doc-party-label{font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);margin-bottom:2px}.pc-doc-party-name{font-size:12px;font-weight:600;color:var(--color-text)}.pc-doc-party-detail{font-size:11px;color:var(--color-muted)}.pc-doc-logo{display:flex;flex-direction:row;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--color-border)}.pc-doc-bird{height:48px;width:auto}.pc-doc-wordmark{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}.pc-doc-wordmark-burra{font-size:22px;font-weight:800;letter-spacing:.06em;color:var(--color-heading)}.pc-doc-wordmark-sub{font-size:9px;letter-spacing:.12em;color:var(--color-muted);text-transform:uppercase}.pc-sov-table{font-size:12.5px}.pc-doc-title-row td{background:#111;color:#fff;padding:10px 16px;text-align:center;border:none}.pc-doc-title-project{font-style:italic;font-size:15px;font-weight:600;margin-bottom:2px}.pc-doc-title-claim{font-style:italic;font-size:13px;opacity:.85}.pc-sov-table .pc-section-header-row td{background:var(--color-surface-alt);font-weight:600;font-size:12px;letter-spacing:.03em;padding:8px 12px;border-top:2px solid var(--color-border);text-align:center}.pc-editable-cell input{width:100%}.pc-sov-table .hc-sov-total-row td{border-top:1px solid var(--color-border);padding:8px 12px}.pc-sov-table thead th{white-space:nowrap}.pc-sov-table thead th.pc-th-wrap{white-space:normal}.pc-summary-dp .dp-text-input{font-size:12.5px;padding:3px 7px}.pc-summary-dp .dp-icon-btn{padding:0 6px}.pc-date-error{color:var(--color-danger);font-size:11.5px;padding:4px 10px;background:var(--color-red-dim)}.pc-sov-input{padding:3px 6px!important;font-size:12px!important;text-align:right;min-width:0}.pc-currency-wrap{display:flex;align-items:center;gap:2px}.pc-currency-prefix{font-size:11px;color:var(--color-muted);flex-shrink:0}.trades-section{margin-top:4px}.trades-empty{color:var(--color-muted);font-size:13px;font-style:italic;padding:8px 0}.trades-group{margin-bottom:2px}.trades-row{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:6px;background:var(--color-surface, #fff);border:1px solid var(--color-border);margin-bottom:3px;flex-wrap:wrap}.trades-row--child{margin-left:24px;background:var(--color-surface-alt);border-color:var(--color-border)}.trades-row-label{display:flex;align-items:baseline;gap:8px;min-width:0;flex:1 1 180px}.trades-row-code{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--color-muted);white-space:nowrap;flex-shrink:0}.trades-row-desc{font-size:13px;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trades-row-chips{display:flex;flex-wrap:wrap;gap:5px;flex:1 1 auto}.trade-chip{display:inline-flex;align-items:center;gap:4px;background:var(--color-brand-dim);color:var(--color-brand);border-radius:20px;padding:2px 10px;font-size:12px;font-weight:500;white-space:nowrap}.trade-chip-remove{background:none;border:none;cursor:pointer;color:var(--color-muted);font-size:14px;line-height:1;padding:0;margin-left:2px;opacity:.6}.trade-chip-remove:hover{opacity:1;color:var(--color-red, #d32f2f)}.trades-select-btn{flex-shrink:0;white-space:nowrap}.trades-modal-list{max-height:360px;overflow-y:auto;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);margin:8px 0}.trades-modal-item{display:flex;align-items:center;gap:10px;padding:8px 20px;cursor:pointer;border-bottom:1px solid var(--color-border);transition:background .1s}.trades-modal-item:hover{background:var(--color-surface-hover)}.trades-modal-item--checked{background:var(--color-brand-dim)}.trades-modal-item input[type=checkbox]{flex-shrink:0}.trades-modal-item-label{font-size:13px;color:var(--color-text)}.trades-tabs{display:flex;gap:2px;margin-bottom:12px;border-bottom:2px solid var(--color-border)}.trades-tab{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;padding:6px 16px;font-size:13px;font-weight:500;color:var(--color-muted);cursor:pointer;transition:color .15s,border-color .15s}.trades-tab:hover{color:var(--color-text)}.trades-tab--active{color:var(--color-brand);border-bottom-color:var(--color-brand)}.trades-by-contact{display:flex;flex-direction:column;gap:12px}.trades-bc-picker{position:relative}.trades-bc-selected{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:4px 0}.trades-bc-dropdown{position:absolute;top:calc(100% + 4px);left:0;width:100%;max-width:420px;max-height:260px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 4px 16px var(--color-shadow);z-index:200}.trades-bc-option{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--color-border);padding:9px 14px;font-size:13px;color:var(--color-text);cursor:pointer;transition:background .1s}.trades-bc-option:last-child{border-bottom:none}.trades-bc-option:hover{background:var(--color-surface-hover)}.trades-bc-lines{display:flex;flex-direction:column;gap:2px}.trades-bc-line{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:6px;border:1px solid var(--color-border);cursor:pointer;transition:background .1s}.trades-bc-line:hover{background:var(--color-surface-hover)}.trades-bc-line--child{margin-left:24px;background:var(--color-surface-alt)}.trades-bc-line--checked,.trades-bc-line--checked.trades-bc-line--child{background:var(--color-brand-dim)}.trades-bc-line input[type=checkbox]{flex-shrink:0}.trades-bc-line-desc{font-size:13px;color:var(--color-text);flex:1;min-width:0}.trades-bc-line-count{font-size:11px;color:var(--color-muted);white-space:nowrap;flex-shrink:0}.trades-bc-footer{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding-top:8px;border-top:1px solid var(--color-border)}.trades-float-save{position:fixed;bottom:80px;right:24px;z-index:39;background:var(--color-brand);color:#fff;border:none;border-radius:24px;padding:10px 22px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 4px 14px var(--color-shadow);transition:background .15s,transform .1s,opacity .15s}.trades-float-save:hover:not(:disabled){background:#6a7a38;transform:translateY(-1px)}.trades-float-save:disabled{cursor:default}.trades-float-save--idle{opacity:.5}@keyframes bc-flash{0%{background-color:var(--color-brand-dim, var(--color-green-dim))}to{background-color:transparent}}.bc-flash{animation:bc-flash 1.5s ease-out}.bc-flash>td{animation:bc-flash 1.5s ease-out}@media(prefers-reduced-motion:reduce){.bc-flash,.bc-flash>td{animation:none;background-color:var(--color-brand-dim, var(--color-green-dim))}}.task-board-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}.task-view-switch{display:inline-flex;gap:4px}.task-board-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.task-board-filters select{font-size:13px;padding:4px 6px}.task-board-actions{display:flex;gap:8px;margin-left:auto}.unscheduled-card{border:1px dashed var(--color-border);border-radius:8px;padding:10px 12px;margin-bottom:12px;background:var(--color-surface-2, rgba(127,127,127,.04))}.unscheduled-card-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.unscheduled-card-title{font-size:13px;font-weight:700;color:var(--color-text)}.unscheduled-count{display:inline-block;min-width:18px;text-align:center;font-size:11px;font-weight:700;padding:0 5px;border-radius:9px;background:var(--color-warning-dim, rgba(245,158,11,.15));color:var(--color-warning, #b45309);margin-left:4px}.unscheduled-hint{font-size:11px;color:var(--color-muted)}.unscheduled-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.unscheduled-item{display:flex;flex-direction:column;gap:1px;padding:5px 9px;border:1px solid var(--color-border);border-radius:6px;cursor:pointer;background:var(--color-surface);max-width:260px}.unscheduled-item:hover{border-color:var(--color-brand);background:var(--color-border)}.unscheduled-item-title{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unscheduled-item-meta{font-size:11px;color:var(--color-muted)}.task-overdue{color:var(--color-danger, #c0392b);font-weight:600}.task-hard{color:#a12a22;font-weight:600}.action-items-link{display:inline-block;margin-top:8px;font-size:12px;font-weight:600;color:var(--color-brand);text-decoration:none}.action-items-link:hover{text-decoration:underline}.task-kanban{display:flex;gap:12px;align-items:flex-start;overflow-x:auto;padding-bottom:6px}.kanban-column{flex:1 1 0;min-width:185px;display:flex;flex-direction:column;background:var(--color-surface-2, rgba(127,127,127,.04));border:1px solid var(--color-border);border-radius:10px}.kanban-column--over{border-color:var(--color-brand);background:var(--color-border)}.kanban-column-header{display:flex;align-items:center;gap:7px;padding:9px 11px;border-bottom:1px solid var(--color-border)}.kanban-column-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--color-text)}.kanban-column-count{margin-left:auto;font-size:11px;font-weight:700;color:var(--color-muted);min-width:18px;text-align:center;padding:0 5px;border-radius:9px;background:var(--color-surface)}.kanban-column-body{display:flex;flex-direction:column;gap:8px;padding:10px;min-height:40px}.kanban-column-empty{margin:4px 0;text-align:center;color:var(--color-muted);font-size:13px}.kanban-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.kanban-dot--notstarted{background:var(--color-muted)}.kanban-dot--inprogress{background:var(--color-brand, #2563eb)}.kanban-dot--blocked{background:var(--color-danger, #c0392b)}.kanban-dot--done{background:var(--color-success, #16a34a)}.kanban-dot--cancelled{background:var(--color-border)}.kanban-dot--unscheduled{background:var(--color-warning, #d97706)}.kanban-column--unscheduled{border-style:dashed;background:var(--color-warning-dim, rgba(217,119,6,.06))}.kanban-column--unscheduled .kanban-card{cursor:pointer}.kanban-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:9px 10px;display:flex;flex-direction:column;gap:6px;cursor:grab}.kanban-card:hover{border-color:var(--color-brand)}.kanban-card--dragging{opacity:.5}.kanban-card-title{background:transparent;border:0;padding:0;text-align:left;font-size:13px;font-weight:600;color:var(--color-text);cursor:pointer}.kanban-card-title:hover{text-decoration:underline}.kanban-card-meta{font-size:11px;color:var(--color-muted);display:flex;gap:4px;flex-wrap:wrap}.kanban-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px}.kanban-card-status{font-size:11px;padding:2px 4px;border:1px solid var(--color-border);border-radius:5px;background:var(--color-bg);color:var(--color-text)}.kanban-card.pri-critical{border-left:3px solid var(--color-danger, #c0392b)}.kanban-card.pri-high{border-left:3px solid var(--color-warning, #d97706)}.kanban-card.pri-medium{border-left:3px solid var(--color-brand, #2563eb)}.kanban-card.pri-low{border-left:3px solid var(--color-border)}.kanban-card.is-done{opacity:.6}.kanban-card.is-done .kanban-card-title{text-decoration:line-through}.kanban-card-tv{font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--color-muted);border:1px solid var(--color-border);border-radius:999px;padding:1px 7px}.agenda{display:flex;flex-direction:column;gap:14px}.agenda-group{display:flex;flex-direction:column;gap:2px}.agenda-date{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--color-muted);padding:4px 0;border-bottom:1px solid var(--color-border)}.agenda-date.agenda-istoday{color:var(--color-brand)}.agenda-date.agenda-overdue{color:var(--color-danger, #c0392b)}.agenda-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:transparent;border:0;border-radius:6px;padding:6px 8px;cursor:pointer;font-size:13px;color:var(--color-text)}.agenda-item:hover{background:var(--color-bg)}.agenda-item.agenda-overlay{cursor:default;opacity:.85}.agenda-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.agenda-title{font-weight:500}.agenda-title.agenda-done{text-decoration:line-through;color:var(--color-muted)}.agenda-proj,.agenda-assignee{font-size:11px;color:var(--color-muted)}.month-cal-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.month-cal-title{font-weight:700;font-size:15px;min-width:150px}.month-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--color-border);border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.month-cal-dow{background:var(--color-surface);text-align:center;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--color-muted);padding:5px 0}.month-cal-cell{background:var(--color-surface);min-height:92px;padding:4px;display:flex;flex-direction:column;gap:2px}.month-cal-cell.month-cal-out{background:var(--color-bg);opacity:.55}.month-cal-cell.month-cal-today{outline:2px solid var(--color-brand);outline-offset:-2px}.month-cal-daynum{font-size:12px;font-weight:600;color:var(--color-muted)}.month-cal-items{display:flex;flex-direction:column;gap:2px}.month-cal-item{display:flex;align-items:center;gap:4px;font-size:11px;text-align:left;border:0;background:var(--color-bg);border-radius:4px;padding:2px 5px;cursor:pointer;color:var(--color-text);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.month-cal-item.month-cal-done{text-decoration:line-through;color:var(--color-muted)}.month-cal-item.month-cal-overlay{cursor:default}.month-cal-pdot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.month-cal-more{font-size:10px;color:var(--color-muted);padding-left:4px}.gantt{border:1px solid var(--color-border);border-radius:8px}.gantt-scroll{overflow:auto;max-height:70vh}.gantt-header{display:flex;position:sticky;top:0;z-index:3;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.gantt-corner{flex-shrink:0;display:flex;align-items:flex-end;padding:4px 8px;font-size:12px;font-weight:700;color:var(--color-muted);border-right:1px solid var(--color-border);position:sticky;left:0;background:var(--color-surface);z-index:4}.gantt-timeline-head{position:relative}.gantt-month{position:absolute;top:0;height:18px;font-size:10px;font-weight:700;color:var(--color-muted);border-left:1px solid var(--color-border);padding-left:4px;box-sizing:border-box}.gantt-day-head{position:absolute;top:0;text-align:center;font-size:10px;color:var(--color-muted);box-sizing:border-box}.gantt-day-head.gantt-weekend{color:var(--color-border)}.gantt-day-head.gantt-today{color:var(--color-brand);font-weight:700}.gantt-body{position:relative}.gantt-col-bg{position:absolute;top:0;bottom:0}.gantt-weekend-bg{background:color-mix(in srgb,var(--color-muted) 7%,transparent)}.gantt-today-line{background:color-mix(in srgb,var(--color-brand) 12%,transparent);border-left:1px solid var(--color-brand)}.gantt-row{display:flex;align-items:center;border-bottom:1px solid var(--color-border)}.gantt-label{flex-shrink:0;display:flex;align-items:center;gap:6px;padding:0 8px;font-size:12px;position:sticky;left:0;background:var(--color-surface);z-index:2;border-right:1px solid var(--color-border);height:100%}.gantt-label-text{cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.gantt-label-text:hover{color:var(--color-brand)}.gantt-assignee{font-size:10px;color:var(--color-muted);flex-shrink:0}.gantt-track{position:relative;height:100%}.gantt-bar{position:absolute;top:5px;height:18px;border-radius:4px;cursor:pointer;display:flex;align-items:center;overflow:visible;box-shadow:0 1px 2px #00000026}.gantt-bar-overdue{outline:1.5px solid var(--color-danger, #c0392b)}.gantt-bar-fill{position:absolute;left:0;top:0;bottom:0;background:#ffffff59;border-radius:4px 0 0 4px}.gantt-bar-label{position:relative;font-size:10px;color:#fff;padding:0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.gantt-hard{position:absolute;top:-3px;color:#a12a22;font-size:14px;line-height:1}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.divider{border:none;border-top:1px solid var(--color-border);margin:16px 0}.stub-note{background:var(--color-brand-dim);color:var(--color-muted);border:1px dashed var(--color-border);border-radius:8px;padding:10px 12px;font-size:13px}.status-pill--won{background:var(--color-green-dim);color:var(--color-green)}.status-pill--likely{background:var(--color-blue-dim);color:var(--color-blue)}.status-pill--tendering{background:var(--color-yellow-dim);color:var(--color-yellow)}.status-pill--unlikely{background:var(--color-brand-dim);color:var(--color-muted)}.status-pill--lost{background:var(--color-red-dim);color:var(--color-red)}.status-pill--lead{background:var(--color-brand-dim);color:var(--color-brand)}.badge-note{background:var(--color-border);color:var(--color-muted)}.badge-call{background:var(--color-green-dim);color:var(--color-green)}.badge-email{background:var(--color-blue-dim);color:var(--color-blue)}.badge-meeting{background:var(--color-teal-dim);color:var(--color-teal)}.badge-task{background:var(--color-yellow-dim);color:var(--color-yellow)}.badge-statuschange{background:var(--color-brand-dim);color:var(--color-brand)}.followup-strip{display:flex;gap:12px;align-items:flex-start;background:var(--color-card, #fff);border:1px solid var(--color-border);border-radius:8px;padding:10px 12px;margin-bottom:14px}.followup-strip-title{font-weight:600;color:var(--color-brand);white-space:nowrap}.followup-strip-items{display:flex;flex-wrap:wrap;gap:8px}.followup-chip{display:inline-flex;gap:6px;align-items:center;background:var(--color-brand-dim);color:var(--color-brand);border-radius:6px;padding:3px 8px;font-size:12px;text-decoration:none}.followup-chip--due{background:var(--color-red-dim);color:var(--color-red)}.followup-chip-date{font-weight:600}.followup-chip-label{color:inherit}.followup-due-text{color:var(--color-red);font-weight:600}.opp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}@media(max-width:900px){.opp-grid{grid-template-columns:1fr}}.assump-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.assump-grid label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}.activity-feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.activity-item{border:1px solid var(--color-border);border-radius:8px;padding:8px 10px}.activity-item--done{opacity:.6}.activity-head{display:flex;align-items:center;gap:8px}.activity-subject{font-weight:600;flex:1;min-width:0}.activity-date{color:var(--color-muted);font-size:12px;white-space:nowrap}.activity-body{margin-top:4px;font-size:13px;white-space:pre-wrap}.activity-followup{margin-top:6px;font-size:12px}.opp-file-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.opp-file-item{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px}.cov-ok td{background:var(--color-green-dim)}.cov-short td{background:var(--color-red-dim)}.cashflow-chart{display:block;margin:8px 0 4px}.cashflow-chart .chart-grid{stroke:var(--color-border);stroke-width:1}.cashflow-chart .chart-bar{fill:var(--color-brand);opacity:.85}.cashflow-chart .chart-line{stroke:var(--color-blue);stroke-width:2}.cashflow-chart .chart-dot{fill:var(--color-blue)}.cashflow-chart .chart-xlabel,.cashflow-chart .chart-axis{fill:var(--color-muted);font-size:10px}.fy-summary{margin-top:12px}.celebration{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10050;pointer-events:auto;overflow:hidden;opacity:1;transition:opacity .5s ease}.celebration--leaving{opacity:0}.celebration--job_won{--cel-accent: #545E42;--cel-accent-2: #C9A227}.celebration--project_completed{--cel-accent: #2F6F8F;--cel-accent-2: #C9A227}.celebration-ticker{position:absolute;top:0;left:0;right:0;height:54px;display:flex;align-items:center;overflow:hidden;background:var(--cel-accent, #545E42);color:#fff;box-shadow:0 4px 18px #00000038;animation:cel-topbar-drop .5s cubic-bezier(.2,1.2,.4,1) both}.celebration-ticker-track{display:flex;flex-wrap:nowrap;white-space:nowrap;will-change:transform;animation-name:cel-ticker;animation-timing-function:linear;animation-iteration-count:infinite}.celebration-ticker-item{display:inline-flex;align-items:center;gap:10px;padding:0 30px;font-size:16px;border-right:1px solid rgba(255,255,255,.18)}.celebration-ticker-emoji{font-size:20px;line-height:1}.celebration-ticker-kicker{font-family:Good Sans,Helvetica Neue,sans-serif;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--cel-accent-2, #C9A227)}.celebration-ticker-title{font-weight:700}.celebration-ticker-detail{opacity:.9}@keyframes cel-ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.celebration-confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.celebration-piece{position:absolute;top:-24px;border-radius:2px;will-change:transform,opacity;animation-name:cel-confetti-fall;animation-timing-function:cubic-bezier(.25,.6,.5,1);animation-iteration-count:1;animation-fill-mode:both}.celebration-piece--round{border-radius:50%}@keyframes cel-confetti-fall{0%{transform:translateZ(0) rotate(0);opacity:1}85%{opacity:1}to{transform:translate3d(var(--drift, 0px),104vh,0) rotate(var(--spin, 360deg));opacity:.9}}.celebration-hero{position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;animation:cel-hero-pop .55s cubic-bezier(.18,1.5,.5,1) both}.celebration-hero-emoji{font-size:76px;line-height:1;margin-bottom:8px;animation:cel-emoji-wiggle 1.4s ease-in-out infinite}.celebration-hero-title{font-family:Good Sans,Helvetica Neue,sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:46px;font-weight:700;color:var(--cel-accent, #545E42);text-shadow:0 2px 16px rgba(255,255,255,.7)}.celebration-hero-sub{margin-top:6px;font-size:18px;font-weight:600;color:var(--color-text);text-shadow:0 1px 10px rgba(255,255,255,.8)}.celebration-hero-more{margin-top:10px;font-size:13px;font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em}@keyframes cel-topbar-drop{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes cel-hero-pop{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes cel-emoji-wiggle{0%,to{transform:rotate(-10deg) scale(1)}50%{transform:rotate(10deg) scale(1.12)}}@media(max-width:640px){.celebration-ticker{height:46px}.celebration-ticker-item{font-size:14px;padding:0 20px;gap:8px}.celebration-hero-title{font-size:34px}}@media(prefers-reduced-motion:reduce){.celebration-piece{animation-duration:.01s!important;opacity:0!important}.celebration-hero-emoji,.celebration-hero,.celebration-ticker{animation:none}.celebration-ticker-track{animation:none;transform:none}}.prep-overlay{z-index:1200}.prep-box{max-width:460px;width:90%;padding:32px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.prep-spinner{width:44px;height:44px;border:4px solid var(--color-border);border-top-color:var(--color-brand, var(--color-primary));border-radius:50%;animation:spin .8s linear infinite;margin-bottom:4px}.prep-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;color:#fff}.prep-icon--done{background:var(--color-success, #22c55e)}.prep-icon--error{background:var(--color-danger, #ef4444)}.prep-title{margin:0;font-size:17px;color:var(--color-text)}.prep-message{margin:0;font-size:13px;color:var(--color-muted, #888);line-height:1.5}.prep-hint{margin:4px 0 0;font-size:12px;color:var(--color-muted, #888)}.prep-bar{width:100%;height:8px;background:var(--color-border);border-radius:6px;overflow:hidden;margin-top:4px}.prep-bar-fill{height:100%;background:var(--color-brand, var(--color-primary));border-radius:6px;transition:width .4s ease}.prep-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:8px}@media(pointer:coarse){.btn,.btn-primary,.btn-default,.btn-danger,.btn-export,.input,.form-input,.form-select,.filter-search,.filter-select{min-height:44px}}@media(hover:none){.online-user-dm,.budget-delete-btn,.kc-card-remove,.contacts-detail-link,.pse-status-actions,.fte-actions{opacity:1}.wb-hide-col{display:inline-block}}@media(max-width:640px){.schedule-table-header,.schedule-row,.merge-cols-header,.merge-field-row,.hc-field-grid,.hc-page-field-grid{grid-template-columns:1fr}}@media(max-width:640px){.dt-scroll-wrap{overflow-x:visible}table.register-table,table.register-table tbody,table.register-table tfoot,table.register-table tr,table.register-table td{display:block;width:100%!important}table.register-table{table-layout:auto!important;min-width:0!important}table.register-table thead,table.register-table colgroup{display:none}table.register-table tbody tr{border:1px solid var(--color-border);border-radius:8px;margin-bottom:8px;padding:4px 12px;background:var(--color-surface)}table.register-table tbody td{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border:none!important;padding:6px 0;text-align:right;min-height:0}table.register-table tbody td:before{content:attr(data-label);font-weight:600;color:var(--color-muted);text-align:left;flex:0 0 auto;max-width:45%;white-space:nowrap}table.register-table tbody td[data-label=""]:before,table.register-table tbody td.dt-empty:before{content:none}table.register-table tbody td.dt-empty{justify-content:center}table.register-table tbody td.dt-expanded-cell{display:block;text-align:left}table.register-table tfoot tr{border:1px solid var(--color-border);border-radius:8px;margin-top:8px;padding:4px 12px;font-weight:600}table.register-table tfoot td,table.register-table tfoot th{display:flex;justify-content:space-between;gap:12px;border:none}}@media(max-width:900px){body:has(.accounts-queue-page) .app-shell,body:has(.accounts-queue-page) .app-body,body:has(.accounts-queue-page) .app-content{height:auto;overflow:visible;min-height:0}.accounts-queue-page{height:auto;overflow:visible}.accounts-queue-layout{flex-direction:column;height:auto;overflow:visible}.accounts-queue-list{width:100%!important;flex-shrink:1;border-right:none;border-bottom:1px solid var(--color-border);max-height:45vh}.accounts-queue-review{overflow:visible}.accounts-review-panel{height:auto;overflow:visible}.accounts-review-split{flex-direction:column;height:auto;overflow:visible}.accounts-review-details{width:100%!important;border-right:none;border-bottom:1px solid var(--color-border);overflow:visible}.accounts-queue-layout .col-resizer{display:none}.accounts-review-pdf{min-height:75vh}}@media(max-width:640px){.detail-table:not(.amounts-table):not(.budget-codes-table) tr{display:block;border-bottom:1px solid var(--color-border);padding:6px 0}.detail-table:not(.amounts-table):not(.budget-codes-table) tr:last-child{border-bottom:none}.detail-table:not(.amounts-table):not(.budget-codes-table) th,.detail-table:not(.amounts-table):not(.budget-codes-table) td{display:block;width:auto;text-align:left;white-space:normal;padding:0}.detail-table:not(.amounts-table):not(.budget-codes-table) th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);margin-bottom:1px}.detail-table:not(.amounts-table):not(.budget-codes-table) td{font-weight:500}}@media(max-width:1280px),(pointer:coarse){.feedback-trigger{display:none}}@media(max-width:640px){.cost-detail-modal .modal-header{flex-wrap:wrap}.cost-detail-grid .detail-field{flex-direction:column;align-items:stretch;gap:2px}.cost-detail-grid .detail-field>:last-child{text-align:left;justify-content:flex-start}.cost-detail-modal .modal-footer{flex-wrap:wrap;justify-content:flex-end}.cost-detail-modal .modal-footer>div{display:none}.cost-detail-modal .modal-footer>.btn{flex:1 1 auto}}
