.app-shell[data-operations-design-system=v1] .ops53-kpiCard,.app-shell[data-operations-design-system=v1] .ops53-pageLead,.app-shell[data-operations-design-system=v1] .ops53-panel{box-sizing:border-box}.app-shell[data-operations-design-system=v1] .ops53-pageLead{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:92px;padding:18px 20px;border:1px solid rgba(148,163,184,.28);border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,251,255,.96));box-shadow:0 8px 26px rgba(15,23,42,.05)}.app-shell[data-operations-design-system=v1] .ops53-pageLeadCopy{min-width:0}.app-shell[data-operations-design-system=v1] .ops53-pageLead h1{margin:2px 0 4px;font-size:clamp(22px,2vw,30px);line-height:1.08;letter-spacing:-.035em;color:#0f1f45}.app-shell[data-operations-design-system=v1] .ops53-pageLead p{margin:0;max-width:860px;color:#64748b;font-size:var(--ts-sm);line-height:1.5}.app-shell[data-operations-design-system=v1] .ops53-eyebrow{color:#1d4ed8;font-size:var(--ts-2xs);font-weight:var(--tw-bold);letter-spacing:.06em}.app-shell[data-operations-design-system=v1] .ops53-inlineActions,.app-shell[data-operations-design-system=v1] .ops53-pageLeadActions,.app-shell[data-operations-design-system=v1] .ops53-panelActions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.app-shell[data-operations-design-system=v1] .ops53-kpiGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.app-shell[data-operations-design-system=v1] .ops53-kpiCard{position:relative;display:flex;gap:11px;align-items:center;min-height:92px;padding:14px;border:1px solid rgba(148,163,184,.28);border-radius:14px;background:#fff;color:inherit;text-decoration:none;overflow:hidden;box-shadow:0 5px 18px rgba(15,23,42,.045)}.app-shell[data-operations-design-system=v1] .ops53-kpiCard:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:#cbd5e1}.app-shell[data-operations-design-system=v1] .ops53-kpiCard.is-blue:after{background:#2563eb}.app-shell[data-operations-design-system=v1] .ops53-kpiCard.is-green:after{background:#16a34a}.app-shell[data-operations-design-system=v1] .ops53-kpiCard.is-amber:after{background:#d97706}.app-shell[data-operations-design-system=v1] .ops53-kpiCard.is-red:after{background:#dc2626}.app-shell[data-operations-design-system=v1] .ops53-kpiCard.is-indigo:after{background:#7c3aed}.app-shell[data-operations-design-system=v1] .ops53-kpiCard.is-cyan:after{background:#0891b2}.app-shell[data-operations-design-system=v1] .ops53-kpiIcon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;background:linear-gradient(135deg,#eff6ff,#dbeafe);box-shadow:inset 0 0 0 1px rgba(37,99,235,.08)}.app-shell[data-operations-design-system=v1] .ops53-kpiCard.is-green .ops53-kpiIcon{background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.app-shell[data-operations-design-system=v1] .ops53-kpiCard.is-amber .ops53-kpiIcon{background:linear-gradient(135deg,#fff7ed,#ffedd5)}.app-shell[data-operations-design-system=v1] .ops53-kpiCard.is-red .ops53-kpiIcon{background:linear-gradient(135deg,#fff1f2,#ffe4e6)}.app-shell[data-operations-design-system=v1] .ops53-kpiCard.is-indigo .ops53-kpiIcon{background:linear-gradient(135deg,#f5f3ff,#ede9fe)}.app-shell[data-operations-design-system=v1] .ops53-kpiCard.is-cyan .ops53-kpiIcon{background:linear-gradient(135deg,#ecfeff,#cffafe)}.app-shell[data-operations-design-system=v1] .ops53-kpiCopy{min-width:0;display:grid;gap:3px}.app-shell[data-operations-design-system=v1] .ops53-kpiCopy>span{color:#52627c;font-size:var(--ts-2xs);font-weight:var(--tw-bold)}.app-shell[data-operations-design-system=v1] .ops53-kpiCopy>strong{color:#0f1f45;font-size:clamp(19px,1.5vw,25px);line-height:1.05;letter-spacing:-.025em;overflow-wrap:anywhere}.app-shell[data-operations-design-system=v1] .ops53-kpiCopy>small{color:#8a98ad;font-size:var(--ts-2xs);line-height:1.35}.app-shell[data-operations-design-system=v1] .ops53-panel{border:1px solid rgba(148,163,184,.26);border-radius:15px;background:rgba(255,255,255,.98);box-shadow:0 7px 22px rgba(15,23,42,.045);overflow:hidden}.app-shell[data-operations-design-system=v1] .ops53-panelHead{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 16px 10px;border-bottom:1px solid rgba(226,232,240,.9)}.app-shell[data-operations-design-system=v1] .ops53-panelHead h2{margin:2px 0 0;color:#122044;font-size:var(--ts-lg);line-height:1.25}.app-shell[data-operations-design-system=v1] .ops53-panelHead p{margin:3px 0 0;color:#64748b;font-size:var(--ts-2xs);line-height:1.4}.app-shell[data-operations-design-system=v1] .ops53-panelBody{padding:14px 16px 16px}.app-shell[data-operations-design-system=v1] .ops53-grid{display:grid;gap:10px}.app-shell[data-operations-design-system=v1] .ops53-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell[data-operations-design-system=v1] .ops53-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell[data-operations-design-system=v1] .ops53-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.app-shell[data-operations-design-system=v1] .ops53-barList{display:grid;gap:12px}.app-shell[data-operations-design-system=v1] .ops53-barRow{display:grid;gap:6px;text-decoration:none;color:inherit}.app-shell[data-operations-design-system=v1] .ops53-barRowTop{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:var(--ts-2xs)}.app-shell[data-operations-design-system=v1] .ops53-barLabel{min-width:0;font-weight:var(--tw-bold);color:#243555;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell[data-operations-design-system=v1] .ops53-barRowTop strong{color:#0f1f45}.app-shell[data-operations-design-system=v1] .ops53-barTrack{height:8px;background:#eef2f7;border-radius:999px;overflow:hidden}.app-shell[data-operations-design-system=v1] .ops53-barTrack span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3b82f6,#2563eb)}.app-shell[data-operations-design-system=v1] .ops53-barTrack span.is-green{background:linear-gradient(90deg,#34d399,#16a34a)}.app-shell[data-operations-design-system=v1] .ops53-barTrack span.is-amber{background:linear-gradient(90deg,#fbbf24,#d97706)}.app-shell[data-operations-design-system=v1] .ops53-barTrack span.is-red{background:linear-gradient(90deg,#fb7185,#dc2626)}.app-shell[data-operations-design-system=v1] .ops53-barTrack span.is-indigo{background:linear-gradient(90deg,#a78bfa,#7c3aed)}.app-shell[data-operations-design-system=v1] .ops53-barTrack span.is-cyan{background:linear-gradient(90deg,#22d3ee,#0891b2)}.app-shell[data-operations-design-system=v1] .ops53-barMeta{color:#8a98ad;font-size:var(--ts-2xs)}.app-shell[data-operations-design-system=v1] .ops53-donutWrap{display:grid;place-items:center;min-height:185px}.app-shell[data-operations-design-system=v1] .ops53-donut{--ops53-donut-a:0%;--ops53-donut-b:0%;width:150px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#2563eb 0 var(--ops53-donut-a),#f59e0b var(--ops53-donut-a) var(--ops53-donut-b),#e5e7eb var(--ops53-donut-b) 100%);position:relative}.app-shell[data-operations-design-system=v1] .ops53-donut.is-green{background:conic-gradient(#16a34a 0 var(--ops53-donut-a),#f59e0b var(--ops53-donut-a) var(--ops53-donut-b),#e5e7eb var(--ops53-donut-b) 100%)}.app-shell[data-operations-design-system=v1] .ops53-donut.is-red{background:conic-gradient(#dc2626 0 var(--ops53-donut-a),#f59e0b var(--ops53-donut-a) var(--ops53-donut-b),#e5e7eb var(--ops53-donut-b) 100%)}.app-shell[data-operations-design-system=v1] .ops53-donut:after{content:"";position:absolute;inset:18px;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px #eef2f7}.app-shell[data-operations-design-system=v1] .ops53-donut>div{position:relative;z-index:1;display:grid;text-align:center;gap:2px}.app-shell[data-operations-design-system=v1] .ops53-donut strong{color:#0f1f45;font-size:var(--ts-2xl)}.app-shell[data-operations-design-system=v1] .ops53-donut span{color:#7c8ba1;font-size:var(--ts-2xs)}.app-shell[data-operations-design-system=v1] .ops53-list{display:grid;gap:7px}.app-shell[data-operations-design-system=v1] .ops53-listRow{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:48px;padding:8px 9px;border:1px solid #e8edf5;border-radius:10px;text-decoration:none;color:inherit;background:#fff}.app-shell[data-operations-design-system=v1] .ops53-listRank{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#eff6ff;color:#2563eb;font-size:var(--ts-2xs);font-weight:var(--tw-bold)}.app-shell[data-operations-design-system=v1] .ops53-listRank.is-red{background:#fff1f2;color:#dc2626}.app-shell[data-operations-design-system=v1] .ops53-listRank.is-amber{background:#fff7ed;color:#d97706}.app-shell[data-operations-design-system=v1] .ops53-listRank.is-green{background:#ecfdf5;color:#16a34a}.app-shell[data-operations-design-system=v1] .ops53-listCopy{min-width:0;display:grid;gap:2px}.app-shell[data-operations-design-system=v1] .ops53-listCopy strong{color:#182845;font-size:var(--ts-2xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell[data-operations-design-system=v1] .ops53-listCopy span{color:#7c8ba1;font-size:var(--ts-2xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell[data-operations-design-system=v1] .ops53-listValue{font-size:var(--ts-2xs);font-weight:var(--tw-bold);color:#0f1f45;text-align:right}.app-shell[data-operations-design-system=v1] .ops53-pipeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}.app-shell[data-operations-design-system=v1] .ops53-pipelineStep{position:relative;display:flex;align-items:center;gap:9px;min-height:72px;padding:10px;border:1px solid #e7edf5;border-radius:11px;background:#fbfdff}.app-shell[data-operations-design-system=v1] .ops53-pipelineIndex{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#fff;background:#2563eb;font-size:var(--ts-2xs);font-weight:var(--tw-bold);flex:0 0 30px}.app-shell[data-operations-design-system=v1] .ops53-pipelineStep.is-green .ops53-pipelineIndex{background:#16a34a}.app-shell[data-operations-design-system=v1] .ops53-pipelineStep.is-amber .ops53-pipelineIndex{background:#d97706}.app-shell[data-operations-design-system=v1] .ops53-pipelineStep.is-red .ops53-pipelineIndex{background:#dc2626}.app-shell[data-operations-design-system=v1] .ops53-pipelineStep.is-indigo .ops53-pipelineIndex{background:#7c3aed}.app-shell[data-operations-design-system=v1] .ops53-pipelineCopy{min-width:0;display:grid;gap:2px}.app-shell[data-operations-design-system=v1] .ops53-pipelineCopy span{color:#64748b;font-size:var(--ts-2xs);font-weight:var(--tw-bold)}.app-shell[data-operations-design-system=v1] .ops53-pipelineCopy strong{color:#122044;font-size:var(--ts-lg)}.app-shell[data-operations-design-system=v1] .ops53-pipelineCopy small{color:#8a98ad;font-size:var(--ts-2xs)}.app-shell[data-operations-design-system=v1] .ops53-pipelineArrow{position:absolute;right:-8px;z-index:2;color:#94a3b8;font-weight:var(--tw-bold)}.app-shell[data-operations-design-system=v1] .ops53-empty{min-height:128px;display:grid;place-items:center;align-content:center;gap:6px;color:#8a98ad;text-align:center}.app-shell[data-operations-design-system=v1] .ops53-emptyIcon{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#f1f5f9;color:#94a3b8;font-size:var(--ts-lg)}.app-shell[data-operations-design-system=v1] .ops53-empty strong{color:#52627c;font-size:var(--ts-xs)}.app-shell[data-operations-design-system=v1] .ops53-empty span{max-width:440px;font-size:var(--ts-2xs)}.app-shell[data-operations-design-system=v1] .ops53-customers,.app-shell[data-operations-design-system=v1] .ops53-dashboard,.app-shell[data-operations-design-system=v1] .ops53-warranty{display:grid;gap:10px}.app-shell[data-operations-design-system=v1] .ops53-dashboardMain{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:10px}.app-shell[data-operations-design-system=v1] .ops53-dashboardBottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.app-shell[data-operations-design-system=v1] .ops53-customerAnalytics{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr) minmax(280px,.9fr);gap:10px}.app-shell[data-operations-design-system=v1] .ops53-warrantyAnalytics{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.45fr) minmax(260px,.8fr);gap:10px}.app-shell[data-operations-design-system=v1] .ops53-projectAnalytics{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.4fr) minmax(260px,.85fr);gap:10px;margin-bottom:10px}.app-shell[data-operations-design-system=v1] .ops53-inventoryAnalytics{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.15fr) minmax(260px,.9fr);gap:10px;margin:10px 0}.app-shell[data-operations-design-system=v1] .ops53-accountingAccess{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:10px}.app-shell[data-operations-design-system=v1] .ops53-customers .project-roleAccessPanel,.app-shell[data-operations-design-system=v1] .ops53-customers .ui-roleAccessPanel{margin-top:0}.app-shell[data-operations-design-system=v1] .ops53-warranty .app-shortcut-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:1280px){.app-shell[data-operations-design-system=v1] .ops53-kpiGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell[data-operations-design-system=v1] .ops53-accountingAccess,.app-shell[data-operations-design-system=v1] .ops53-customerAnalytics,.app-shell[data-operations-design-system=v1] .ops53-dashboardBottom,.app-shell[data-operations-design-system=v1] .ops53-dashboardMain,.app-shell[data-operations-design-system=v1] .ops53-inventoryAnalytics,.app-shell[data-operations-design-system=v1] .ops53-projectAnalytics,.app-shell[data-operations-design-system=v1] .ops53-warrantyAnalytics{grid-template-columns:1fr 1fr}}@media (max-width:820px){.app-shell[data-operations-design-system=v1] .ops53-pageLead{align-items:flex-start;flex-direction:column}.app-shell[data-operations-design-system=v1] .ops53-pageLeadActions{justify-content:flex-start}.app-shell[data-operations-design-system=v1] .ops53-kpiGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell[data-operations-design-system=v1] .ops53-accountingAccess,.app-shell[data-operations-design-system=v1] .ops53-customerAnalytics,.app-shell[data-operations-design-system=v1] .ops53-dashboardBottom,.app-shell[data-operations-design-system=v1] .ops53-dashboardMain,.app-shell[data-operations-design-system=v1] .ops53-grid--2,.app-shell[data-operations-design-system=v1] .ops53-grid--3,.app-shell[data-operations-design-system=v1] .ops53-grid--4,.app-shell[data-operations-design-system=v1] .ops53-inventoryAnalytics,.app-shell[data-operations-design-system=v1] .ops53-projectAnalytics,.app-shell[data-operations-design-system=v1] .ops53-warrantyAnalytics{grid-template-columns:1fr}}@media (max-width:560px){.app-shell[data-operations-design-system=v1] .ops53-kpiGrid{grid-template-columns:1fr}.app-shell[data-operations-design-system=v1] .ops53-kpiCard{min-height:80px}}.app-shell[data-operations-design-system=v1] .ops53-crmAnalytics{margin:10px 0}.app-shell[data-operations-design-system=v1] .ops53-purchasingAnalytics{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:10px;margin:10px 0}.app-shell[data-operations-design-system=v1] .ops53-inventoryLegend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:4px}.app-shell[data-operations-design-system=v1] .ops53-inventoryLegend span{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border:1px solid #e8edf5;border-radius:9px;color:#64748b;font-size:var(--ts-2xs)}.app-shell[data-operations-design-system=v1] .ops53-inventoryLegend b{color:#142340}.app-shell[data-operations-design-system=v1] .ops53-warrantyTechnicians{margin-top:14px;padding-top:12px;border-top:1px solid #edf1f6}.app-shell[data-operations-design-system=v1] .ops53-accountingLinks,.app-shell[data-operations-design-system=v1] .ops53-warrantyActions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.app-shell[data-operations-design-system=v1] .ops53-accessState{display:grid;gap:9px;min-height:122px;align-content:center;padding:2px 4px}.app-shell[data-operations-design-system=v1] .ops53-accessState strong{color:#b91c1c;font-size:var(--ts-2xl)}.app-shell[data-operations-design-system=v1] .ops53-accessState span{color:#64748b;font-size:var(--ts-2xs);line-height:1.5}.app-shell[data-operations-design-system=v1] .ops53-accountingAnalytics{margin:10px 0}.app-shell[data-operations-design-system=v1] .ops53-accounting .dth-section,.app-shell[data-operations-design-system=v1] .ops53-warranty>.app-section,.app-shell[data-operations-design-system=v1] .purchasingRequestWorkspace{min-width:0}@media (max-width:1080px){.app-shell[data-operations-design-system=v1] .ops53-accountingLinks,.app-shell[data-operations-design-system=v1] .ops53-purchasingAnalytics,.app-shell[data-operations-design-system=v1] .ops53-warrantyActions{grid-template-columns:1fr}}.app-shell[data-operations-design-system=v1] .ops53-kpiGrid.ops53-kpiGrid--count-1{grid-template-columns:minmax(0,1fr)}.app-shell[data-operations-design-system=v1] .ops53-kpiGrid.ops53-kpiGrid--count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell[data-operations-design-system=v1] .ops53-kpiGrid.ops53-kpiGrid--count-3{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell[data-operations-design-system=v1] .ops53-kpiGrid.ops53-kpiGrid--count-4{grid-template-columns:repeat(4,minmax(0,1fr))}.app-shell[data-operations-design-system=v1] .ops53-kpiGrid.ops53-kpiGrid--count-5{grid-template-columns:repeat(5,minmax(0,1fr))}.app-shell[data-operations-design-system=v1] .ops53-kpiGrid.ops53-kpiGrid--count-6{grid-template-columns:repeat(6,minmax(0,1fr))}.app-shell[data-operations-design-system=v1] .ops53-kpiCard{min-height:86px}.app-shell[data-operations-design-system=v1] .ops53-donut{--ops53-donut-primary:#2563eb;--ops53-donut-secondary:#f59e0b;--ops53-donut-tertiary:#e5e7eb;--ops53-donut-c:var(--ops53-donut-b);width:136px;background:conic-gradient(var(--ops53-donut-primary) 0 var(--ops53-donut-a),var(--ops53-donut-secondary) var(--ops53-donut-a) var(--ops53-donut-b),var(--ops53-donut-tertiary) var(--ops53-donut-b) var(--ops53-donut-c),#e5e7eb var(--ops53-donut-c) 100%)}.app-shell[data-operations-design-system=v1] .ops53-donut.is-green{--ops53-donut-primary:#16a34a}.app-shell[data-operations-design-system=v1] .ops53-donut.is-red{--ops53-donut-primary:#dc2626}.app-shell[data-operations-design-system=v1] .ops53-donut.is-amber{--ops53-donut-primary:#d97706}.app-shell[data-operations-design-system=v1] .ops53-donut.is-indigo{--ops53-donut-primary:#7c3aed}.app-shell[data-operations-design-system=v1] .ops53-donut.is-cyan{--ops53-donut-primary:#0891b2}.app-shell[data-operations-design-system=v1] .ops53-donut.is-neutral{--ops53-donut-primary:#94a3b8}.app-shell[data-operations-design-system=v1] .ops53-donut.secondary-green{--ops53-donut-secondary:#16a34a}.app-shell[data-operations-design-system=v1] .ops53-donut.secondary-red{--ops53-donut-secondary:#dc2626}.app-shell[data-operations-design-system=v1] .ops53-donut.secondary-amber{--ops53-donut-secondary:#f59e0b}.app-shell[data-operations-design-system=v1] .ops53-donut.secondary-indigo{--ops53-donut-secondary:#7c3aed}.app-shell[data-operations-design-system=v1] .ops53-donut.secondary-cyan{--ops53-donut-secondary:#0891b2}.app-shell[data-operations-design-system=v1] .ops53-donut.secondary-blue{--ops53-donut-secondary:#2563eb}.app-shell[data-operations-design-system=v1] .ops53-donut.secondary-neutral{--ops53-donut-secondary:#94a3b8}.app-shell[data-operations-design-system=v1] .ops53-donut.tertiary-green{--ops53-donut-tertiary:#16a34a}.app-shell[data-operations-design-system=v1] .ops53-donut.tertiary-red{--ops53-donut-tertiary:#dc2626}.app-shell[data-operations-design-system=v1] .ops53-donut.tertiary-amber{--ops53-donut-tertiary:#f59e0b}.app-shell[data-operations-design-system=v1] .ops53-donut.tertiary-indigo{--ops53-donut-tertiary:#7c3aed}.app-shell[data-operations-design-system=v1] .ops53-donut.tertiary-cyan{--ops53-donut-tertiary:#0891b2}.app-shell[data-operations-design-system=v1] .ops53-donut.tertiary-blue{--ops53-donut-tertiary:#2563eb}.app-shell[data-operations-design-system=v1] .ops53-donut.tertiary-neutral{--ops53-donut-tertiary:#94a3b8}.app-shell[data-operations-design-system=v1] .ops53-donut.is-empty{--ops53-donut-primary:#e5e7eb;--ops53-donut-secondary:#e5e7eb;--ops53-donut-tertiary:#e5e7eb}.app-shell[data-operations-design-system=v1] .ops53-donutWrap{min-height:158px}.app-shell[data-operations-design-system=v1] .ops53-donut:after{inset:16px}.app-shell[data-operations-design-system=v1] .ops53-donut strong{font-size:var(--ts-xl)}.app-shell[data-operations-design-system=v1] .ops53-empty{min-height:94px}.app-shell[data-operations-design-system=v1] .ops53-empty.is-compact{min-height:66px;gap:4px}.app-shell[data-operations-design-system=v1] .ops53-empty.is-compact .ops53-emptyIcon{width:28px;height:28px;border-radius:9px;font-size:var(--ts-md)}.app-shell[data-operations-design-system=v1] .ops53-empty.is-compact strong{font-size:var(--ts-2xs)}.app-shell[data-operations-design-system=v1] .ops53-accountingAccess,.app-shell[data-operations-design-system=v1] .ops53-accountingAnalytics,.app-shell[data-operations-design-system=v1] .ops53-crmAnalytics,.app-shell[data-operations-design-system=v1] .ops53-customerAnalytics,.app-shell[data-operations-design-system=v1] .ops53-dashboardBottom,.app-shell[data-operations-design-system=v1] .ops53-dashboardMain,.app-shell[data-operations-design-system=v1] .ops53-inventoryAnalytics,.app-shell[data-operations-design-system=v1] .ops53-projectAnalytics,.app-shell[data-operations-design-system=v1] .ops53-purchasingAnalytics,.app-shell[data-operations-design-system=v1] .ops53-warrantyAnalytics{align-items:start}.app-shell[data-operations-design-system=v1] .ops53-dashboardTrend.is-sparse .ops53-panelBody{padding-top:11px;padding-bottom:12px}.app-shell[data-operations-design-system=v1] .ops53-dashboardTrend.is-sparse .ops53-barList{gap:8px}.app-shell[data-operations-design-system=v1] .ops53-dashboardStatus .ops53-panelBody{padding-top:10px}.app-shell[data-operations-design-system=v1] .ops53-dashboardStatus .ops53-donutWrap{min-height:148px}.app-shell[data-operations-design-system=v1] .ops53-dashboardStatus .ops53-pipelineStep{min-height:64px}.app-shell[data-operations-design-system=v1] .ops53-customerAnalytics .ops53-panelBody,.app-shell[data-operations-design-system=v1] .ops53-dashboardAlerts .ops53-panelBody,.app-shell[data-operations-design-system=v1] .ops53-dashboardQueue .ops53-panelBody{min-height:0}.app-shell[data-operations-design-system=v1] .ops53-customerSegments .ops53-donutWrap{min-height:150px}.app-shell[data-operations-design-system=v1] .ops53-customerAttention .ops53-panelBody{padding-bottom:12px}.app-shell[data-operations-design-system=v1] .crm056-page{gap:10px}.app-shell[data-operations-design-system=v1] .crm056-page>.app-page-header.is-compact{padding:12px 14px}.app-shell[data-operations-design-system=v1] .crm056-page .crm-role-guide{margin-top:6px;padding:7px 9px}.app-shell[data-operations-design-system=v1] .crm056-page .crm-updated-at{margin-top:5px}.app-shell[data-operations-design-system=v1] .crm056-period-bar{min-height:46px;padding:7px 10px}.app-shell[data-operations-design-system=v1] .crm056-period-options button{min-height:30px;padding:5px 9px}.app-shell[data-operations-design-system=v1] .crm056-health-panel{min-height:122px;grid-template-columns:90px minmax(0,1fr) auto;gap:15px;padding:13px 15px}.app-shell[data-operations-design-system=v1] .crm056-health-score{width:84px;height:84px}.app-shell[data-operations-design-system=v1] .crm056-health-score:after{inset:7px}.app-shell[data-operations-design-system=v1] .crm056-health-score strong{font-size:var(--ts-2xl)}.app-shell[data-operations-design-system=v1] .crm056-health-copy h2{margin:3px 0 4px;font-size:var(--ts-xl)}.app-shell[data-operations-design-system=v1] .crm056-health-copy p{font-size:var(--ts-2xs)}.app-shell[data-operations-design-system=v1] .crm056-health-meta{margin-top:7px;gap:6px 10px}.app-shell[data-operations-design-system=v1] .crm056-health-actions{min-width:164px;gap:6px}.app-shell[data-operations-design-system=v1] .ops53-crmAnalytics .ops53-donutWrap{min-height:146px}.app-shell[data-operations-design-system=v1] .ops53-projectAnalytics .ops53-barList{gap:10px}.app-shell[data-operations-design-system=v1] .ops53-projectRoles .ops53-barTrack,.app-shell[data-operations-design-system=v1] .ops53-projectStages .ops53-barTrack{height:7px}.app-shell[data-operations-design-system=v1] .ops53-projectRisks .ops53-panelBody{padding-bottom:12px}.app-shell[data-operations-design-system=v1] .ops53-purchasingAnalytics{grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr)}.app-shell[data-operations-design-system=v1] .ops53-purchasingFlow .ops53-pipelineStep{min-height:60px;padding:8px 9px}.app-shell[data-operations-design-system=v1] .ops53-purchasingFlow .ops53-pipelineIndex{width:27px;height:27px;flex-basis:27px}.app-shell[data-operations-design-system=v1] .ops53-purchasingAttention .ops53-panelBody{padding-bottom:12px}.app-shell[data-operations-design-system=v1] .ops53-inventoryAnalytics.is-all-out .ops53-inventoryHealth{border-color:rgba(220,38,38,.34);background:linear-gradient(180deg,#fff,#fff8f8);box-shadow:0 7px 22px rgba(185,28,28,.06)}.app-shell[data-operations-design-system=v1] .ops53-inventoryAnalytics.is-all-out .ops53-inventoryHealth .ops53-eyebrow{color:#b91c1c}.app-shell[data-operations-design-system=v1] .ops53-inventoryHealth .ops53-donutWrap{min-height:150px}.app-shell[data-operations-design-system=v1] .ops53-inventoryLegend span:last-child{border-color:#fecaca;background:#fff7f7;color:#b91c1c}.app-shell[data-operations-design-system=v1] .ops53-inventoryGroups .ops53-barList{gap:10px}.app-shell[data-operations-design-system=v1] .ops53-accountingAccess .ops53-panelBody{padding-top:11px;padding-bottom:12px}.app-shell[data-operations-design-system=v1] .ops53-accessState{min-height:86px;gap:6px}.app-shell[data-operations-design-system=v1] .ops53-accessState strong{font-size:var(--ts-xl)}.app-shell[data-operations-design-system=v1] .ops53-accountingLinks{align-items:stretch}.app-shell[data-operations-design-system=v1] .ops53-warranty.is-empty-data .ops53-warrantyAnalytics{grid-template-columns:minmax(220px,.7fr) minmax(0,1.35fr) minmax(240px,.75fr)}.app-shell[data-operations-design-system=v1] .ops53-warranty.is-empty-data .ops53-warrantyStatus .ops53-donutWrap{min-height:136px}.app-shell[data-operations-design-system=v1] .ops53-warrantyFlow .ops53-pipelineStep{min-height:60px}.app-shell[data-operations-design-system=v1] .ops53-warrantyTechnicians{margin-top:10px;padding-top:9px}.app-shell[data-operations-design-system=v1] .ops53-warrantyAttention .ops53-panelBody{padding-bottom:12px}@media (max-width:1280px){.app-shell[data-operations-design-system=v1] .ops53-kpiGrid.ops53-kpiGrid--count-4,.app-shell[data-operations-design-system=v1] .ops53-kpiGrid.ops53-kpiGrid--count-5,.app-shell[data-operations-design-system=v1] .ops53-kpiGrid.ops53-kpiGrid--count-6{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell[data-operations-design-system=v1] .ops53-purchasingAnalytics,.app-shell[data-operations-design-system=v1] .ops53-warranty.is-empty-data .ops53-warrantyAnalytics{grid-template-columns:1fr 1fr}}@media (max-width:820px){.app-shell[data-operations-design-system=v1] .ops53-kpiGrid.ops53-kpiGrid--count-3,.app-shell[data-operations-design-system=v1] .ops53-kpiGrid.ops53-kpiGrid--count-4,.app-shell[data-operations-design-system=v1] .ops53-kpiGrid.ops53-kpiGrid--count-5,.app-shell[data-operations-design-system=v1] .ops53-kpiGrid.ops53-kpiGrid--count-6{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell[data-operations-design-system=v1] .crm056-health-panel{grid-template-columns:76px minmax(0,1fr)}.app-shell[data-operations-design-system=v1] .crm056-health-score{width:72px;height:72px}.app-shell[data-operations-design-system=v1] .crm056-health-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell[data-operations-design-system=v1] .ops53-purchasingAnalytics,.app-shell[data-operations-design-system=v1] .ops53-warranty.is-empty-data .ops53-warrantyAnalytics{grid-template-columns:1fr}}@media (max-width:560px){.app-shell[data-operations-design-system=v1] .crm056-health-panel,.app-shell[data-operations-design-system=v1] .ops53-kpiGrid.ops53-kpiGrid--count-2,.app-shell[data-operations-design-system=v1] .ops53-kpiGrid.ops53-kpiGrid--count-3,.app-shell[data-operations-design-system=v1] .ops53-kpiGrid.ops53-kpiGrid--count-4,.app-shell[data-operations-design-system=v1] .ops53-kpiGrid.ops53-kpiGrid--count-5,.app-shell[data-operations-design-system=v1] .ops53-kpiGrid.ops53-kpiGrid--count-6{grid-template-columns:1fr}.app-shell[data-operations-design-system=v1] .crm056-health-score{margin-inline:auto}.app-shell[data-operations-design-system=v1] .crm056-health-actions{grid-column:auto;grid-template-columns:1fr}}:root{--font-sans:"Be Vietnam Pro",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;--ts-2xs:11px;--ts-xs:12px;--ts-sm:13px;--ts-md:14px;--ts-lg:16px;--ts-xl:20px;--ts-2xl:24px;--tw-regular:400;--tw-medium:500;--tw-semibold:600;--tw-bold:700;--tl-tight:1.25;--tl-heading:1.35;--tl-body:1.5;--dth-font-family:var(--font-sans);--app-font:var(--font-sans);--app-font-mono:var(--font-mono);--fs-micro:var(--ts-2xs);--fs-small:var(--ts-xs);--fs-body:var(--ts-sm);--fs-lead:var(--ts-md);--fs-h3:var(--ts-md);--fs-h2:var(--ts-lg);--fs-h1:var(--ts-xl);--fs-display:var(--ts-2xl);--dth-fs-micro:var(--ts-2xs);--dth-fs-small:var(--ts-xs);--dth-fs-body:var(--ts-sm);--dth-fs-lead:var(--ts-md);--dth-fs-title:var(--ts-lg);--fw-regular:var(--tw-regular);--fw-medium:var(--tw-medium);--fw-strong:var(--tw-bold);--dth-fw-regular:var(--tw-regular);--dth-fw-medium:var(--tw-medium);--dth-fw-strong:var(--tw-bold);--dth-fw-heavy:var(--tw-bold);--lh-micro:1.4;--lh-small:1.45;--lh-body:var(--tl-body);--lh-lead:var(--tl-body);--lh-h3:var(--tl-heading);--lh-h2:1.3;--lh-h1:var(--tl-tight);--lh-display:1.15}html body .hnKho{--dth-font-family:var(--font-sans);--fw-strong:var(--tw-bold)}body,html,html body .hnKho{font-family:var(--font-sans)}body{font-size:var(--ts-sm);line-height:var(--tl-body)}button,input,select,textarea{font-family:inherit}.app-page-header-title{font-family:var(--font-sans)!important;font-size:var(--ts-xl)!important;font-weight:var(--tw-bold)!important;line-height:var(--tl-tight)!important;letter-spacing:0!important;text-transform:none!important}.app-page-header-subtitle{font-size:var(--ts-sm)!important;font-weight:var(--tw-regular)!important;line-height:var(--tl-body)!important}.app-page-header-eyebrow,.app-section-eyebrow,.project-workflowRailEyebrow{font-size:var(--ts-2xs)!important;font-weight:var(--tw-semibold)!important;line-height:var(--tl-heading)!important;letter-spacing:.06em!important}.app-section-title{font-family:var(--font-sans)!important;font-size:var(--ts-md)!important;font-weight:var(--tw-bold)!important;line-height:var(--tl-heading)!important;letter-spacing:.02em!important}.app-section-subtitle,.project-workflowRailDesc{font-size:var(--ts-xs)!important;font-weight:var(--tw-regular)!important;line-height:var(--tl-body)!important;letter-spacing:0!important;text-transform:none!important}.project-workflowRailTitle{font-family:var(--font-sans)!important;font-size:var(--ts-md)!important;font-weight:var(--tw-bold)!important;line-height:var(--tl-heading)!important;letter-spacing:0!important;text-transform:none!important}.project-metricLabel{font-size:var(--ts-2xs)!important;font-weight:var(--tw-semibold)!important;line-height:var(--tl-heading)!important;letter-spacing:.04em!important}.project-metricValue{font-family:var(--font-sans)!important;font-size:var(--ts-xl)!important;font-weight:var(--tw-bold)!important;line-height:var(--tl-tight)!important;letter-spacing:-.01em!important;font-variant-numeric:tabular-nums!important}.project-metricNote{font-size:var(--ts-xs)!important;font-weight:var(--tw-regular)!important;line-height:var(--tl-body)!important}.project-dataTable th{font-size:var(--ts-2xs)!important;font-weight:var(--tw-semibold)!important;line-height:var(--tl-heading)!important;letter-spacing:.03em!important}.project-dataTable td{font-size:var(--ts-sm)!important;line-height:var(--tl-body)!important;font-variant-numeric:tabular-nums}.project-fieldLabel{font-size:var(--ts-xs)!important;font-weight:var(--tw-semibold)!important;line-height:var(--tl-heading)!important;letter-spacing:0!important;text-transform:none!important}.project-fieldHint{font-size:var(--ts-xs)!important;font-weight:var(--tw-regular)!important;line-height:var(--tl-body)!important}.project-segmentBtn{font-size:var(--ts-xs)!important;font-weight:var(--tw-semibold)!important}.project-segmentMeta,.ui-badge{font-size:var(--ts-2xs)!important}.ui-badge{font-weight:var(--tw-semibold)!important;line-height:var(--tl-heading)!important}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/be-vietnam-pro/be-vietnam-pro-vietnamese-400-normal.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/be-vietnam-pro/be-vietnam-pro-latin-ext-400-normal.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/be-vietnam-pro/be-vietnam-pro-latin-400-normal.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/be-vietnam-pro/be-vietnam-pro-vietnamese-500-normal.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/be-vietnam-pro/be-vietnam-pro-latin-ext-500-normal.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/be-vietnam-pro/be-vietnam-pro-latin-500-normal.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/be-vietnam-pro/be-vietnam-pro-vietnamese-600-normal.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/be-vietnam-pro/be-vietnam-pro-latin-ext-600-normal.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/be-vietnam-pro/be-vietnam-pro-latin-600-normal.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/be-vietnam-pro/be-vietnam-pro-vietnamese-700-normal.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/be-vietnam-pro/be-vietnam-pro-latin-ext-700-normal.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/be-vietnam-pro/be-vietnam-pro-latin-700-normal.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--hn-font:"Be Vietnam Pro",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--hn-text-xs:12px;--hn-text-sm:13px;--hn-text-md:14px;--hn-text-lg:16px;--hn-text-xl:20px;--hn-text-2xl:24px;--hn-leading-body:1.5;--hn-leading-title:1.3;--hn-weight-regular:400;--hn-weight-strong:600;--hn-brown-50:#F8F2EB;--hn-brown-100:#EFE3D6;--hn-brown-500:#8A5D36;--hn-brown-600:#6B4526;--hn-brown-700:#553820;--hn-brown-800:#3F2A1A;--hn-brown-900:#2B1D12;--hn-gold-50:#FBF5E4;--hn-gold-200:#EFD9A0;--hn-gold-400:#D9AE45;--hn-gold-500:#C39428;--hn-gold-600:#9A7318;--hn-gold-700:#7A5A12;--hn-silver-0:#FFFFFF;--hn-silver-50:#F6F8FA;--hn-silver-100:#EEF1F4;--hn-silver-200:#D0D7DE;--hn-silver-400:#8C959F;--hn-silver-500:#6E7781;--hn-silver-600:#57606A;--hn-silver-900:#1F2328;--hn-success:#1A7F37;--hn-success-soft:#E6F4EA;--hn-warning:#B35900;--hn-warning-soft:#FFF1E0;--hn-danger:#B42318;--hn-danger-soft:#FDECEA;--hn-info:#0B5CAD;--hn-info-soft:#E6F0FA;--hn-bg-page:var(--hn-silver-50);--hn-bg-surface:var(--hn-silver-0);--hn-bg-subtle:var(--hn-silver-100);--hn-text-primary:var(--hn-silver-900);--hn-text-secondary:var(--hn-silver-600);--hn-text-muted:var(--hn-silver-500);--hn-border:var(--hn-silver-200);--hn-border-strong:var(--hn-silver-400);--hn-accent:var(--hn-brown-600);--hn-accent-hover:var(--hn-brown-700);--hn-accent-soft:var(--hn-brown-50);--hn-on-accent:var(--hn-silver-0);--hn-highlight:var(--hn-gold-400);--hn-highlight-soft:var(--hn-gold-50);--hn-highlight-line:var(--hn-gold-600);--hn-on-highlight:var(--hn-brown-900);--hn-backdrop:rgba(31,35,40,0.45);--hn-shadow-overlay:0 8px 24px rgba(31,35,40,0.16);--hn-focus-ring:0 0 0 2px var(--hn-silver-0),0 0 0 4px var(--hn-gold-600);--hn-space-1:4px;--hn-space-2:8px;--hn-space-3:12px;--hn-space-4:16px;--hn-space-5:24px;--hn-space-6:32px;--hn-radius-control:6px;--hn-radius-block:10px;--hn-border-width:1px;--hn-control-h:36px;--hn-control-h-compact:28px;--hn-icon-sm:16px;--hn-icon-md:20px}.hn-scope{font-family:var(--hn-font);font-size:var(--hn-text-md);line-height:var(--hn-leading-body);color:var(--hn-text-primary);font-weight:var(--hn-weight-regular)}.hn-scope *{box-sizing:border-box}.hn-stack{display:flex;flex-direction:column;gap:var(--hn-space-4)}.hn-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--hn-space-2)}.hn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--hn-space-3)}.hn-grid--narrow{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.hn-muted{color:var(--hn-text-secondary);font-size:var(--hn-text-xs)}.hn-num{text-align:right;font-variant-numeric:tabular-nums}.hn-icon{width:var(--hn-icon-sm);height:var(--hn-icon-sm);flex:none;stroke:currentColor}.hn-icon--md{width:var(--hn-icon-md);height:var(--hn-icon-md)}.hn-btn{display:inline-flex;align-items:center;gap:var(--hn-space-2);height:var(--hn-control-h);padding:0 var(--hn-space-4);border:var(--hn-border-width) solid transparent;border-radius:var(--hn-radius-control);font-family:var(--hn-font);font-size:var(--hn-text-md);font-weight:var(--hn-weight-strong);cursor:pointer;white-space:nowrap;background:none}.hn-btn:focus-visible,.hn-input:focus-visible,.hn-select:focus-visible,.hn-tabs__tab:focus-visible{outline:none;box-shadow:var(--hn-focus-ring)}.hn-btn--primary{background:var(--hn-accent);color:var(--hn-on-accent)}.hn-btn--primary:hover{background:var(--hn-accent-hover)}.hn-btn--secondary{background:var(--hn-bg-surface);color:var(--hn-brown-700);border-color:var(--hn-border-strong)}.hn-btn--secondary:hover{background:var(--hn-bg-subtle)}.hn-btn--danger{background:var(--hn-bg-surface);color:var(--hn-danger);border-color:var(--hn-danger)}.hn-btn--danger:hover{background:var(--hn-danger-soft)}.hn-btn--link{color:var(--hn-brown-700);padding:0;height:auto;text-decoration:underline;text-underline-offset:3px}.hn-btn--compact{height:var(--hn-control-h-compact);padding:0 var(--hn-space-3);font-size:var(--hn-text-sm)}.hn-btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.hn-btn[aria-busy=true]{cursor:progress}.hn-spinner{width:var(--hn-icon-sm);height:var(--hn-icon-sm);border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:hn-spin .8s linear infinite}@keyframes hn-spin{to{transform:rotate(1turn)}}.hn-status-wrap{gap:var(--hn-space-2)}.hn-status,.hn-status-wrap{display:inline-flex;align-items:center}.hn-status{padding:2px var(--hn-space-2);border-radius:var(--hn-radius-control);font-size:var(--hn-text-xs);font-weight:var(--hn-weight-strong);line-height:var(--hn-leading-title)}.hn-status--draft{background:var(--hn-bg-subtle);color:var(--hn-text-secondary)}.hn-status--cancelled{background:var(--hn-bg-subtle);color:var(--hn-text-primary)}.hn-status--pending{background:var(--hn-warning-soft);color:var(--hn-warning)}.hn-status--active,.hn-status--approved{background:var(--hn-info-soft);color:var(--hn-info)}.hn-status--done{background:var(--hn-success-soft);color:var(--hn-success)}.hn-status--rejected{background:var(--hn-danger-soft);color:var(--hn-danger)}.hn-status--valid{background:var(--hn-success-soft);color:var(--hn-success)}.hn-status--expired{background:var(--hn-bg-subtle);color:var(--hn-text-secondary)}.hn-status--revoked{background:var(--hn-danger-soft);color:var(--hn-danger)}.hn-status__overdue{color:var(--hn-danger)}.hn-highlight,.hn-status__overdue{font-size:var(--hn-text-xs);font-weight:var(--hn-weight-strong)}.hn-highlight{display:inline-flex;padding:2px var(--hn-space-2);border-radius:var(--hn-radius-control);background:var(--hn-highlight-soft);color:var(--hn-on-highlight);border:var(--hn-border-width) solid var(--hn-highlight)}.hn-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--hn-space-4);padding-bottom:var(--hn-space-4);border-bottom:var(--hn-border-width) solid var(--hn-border)}.hn-page-header__title{margin:0;font-size:var(--hn-text-xl);font-weight:var(--hn-weight-strong);line-height:var(--hn-leading-title)}.hn-page-header__desc{margin:var(--hn-space-1) 0 0;color:var(--hn-text-secondary);font-size:var(--hn-text-sm)}.hn-section{background:var(--hn-bg-surface);border:var(--hn-border-width) solid var(--hn-border);border-radius:var(--hn-radius-block);padding:var(--hn-space-4) var(--hn-space-5)}.hn-section__head{display:flex;justify-content:space-between;align-items:center;gap:var(--hn-space-3);margin-bottom:var(--hn-space-3)}.hn-section__title{margin:0;font-size:var(--hn-text-lg);font-weight:var(--hn-weight-strong);line-height:var(--hn-leading-title)}.hn-section__desc{margin:var(--hn-space-1) 0 0;color:var(--hn-text-secondary);font-size:var(--hn-text-sm)}.hn-metric{background:var(--hn-bg-page);border-radius:var(--hn-radius-block);padding:var(--hn-space-3) var(--hn-space-4)}.hn-metric__label{color:var(--hn-text-secondary);font-size:var(--hn-text-xs)}.hn-metric__value{font-size:var(--hn-text-2xl);font-weight:var(--hn-weight-strong);line-height:var(--hn-leading-title);font-variant-numeric:tabular-nums}.hn-metric--accent .hn-metric__value{color:var(--hn-accent)}.hn-metric--danger .hn-metric__value{color:var(--hn-danger)}.hn-metric--success .hn-metric__value{color:var(--hn-success)}.hn-table-wrap{overflow-x:auto;border:var(--hn-border-width) solid var(--hn-border);border-radius:var(--hn-radius-block)}.hn-table{width:100%;border-collapse:collapse;font-size:var(--hn-text-sm)}.hn-table th{position:sticky;top:0;background:var(--hn-bg-page);color:var(--hn-text-secondary);font-weight:var(--hn-weight-strong);text-align:left}.hn-table td,.hn-table th{padding:var(--hn-space-2) var(--hn-space-3);border-bottom:var(--hn-border-width) solid var(--hn-border)}.hn-table td{vertical-align:middle}.hn-table tr:last-child td{border-bottom:none}.hn-field{display:flex;flex-direction:column;gap:var(--hn-space-1)}.hn-field__label{font-size:var(--hn-text-sm);font-weight:var(--hn-weight-strong)}.hn-field__required{color:var(--hn-danger);margin-left:var(--hn-space-1)}.hn-field__hint{color:var(--hn-text-secondary);font-size:var(--hn-text-xs)}.hn-field__error{color:var(--hn-danger);font-size:var(--hn-text-xs)}.hn-input,.hn-select{height:var(--hn-control-h);padding:0 var(--hn-space-3);border:var(--hn-border-width) solid var(--hn-border-strong);border-radius:var(--hn-radius-control);background:var(--hn-bg-surface);color:var(--hn-text-primary);font-family:var(--hn-font);font-size:var(--hn-text-md)}.hn-input[aria-invalid=true]{border-color:var(--hn-danger)}.hn-textarea{display:block;width:100%;box-sizing:border-box;padding:var(--hn-space-2) var(--hn-space-3);border:var(--hn-border-width) solid var(--hn-border-strong);border-radius:var(--hn-radius-control);background:var(--hn-bg-surface);color:var(--hn-text-primary);font-family:var(--hn-font);font-size:var(--hn-text-md);line-height:var(--hn-leading-body);resize:vertical}.hn-textarea:focus-visible{outline:none;box-shadow:var(--hn-focus-ring)}.hn-textarea[aria-invalid=true]{border-color:var(--hn-danger)}.hn-check{display:inline-flex;align-items:center;gap:var(--hn-space-2);font-size:var(--hn-text-md);cursor:pointer}.hn-check input{width:var(--hn-icon-sm);height:var(--hn-icon-sm);accent-color:var(--hn-accent)}.hn-toggle{display:inline-flex;align-items:center;gap:var(--hn-space-2);cursor:pointer;font-size:var(--hn-text-md)}.hn-toggle input{position:absolute;opacity:0;width:1px;height:1px}.hn-toggle__track{width:36px;height:20px;border-radius:10px;background:var(--hn-border-strong);position:relative;flex:none}.hn-toggle__track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--hn-bg-surface)}.hn-toggle input:checked+.hn-toggle__track{background:var(--hn-accent)}.hn-toggle input:checked+.hn-toggle__track:after{left:18px}.hn-toggle input:focus-visible+.hn-toggle__track{box-shadow:var(--hn-focus-ring)}.hn-alert{display:flex;gap:var(--hn-space-3);padding:var(--hn-space-3) var(--hn-space-4);border-radius:var(--hn-radius-block);border:var(--hn-border-width) solid transparent}.hn-alert__title{margin:0;font-weight:var(--hn-weight-strong)}.hn-alert__body{margin:var(--hn-space-1) 0 0;font-size:var(--hn-text-sm)}.hn-alert--info{background:var(--hn-info-soft);color:var(--hn-info)}.hn-alert--success{background:var(--hn-success-soft);color:var(--hn-success)}.hn-alert--warning{background:var(--hn-warning-soft);color:var(--hn-warning)}.hn-alert--danger{background:var(--hn-danger-soft);color:var(--hn-danger)}.hn-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--hn-space-2);padding:var(--hn-space-5);border:var(--hn-border-width) dashed var(--hn-border);border-radius:var(--hn-radius-block);color:var(--hn-text-secondary)}.hn-state__title{margin:0;color:var(--hn-text-primary);font-weight:var(--hn-weight-strong)}.hn-state__desc{margin:0;font-size:var(--hn-text-sm)}.hn-tabs{display:flex;gap:var(--hn-space-1);border-bottom:var(--hn-border-width) solid var(--hn-border)}.hn-tabs__tab{background:none;padding:var(--hn-space-2) var(--hn-space-3);font-family:var(--hn-font);font-size:var(--hn-text-md);color:var(--hn-text-secondary);cursor:pointer;border:none;border-bottom:2px solid transparent}.hn-tabs__tab[aria-selected=true]{color:var(--hn-accent);border-bottom-color:var(--hn-highlight-line);font-weight:var(--hn-weight-strong)}.hn-stepper{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--hn-space-1);list-style:none;margin:0;padding:0}.hn-stepper__step{border-top:3px solid var(--hn-border);padding-top:var(--hn-space-1);font-size:var(--hn-text-xs);color:var(--hn-text-muted)}.hn-stepper__step--done{border-top-color:var(--hn-success);color:var(--hn-success)}.hn-stepper__step--current{border-top-color:var(--hn-highlight-line);color:var(--hn-accent);font-weight:var(--hn-weight-strong)}.hn-dialog-backdrop{position:fixed;inset:0;background:var(--hn-backdrop);display:flex;align-items:center;justify-content:center;z-index:1000}.hn-dialog{background:var(--hn-bg-surface);border-radius:var(--hn-radius-block);box-shadow:var(--hn-shadow-overlay);padding:var(--hn-space-5);width:min(440px,92vw)}.hn-dialog__title{margin:0;font-size:var(--hn-text-lg);font-weight:var(--hn-weight-strong)}.hn-dialog__desc{margin:var(--hn-space-2) 0 var(--hn-space-4);color:var(--hn-text-secondary);font-size:var(--hn-text-sm)}.hn-dialog__actions{display:flex;justify-content:flex-end;gap:var(--hn-space-2)}.hn-swatch{height:44px;border-radius:var(--hn-radius-control);border:var(--hn-border-width) solid var(--hn-border)}.hn-swatch--brown-50{background:var(--hn-brown-50)}.hn-swatch--brown-100{background:var(--hn-brown-100)}.hn-swatch--brown-500{background:var(--hn-brown-500)}.hn-swatch--brown-600{background:var(--hn-brown-600)}.hn-swatch--brown-700{background:var(--hn-brown-700)}.hn-swatch--brown-900{background:var(--hn-brown-900)}.hn-swatch--gold-50{background:var(--hn-gold-50)}.hn-swatch--gold-200{background:var(--hn-gold-200)}.hn-swatch--gold-400{background:var(--hn-gold-400)}.hn-swatch--gold-500{background:var(--hn-gold-500)}.hn-swatch--gold-600{background:var(--hn-gold-600)}.hn-swatch--gold-700{background:var(--hn-gold-700)}.hn-swatch--silver-0{background:var(--hn-silver-0)}.hn-swatch--silver-50{background:var(--hn-silver-50)}.hn-swatch--silver-200{background:var(--hn-silver-200)}.hn-swatch--silver-400{background:var(--hn-silver-400)}.hn-swatch--silver-600{background:var(--hn-silver-600)}.hn-swatch--silver-900{background:var(--hn-silver-900)}.hn-swatch--success{background:var(--hn-success)}.hn-swatch--warning{background:var(--hn-warning)}.hn-swatch--danger{background:var(--hn-danger)}.hn-swatch--info{background:var(--hn-info)}.hn-type--xs{font-size:var(--hn-text-xs)}.hn-type--sm{font-size:var(--hn-text-sm)}.hn-type--md{font-size:var(--hn-text-md)}.hn-type--lg{font-size:var(--hn-text-lg)}.hn-type--lg,.hn-type--xl{font-weight:var(--hn-weight-strong)}.hn-type--xl{font-size:var(--hn-text-xl)}.hn-type--2xl{font-size:var(--hn-text-2xl);font-weight:var(--hn-weight-strong);font-variant-numeric:tabular-nums}.hn-type{margin:0;line-height:var(--hn-leading-title)}.hn-icon-cell{display:flex;align-items:center;gap:var(--hn-space-2);padding:var(--hn-space-2);border:var(--hn-border-width) solid var(--hn-border);border-radius:var(--hn-radius-control);font-size:var(--hn-text-sm);color:var(--hn-brown-700)}.hn-icon-cell__label{color:var(--hn-text-primary)}.hn-seg{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--hn-space-1);padding:var(--hn-space-1);border-radius:var(--hn-radius-control);background:var(--hn-bg-subtle)}.hn-seg__opt{min-height:44px;padding:0 var(--hn-space-2);border:0;border-radius:var(--hn-radius-control);background:none;color:var(--hn-text-secondary);font-family:var(--hn-font);font-size:var(--hn-text-sm);font-weight:var(--hn-weight-regular);white-space:normal;overflow-wrap:anywhere;line-height:var(--hn-leading-title);text-align:center;cursor:pointer}.hn-seg--compact .hn-seg__opt{font-size:var(--hn-text-xs);padding:0 var(--hn-space-1)}.hn-seg__opt[aria-pressed=true]{background:var(--hn-bg-surface);color:var(--hn-text-primary);font-weight:var(--hn-weight-strong);box-shadow:inset 0 0 0 var(--hn-border-width) var(--hn-border)}.hn-seg__opt:disabled{color:var(--hn-text-muted);cursor:not-allowed}.hn-seg__opt:focus-visible{outline:none;box-shadow:var(--hn-focus-ring)}.hn-disc{border:var(--hn-border-width) solid var(--hn-border);border-radius:var(--hn-radius-block);background:var(--hn-bg-surface)}.hn-disc__head{display:flex;align-items:center;gap:var(--hn-space-3);width:100%;min-height:52px;padding:var(--hn-space-2) var(--hn-space-4);border:0;background:none;color:var(--hn-text-primary);font-family:var(--hn-font);text-align:left;cursor:pointer}.hn-disc__head>.hn-icon--md{color:var(--hn-accent)}.hn-disc__head:focus-visible{outline:none;box-shadow:var(--hn-focus-ring);border-radius:var(--hn-radius-block)}.hn-disc__text{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.hn-disc__title{font-size:var(--hn-text-md);font-weight:var(--hn-weight-strong)}.hn-disc__summary{font-size:var(--hn-text-xs);color:var(--hn-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hn-disc__body{padding:0 var(--hn-space-3) var(--hn-space-3);border-top:var(--hn-border-width) solid var(--hn-border)}.hn-mbar{position:sticky;top:0;z-index:20;gap:var(--hn-space-2);min-height:56px;padding:var(--hn-space-2) var(--hn-space-4);background:var(--hn-accent);color:var(--hn-on-accent)}.hn-mbar,.hn-mbar__back{display:flex;align-items:center}.hn-mbar__back{justify-content:center;width:44px;height:44px;margin-left:calc(-1 * var(--hn-space-3));border:0;background:none;color:inherit;cursor:pointer}.hn-mbar__back:focus-visible{outline:none;box-shadow:var(--hn-focus-ring)}.hn-mbar__text{flex:1 1 auto;min-width:0}.hn-mbar__title{margin:0;font-size:var(--hn-text-lg);font-weight:var(--hn-weight-strong);line-height:var(--hn-leading-title)}.hn-mbar__sub{margin:0;font-size:var(--hn-text-xs);color:var(--hn-gold-200);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hn-mbar__actions{display:flex;align-items:center;gap:var(--hn-space-1)}.hn-bnav{display:flex;align-items:flex-end;min-height:64px;padding:var(--hn-space-1) var(--hn-space-2) var(--hn-space-2);background:var(--hn-bg-surface);border-top:var(--hn-border-width) solid var(--hn-border)}.hn-bnav__item{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:var(--hn-space-1);min-height:48px;color:var(--hn-text-muted);font-size:var(--hn-text-xs);font-weight:var(--hn-weight-regular);text-decoration:none}.hn-bnav__item[aria-current=page]{color:var(--hn-accent);font-weight:var(--hn-weight-strong)}.hn-bnav__item:focus-visible{outline:none;box-shadow:var(--hn-focus-ring);border-radius:var(--hn-radius-control)}.hn-bnav__icon{position:relative;display:flex}.hn-bnav__item--primary{color:var(--hn-text-primary);font-weight:var(--hn-weight-strong)}.hn-bnav__item--primary .hn-bnav__icon{align-items:center;justify-content:center;width:52px;height:52px;margin-top:calc(-1 * var(--hn-space-6));border-radius:var(--hn-radius-block);background:var(--hn-highlight);color:var(--hn-on-highlight);box-shadow:0 0 0 3px var(--hn-bg-surface)}.hn-bnav__badge{position:absolute;top:calc(-1 * var(--hn-space-1));right:calc(-1 * var(--hn-space-3));min-width:18px;height:18px;padding:0 var(--hn-space-1);border-radius:var(--hn-radius-control);background:var(--hn-danger);color:var(--hn-on-accent);font-size:var(--hn-text-xs);font-weight:var(--hn-weight-strong);display:flex;align-items:center;justify-content:center}@media (max-width:768px){.hn-input,.hn-select{font-size:var(--hn-text-lg)}}.hn-mobile-shell{display:flex;flex-direction:column;min-height:100dvh;background:var(--hn-bg-page);color:var(--hn-text-primary)}.hn-mobile-shell__body{flex:1 1 auto;min-width:0;padding-bottom:72px}.hn-bnav-dock{position:sticky;bottom:0;z-index:20;background:var(--hn-bg-surface);padding-bottom:env(safe-area-inset-bottom,0)}.hn-chips{display:flex;gap:var(--hn-space-2);overflow-x:auto;padding-bottom:var(--hn-space-1);-webkit-overflow-scrolling:touch}.hn-chip{flex:none;display:inline-flex;align-items:center;gap:var(--hn-space-1);min-height:40px;padding:0 var(--hn-space-3);border-radius:var(--hn-radius-control);border:var(--hn-border-width) solid var(--hn-border);background:var(--hn-bg-surface);color:var(--hn-text-secondary);font-family:var(--hn-font);font-size:var(--hn-text-sm);font-weight:var(--hn-weight-regular);white-space:nowrap;cursor:pointer}.hn-chip[aria-pressed=true]{background:var(--hn-highlight-soft);border-color:var(--hn-highlight-line);color:var(--hn-text-primary);font-weight:var(--hn-weight-strong)}.hn-chip:focus-visible{outline:none;box-shadow:var(--hn-focus-ring)}.hn-chip__count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--hn-space-1);border-radius:var(--hn-radius-control);background:var(--hn-bg-subtle);color:var(--hn-text-primary);font-size:var(--hn-text-xs);font-weight:var(--hn-weight-strong)}.hn-chip[aria-pressed=true] .hn-chip__count{background:var(--hn-highlight);color:var(--hn-on-highlight)}