:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#17233b;background:#f5f7fb;--cf-text: #17233b;--cf-muted: #52617a;--cf-subtle: #5f6c84;--cf-border: #dce4ef;--cf-divider: #e8edf4;--cf-surface: #fff;--cf-hover: #f1f5fb;--cf-brand: #1e40af;--cf-brand-strong: #173589;--cf-brand-soft: #eaf0ff;--cf-shadow: 0 5px 20px rgba(23, 35, 59, .035);--cf-shadow-raised: 0 12px 32px rgba(23, 35, 59, .12);--topbar-height: 64px;--rail-width: 56px;--sidebar-width: 240px;--module-blue-bg: #e0e7ff;--module-blue-fg: #1e40af;--module-green-bg: #dcfce7;--module-green-fg: #155f31;--module-amber-bg: #fef3c7;--module-amber-fg: #873b0d;--module-aqua-bg: #cffafe;--module-aqua-fg: #14586e;--module-violet-bg: #ede9fe;--module-violet-fg: #5b21b6;--module-magenta-bg: #fce7f3;--module-magenta-fg: #98164b;--module-red-bg: #fee2e2;--module-red-fg: #951a1a;--module-gray-bg: #e5e7eb;--module-gray-fg: #374151;--module-neutral-bg: #edf0f4;--module-neutral-fg: #455166}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid #d97706;outline-offset:3px}main[tabindex="-1"]:focus{outline:none}.app-shell{min-height:100vh}.topbar{height:72px;padding:0 clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #dce4ef}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:750;letter-spacing:-.04em}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:9px;background:#1e40af;color:#fff;font-size:20px}.muted,small{color:var(--cf-muted)}.button{min-height:44px;padding:9px 16px;border-radius:8px;border:1px solid transparent;font-weight:650}.button.primary{background:#1e40af;color:#fff}.button.primary:hover{background:#173589}.button.secondary{border-color:#cbd5e1;background:#fff;color:#173589}.button.secondary:hover{background:#eff5ff}.button.ghost,.button.text{background:transparent;color:#1e40af}.button.text{padding-inline:8px}.button.danger{color:#a32a2a}.auth-layout{max-width:1120px;margin:0 auto;padding:clamp(32px,8vw,100px) 24px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.8fr);align-items:center;gap:clamp(32px,8vw,112px)}.intro h1{max-width:10ch;font-size:clamp(42px,6vw,76px);line-height:1.02;letter-spacing:-.06em;margin:14px 0 24px}.intro>p:last-child{max-width:48ch;color:var(--cf-muted);font-size:18px;line-height:1.6}.eyebrow{margin:0;color:#1e40af;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.panel{border:1px solid #dce4ef;border-radius:12px;background:#fff;box-shadow:0 5px 20px #17233b09}.auth-panel{padding:clamp(24px,4vw,36px)}h2{margin:0 0 8px;font-size:22px;letter-spacing:-.03em}.auth-panel>.muted{margin:0 0 26px}.form{display:grid;gap:16px}.form label{display:grid;gap:7px;font-size:14px;font-weight:650}.form input,.form select,.search input{min-height:44px;padding:9px 12px;border:1px solid #b9c6d8;border-radius:7px;background:#fff;color:#17233b}.form .button.text{justify-self:start}.message{padding:12px 14px;border-radius:8px;line-height:1.5}.error{background:#fff1f1;color:#942b2b}.success{background:#edf8f0;color:#176637}.content{min-width:0;max-width:1500px;width:100%;padding:clamp(24px,4vw,48px);margin:0 auto}.page-heading,.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.page-heading{margin-bottom:30px}.page-heading h1{margin:8px 0;font-size:clamp(30px,4vw,42px);letter-spacing:-.045em}.page-heading .muted{margin:0}.root-companies{display:grid;gap:8px;padding:12px;border-top:1px solid #e8edf4}.root-companies label{font-size:12px;font-weight:700}.root-companies select,.root-companies input{min-width:0;min-height:44px;padding:8px;border:1px solid #b9c6d8;border-radius:7px}.project-customer{display:block;margin-top:4px}.task-list{padding:0;margin:0;list-style:none}.task-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 10px;border-bottom:1px solid #e8edf4}.task-list small{display:block;margin-top:5px}.task-form{display:flex;align-items:end;flex-wrap:wrap;margin-top:24px;padding-top:18px;border-top:1px solid #e8edf4}.task-form label{min-width:190px;flex:1}.pipeline-board{display:grid;grid-template-columns:repeat(6,minmax(190px,1fr));gap:12px;overflow-x:auto;padding-bottom:8px}.pipeline-column{min-width:190px;min-height:150px;padding:12px;border:1px solid #dce4ef;border-radius:9px;background:#f8fafd}.pipeline-column h3{margin:0 0 12px;font-size:14px}.pipeline-column>.muted{font-size:13px}.pipeline-card{display:grid;gap:5px;width:100%;min-height:68px;margin-bottom:8px;padding:11px;border:1px solid #dce4ef;border-radius:7px;background:#fff;color:#17233b;text-align:left}.pipeline-card:hover{border-color:#1e40af}.pipeline-card span,.pipeline-card small{color:var(--cf-muted);font-size:12px}.customer-picker{display:grid;gap:7px}.customer-picker input,.customer-picker select{width:100%}.full-width{grid-column:1/-1}.full-width textarea{min-height:82px;padding:9px 12px;border:1px solid #b9c6d8;border-radius:7px;resize:vertical}.linked-action{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:24px;padding-top:22px;border-top:1px solid #e8edf4}.linked-action h3{margin:0}.linked-action p{margin:7px 0 0}.linked-action .search{flex-wrap:wrap}.list-panel,.form-panel{padding:24px;margin-bottom:24px}.section-heading{align-items:center;margin-bottom:20px}.search{display:flex;align-items:center;gap:8px}.search label{font-size:13px;font-weight:650}.search input{width:220px}.option-search{display:grid;gap:7px}.option-search label{font-size:14px;font-weight:650}.option-search input{min-height:44px;padding:9px 12px;border:1px solid #b9c6d8;border-radius:7px;background:#fff;color:#17233b}.option-search__status{margin:0;font-size:13px}.option-search__status:empty{margin-top:-7px}.table-wrap{overflow-x:auto}.check-target{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:pointer}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th,td{padding:14px 12px;border-bottom:1px solid #e8edf4;vertical-align:middle}th{color:#61708b;font-size:12px;text-transform:uppercase;letter-spacing:.05em}tbody tr:hover{background:#f7f9fc}.mono{font-family:Fira Code,Consolas,monospace;font-size:13px}.status{display:inline-block;padding:5px 9px;border-radius:99px;font-size:12px;font-weight:700}.status.active{background:#e6f6ec;color:#176637}.status.inactive{background:#edf0f4;color:var(--cf-muted)}.actions{white-space:nowrap}.empty{text-align:center;color:var(--cf-subtle);padding:32px}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:20px;font-size:13px;color:var(--cf-muted)}.customer-form{max-width:680px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}.form-actions{display:flex;gap:10px;align-items:center;grid-column:1/-1}@media(max-width:850px){.auth-layout{grid-template-columns:1fr}.intro h1{max-width:14ch}.content{padding:24px}.section-heading,.page-heading{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.topbar{height:64px}.topbar>.muted{display:none}.auth-layout{padding:28px 20px}.intro h1{font-size:44px}.content{padding:20px}.list-panel,.form-panel{padding:16px}.search{align-items:stretch;flex-wrap:wrap;width:100%}.search label{width:100%}.search input{flex:1;min-width:140px;width:auto}.customer-form{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.audit-metadata{max-width:50ch;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--cf-muted);font:inherit;font-size:12px}.team-tabs{display:flex;gap:8px;padding:20px clamp(20px,4vw,48px) 0}.team-tab{min-height:44px;padding:9px 16px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#173589;font-weight:700}.team-tab[aria-current=page]{border-color:#1e40af;background:#eaf0ff;color:#173589}.team-shell>.content{padding-top:24px}.members-workspace{min-width:0;max-width:1500px;width:100%;padding:24px clamp(20px,4vw,48px);margin:0 auto}.members-heading{margin-bottom:24px}.members-heading h2{margin:8px 0;font-size:clamp(26px,3vw,34px);letter-spacing:-.04em}.members-workspace h3{margin:0 0 6px;font-size:19px;letter-spacing:-.02em}.members-workspace .section-heading .muted{margin:4px 0 0}.inline-members-form{display:flex;align-items:end;flex-wrap:wrap;margin-top:20px;padding-top:20px;border-top:1px solid #e8edf4}.inline-members-form label{min-width:min(100%,280px);flex:1}.members-workspace td select{min-height:40px;padding:7px 10px;border:1px solid #b9c6d8;border-radius:7px;background:#fff;color:#17233b}.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}.invite-existing{margin:22px 0 0;color:var(--cf-muted);font-size:14px}.timeline{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:12px}.timeline li{padding:12px 14px;border:1px solid #dce4ef;border-radius:9px;background:#f8fafd}.timeline-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--cf-muted);font-size:12px}.timeline-type{padding:2px 8px;border-radius:999px;background:#e0e7ff;color:#1e40af;font-weight:700}.timeline-body{margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.assignee-select select{min-height:36px;max-width:220px;padding:4px 8px;border:1px solid #b9c6d8;border-radius:7px;background:#fff}.comments{margin-top:18px;padding-top:18px;border-top:1px solid #e8edf4}.comments h3{margin:0 0 12px}.module-color--blue{--module-bg: var(--module-blue-bg);--module-fg: var(--module-blue-fg)}.module-color--green{--module-bg: var(--module-green-bg);--module-fg: var(--module-green-fg)}.module-color--amber{--module-bg: var(--module-amber-bg);--module-fg: var(--module-amber-fg)}.module-color--aqua{--module-bg: var(--module-aqua-bg);--module-fg: var(--module-aqua-fg)}.module-color--violet{--module-bg: var(--module-violet-bg);--module-fg: var(--module-violet-fg)}.module-color--magenta{--module-bg: var(--module-magenta-bg);--module-fg: var(--module-magenta-fg)}.module-color--red{--module-bg: var(--module-red-bg);--module-fg: var(--module-red-fg)}.module-color--gray{--module-bg: var(--module-gray-bg);--module-fg: var(--module-gray-fg)}.module-color--neutral{--module-bg: var(--module-neutral-bg);--module-fg: var(--module-neutral-fg)}.app-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;height:var(--topbar-height);padding:0 16px;border-bottom:1px solid var(--cf-border);background:var(--cf-surface)}.app-topbar__brand{display:flex;align-items:center;gap:10px;min-height:44px;font-size:20px;font-weight:750;letter-spacing:-.04em}.app-topbar__brand-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:9px;background:var(--cf-brand);color:#fff;font-size:20px}.app-topbar__spacer{flex:1}.app-topbar__menu-button,.app-topbar__avatar{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--cf-text)}.app-topbar__menu-button{display:none}.app-topbar__menu-button:hover{background:var(--cf-hover)}.app-topbar__avatar{border-radius:50%;background:var(--cf-brand-soft);color:var(--cf-brand)}.app-topbar__avatar:hover,.app-topbar__avatar[aria-expanded=true]{background:#dbe5ff}.app-topbar__company,.app-topbar__avatar-menu{position:relative}.app-topbar__company-toggle{display:flex;align-items:center;gap:8px;max-width:280px;min-height:44px;padding:0 12px;border:1px solid #cbd5e1;border-radius:8px;background:var(--cf-surface);color:var(--cf-brand-strong);font-weight:650}.app-topbar__company-toggle:hover,.app-topbar__company-toggle[aria-expanded=true]{background:#eff5ff}.app-topbar__company-toggle svg{flex-shrink:0}.app-topbar__company-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-topbar__panel{position:absolute;top:calc(100% + 8px);right:0;z-index:40;display:grid;gap:4px;width:max-content;min-width:220px;max-width:calc(100vw - 32px);padding:8px;border:1px solid var(--cf-border);border-radius:12px;background:var(--cf-surface);box-shadow:var(--cf-shadow-raised)}.app-topbar__company .app-topbar__panel{width:min(320px,calc(100vw - 32px))}.app-topbar__panel .root-companies:first-child{border-top:0}.app-topbar__role{margin:0;padding:8px 12px 4px;color:var(--cf-muted);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.app-topbar__menu-item{display:flex;align-items:center;width:100%;min-height:44px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--cf-text);font-weight:600;text-align:left}.app-topbar__menu-item:hover{background:var(--cf-hover)}.app-topbar__menu-item[aria-pressed=true]{background:var(--cf-brand-soft);color:var(--cf-brand)}.shell{display:grid;grid-template-columns:var(--rail-width) minmax(0,1fr);min-height:calc(100vh - var(--topbar-height))}.shell--with-sidebar{grid-template-columns:var(--rail-width) var(--sidebar-width) minmax(0,1fr)}.shell__content{min-width:0}.shell__messages{display:grid;gap:8px;max-width:1500px;margin:0 auto;padding:16px clamp(24px,4vw,48px) 0}.shell__messages .message{margin:0}.module-rail{position:sticky;top:var(--topbar-height);align-self:start;display:flex;flex-direction:column;align-items:center;gap:8px;height:calc(100vh - var(--topbar-height));padding:12px 0;overflow-y:auto;border-right:1px solid var(--cf-border);background:var(--cf-surface)}.module-rail__button{--module-bg: var(--cf-hover);--module-fg: var(--cf-muted);position:relative;display:grid;flex-shrink:0;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--module-fg);transition:background-color .15s ease}.module-rail__home{--module-bg: var(--cf-brand-soft);--module-fg: var(--cf-brand)}.module-rail__button:hover,.module-rail__button--active{background:var(--module-bg)}.module-rail__button--active:before{position:absolute;top:10px;bottom:10px;left:-6px;width:3px;border-radius:0 3px 3px 0;background:var(--module-fg);content:""}.module-rail__button:focus-visible{outline-offset:2px}.module-rail__divider{flex-shrink:0;width:28px;margin:0;border:0;border-top:1px solid var(--cf-divider)}.module-sidebar{position:sticky;top:var(--topbar-height);align-self:start;display:flex;flex-direction:column;gap:12px;height:calc(100vh - var(--topbar-height));padding:16px 12px;overflow-y:auto;border-right:1px solid var(--cf-border);background:var(--cf-surface)}.module-sidebar__header{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 4px}.module-sidebar__module-icon{flex-shrink:0;box-sizing:content-box;padding:7px;border-radius:9px;background:var(--module-bg);color:var(--module-fg)}.module-sidebar__title{flex:1;min-width:0;margin:0;font-size:16px;font-weight:750;letter-spacing:-.01em;overflow-wrap:anywhere}.module-sidebar__close{display:none;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--cf-muted);font-size:26px;line-height:1}.module-sidebar__close:hover{background:var(--cf-hover)}.module-sidebar__list{display:grid;gap:2px;margin:0;padding:0;list-style:none}.module-sidebar__list:not(.module-sidebar__list--depth-0){margin:2px 0 6px 19px;padding-left:8px;border-left:1px solid var(--cf-divider)}.module-sidebar__list[hidden]{display:none}.module-sidebar__group,.module-sidebar__page{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--cf-text);font-size:14px;font-weight:600;text-align:left}.module-sidebar__group{color:var(--cf-muted);font-weight:700}.module-sidebar__group svg,.module-sidebar__page svg{flex-shrink:0}.module-sidebar__group:hover,.module-sidebar__page:hover{background:var(--cf-hover)}.module-sidebar__page--active,.module-sidebar__page--active:hover{background:var(--module-bg);color:var(--module-fg);font-weight:700}.module-sidebar__label{flex:1;min-width:0;overflow-wrap:anywhere}.module-sidebar__chevron{color:var(--cf-subtle)}.module-drawer-backdrop{display:none}.breadcrumb{max-width:1500px;margin:0 auto;padding:20px clamp(24px,4vw,48px) 0}.breadcrumb__list{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none;color:var(--cf-muted);font-size:13px;font-weight:650}.breadcrumb__separator{padding:0 4px;color:var(--cf-subtle);white-space:pre}.breadcrumb+.content{padding-top:12px}.module-home__title{margin:0 0 24px;font-size:clamp(26px,3vw,34px);letter-spacing:-.04em}.module-home__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin:0;padding:0;list-style:none}.module-home__cell{display:flex}.module-home__tile{display:grid;grid-template-areas:"icon name" "icon count";grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:14px;row-gap:2px;width:100%;min-height:88px;padding:18px;border:1px solid var(--cf-border);border-radius:12px;background:var(--cf-surface);box-shadow:var(--cf-shadow);color:var(--cf-text);text-align:left;transition:border-color .15s ease,box-shadow .15s ease}.module-home__tile:hover{border-color:var(--cf-brand);box-shadow:var(--cf-shadow-raised)}.module-home__icon{display:grid;grid-area:icon;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--module-bg);color:var(--module-fg)}.module-home__name{grid-area:name;align-self:end;font-size:16px;font-weight:700;overflow-wrap:anywhere}.module-home__count{grid-area:count;align-self:start;color:var(--cf-muted);font-size:13px}.module-home__empty{margin:0;padding:16px;border:1px solid var(--cf-border);border-radius:12px;background:var(--cf-surface);color:var(--cf-muted);line-height:1.5}@media(max-width:900px){.app-topbar__menu-button,.module-sidebar__close{display:grid}.shell--with-sidebar{grid-template-columns:var(--rail-width) minmax(0,1fr)}.module-sidebar{position:fixed;top:var(--topbar-height);bottom:0;left:var(--rail-width);z-index:25;width:min(var(--sidebar-width),calc(100vw - var(--rail-width)));height:auto;visibility:hidden;opacity:0;transform:translate(-12px);transition:transform .2s ease,opacity .2s ease,visibility 0s linear .2s}.module-sidebar--open{visibility:visible;opacity:1;transform:none;box-shadow:var(--cf-shadow-raised);transition:transform .2s ease,opacity .2s ease}.module-drawer-backdrop{position:fixed;inset:var(--topbar-height) 0 0 0;z-index:20;display:block;background:#17233b66}.breadcrumb{padding:20px 24px 0}.shell__messages{padding:16px 24px 0}}@media(max-width:560px){.app-topbar{gap:8px;padding:0 8px}.app-topbar__brand{font-size:0}.app-topbar__company-toggle{max-width:160px}.breadcrumb,.shell__messages{padding-inline:20px}}.data-grid{min-width:0;border:1px solid var(--cf-border);border-radius:12px;background:var(--cf-surface);box-shadow:var(--cf-shadow);overflow:hidden}.data-grid__banner{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:12px}.data-grid__banner .message{flex:1 1 240px;margin:0}.data-grid__table-wrap{max-height:min(70vh,720px);overflow:auto;transition:opacity .15s ease}.data-grid[aria-busy]:not(.data-grid--stale) .data-grid__table-wrap{min-height:min(70vh,720px)}.data-grid__table-wrap:focus-visible{outline:3px solid #d97706;outline-offset:-3px}.data-grid--stale .data-grid__table-wrap{opacity:.55}.data-grid__table{width:100%;min-width:560px;table-layout:auto;border-collapse:separate;border-spacing:0;font-size:14px}.data-grid__head th{position:sticky;top:0;z-index:1;height:40px;padding:8px 12px;border-bottom:0;box-shadow:inset 0 -1px 0 var(--cf-border);background:var(--cf-hover);color:var(--cf-muted);font-size:12px;font-weight:700;letter-spacing:.05em;text-align:left;text-transform:uppercase;white-space:nowrap}.data-grid__table td{height:48px;padding:8px 12px;border-bottom:1px solid var(--cf-divider);vertical-align:middle}.data-grid__head th.data-grid__cell--end,.data-grid__table td.data-grid__cell--end{text-align:right;font-variant-numeric:tabular-nums}.data-grid .mono,.grid-toolbar__filters .mono,.data-grid__table td.data-grid__cell--mono{font-size:14px}.data-grid__row{cursor:pointer}.data-grid__row:hover{background:var(--cf-hover)}.data-grid__row:focus-visible{outline:3px solid #d97706;outline-offset:-3px}.data-grid__row--selected,.data-grid__row--selected:hover{background:var(--cf-brand-soft);box-shadow:inset 3px 0 0 var(--cf-brand)}.data-grid__row--static{cursor:default}.data-grid__row--static:hover{background:transparent}.data-grid__skeleton-row td{height:48px}.data-grid__skeleton-block{display:block;width:70%;height:14px;border-radius:4px;background:var(--cf-divider)}.data-grid__state{display:grid;justify-items:center;gap:8px;min-height:180px;align-content:center;padding:32px 20px;border-top:1px solid var(--cf-divider);text-align:center}.data-grid__state-title{margin:0;font-size:18px;font-weight:700;letter-spacing:-.02em}.data-grid__state-text{margin:0;max-width:48ch;color:var(--cf-muted);font-size:14px;line-height:1.5}.data-grid__state .message{margin:0}.data-grid__state .button{margin-top:8px}@media(prefers-reduced-motion:reduce){.data-grid__table-wrap{transition:none}}.grid-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:12px}.grid-toolbar__search{display:grid;gap:4px;flex:1 1 260px;max-width:420px;min-width:0}.grid-toolbar__label{color:var(--cf-muted);font-size:12px;font-weight:700;letter-spacing:.02em}.grid-toolbar__field{position:relative;display:flex;align-items:center}.grid-toolbar__input{width:100%;min-height:40px;padding:8px 40px 8px 12px;border:1px solid #cbd5e1;border-radius:8px;background:var(--cf-surface);color:var(--cf-text);font-size:14px;appearance:none}.grid-toolbar__input::placeholder{color:var(--cf-subtle)}.grid-toolbar__input::-webkit-search-cancel-button,.grid-toolbar__input::-webkit-search-decoration{appearance:none;display:none}.grid-toolbar__input:hover{border-color:var(--cf-subtle)}.grid-toolbar__input:focus-visible{outline:3px solid #d97706;outline-offset:1px}.grid-toolbar__clear{position:absolute;top:50%;right:2px;display:grid;place-items:center;width:36px;height:36px;padding:0;transform:translateY(-50%);border:0;border-radius:6px;background:transparent;color:var(--cf-muted)}.grid-toolbar__clear:hover{background:var(--cf-hover);color:var(--cf-text)}.grid-toolbar__clear:focus-visible{outline:3px solid #d97706;outline-offset:-2px}.grid-toolbar__filters,.grid-toolbar__chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.grid-toolbar__filters:empty{display:none}.grid-toolbar__filters select,.grid-toolbar__filters input{min-height:40px;padding:8px 12px;border:1px solid #cbd5e1;border-radius:8px;background:var(--cf-surface);color:var(--cf-text);font-size:14px}.grid-toolbar__filters select:focus-visible,.grid-toolbar__filters input:focus-visible{outline:3px solid #d97706;outline-offset:1px}.grid-toolbar__chip{min-height:36px;padding:6px 14px;border:1px solid #cbd5e1;border-radius:999px;background:var(--cf-surface);color:var(--cf-text);font-size:14px;font-weight:600}.grid-toolbar__chip:hover{background:var(--cf-hover)}.grid-toolbar__chip--active,.grid-toolbar__chip[aria-pressed=true]{border-color:var(--cf-brand);background:var(--cf-brand-soft);color:var(--cf-brand-strong)}.grid-toolbar__chip:focus-visible{outline:3px solid #d97706;outline-offset:2px}.grid-toolbar__count{margin:0 0 0 auto;padding-bottom:10px;color:var(--cf-muted);font-size:14px;font-variant-numeric:tabular-nums}.grid-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px;padding:8px 12px;border-top:1px solid var(--cf-divider);background:var(--cf-surface)}.grid-pager__page{min-width:64px;color:var(--cf-muted);font-size:14px;font-variant-numeric:tabular-nums;text-align:center}.grid-pager__button{min-height:40px}.grid-pager__button:disabled{cursor:not-allowed}.grid-pager__pages{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0;padding:0;list-style:none}.grid-pager__number{min-width:40px;padding:8px 10px;font-variant-numeric:tabular-nums}.grid-pager__number[aria-current=page]{border-color:var(--cf-brand);background:var(--cf-brand-soft);color:var(--cf-brand-strong);font-weight:750}.grid-pager__gap{min-width:24px;color:var(--cf-muted);text-align:center}.grid-pager__size{display:inline-flex;align-items:center;gap:8px;color:var(--cf-muted);font-size:14px;white-space:nowrap}.grid-pager__size select{min-height:40px;padding:8px 12px;border:1px solid #cbd5e1;border-radius:8px;background:var(--cf-surface);color:var(--cf-text);font-size:14px}.grid-pager__size select:focus-visible{outline:3px solid #d97706;outline-offset:1px}.grid-pager__size select:disabled{cursor:not-allowed;opacity:.55}.grid-card{min-width:0;border:1px solid var(--cf-border);border-radius:12px;background:var(--cf-surface);box-shadow:var(--cf-shadow);overflow:hidden}.grid-card>.data-grid{border:0;border-radius:0;box-shadow:none}@media(max-width:640px){.grid-toolbar__search{flex-basis:100%;max-width:none}.grid-toolbar__count{margin-left:0;padding-bottom:0}.grid-pager{justify-content:space-between}}dialog.form-panel,dialog.confirm-dialog{margin:auto;padding:0;border:1px solid var(--cf-border);border-radius:12px;background:var(--cf-surface);color:var(--cf-text);box-shadow:var(--cf-shadow-raised);overflow:hidden}dialog.form-panel[open],dialog.confirm-dialog[open]{display:flex;flex-direction:column}.form-panel::backdrop,.confirm-dialog::backdrop{background:#17233b73}.form-panel.form-panel--dialog{width:calc(100% - 32px);max-width:560px;max-height:calc(100% - 48px)}dialog.confirm-dialog{width:calc(100% - 32px);max-width:440px;max-height:calc(100% - 48px)}.confirm-dialog__message{margin:0;overflow-wrap:anywhere}.confirm-dialog .button:disabled{opacity:.55}.confirm-dialog .button.primary:disabled{background:#1e40af}.confirm-dialog .button.primary.danger{background:#a32a2a;color:#fff}.confirm-dialog .button.primary.danger:hover:not(:disabled){background:#8a2323}.form-panel.form-panel--drawer{inset:0 0 0 auto;width:480px;max-width:100%;height:auto;max-height:none;margin:0;border-width:0 0 0 1px;border-radius:0}.form-panel--drawer.form-panel--lg{width:640px}.form-panel__header{display:flex;flex:none;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 12px 24px;border-bottom:1px solid var(--cf-divider)}.form-panel__title{min-width:0;margin:0;font-size:18px;line-height:1.3;letter-spacing:-.02em;overflow-wrap:anywhere}.form-panel__close{display:grid;flex:none;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--cf-muted)}.form-panel__close:hover{background:var(--cf-hover);color:var(--cf-text)}.form-panel__content{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.form-panel__body{flex:1 1 auto;min-height:0;padding:20px 24px 24px;overflow-y:auto;overscroll-behavior:contain;line-height:1.5}.form-panel__sections{margin-top:24px}.form-panel__sections:not(:has(>:not([hidden]))){margin-top:0}.form-panel__body :is(.form-panel__form,.form-panel__fields) .form{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:16px;max-width:none;margin-top:0}.form-panel__body :is(.form-panel__form,.form-panel__fields) .form>:not(label){grid-column:1/-1}.form-panel__error,.form-panel__status{flex:none;margin:0 24px 16px;font-size:14px}.form-panel__status:empty{margin:0}.form-panel__footer{display:flex;flex:none;flex-wrap:wrap;align-items:center;gap:8px;padding:16px 24px;border-top:1px solid var(--cf-divider);background:var(--cf-surface)}.form-panel__footer-extra{display:flex;gap:8px;margin-left:auto}dialog.form-panel button:disabled,dialog.confirm-dialog button:disabled{cursor:not-allowed}@keyframes form-panel-dialog-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes form-panel-drawer-in{0%{transform:translate(100%)}}@keyframes form-panel-backdrop-in{0%{opacity:0}}.form-panel--dialog[open],.confirm-dialog[open]{animation:form-panel-dialog-in .18s ease-out}.form-panel--drawer[open]{animation:form-panel-drawer-in .18s ease-out}.form-panel[open]::backdrop,.confirm-dialog[open]::backdrop{animation:form-panel-backdrop-in .18s ease-out}@media(max-width:640px){.form-panel.form-panel--drawer,.form-panel--drawer.form-panel--lg{width:100%;border-left-width:0}.form-panel__header{padding-left:16px}.form-panel__body{padding:16px}.form-panel__body :is(.form-panel__form,.form-panel__fields) .form{grid-template-columns:minmax(0,1fr)}.form-panel__error,.form-panel__status{margin-inline:16px}.form-panel__footer{padding:12px 16px}}@media(prefers-reduced-motion:reduce){.form-panel[open],.form-panel[open]::backdrop,.confirm-dialog[open],.confirm-dialog[open]::backdrop{animation:none}}.linked-action--priced{flex-wrap:wrap;justify-content:flex-start}.linked-action--priced>label{flex:1 1 140px;min-width:0}.linked-action--priced>label:first-child{flex:2 1 240px}.linked-action--priced>label input{width:100%;min-width:0}.money-total{font-weight:700;font-variant-numeric:tabular-nums}
