:root { --ink:#17233f; --muted:#687793; --line:#e3e8f1; --border:#e3e8f1; --surface:#fff; --canvas:#f4f7fb; --green:#3048d8; --lime:#eef1ff; --dark:#111b38; --shadow:0 6px 18px rgba(34,48,82,.04); --accent:#3048d8; --accent-strong:#21339f; --accent-soft:#eef1ff; --accent-secondary:#2b7a78; --accent-secondary-strong:#1f625f; --accent-secondary-soft:#e5f3f1; --accent-red:#c2413b; --accent-red-strong:#9f302c; --primary:#3048d8; --primary-soft:#eef1ff; --page-bg:#f4f7fb; --hero-gradient:linear-gradient(135deg,#eef1ff 0%,#fff 58%,#f7f9fc 100%); --sidebar-bg:#fff; --sidebar-fg:#111b38; --sidebar-muted:#53617a; --sidebar-border:#e3e8f1; --sidebar-hover-bg:#eef1ff; --sidebar-active-bg:#eef1ff; --sidebar-active-fg:#3048d8; --topbar-bg:#fff; }

* { box-sizing:border-box; }
html, body { margin:0; min-height:100%; background:var(--canvas); color:var(--ink); font-family:'Segoe UI Variable','Segoe UI',system-ui,sans-serif; }
body { overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
button, input, select, textarea { font:inherit; }
button { cursor:pointer; }
.app-shell { min-height:100vh; display:grid; grid-template-columns:245px 1fr; }
.sidebar { position:fixed; inset:0 auto 0 0; width:245px; height:100dvh; display:flex; flex-direction:column; background:var(--sidebar-bg); color:var(--sidebar-fg); padding:24px 14px; z-index:20; border-right:1px solid var(--sidebar-border); box-shadow:none; }
.sidebar-brand { display:grid; gap:7px; padding:12px 8px 16px; border-bottom:1px solid var(--sidebar-border); }
.sidebar-brand img { display:block; width:215px; max-width:100%; height:auto; object-fit:contain; object-position:left center; }
.sidebar-brand span { color:var(--sidebar-fg); font-size:13px; font-weight:800; letter-spacing:-.02em; }
.brand { display:flex; align-items:center; gap:12px; padding:0 10px 24px; border-bottom:1px solid var(--sidebar-border); }
.brand-mark,.document-brand>span { width:48px; height:48px; display:grid; place-items:center; border-radius:12px; color:var(--accent-strong); background:var(--accent-soft); font-family:'Segoe UI Variable Display','Segoe UI',sans-serif; font-weight:800; font-size:20px; padding:6px; box-shadow:none; }
.brand-mark img { width:100%; height:100%; object-fit:contain; border-radius:10px; background:transparent; box-shadow:none; }
.brand>span:last-child,.sidebar-footer div,.user-chip div,.document-brand div { display:flex; flex-direction:column; }
.brand strong { font:700 18px 'Segoe UI Variable Display','Segoe UI',sans-serif; color:var(--sidebar-fg); }
.brand small,.sidebar-footer small,.user-chip small,.document-brand small { color:var(--sidebar-muted); font-size:11px; margin-top:2px; }
.brand small,.sidebar-footer small { color:var(--sidebar-muted); }
.nav-list { display:flex; flex:1 1 auto; min-height:0; flex-direction:column; gap:3px; padding-top:18px; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.nav-section { margin:14px 12px 5px; color:#98a3b7; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.nav-section:first-child { margin-top:0; }
.nav-list a { display:flex; align-items:center; gap:12px; padding:11px 12px; border-radius:9px; color:var(--sidebar-muted); font-size:14px; font-weight:600; transition:background .18s ease, color .18s ease; }
.nav-list a span { width:20px; text-align:center; font-size:18px; }
.nav-list a:hover { color:var(--sidebar-active-fg); background:var(--sidebar-hover-bg); }
.nav-list a.active { color:var(--sidebar-active-fg); background:var(--sidebar-active-bg); box-shadow:none; }
.commercial-subnav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 22px; padding:7px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.72); backdrop-filter:blur(10px); }
.commercial-subnav a { display:flex; align-items:center; min-height:48px; padding:0 15px; border:1px solid transparent; border-radius:12px; color:var(--muted); font-size:12px; font-weight:750; text-decoration:none; transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease; }
.commercial-subnav a:hover { color:var(--ink); border-color:color-mix(in srgb,var(--accent) 28%,var(--line)); background:color-mix(in srgb,var(--accent-soft) 42%,transparent); transform:translateY(-1px); }
.commercial-subnav a:focus-visible { outline:3px solid color-mix(in srgb,var(--accent) 28%,transparent); outline-offset:2px; }
.commercial-subnav a.active { color:var(--accent-strong); border-color:var(--accent); background:var(--surface); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent),0 14px 30px rgba(15,23,42,.10); }
.sidebar-footer { margin-top:auto; padding:16px 12px 0; border-top:1px solid var(--sidebar-border); display:flex; align-items:center; gap:10px; font-size:12px; }
.sidebar-footer { display:grid; gap:4px; margin-top:auto; padding:16px 4px 4px; color:var(--sidebar-fg); font-size:12px; font-weight:800; }
.sidebar-footer small { color:var(--sidebar-muted); font-size:10px; font-weight:500; line-height:1.4; }
.status-dot { width:9px; height:9px; border-radius:50%; background:#3cc58a; box-shadow:0 0 0 4px rgba(60,197,138,.12); }
.main-content { grid-column:2; min-width:0; }
.topbar { height:68px; border-bottom:1px solid var(--line); background:var(--topbar-bg); display:flex; align-items:center; justify-content:space-between; padding:0 32px; position:sticky; top:0; z-index:10; }
.sidebar-toggle,.menu-button,.sidebar-backdrop { display:none; }
.topbar>div:first-child { display:flex; flex-direction:column; }
.topbar>div:first-child strong { font-size:14px; }
.eyebrow { color:#7b8580; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.user-chip { display:flex; align-items:center; gap:10px; }
.topbar-actions { display:flex; align-items:center; gap:20px; }
.global-search { width:min(310px,28vw); min-height:39px; display:flex; align-items:center; gap:8px; padding:0 12px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.global-search span { color:#76827c; }.global-search input { width:100%; border:0; outline:0; background:transparent; font-size:12px; }
.user-chip>span { width:35px; height:35px; display:grid; place-items:center; border-radius:50%; background:var(--accent-soft); color:var(--accent-strong); font-size:12px; font-weight:800; }
.user-chip strong { font-size:12px; }
.page-content { width:100%; max-width:none; margin:0; padding:30px clamp(20px,3vw,42px); }
.page-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:24px; }
.page-heading.compact { align-items:center; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:'Segoe UI Variable Display','Segoe UI',sans-serif; }
h1 { font-size:clamp(30px,4vw,42px); line-height:1.08; letter-spacing:-.035em; margin:8px 0 10px; max-width:720px; }
h1[tabindex="-1"]:focus { outline:none; }
.compact h1 { font-size:36px; }
.page-heading p { color:var(--muted); margin:0; font-size:14px; }
.button { border:0; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:0 14px; font-weight:700; font-size:13px; transition:.18s ease; }
.button:hover { transform:translateY(-1px); }
.button.primary { background:var(--accent); color:#fff; box-shadow:0 5px 12px rgba(48,72,216,.14); }
.button.accent-red { background:linear-gradient(135deg,var(--accent-red) 0%,var(--accent-red-strong) 100%); color:#fff; box-shadow:0 12px 28px rgba(209,73,69,.18); }
.button.dark { background:var(--dark); color:#fff; }
.button.secondary { background:#fff; border:1px solid var(--line); color:var(--ink); }
.button.small { min-height:34px; padding:0 12px; }
.panel,.metric-card,.loading-card { background:var(--surface); border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); }
.loading-card { padding:50px; text-align:center; color:var(--muted); }
.empty-state { display:flex; align-items:center; flex-direction:column; gap:14px; max-width:720px; margin:8vh auto 0; padding:48px 32px; border:1px solid var(--line); border-radius:20px; background:var(--surface); box-shadow:var(--shadow); text-align:center; }
.empty-state h1 { margin:4px 0 0; font-size:clamp(28px,4vw,42px); }
.empty-state p { max-width:520px; margin:0; color:var(--muted); line-height:1.6; }
.alert { margin:18px 0; padding:12px 16px; border:1px solid #e6d2a7; border-radius:10px; color:#765a22; background:#fff8e7; font-size:12px; font-weight:650; }
.alert.error { border-color:#ecc6c0; color:#873c35; background:#f9e7e3; }
.text-danger { color:#a8463c; }
.metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.metric-card { padding:22px; display:flex; flex-direction:column; min-height:145px; }
.metric-card.accent { background:var(--dark); color:white; border-color:var(--dark); }
.metric-card>span { font-size:12px; color:var(--muted); }
.metric-card.accent>span,.metric-card.accent small { color:#9faa9f; }
.metric-card strong { font:700 clamp(24px,3vw,35px) 'Segoe UI Variable Display','Segoe UI',sans-serif; letter-spacing:-.04em; margin:auto 0 5px; }
.metric-card small { color:#909995; }
.home-grid { margin-top:18px; display:grid; grid-template-columns:1.05fr .95fr; gap:18px; }
.action-panel { min-height:360px; padding:36px; background:var(--hero-gradient); display:flex; align-items:flex-start; flex-direction:column; }
.action-panel h2 { max-width:480px; font-size:36px; letter-spacing:-.04em; margin:35px 0 15px; }
.action-panel p { max-width:530px; color:#526159; line-height:1.65; }
.action-panel .button { margin-top:auto; }
.checklist-panel { padding:28px; }
.panel-title,.section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.panel-title h2,.section-heading h2 { margin:5px 0 0; font-size:21px; }
.progress-pill,.number-chip { background:#eff2ef; padding:7px 10px; border-radius:20px; font-size:11px; font-weight:700; }
.checklist-panel>a { display:grid; grid-template-columns:38px 1fr auto; align-items:center; gap:12px; padding:20px 0; border-top:1px solid var(--line); }
.checklist-panel>a:first-of-type { margin-top:18px; }
.checklist-panel>a:hover b { transform:translateX(3px); }
.checklist-panel>a b { transition:.2s; }
.checklist-panel>a div { display:flex; flex-direction:column; }
.checklist-panel>a small { color:var(--muted); margin-top:3px; }
.step-number { color:#839089; font-size:11px; font-weight:700; }
.form-panel { padding:26px; margin-bottom:20px; }
.form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:22px; }
.form-grid label,.quote-line label { display:flex; flex-direction:column; gap:7px; color:#5f6b65; font-size:11px; font-weight:700; }
.form-grid label.wide { grid-column:span 2; }
.form-grid label.full { grid-column:1/-1; }
.form-grid input,.form-grid select,.form-grid textarea,.quote-line input,.quote-line select { width:100%; min-height:43px; border:1px solid #d7ddd9; border-radius:9px; background:#fbfcfa; padding:9px 11px; color:var(--ink); outline:none; }
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.quote-line input:focus,.quote-line select:focus { border-color:#66a78b; box-shadow:0 0 0 3px rgba(67,137,106,.1); }
.form-grid textarea { min-height:88px; resize:vertical; }
.checkbox-label { flex-direction:row!important; align-items:center; padding-top:24px; }
.checkbox-label input { width:18px; min-height:auto; }
.form-actions { display:flex; justify-content:flex-end; margin-top:20px; }
.form-actions.gap-actions { gap:10px; }
.table-panel { overflow:hidden; }
.data-table { width:100%; border-collapse:collapse; font-size:13px; }
.data-table th { padding:14px 18px; color:#7c8782; background:#fafbfa; border-bottom:1px solid var(--line); text-align:left; text-transform:uppercase; font-size:9px; letter-spacing:.1em; }
.data-table td { padding:17px 18px; border-bottom:1px solid #edf0ee; vertical-align:middle; }
.data-table tr:last-child td { border-bottom:0; }
.data-table td small,.data-table td strong { display:block; }
.data-table td small { color:#929b97; margin-top:4px; }
.count-badge,.code-badge,.type-badge { display:inline-flex; padding:5px 8px; border-radius:7px; background:#edf1ee; font-size:10px; font-weight:700; }
.kanban-board { display:grid; grid-template-columns:repeat(4,minmax(230px,1fr)); gap:14px; overflow-x:auto; padding-bottom:10px; }
.kanban-column { background:#ecefec; border-radius:14px; padding:12px; min-height:420px; }
.kanban-column>header { display:flex; justify-content:space-between; padding:5px 5px 14px; font-size:12px; }
.kanban-column>header span { color:var(--muted); }
.deal-card { background:#fff; border:1px solid #dde2df; border-radius:11px; padding:16px; margin-bottom:10px; }
.deal-card h3 { font-size:14px; margin:7px 0 22px; }
.deal-card>strong { display:block; font-size:16px; }
.deal-card small { color:var(--muted); }
.empty-slot { border:1px dashed #ccd2ce; border-radius:10px; padding:25px 10px; text-align:center; color:#9aa39f; font-size:11px; }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.catalog-list { overflow:hidden; padding:0; }
.catalog-row { display:grid; grid-template-columns:minmax(260px,2fr) 100px 150px 150px auto; gap:18px; align-items:center; padding:15px 20px; border-bottom:1px solid var(--line); }
.catalog-row:last-child { border-bottom:0; }
.catalog-row:hover { background:#fbfcfb; }
.catalog-row-inactive { background:#fafafa; }
.catalog-row-editing { background:var(--accent-soft); }
.catalog-row-main { min-width:0; }
.catalog-row-title { display:flex; align-items:center; gap:10px; min-width:0; }
.catalog-row-title strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.catalog-row-main>small { display:block; overflow:hidden; margin-top:5px; color:var(--muted); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.catalog-row-price { display:flex; flex-direction:column; min-width:0; }
.catalog-row-price strong { font-size:15px; }
.catalog-row-price small { margin-top:3px; color:var(--muted); font-size:10px; white-space:nowrap; }
.catalog-inline-editor { grid-column:1/-1; margin:4px -4px -2px; padding:18px; border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line)); border-radius:12px; background:var(--surface); }
.catalog-inline-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.catalog-inline-heading strong { display:block; margin-top:4px; font-size:15px; }
.catalog-card { padding:22px; display:flex; flex-direction:column; min-height:230px; }
.catalog-top { display:flex; justify-content:space-between; }
.type-badge { background:#e5f1d9; color:#446036; }
.type-badge-product { background:var(--accent-secondary-soft); color:var(--accent-secondary-strong); }
.catalog-status { color:var(--muted); font-size:10px; margin-top:12px; }
.catalog-card-inactive { opacity:.72; }
.catalog-card-inactive .catalog-status { color:#8b4940; }
.catalog-actions { display:flex; gap:14px; margin-top:18px; padding-top:12px; border-top:1px solid var(--line); }
.catalog-role-note { margin-bottom:16px; }
.catalog-toolbar { align-items:end; margin-bottom:18px; }
.catalog-toolbar label { min-width:150px; }
.form-panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:20px; }
.form-panel-heading h2 { margin:4px 0 0; font-size:22px; }
.template-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:18px; }
.template-list { overflow:hidden; padding:0; margin-bottom:18px; }
.template-row { display:grid; grid-template-columns:minmax(280px,2fr) 180px 90px auto; gap:18px; align-items:center; padding:16px 20px; border-bottom:1px solid var(--line); }
.template-row:last-child { border-bottom:0; }
.template-row:hover { background:#fbfcfb; }
.template-row-inactive { background:#fafafa; }
.template-row-editing { background:var(--accent-soft); }
.template-row-main { min-width:0; }
.template-row-main>small { display:block; overflow:hidden; margin-top:5px; color:var(--muted); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.template-inline-editor { grid-column:1/-1; margin:4px -4px -2px; padding:20px; border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line)); border-radius:12px; background:var(--surface); }
.template-card { padding:22px; display:flex; flex-direction:column; min-height:220px; }
.template-card h2 { margin:22px 0 8px; font-size:19px; }
.template-card p { color:var(--muted); font-size:13px; line-height:1.5; }
.template-card-inactive { opacity:.72; }
.template-meta { display:flex; gap:14px; color:var(--muted); font-size:10px; margin-top:auto; }
.template-actions { display:flex; gap:14px; margin-top:18px; padding-top:12px; border-top:1px solid var(--line); }
.template-form { margin-bottom:18px; }
.template-detail-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:28px 0 14px; padding-top:20px; border-top:1px solid var(--line); }
.template-detail-heading h3 { margin:4px 0 0; font-size:18px; }
.template-detail-row { display:grid; grid-template-columns:minmax(180px,2fr) minmax(130px,1.3fr) 110px 120px 110px 140px 28px; gap:10px; align-items:end; padding:14px 0; border-bottom:1px solid var(--line); }
.template-detail-row label { color:var(--muted); font-size:10px; font-weight:700; }
.template-detail-row label span { display:block; margin-bottom:5px; }
.template-detail-concept { min-width:0; }
.catalog-toolbar { flex-wrap:wrap; }
.catalog-toolbar .toolbar-search { flex:1 1 260px; }
.catalog-toolbar>label:not(.toolbar-search) { flex:0 1 140px; }
.catalog-toolbar>.progress-pill { flex:0 0 auto; }
.catalog-card h3 { font-size:18px; margin:25px 0 8px; }
.catalog-card p { color:var(--muted); font-size:13px; line-height:1.5; }
.catalog-price { margin-top:auto; display:flex; flex-direction:column; }
.catalog-price strong { font:700 22px 'Segoe UI Variable Display','Segoe UI',sans-serif; }
.catalog-price span { color:var(--muted); font-size:10px; margin-top:3px; }
.align-right { text-align:right!important; }
.text-link,.back-link { color:var(--green); font-weight:700; font-size:12px; }
.status { display:inline-flex; padding:6px 9px; border-radius:20px; background:#ecefed; font-size:10px; font-weight:700; }
.status.sent { background:var(--accent-secondary-soft,#e4ecf8); color:var(--accent-secondary-strong,#355f91); }.status.accepted { background:var(--accent-soft); color:var(--accent-strong); }.status.rejected,.status.expired,.status.cancelled { background:var(--status-danger-soft,#f4e6e3); color:var(--status-danger,#8b4940); }
.heading-actions { display:flex; gap:9px; }
.success-banner { padding:12px 16px; background:#e7f4de; border:1px solid #cde5bc; border-radius:10px; color:#426638; margin:-15px 0 20px; font-size:12px; font-weight:700; }
.quote-workspace { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:18px; align-items:start; }
.line-editor-panel { padding:24px; margin-bottom:20px; }
.quote-line { display:grid; grid-template-columns:minmax(220px,2fr) 78px 105px 78px 72px 110px 28px; gap:10px; align-items:end; padding:18px 0; border-top:1px solid var(--line); }
.quote-line:first-of-type { margin-top:18px; }
.line-main { display:flex; flex-direction:column; gap:7px; }
.line-main select { min-height:35px; font-size:11px; }
.line-main input { font-weight:600; }
.line-total { display:flex; flex-direction:column; gap:6px; padding-bottom:8px; }
.line-total span { color:var(--muted); font-size:10px; }
.line-total strong { font-size:13px; }
.icon-button { border:0; background:transparent; color:#a05048; font-size:22px; padding:7px 0; }
.quote-summary { position:sticky; top:98px; padding:24px; }
.quote-summary h2 { margin:7px 0 28px; font-size:20px; }
.summary-row { display:flex; justify-content:space-between; padding:10px 0; color:var(--muted); font-size:12px; }
.summary-row strong { color:var(--ink); }
.summary-total { border-top:1px solid var(--line); margin-top:10px; padding-top:20px; display:grid; grid-template-columns:1fr auto; }
.summary-total strong { font:700 25px 'Segoe UI Variable Display','Segoe UI',sans-serif; }
.summary-total small { grid-column:2; color:var(--muted); text-align:right; }
.quote-summary>p { border-top:1px solid var(--line); margin:22px 0 0; padding-top:18px; color:var(--muted); font-size:11px; line-height:1.5; }
.print-only { display:none; }
#blazor-error-ui { display:none; position:fixed; bottom:0; left:0; right:0; z-index:1000; background:#8a3d34; color:white; padding:12px 20px; }
#blazor-error-ui .dismiss { float:right; cursor:pointer; }
.validation-message { color:#a8463c; font-size:11px; }


@media (max-width:1000px) {
    .app-shell { grid-template-columns:1fr; }
    .sidebar { width:248px; padding:24px 14px; transform:translateX(-105%); transition:transform .2s ease; box-shadow:16px 0 30px rgba(25,40,75,.12); }
    .sidebar-toggle:checked ~ .sidebar { transform:translateX(0); }
    .sidebar-backdrop { position:fixed; inset:0; z-index:15; background:rgba(17,27,56,.3); }
    .sidebar-toggle:checked ~ .sidebar-backdrop { display:block; }
    .menu-button { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border:1px solid var(--line); border-radius:8px; color:var(--accent-strong); background:var(--surface); cursor:pointer; font-size:18px; }
    .main-content { grid-column:1; width:100%; }
    .metric-grid { grid-template-columns:repeat(2,1fr); }.home-grid { grid-template-columns:1fr; }
    .quote-workspace { grid-template-columns:1fr; }.quote-summary { position:static; }
    .quote-line { grid-template-columns:2fr repeat(2,1fr); }.line-main { grid-column:1/-1; }.icon-button { grid-column:3; }
}
/* The full sidebar consumes part of the viewport, so compact list rows must activate before the mobile breakpoint. */
@media (max-width:1200px) {
    .catalog-row { grid-template-columns:minmax(0,1fr) 110px auto; gap:10px 14px; padding:14px 16px; }
    .catalog-row-main { grid-column:1; }
    .catalog-row>.type-badge { grid-column:2; grid-row:1; justify-self:stretch; align-self:start; }
    .catalog-row-price { grid-column:3; grid-row:1; }
    .catalog-status { grid-column:1; grid-row:2; margin-top:0; }
    .catalog-row>.catalog-actions { grid-column:2/4; grid-row:2; justify-self:end; margin-top:0; padding-top:0; border-top:0; }
    .template-row { grid-template-columns:minmax(0,1fr) auto; gap:10px 14px; padding:14px 16px; }
    .template-row-main { grid-column:1; grid-row:1; }
    .template-row>.type-badge { grid-column:2; grid-row:1; justify-self:stretch; align-self:start; }
    .template-row>.template-meta { grid-column:1; grid-row:2; margin-top:0; }
    .template-row>.template-actions { grid-column:2; grid-row:2; justify-self:end; align-self:start; margin-top:0; padding-top:0; border-top:0; }
    .template-row-main>small { white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
}
@media (max-width:680px) {
    .app-shell { display:block; }.sidebar { position:fixed; inset:auto 0 0; width:auto; height:66px; padding:8px; flex-direction:row; overflow-x:auto; }.brand,.sidebar-brand,.sidebar-footer { display:none; }.nav-list { min-width:790px; width:100%; flex-direction:row; justify-content:flex-start; }.nav-list a { flex:1 0 70px; }.main-content { padding-bottom:70px; }.topbar { height:62px; padding:0 18px; }.topbar>div:first-child { display:none; }.topbar { justify-content:flex-end; }.topbar-actions { width:100%; justify-content:space-between; }.global-search { width:min(100%,310px); }.user-chip div { display:none; }.page-content { padding:24px 16px; }.page-heading { align-items:flex-start; flex-direction:column; }.page-heading .button { width:100%; }.metric-grid,.catalog-grid { grid-template-columns:1fr; }.catalog-row { grid-template-columns:minmax(0,1fr) auto; gap:10px 12px; padding:15px 16px; }.catalog-row>.type-badge,.catalog-row-price,.catalog-status { grid-column:1; }.catalog-row>.catalog-actions { grid-column:2; grid-row:2/span 2; align-self:start; }.catalog-row-main>small { white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }.catalog-inline-editor { grid-column:1/-1; margin:4px 0 0; padding:14px; }.catalog-inline-heading { gap:10px; }.form-grid { grid-template-columns:1fr; }.form-grid label.wide { grid-column:auto; }.table-panel { overflow-x:auto; }.data-table { min-width:720px; }.heading-actions { width:100%; flex-wrap:wrap; }.heading-actions .button { flex:1; }.quote-line { grid-template-columns:repeat(2,1fr); }.line-total { padding:0; }.icon-button { grid-column:2; }.action-panel h2 { font-size:29px; }
}

@media(max-width:680px){
    .sidebar { inset:0 auto 0 0; width:248px; height:100dvh; padding:24px 14px; flex-direction:column; overflow:visible; }
    .sidebar-brand { display:grid; }
    .sidebar-footer { display:grid; }
    .nav-list { min-width:0; width:auto; flex-direction:column; justify-content:flex-start; padding-top:18px; overflow-y:auto; }
    .nav-list a { flex:0 0 auto; justify-content:flex-start; font-size:14px; }
    .nav-list a span { font-size:18px; }
    .main-content { padding-bottom:0; }
    .topbar { justify-content:flex-start; gap:12px; }
    .topbar-actions { width:auto; margin-left:auto; }
    .global-search { width:min(46vw,210px); }
    .menu-button { flex:0 0 auto; }
}
@media(max-width:680px){ .commercial-subnav{grid-template-columns:1fr}.commercial-subnav a{justify-content:center;text-align:center} }
@media(max-width:680px){ .template-row{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:15px 16px}.template-row>.template-meta{grid-column:1}.template-row>.type-badge{grid-column:1;justify-self:start}.template-row>.template-actions{grid-column:2;grid-row:1/span 3;align-self:start}.template-row-main>small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.template-inline-editor{grid-column:1/-1;margin:4px 0 0;padding:14px}.template-inline-editor .template-detail-row{display:grid;grid-template-columns:1fr 1fr}.template-inline-editor .template-detail-concept,.template-inline-editor .template-discount-rule{grid-column:1/-1}.template-inline-editor .template-detail-row .cq-delete{grid-column:2}.catalog-inline-editor .form-actions,.template-inline-editor .form-actions{justify-content:stretch}.catalog-inline-editor .form-actions .button,.template-inline-editor .form-actions .button{width:100%} }

@media print {
    @page { size:A4; margin:14mm; }
    body { background:white; color:#111; }
    .no-print,.sidebar,.topbar,#blazor-error-ui { display:none!important; }
    .app-shell,.main-content { display:block; }
    .page-content { padding:0; max-width:none; }
    .print-only { display:block; }
    .quote-document { font-size:11px; }
    .quote-document header { display:flex; justify-content:space-between; align-items:flex-start; border-bottom:2px solid #18201d; padding-bottom:24px; }
    .document-brand { display:flex; align-items:center; gap:10px; }.document-brand strong { font-size:18px; }.document-number { text-align:right; display:flex; flex-direction:column; }.document-number>span,.document-parties span { color:#68736d; font-size:9px; text-transform:uppercase; letter-spacing:.1em; }.document-number>strong { font-size:20px; margin:4px 0; }
    .document-parties { display:grid; grid-template-columns:1fr 1fr; gap:40px; padding:28px 0; }.document-parties>div:last-child { text-align:right; }.document-parties strong { display:block; font-size:15px; margin:5px 0; }.document-parties p { line-height:1.55; color:#56605b; }
    .quote-document table { width:100%; border-collapse:collapse; }.quote-document th { text-align:left; padding:10px 8px; background:#edf0ed; font-size:9px; text-transform:uppercase; }.quote-document td { padding:12px 8px; border-bottom:1px solid #dfe3e0; }.quote-document td small { display:block; color:#727b77; margin-top:3px; }.quote-document th:last-child,.quote-document td:last-child { text-align:right; }
    .document-bottom { display:grid; grid-template-columns:1fr 260px; gap:45px; margin-top:30px; }.document-bottom h3 { font-size:13px; }.document-bottom p { color:#59635e; }.document-totals p { display:flex; justify-content:space-between; margin:0; padding:8px 0; }.document-totals .grand { border-top:2px solid #18201d; margin-top:6px; padding-top:14px; font-size:15px; color:#111; }.quote-document footer { position:fixed; bottom:0; left:0; right:0; text-align:center; color:#7b847f; border-top:1px solid #ddd; padding-top:8px; }
}
