:root{--canvas:#f1f3f8;--card:#fff;--card-2:#f5f7fb;--line:#e1e6ef;--line-2:#cbd3e0;--ink-3:#69758a;--shadow:0 2px 4px #23315e04,0 8px 24px #23315e08,0 24px 48px -32px #23315e30;--radius:16px}body{background:radial-gradient(ellipse at 85% 0,#e3e9f5 0,transparent 50%),var(--canvas)}.app{grid-template-columns:216px minmax(0,1fr);height:100dvh;padding:12px;gap:12px}.sidebar{min-height:0;border-radius:20px;background:radial-gradient(ellipse at top left,#3d4b79,transparent 70%),linear-gradient(160deg,#23315e,#18233f);border:1px solid #ffffff25;box-shadow:0 12px 36px -14px #18233f80}.brand{padding:24px 20px 18px}.brand-logo{width:128px}.brand-name{margin-top:12px;padding-top:10px;font-size:18px}.nav{padding:16px 10px;gap:5px;overflow-y:auto}.nav-item{min-height:42px;padding:10px 12px;border:1px solid transparent;transition:background .15s,border-color .15s}.nav-item.active{background:linear-gradient(110deg,#ffffff25,#ffffff12);border-color:#ffffff22;box-shadow:0 4px 12px #00000010,inset 3px 0 0 var(--gold)}.sidebar-toggle{top:22px;right:-10px;width:26px;height:26px}.sidebar-foot{padding:12px 10px}.org-switch{font-size:11px}.main{min-width:0}.topbar{height:66px;padding:10px 18px;gap:12px;border-radius:16px;background:#ffffffb8;border:1px solid #ffffffee;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 4px 20px #23315e05}.search{max-width:520px;background:#edf1f7b3;border-color:#dce3ef;padding:8px 12px;box-shadow:inset 0 1px 2px #23315e04}.search:focus-within{border-color:#8798ba;box-shadow:0 0 0 3px #23315e0c}.search input:focus-visible{outline:none}.search svg{flex-shrink:0}.centos-search-submit{font-size:12px;font-weight:600}.avatar-btn,.icon-btn{box-shadow:none;background:#ffffffb3}.icon-btn{border-radius:11px}.avatar-btn{border-radius:12px;font-weight:600}.signout-btn{min-height:36px;border-color:transparent}.canvas{padding:24px 20px 40px;scrollbar-gutter:stable}.page{width:100%;max-width:1680px;margin-inline:auto;min-width:0}.greeting,h1.page-title{font-size:clamp(24px,2vw,30px);letter-spacing:-.035em;line-height:1.2}.page-head{align-items:center;gap:18px;margin-bottom:24px}.page-sub{line-height:1.6}.card{border-color:#ffffff;background:linear-gradient(145deg,#ffffff,#ffffffeb);box-shadow:var(--shadow),0 0 0 1px #23315e08}.card-head{gap:12px;min-height:54px}.card-title{letter-spacing:-.015em}.kpi-row{gap:14px}.kpi{min-width:0;padding:18px;border-color:#ffffff;background:linear-gradient(140deg,#ffffff,#f9fbff);transition:box-shadow .15s,transform .15s}a.kpi:hover{transform:translateY(-2px);box-shadow:0 10px 28px #23315e15}.kpi-chip{border-radius:14px;width:42px;height:42px}.kpi-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.04em}.btn-outline,.btn-solid{min-height:36px;justify-content:center;border-radius:9px}.btn-solid{background:linear-gradient(180deg,#354572,var(--navy));box-shadow:0 3px 7px #23315e20,inset 0 1px 0 #ffffff18}.btn-outline{background:#ffffffd9;box-shadow:0 1px 2px #23315e06}.toolbar{gap:8px;margin-bottom:16px}.filter-bar input,.filter-bar select,.toolbar select,.toolbar-search{min-height:36px}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{border-color:var(--line-2);border-radius:9px;min-height:38px}.data-table th{background:#f4f6fa;font-size:10px;color:#59667c;padding:11px 16px}.data-table td{padding:12px 16px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.data-table tbody tr:hover{background:#f2f5fb}.tablewrap{border-radius:inherit;scrollbar-width:thin}.subnav{width:-moz-fit-content;width:fit-content;max-width:100%;gap:4px;margin:0 0 20px;padding:5px;background:#e7ecf3b3;border:1px solid #dce3ed;border-radius:12px}.subnav-tab{margin:0;border:0;border-radius:8px;padding:8px 13px;color:var(--ink-2)}.subnav-tab.active{background:white;color:var(--navy);box-shadow:0 2px 5px #23315e12}.settings-nav{padding:6px;border:1px solid var(--line);border-radius:12px;background:#ffffff80}.dialog{border:1px solid #ffffffb3;box-shadow:0 32px 100px #17234040;max-height:calc(100dvh - 32px)}.dialog::-webkit-backdrop{background:#17234060;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog::backdrop{background:#17234060;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid #647fb4;outline-offset:3px}.skip-link{position:fixed;z-index:100;left:24px;top:-80px;padding:12px 20px;background:white;color:var(--navy);border-radius:10px;box-shadow:var(--shadow)}.skip-link:focus{top:16px}:root[data-nav=collapsed] .app{grid-template-columns:64px minmax(0,1fr)}@media (min-width:1600px){.canvas{padding-inline:32px}}@media (max-width:1100px){.app{grid-template-columns:184px minmax(0,1fr)}.canvas{padding:20px 12px 32px}.topbar{padding-inline:12px}.topbar-right{gap:6px}.kpi{padding:14px;gap:10px}}@media (max-width:760px){.app,:root[data-nav=collapsed] .app{grid-template-columns:56px minmax(0,1fr);padding:6px;gap:6px}.sidebar{border-radius:14px}.brand,:root[data-nav=collapsed] .brand{padding:16px 6px}.brand-logo,:root[data-nav=collapsed] .brand-logo{width:38px}.brand-name,:root[data-nav=collapsed] .brand-name{font-size:8px;letter-spacing:.08em;margin-top:8px;padding-top:8px}.sidebar-toggle{display:none}.nav,:root[data-nav=collapsed] .nav{padding:10px 5px;gap:6px}.nav-item,:root[data-nav=collapsed] .nav-item{justify-content:center;padding:10px 0;gap:0}.nav-item span,.org-name{display:none}.sidebar-foot,:root[data-nav=collapsed] .sidebar-foot{padding:10px 5px}.org-switch{justify-content:center;padding:10px 0}.topbar{height:auto;min-height:60px;padding:8px;flex-wrap:wrap;gap:8px}.search{order:2;max-width:none;flex-basis:100%}.topbar-right{width:100%;justify-content:flex-end}.avatar-btn{margin-right:auto}.canvas{padding:18px 6px 28px}.page-head{align-items:flex-start;gap:12px}.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{flex-direction:column;align-items:flex-start;padding:12px;gap:8px}.card-head{flex-wrap:wrap}.toolbar-search{width:100%;min-width:0}.subnav{margin-bottom:16px}.ag-link,.ag-row{flex-wrap:wrap}.ag-title{white-space:normal}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important}}@media print{body{background:#fff}.app{display:block;height:auto;padding:0}.canvas,.main{overflow:visible}.canvas{padding:0}.card{box-shadow:none}}.search-shortcut{flex-shrink:0;font:10px var(--sans);color:var(--ink-3);padding:2px 5px;border:1px solid var(--line-2);border-radius:4px}.account-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:1100px){.search-shortcut{display:none}}.project-navigation{max-width:1680px;margin:0 auto 20px}.project-sections{display:flex;flex-wrap:wrap;gap:3px;padding:5px;border:1px solid var(--line);background:#ffffff90;border-radius:12px}.project-sections .subnav-tab{padding:8px 11px}.project-section-picker{display:none}.tile{min-width:0;border-color:#ffffff;box-shadow:var(--shadow);background:linear-gradient(140deg,#fff,#f8faff)}.tile:hover{border-color:#b3bfd5;box-shadow:0 8px 24px #23315e15}.tile-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:760px){.project-sections{display:none}.project-section-picker{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#ffffffc0}.project-section-picker span{color:var(--ink-2);font-size:11px}.project-section-picker select{min-width:0;max-width:65%;padding:8px;border:1px solid var(--line-2);border-radius:7px;background:white;color:var(--navy);font:inherit;font-weight:600}}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.workspace-eyebrow{margin:0 0 6px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--ink-2)}.dashboard-heading .greeting{margin:0 0 8px}.dashboard-heading .page-sub{margin:0}.workspace-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin:20px 0 24px}.workspace-shortcuts a{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid #dce3ee;border-radius:12px;background:#ffffff70;transition:background .15s}.workspace-shortcuts a:hover{background:white;border-color:#bbc7dd}.workspace-shortcuts b{display:block;font-size:12px}.workspace-shortcuts small{display:block;margin-top:3px;color:var(--ink-2);font-size:11px}.shortcut-icon{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:9px;color:var(--navy);background:#e6ebf5;font-size:20px}.shortcut-arrow{margin-left:auto;color:var(--ink-2)}@media (max-width:900px){.workspace-shortcuts{grid-template-columns:1fr;gap:8px}}@media (max-width:640px){.dashboard-heading{align-items:flex-start;flex-direction:column;gap:12px}}button.card-foot-link{font:inherit;font-size:12px;font-weight:600;color:var(--navy);background:#edf1f8;border:1px solid var(--line);border-radius:8px;min-height:32px;padding:5px 10px;cursor:pointer}button.card-foot-link:hover{background:#e1e8f4}.fact-card+.side-card{margin-top:16px}.plan-apply input{min-width:0;min-height:38px;border:1px solid var(--line-2);border-radius:8px;padding:8px 10px;font:inherit}.field{align-content:start;min-width:0}.field-row{align-items:start}.record-main{grid-template-columns:minmax(0,1fr)}.record-main>*{min-width:0}.closing-party-add{grid-template-columns:minmax(0,1fr) auto}.closing-party-add select[name=party_id]{grid-column:1/-1}.closing-completion{font-size:12px}.closing-completion .kv-row{align-items:center}.closing-completion input{min-width:0;width:100%}.closing-actions{flex-wrap:wrap}.card.cal-form,.card.tracker-form{padding:20px}.field textarea{width:100%;padding:10px 12px;font:inherit;color:var(--ink);resize:vertical}@media (max-width:640px){.card.cal-form,.card.tracker-form{padding:16px}}.cal-day{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:88px;padding:8px}.cal-day:hover{background:#f0f4fc}.cal-day:focus-visible{outline-offset:-3px;position:relative;z-index:1}.cal-day.picked{background:#edf2fc;box-shadow:inset 0 0 0 2px #647fb4}.cal-day.today .cal-num{width:24px;height:24px;box-shadow:0 2px 6px #23315e20}.cal-head{background:#f7f9fc}.cal-seg{min-height:36px;display:inline-flex;align-items:center;justify-content:center}.src-chip{min-height:30px}.src-chip.off{opacity:1;color:var(--ink-2);background:transparent;border-style:dashed}.src-chip.off .src-dot{background:var(--line-2)}@media (max-width:900px){.settings-nav{display:flex;overflow-x:auto;position:static;gap:4px}.settings-nav-item{flex-shrink:0;white-space:nowrap}}@media (max-width:640px){.cal-day{min-height:66px;padding:4px}.cal-head>div{font-size:9px;padding:8px 4px}.cal-tools{flex-wrap:wrap;gap:6px}.cal-month{font-size:13px}.cal-pill{padding:2px;font-size:9px}.cal-pill .src-dot{width:5px;height:5px}}.empty-action{margin-top:18px}.centos-search-results a:focus-visible,.centos-search-results a:hover{background:var(--card-2)}@media (max-width:640px){.filter-bar input,.filter-bar select{min-width:0;max-width:100%}}.quick-contact-hint{margin:8px 0 0;color:var(--ink-2);font-size:12px}.quick-contact-tags{border:0;padding:0;margin:0;min-width:0}.quick-contact-tags legend{padding:0;margin-bottom:8px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);font-weight:700}.quick-contact-tags .check{padding:6px 9px;background:var(--card-2);border:1px solid var(--line);border-radius:8px}.quick-contact-tags .check:has(input:checked){background:var(--info-soft);border-color:#a0aec8;color:var(--navy)}.quick-contact-company{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-2)}.payment-caption{margin:0;padding:0 18px 16px;font-size:12px;color:var(--ink-2)}.payment-form{padding:16px 18px;display:grid;grid-gap:12px;gap:12px;border-block:1px solid var(--line);background:var(--card-2)}.payment-form h3{margin:0;font-size:14px}.payment-record{padding:16px 18px;border-top:1px solid var(--line)}.payment-record-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.payment-record dl{display:grid;grid-gap:8px;gap:8px;font-size:12px}.payment-record dl>div{display:grid;grid-template-columns:110px minmax(0,1fr);grid-gap:12px;gap:12px}.payment-record dt{color:var(--ink-2)}.payment-record dd{margin:0;overflow-wrap:anywhere}.payment-remove{margin-top:12px;padding:12px;background:var(--warn-soft);border-radius:8px}.payment-remove p{margin:0 0 8px}.contacts-data-table{min-width:680px}.page-header-actions,.page-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page-help{position:relative;min-width:0}.page-help-trigger{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line-2);border-radius:50%;background:#ffffffb0;color:var(--ink-2);cursor:pointer}.page-help-trigger svg{width:18px;height:18px}.page-help-trigger:hover,.page-help-trigger[aria-expanded=true]{background:var(--card-2);color:var(--navy)}.page-help-callout{position:absolute;z-index:20;top:calc(100% + 10px);left:0;width:min(360px,calc(100vw - 120px));padding:16px;border:1px solid var(--line-2);border-radius:12px;background:var(--card);box-shadow:var(--shadow);font-size:13px;line-height:1.6;color:var(--ink-2)}.page-help-callout:before{content:"";position:absolute;top:-6px;left:24px;width:10px;height:10px;border-left:1px solid var(--line-2);border-top:1px solid var(--line-2);background:var(--card);transform:rotate(45deg)}.contact-record-page .card-title{font-family:var(--sans);font-size:15px;font-weight:700;line-height:1.4}.contact-record-page :is(.field-hint,.payment-caption,.sub-line,.consent-summary-copy,.consent-sub,.contact-related-subtitle,.feed-empty,.empty p){font-family:var(--sans);font-size:12px;font-weight:400;line-height:1.6;color:var(--ink-3)}.contact-record-page :is(.cfact dt,.section-label,.contact-rail-label){font-family:var(--sans);font-size:11px;font-weight:700;line-height:1.4;letter-spacing:.07em}.contact-record-page .cfact dd{font-family:var(--sans);font-size:13px;font-weight:400;line-height:1.5}.contact-related-link{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px}.contact-related-link:hover{border-color:var(--line-2);background:var(--card-2)}.contact-related-subtitle{display:block;margin-top:4px}.contacts-data-table th:first-child{width:26%}@media (max-width:640px){.quick-contact-form{padding:22px}}.module-table-scroll{overflow-x:auto}.program-toolbar{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;margin-bottom:20px}.program-toolbar .field{min-width:180px}.program-gantt{min-width:720px;padding:16px}.gantt-row{display:grid;grid-template-columns:260px minmax(400px,1fr);border-bottom:1px solid var(--border,#ddd);min-height:80px}.gantt-header{min-height:40px;align-items:center}.gantt-scale{display:flex;justify-content:space-between;gap:20px;font-size:12px}.gantt-task{padding:12px 16px 12px 0;overflow-wrap:anywhere}.gantt-track{position:relative;background:repeating-linear-gradient(to right,transparent 0,transparent calc(10% - 1px),var(--border,#ddd) calc(10% - 1px),var(--border,#ddd) 10%)}.gantt-bar{position:absolute;top:24px;height:30px;min-width:4px;border-radius:4px;background:#b7c8e2;color:#152e50;overflow:hidden}.gantt-bar>span{position:absolute;inset:0 auto 0 0;background:#527bb0}.gantt-bar>b{position:relative;display:block;padding:5px 8px;font-size:12px;color:#10243e}.gantt-bar.complete,.gantt-bar.complete>span{background:#88b59c}*{scrollbar-width:thin;scrollbar-color:#71809b #dce2ec}.sidebar{--scroll-thumb:#aebbd9;--scroll-line:#ffffff30}.sidebar *{scrollbar-color:#aebbd9 #ffffff30}@supports selector(::-webkit-scrollbar){*,.sidebar *,.subnav,.tablewrap{scrollbar-width:auto;scrollbar-color:auto}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:linear-gradient(to right,transparent 3px,var(--scroll-line,#ccd4e2) 3px,var(--scroll-line,#ccd4e2) 5px,transparent 5px)}::-webkit-scrollbar-track:horizontal{background:linear-gradient(to bottom,transparent 3px,var(--scroll-line,#ccd4e2) 3px,var(--scroll-line,#ccd4e2) 5px,transparent 5px)}::-webkit-scrollbar-thumb{background:var(--scroll-thumb,#71809b);border:1px solid transparent;background-clip:padding-box;border-radius:10px;min-height:32px}::-webkit-scrollbar-thumb:hover{background-color:#4d5f80}::-webkit-scrollbar-button{display:none;width:0;height:0}::-webkit-scrollbar-corner{background:transparent}.subnav::-webkit-scrollbar{display:block}}.canvas{min-height:0;margin-top:12px;border:1px solid #ffffffda;border-radius:16px}.brand-logo.brand-icon{width:44px;height:44px;object-fit:contain}:root[data-nav=collapsed] .brand-logo.brand-icon{width:32px;height:32px}.contact-profile-identity{position:relative;padding:22px 20px 18px}.contact-profile-edit{position:absolute;top:12px;right:14px;padding:6px;color:var(--muted);font-size:12px;font-weight:600;border-radius:6px}.contact-profile-edit:hover{color:var(--ink);background:#eef1f7}.contact-profile-edit:focus-visible{outline:2px solid #52658d;outline-offset:2px}.contact-profile-avatar{width:52px;height:52px;margin-bottom:14px}.contact-workspace-page .contact-profile .card-head{min-height:44px;padding:12px 20px}.contact-workspace-page .contact-profile .contact-facts{padding:16px 20px;gap:12px}.contact-workspace-page .contact-profile .contact-facts dt{margin-bottom:2px}.contact-workspace-page .contact-profile .contact-facts dd{line-height:1.45}.contact-workspace-page .contact-profile .contact-quick{padding:12px 20px}.contact-workspace-page .contact-profile .contact-edit-form{padding:16px 20px}.contact-workspace-content .record-menu{gap:8px 20px;flex-wrap:wrap}@media (max-width:760px){.brand-logo.brand-icon{width:32px;height:32px}}@media print{.canvas{margin-top:0;border:0;border-radius:0}.contact-profile-edit{display:none}}