html,body{width:100%;height:100%}input::-ms-clear{display:none}input::-ms-reveal{display:none}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:#0000;font-family:sans-serif;line-height:1.15}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{text-align:left;caption-side:bottom;padding-top:.75em;padding-bottom:.3em}input,button,select,optgroup,textarea{color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical;overflow:auto}fieldset{border:0;min-width:0;margin:0;padding:0}legend{width:100%;max-width:100%;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal;margin-bottom:.5em;padding:0;display:block}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}:root{color:#061b31;--color-bg:#f8fafc;--color-surface:#fff;--color-heading:#061b31;--color-text:#64748d;--color-brand:#3358f4;--color-border:#e5edf5;--color-danger:#b42318;--color-success:#047857;--color-warning:#a16207;--color-info:#1d4ed8;--color-muted:#94a3b8;--shadow-surface:0 16px 40px #0f172a0f;background:#f8fafc;font-family:Aptos,SF Pro Text,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--color-bg);min-width:320px;min-height:100vh;margin:0}html,body,#root{min-width:0;min-height:100%;overflow-x:hidden}body .ant-typography{letter-spacing:0}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}.login-shell{background:linear-gradient(135deg,#2563eb14,#0000 42%),radial-gradient(circle at 82% 14%,#0ea5e924,#0000 28%),#f7f9fc;grid-template-columns:minmax(0,1.05fr) minmax(360px,.65fr);align-items:center;gap:48px;min-height:100dvh;padding:clamp(24px,5vw,72px);display:grid}.login-hero,.login-card{min-width:0}.login-brand{color:#0f172a;align-items:center;gap:12px;margin-bottom:56px;font-weight:800;display:inline-flex}.login-copy{max-width:680px}.login-copy h1.ant-typography{color:#0f172a;margin:0 0 20px;font-size:clamp(36px,5.2vw,72px);line-height:.98}.login-copy .ant-typography{letter-spacing:0}.login-copy .ant-typography+.ant-typography{color:#475569;font-size:18px;line-height:1.75}.login-proof-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:760px;margin-top:48px;display:grid}.login-proof-grid div{background:#ffffffb8;border:1px solid #94a3b847;border-radius:12px;min-width:0;padding:18px}.login-proof-grid strong,.login-proof-grid span{display:block}.login-proof-grid strong{color:#0f172a;font-size:15px}.login-proof-grid span{color:#64748b;margin-top:6px;font-size:13px}.login-card{border:1px solid #94a3b833;border-radius:14px;justify-self:end;width:min(100%,460px);box-shadow:0 24px 70px #0f172a1a}.login-card__content,.login-form{width:100%}.login-card h2.ant-typography{margin:0 0 4px}.login-form{gap:10px;display:grid}.login-form label{color:#334155;margin-top:6px;font-weight:700}.login-form .ant-alert{margin-top:8px}.app-shell{background:var(--color-bg);min-height:100vh;color:var(--color-text);grid-template-columns:260px minmax(0,1fr);display:grid}.saas-shell{background:#f7f9fc;min-width:0;min-height:100vh}.saas-sider{border-right:1px solid #e5e7eb;box-shadow:1px 0 #0f172a05;background:#fff!important}.saas-logo{align-items:center;gap:12px;min-height:76px;padding:16px 18px 12px;display:flex}.saas-logo__mark{color:#fff;background:#2563eb;border-radius:8px;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.saas-logo h5{color:#111827;margin:0;line-height:1.1}.saas-logo .ant-typography-secondary{font-size:.78rem}.saas-menu{padding:0 10px 16px;border-inline-end:0!important}.saas-main{background:#f7f9fc;min-width:0}.saas-header{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:20px;height:64px;padding:0 24px;display:flex;position:sticky;top:0}.saas-header__left,.saas-header__title{min-width:0}.saas-header__title .ant-typography{text-overflow:ellipsis;white-space:nowrap;max-width:56vw;overflow:hidden}.saas-header__actions{flex-shrink:0;min-width:0}.saas-mobile-trigger{display:none}.saas-mobile-drawer .ant-drawer-body{padding:0}.saas-logo--drawer{border-bottom:1px solid var(--color-border)}.saas-project-select{width:240px}.saas-content{width:min(100%,1320px);min-width:0;margin:0 auto;padding:24px}.saas-alert{margin-bottom:16px}.saas-page{gap:16px;min-width:0;display:grid}.saas-page__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.saas-page__header h2,.saas-page__header h3,.saas-page__header .ant-typography{margin-top:0}.saas-page__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.filter-bar{width:100%;margin-bottom:16px}.filter-control,.table-control{min-width:180px}.top-nav{z-index:10;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8fafcf0;justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:0 28px;display:flex;position:sticky;top:0}.top-nav__brand{color:var(--color-heading);letter-spacing:0;font-size:1.05rem;font-weight:700}.top-nav__actions{align-items:center;gap:10px;display:flex}.side-nav{border-right:1px solid var(--color-border);background:var(--color-surface);padding:20px 16px}.nav-links{gap:4px;margin:0;padding:0;list-style:none;display:grid}.nav-link{min-height:40px;color:var(--color-text);border-radius:8px;align-items:center;gap:10px;padding:0 12px;font-size:.92rem;font-weight:600;display:flex}.nav-link:hover{color:var(--color-heading);background:#f1f5f9}.nav-link[aria-current=page],.nav-link--active{color:var(--color-brand);background:#eef3ff}.project-panel{border:1px solid var(--color-border);background:var(--color-bg);border-radius:8px;gap:8px;padding:12px;display:grid}.project-panel__name{color:var(--color-heading);margin:0;font-size:.95rem;font-weight:700}.project-panel__select{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-heading);border-radius:8px;outline:none;padding:9px 10px;font-size:.92rem;font-weight:700}.project-panel__select:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px #3358f41f}.project-panel__meta{color:var(--color-text);margin:0;font-size:.82rem}.app-content{min-width:0}.content{width:min(100%,1240px);min-width:0;margin:0 auto;padding:28px}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;min-width:0;margin-bottom:20px;display:flex}.page-header h1,.page-header h2{color:var(--color-heading);letter-spacing:0;margin:0;font-size:1.75rem;font-weight:700}.page-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.button{white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:36px;padding:0 14px;font-size:.9rem;font-weight:700;line-height:1;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.button--primary{color:#fff;background:#2563eb;border-color:#2563eb}.button--primary:hover{background:#2547d8}.button--secondary{background:var(--color-surface);color:var(--color-heading);border-color:#d8e1ea}.button--secondary:hover{background:#f8fafc;border-color:#cbd8e7}.button--danger{color:var(--color-danger);background:#fff7f7;border-color:#fecaca}.button:active{transform:translateY(1px)}.panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;min-width:0}.panel__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:16px 18px;display:flex}.panel__header h2,.panel__header h3{color:var(--color-heading);margin:0;font-size:1rem;font-weight:700}.panel__body{min-width:0;padding:18px}.stack-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.stack-list li{border-bottom:1px solid var(--color-border);gap:4px;padding:10px 0;display:grid}.stack-list li:last-child{border-bottom:0}.stack-list strong{color:var(--color-heading)}.stack-list span{color:var(--color-muted);font-size:.9rem}.grid{gap:16px;min-width:0;display:grid}.grid--metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.grid--two{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.dashboard-grid{gap:20px}.dashboard-page{min-width:0}.dashboard-command-grid{grid-template-columns:1.3fr 1fr 1fr 1.3fr 1.1fr;gap:16px;min-width:0;display:grid}.dashboard-actions{flex-wrap:wrap;gap:10px;display:flex}.commercial-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.commercial-summary>div{background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-width:0;padding:18px}.commercial-summary strong{color:#0f172a;overflow-wrap:anywhere;margin-top:8px;font-size:24px;line-height:1.1;display:block}.delivery-workspace{grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);align-items:start;gap:16px;min-width:0;display:grid}.delivery-workspace__forms{scrollbar-width:thin;max-height:calc(100dvh - 112px);padding-right:2px;position:sticky;top:88px;overflow:auto}.generated-article,.article-preview{min-width:0}.article-preview{max-height:min(56dvh,620px)}.report-descriptions{min-width:0}.report-descriptions .ant-descriptions-item-content{overflow-wrap:anywhere;min-width:0}.metric-block{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;min-width:0}.metric-block .ant-card-body{min-width:0;padding:16px}.metric-block__label{color:var(--color-text);margin:0;font-size:.82rem;font-weight:700}.metric-block__row{justify-content:space-between;align-items:baseline;gap:12px;margin:0;display:flex}.metric-block__value{color:var(--color-heading);letter-spacing:0;font-size:1.55rem;font-weight:750}.metric-block__value--danger,.metric-block__value--negative{color:var(--color-danger)}.metric-block__value--positive{color:var(--color-success)}.metric-block__change{font-size:.8rem;font-weight:700}.metric-block__change--positive{color:var(--color-success)}.metric-block__change--negative{color:var(--color-danger)}.metric-block__change--neutral{color:var(--color-muted)}.data-table{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;min-width:0;max-width:100%;overflow-x:auto}.data-table .ant-table-wrapper,.data-table .ant-table,.data-table .ant-table-container{min-width:0}.data-table .ant-table{border-radius:8px}.data-table .ant-table-cell{vertical-align:middle;max-width:320px}.data-table__cell{overflow-wrap:anywhere;min-width:0}.data-table .ant-table-cell .ant-btn{white-space:nowrap}.data-table .ant-table-body,.data-table .ant-table-content{scrollbar-width:thin}.data-table caption{white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.data-table table{width:100%}.table-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:inline-flex}.table-actions .button{min-height:34px;padding:7px 10px;font-size:.82rem}.table-select{border:1px solid var(--color-border);background:var(--color-surface);width:auto;min-width:132px;color:var(--color-heading);border-radius:8px;outline:none;padding:8px 10px}.table-input{border:1px solid var(--color-border);background:var(--color-surface);width:auto;min-width:120px;color:var(--color-heading);border-radius:8px;outline:none;padding:8px 10px}.jobs-grid{grid-template-columns:minmax(0,1fr);margin-top:16px}.jobs-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.jobs-filters{flex-wrap:wrap;justify-content:flex-start}.team-grid{grid-template-columns:minmax(0,1fr)}.permission-matrix{gap:10px;display:grid}.permission-matrix__row{border-bottom:1px solid var(--color-border);gap:6px;padding-bottom:10px;display:grid}.permission-matrix__row:last-child{border-bottom:0;padding-bottom:0}.permission-matrix__row strong{color:var(--color-heading)}.permission-matrix__row span{color:var(--color-text);font-size:.88rem;line-height:1.6}.form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;min-width:0;display:grid}.form-field{gap:7px;min-width:0;display:grid}.form-field label{color:var(--color-heading);font-size:.86rem;font-weight:700}.form-field input,.form-field textarea,.form-field select,.table-select,.table-input{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-width:0;color:var(--color-heading);border-radius:8px;outline:none;padding:9px 11px}.form-field textarea{resize:vertical;min-height:96px}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px #3358f41f}.form-field [aria-invalid=true]{border-color:var(--color-danger)}.form-field__hint,.form-field__error{font-size:.8rem}.form-field__hint{color:var(--color-muted)}.form-field__error{color:var(--color-danger)}.checkbox-field{min-height:40px;color:var(--color-heading);align-items:center;gap:9px;font-size:.86rem;font-weight:700;display:inline-flex}.checkbox-field input{width:16px;height:16px;accent-color:var(--color-brand)}.status-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;min-height:24px;margin-inline-end:0;padding:0 9px;font-size:.76rem;font-weight:750;display:inline-flex}.status-badge--neutral{border-color:var(--color-border);color:var(--color-text);background:#f8fafc}.status-badge--success{color:var(--color-success);background:#f0fdf4;border-color:#bbf7d0}.status-badge--warning{color:var(--color-warning);background:#fffbeb;border-color:#fde68a}.status-badge--danger{color:var(--color-danger);background:#fff7f7;border-color:#fecaca}.status-badge--info{color:var(--color-info);background:#eff6ff;border-color:#bfdbfe}.quote-line-form{grid-template-columns:minmax(96px,.8fr) minmax(140px,1fr);gap:10px;min-width:280px;display:grid}.quote-line-form .form-field{gap:5px}.quote-line-form .form-field label{font-size:.74rem}.quote-line-form .form-field input{min-height:34px;padding:7px 9px}.quote-lock-note{color:var(--color-warning);background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin:0;padding:11px 13px;font-size:.88rem;font-weight:700}.empty-state,.error-state,.loading-state{border:1px solid var(--color-border);background:var(--color-surface);text-align:center;border-radius:8px;place-items:center;gap:12px;min-width:0;min-height:220px;padding:28px;display:grid}.empty-state h2,.error-state h2{color:var(--color-heading);margin:0;font-size:1.1rem;font-weight:750}.empty-state__body,.error-state p{color:var(--color-text);margin:0;font-size:.9rem}.error-state{border-color:#fecaca}.error-state__request{color:var(--color-muted);font-size:.78rem}.loading-state{min-height:180px;color:var(--color-text);font-weight:700}.loading-state__spinner{border:2px solid var(--color-border);border-top-color:var(--color-brand);border-radius:999px;width:24px;height:24px;animation:.78s linear infinite spin}.loading-state__content{width:min(100%,520px)}pre,code{overflow-wrap:anywhere;white-space:pre-wrap;max-width:100%}pre{border:1px solid var(--color-border);color:var(--color-heading);background:#f8fafc;border-radius:8px;padding:14px;line-height:1.7;overflow:auto}.ant-card,.ant-card-body,.ant-tabs,.ant-tabs-content,.ant-tabs-tabpane,.ant-form,.ant-row,.ant-col,.ant-space,.ant-table-wrapper,.ant-drawer-body,.ant-descriptions,.ant-descriptions-view{min-width:0}.ant-drawer-content-wrapper{max-width:100vw}.ant-drawer-body{overflow-x:hidden}.ant-table-cell{overflow-wrap:anywhere}@keyframes spin{to{transform:rotate(360deg)}}.boot-screen{place-items:center;min-height:100vh;padding:32px;display:grid}.boot-screen h1{color:var(--color-heading);letter-spacing:0;margin:0;font-size:3rem;font-weight:700}@media (width<=920px){.login-shell{grid-template-columns:1fr;align-items:start;gap:24px}.login-brand{margin-bottom:32px}.login-card{justify-self:stretch;width:100%}.login-proof-grid,.commercial-summary,.app-shell{grid-template-columns:1fr}.side-nav{border-right:0;border-bottom:1px solid var(--color-border)}.nav-links{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.grid--metrics,.grid--two,.dashboard-command-grid,.delivery-workspace,.form-grid,.quote-line-form{grid-template-columns:1fr}.delivery-workspace__forms{max-height:none;padding-right:0;position:static;overflow:visible}.saas-header{flex-direction:column;align-items:stretch;height:auto;padding:14px 16px}.saas-mobile-trigger{display:inline-flex}.saas-header__left,.saas-header__actions{justify-content:space-between;width:100%}.saas-header__actions{flex-wrap:wrap}.saas-header__title .ant-typography{max-width:calc(100vw - 104px)}.saas-project-select{width:min(100%,320px)}}@media (width<=640px){.top-nav,.content{padding-left:16px;padding-right:16px}.top-nav,.page-header,.metric-block__row{flex-direction:column;align-items:stretch}.page-actions{justify-content:stretch}.page-header h1,.page-header h2{font-size:1.45rem}.button{width:100%}.saas-content{padding:16px}.saas-page__header{flex-direction:column;align-items:stretch}.saas-page__actions,.saas-page__actions .ant-btn,.table-actions{width:100%}.table-actions .ant-btn,.table-actions .button{flex:auto}.filter-bar,.filter-bar .ant-space-item,.filter-control,.table-control{width:100%}.boot-screen h1{font-size:2rem}}
