@layer azec-reset, azec-tokens, azec-base, azec-components, azec-utilities;

@layer azec-tokens {
    :root {
        --ui-space-1: .25rem; --ui-space-2: .5rem; --ui-space-3: .75rem; --ui-space-4: 1rem; --ui-space-5: 1.25rem; --ui-space-6: 1.5rem;
        --ui-radius-sm: .5rem; --ui-radius-md: .75rem; --ui-radius-lg: 1rem;
        --ui-layer-content: 1; --ui-layer-sticky: 10; --ui-layer-navigation: 30; --ui-layer-dialog: 50; --ui-layer-notification: 60;
        --ui-control-height: 2.75rem; --ui-touch-target: 2.75rem; --ui-table-row: 2.75rem; --ui-shadow-1: 0 8px 24px rgba(15, 31, 50, .08); --ui-breakpoint-tablet: 1100px;
    }
}

@media (max-width: 760px) {
    @layer azec-components {
        .office-dashboard__controls { justify-items:start; margin-top:var(--ui-space-3); }
        .office-dashboard__motto { text-align:left; }
        .office-schedule { gap:var(--ui-space-2); }
        .office-view-switch { justify-self:stretch; grid-template-columns:repeat(3, 1fr); }
        .office-view-switch a { padding:7px 5px; text-align:center; }
    }
}

@layer azec-base {
    :focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
    [hidden] { display: none !important; }
}

@layer azec-components {
    .ui-work-tabs { display:flex; gap:var(--ui-space-1); margin:0 0 var(--ui-space-4); border-bottom:1px solid var(--line); }.ui-work-tabs a { padding:var(--ui-space-3); margin-bottom:-1px; color:var(--muted); text-decoration:none; font-weight:800; }.ui-work-tabs a:hover { color:var(--cyan); }.ui-work-tabs a.is-active { color:var(--cyan); border-bottom:2px solid var(--cyan); }
    .ui-work-inbox { display:grid; }.ui-work-inbox__item { display:grid; grid-template-columns:auto minmax(0, 1fr) auto; align-items:center; gap:var(--ui-space-3); padding:var(--ui-space-4) 0; border-top:1px solid var(--line); color:var(--ink); text-decoration:none; }.ui-work-inbox__item:first-child { border-top:0; padding-top:0; }.ui-work-inbox__item:last-child { padding-bottom:0; }.ui-work-inbox__item:hover strong { color:var(--cyan); text-decoration:underline; }.ui-work-inbox__item > span:nth-child(2) { display:grid; gap:2px; min-width:0; }.ui-work-inbox__item small { color:var(--muted); }.ui-work-inbox__kind { padding:4px 7px; border-radius:999px; color:var(--muted); background:var(--surface-soft); font-size:.72rem; font-weight:800; }.ui-work-inbox__item.is-critical .ui-work-inbox__kind { color:var(--danger-ink); background:var(--danger-bg); }.ui-work-inbox__action { color:var(--cyan); font-size:.8rem; font-weight:800; white-space:nowrap; }
    .case-cockpit { display:grid; grid-template-columns:minmax(0, 1fr) 310px; gap:var(--ui-space-4); align-items:start; }.case-stack,.case-cockpit__aside { display:grid; gap:var(--ui-space-4); }.case-cockpit__aside { position:sticky; top:82px; }.case-summary { white-space:pre-wrap; }.case-event { padding:var(--ui-space-3); margin-top:var(--ui-space-2); border-left:3px solid var(--cyan); background:var(--surface-soft); }.case-quick-actions { display:grid; gap:var(--ui-space-2); }.case-quick-actions .button { width:100%; }.case-quick-actions form { margin:0; }.case-context p { margin:0 0 var(--ui-space-4); }.case-context p:last-child { margin-bottom:0; }
    .ui-dialog { position:relative; width:min(560px, calc(100vw - 2rem)); padding:0; overflow:visible; }
    .ui-dialog__close { position:absolute; z-index:1; top:var(--ui-space-3); right:var(--ui-space-3); margin:0; }.ui-dialog__close button { display:grid; place-items:center; width:34px; height:34px; border:0; border-radius:50%; color:var(--muted); background:var(--surface-soft); font-size:1.35rem; }.ui-dialog__close button:hover { color:var(--ink); }
    .ui-dialog__actions { display:flex; gap:var(--ui-space-2); justify-content:flex-end; margin-top:var(--ui-space-4); }.ui-quick-capture__form { padding:var(--ui-space-6); }.ui-quick-capture__form h2 { margin:0; font-size:1.35rem; }.ui-quick-capture__form > p:not(.ui-page__eyebrow) { margin:var(--ui-space-2) 0 var(--ui-space-4); color:var(--muted); }.ui-quick-capture__form textarea { width:100%; min-height:6rem; padding:var(--ui-space-3); border:1px solid var(--line); border-radius:var(--ui-radius-sm); background:var(--input); color:var(--ink); font:inherit; resize:vertical; }.ui-quick-capture__context { display:block; margin-top:var(--ui-space-2); color:var(--muted); }
    .ui-command-palette { width:min(680px, calc(100vw - 2rem)); }.ui-command-palette__body { padding:var(--ui-space-5); }.ui-command-palette__input { display:flex; align-items:center; gap:var(--ui-space-2); padding:0 var(--ui-space-3); min-height:var(--ui-control-height); border:1px solid var(--line); border-radius:var(--ui-radius-sm); background:var(--input); }.ui-command-palette__input > span { color:var(--cyan); font-size:1.2rem; }.ui-command-palette__input input { min-width:0; flex:1; border:0 !important; outline:0; background:transparent !important; color:var(--ink); font:inherit; }.ui-command-palette__input kbd { color:var(--muted); font-size:.75rem; }.ui-command-palette__results { display:grid; gap:var(--ui-space-1); max-height:min(55vh, 420px); overflow:auto; padding-top:var(--ui-space-3); }.ui-command-palette__label { margin:var(--ui-space-2) 0 var(--ui-space-1); color:var(--muted); font-size:.72rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }.ui-command-palette__item { display:grid; gap:2px; padding:var(--ui-space-3); border-radius:var(--ui-radius-sm); color:var(--ink); text-decoration:none; }.ui-command-palette__item:hover,.ui-command-palette__item:focus-visible { background:var(--surface-soft); }.ui-command-palette__item small { color:var(--muted); }.ui-command-palette__item--command strong { color:var(--cyan); }
    .ui-command-palette__item:is(button) { border:0; background:transparent; font:inherit; text-align:left; cursor:pointer; }
    .cpq-pilot__scenario-actions { display:grid; gap:var(--ui-space-2); }
    .cpq-pilot__economics-trigger,.cpq-pilot__economics-close,.cpq-pilot__economics-backdrop { display:none; }
    .cpq-pilot__economics-heading { display:flex; align-items:center; justify-content:space-between; gap:var(--ui-space-3); }.cpq-pilot__economics-heading h2 { margin:0; }
    .cpq-pilot__cockpit { display:grid; grid-template-columns:minmax(220px, .72fr) minmax(0, 2fr) minmax(245px, .9fr); gap:var(--ui-space-4); align-items:start; }.cpq-pilot__scope-panel,.cpq-pilot__economics-panel { position:sticky; top:80px; display:grid; gap:var(--ui-space-3); padding:var(--ui-space-4); border:1px solid var(--line); border-radius:var(--ui-radius-md); background:var(--surface); }.cpq-pilot__scope-panel h2,.cpq-pilot__economics-panel h2 { margin:0; font-size:1rem; }.cpq-pilot__scope-panel > p,.cpq-pilot__economics-empty { margin:0; color:var(--muted); font-size:.82rem; }.cpq-pilot__scope-list { display:grid; gap:8px; margin:0; padding:0; list-style:none; }.cpq-pilot__scope-list li { display:grid; gap:2px; padding:9px; border-left:3px solid var(--cyan); border-radius:0 var(--ui-radius-sm) var(--ui-radius-sm) 0; background:var(--surface-soft); }.cpq-pilot__scope-list span,.cpq-pilot__scope-list small { color:var(--muted); font-size:.72rem; }.cpq-pilot__scope-list strong { font-size:.8rem; line-height:1.25; }.cpq-pilot__economics-panel .ui-data-list { grid-template-columns:1fr; gap:8px; }.cpq-pilot__economics-panel .ui-card { padding:10px; }.cpq-pilot__why-price { padding-top:var(--ui-space-3); border-top:1px solid var(--line); }.cpq-pilot__why-price summary { cursor:pointer; color:var(--cyan); font-weight:800; }.cpq-pilot__why-price dl { display:grid; gap:8px; margin:10px 0 0; }.cpq-pilot__why-price dl div { display:flex; justify-content:space-between; gap:8px; font-size:.78rem; }.cpq-pilot__why-price dt { color:var(--muted); }.cpq-pilot__why-price dd { margin:0; font-weight:800; text-align:right; }.cpq-pilot__calculation-panel { min-width:0; }
    .cpq-pilot__lines { display:grid; gap:var(--ui-space-3); }
    .cpq-pilot__lines > .ui-section { margin:0; }
    /* The regular calculation workspace deliberately gives scope work most of
       the desktop width; economics is a stable reference panel, not a second
       narrow form. */
    .cpq-editor__header { display:grid; grid-template-columns:auto minmax(220px, 1fr) auto; align-items:end; gap:var(--ui-space-3); margin-bottom:var(--ui-space-4); }.cpq-editor__identity { display:grid; gap:4px; }.cpq-editor__identity label,.cpq-editor__identity small { color:var(--muted); font-size:.78rem; font-weight:750; }.cpq-editor__header-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:var(--ui-space-2); }.cpq-editor__workspace { display:grid; grid-template-columns:minmax(0, 1fr) minmax(290px, .38fr); gap:var(--ui-space-4); align-items:start; }.cpq-editor__scope { min-width:0; }.cpq-editor__economics { position:sticky; top:80px; display:grid; gap:var(--ui-space-3); padding:var(--ui-space-4); border:1px solid var(--line); border-radius:var(--ui-radius-md); background:var(--surface); }.cpq-editor__economics h2 { margin:0; font-size:1.05rem; }.cpq-editor__economics-empty { margin:0; color:var(--muted); }.cpq-editor__economics-list,.cpq-editor__why-price { display:grid; gap:8px; margin:0; }.cpq-editor__economics-list div,.cpq-editor__why-price div { display:flex; justify-content:space-between; gap:var(--ui-space-3); font-size:.84rem; }.cpq-editor__economics-list dt,.cpq-editor__why-price dt { color:var(--muted); }.cpq-editor__economics-list dd,.cpq-editor__why-price dd { margin:0; text-align:right; font-weight:850; }.cpq-editor__settings,.cpq-editor__why-price { padding-top:var(--ui-space-3); border-top:1px solid var(--line); }.cpq-editor__settings summary,.cpq-editor__why-price summary,.cpq-editor__item-details summary,.cpq-editor__custom-item summary { color:var(--cyan); font-weight:800; cursor:pointer; }
    .cpq-editor__items { display:grid; gap:var(--ui-space-3); }.cpq-editor__item { display:grid; gap:var(--ui-space-3); padding:var(--ui-space-4); border:1px solid var(--line); border-radius:var(--ui-radius-md); background:var(--surface); }.cpq-editor__item--manual { border-style:dashed; }.cpq-editor__item-main { display:grid; grid-template-columns:minmax(0, 1fr) minmax(320px, .9fr); gap:var(--ui-space-4); align-items:start; }.cpq-editor__item-main strong,.cpq-editor__item-main small { display:block; }.cpq-editor__item-main small { margin-top:4px; color:var(--muted); }.cpq-editor__item-facts { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--ui-space-2); margin:0; }.cpq-editor__item-facts div { display:grid; gap:3px; min-width:0; }.cpq-editor__item-facts dt { color:var(--muted); font-size:.7rem; font-weight:800; text-transform:uppercase; }.cpq-editor__item-facts dd { margin:0; font-weight:750; }.cpq-editor__item-facts input,.cpq-editor__item-facts select { width:100%; min-height:2.2rem; padding:0 .45rem; }.cpq-editor__item-price { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:var(--ui-space-2); padding-top:var(--ui-space-3); border-top:1px solid var(--line); }.cpq-editor__item-price span { display:grid; gap:2px; min-width:0; }.cpq-editor__item-price small { color:var(--muted); font-size:.72rem; }.cpq-editor__item-price strong { font-size:.9rem; }.cpq-editor__item-price .ui-badge { align-self:start; justify-self:start; }.cpq-editor__item-details { padding-top:var(--ui-space-2); }.cpq-editor__item-details[open] { display:grid; gap:var(--ui-space-3); }.cpq-editor__item-actions { display:flex; flex-wrap:wrap; gap:var(--ui-space-2); }.cpq-editor__item-actions .button { min-height:2.75rem; }.cpq-editor__custom-item { margin-top:var(--ui-space-3); padding:var(--ui-space-3); border:1px dashed var(--line); border-radius:var(--ui-radius-sm); }.cpq-editor__custom-item p { margin:var(--ui-space-2) 0 0; color:var(--muted); }
    .cpq-catalog-dialog { position:fixed; z-index:var(--ui-layer-dialog); width:min(1120px, calc(100vw - 2rem)); max-height:min(88dvh, 820px); padding:var(--ui-space-5); overflow:auto; border:1px solid var(--line); border-radius:var(--ui-radius-lg); color:var(--ink); background:var(--surface); box-shadow:var(--ui-shadow-1); }.cpq-catalog-dialog::backdrop { background:rgba(7,16,30,.56); }.cpq-catalog-dialog__header { display:flex; align-items:start; justify-content:space-between; gap:var(--ui-space-4); margin-bottom:var(--ui-space-4); }.cpq-catalog-dialog__header h2 { margin:0; }.cpq-catalog-dialog__header p:not(.ui-page__eyebrow) { margin:var(--ui-space-2) 0 0; color:var(--muted); }.cpq-catalog-dialog__search { display:grid; gap:var(--ui-space-3); padding:var(--ui-space-4); margin-bottom:var(--ui-space-4); border:1px solid var(--line); border-radius:var(--ui-radius-md); background:var(--surface-soft); }.cpq-catalog-dialog__results { display:grid; gap:var(--ui-space-3); }.cpq-catalog-result { display:grid; grid-template-columns:minmax(0, 1.5fr) minmax(230px, .8fr) minmax(240px, .85fr); gap:var(--ui-space-3); align-items:start; padding:var(--ui-space-4); border:1px solid var(--line); border-radius:var(--ui-radius-md); }.cpq-catalog-result strong,.cpq-catalog-result small { display:block; }.cpq-catalog-result small { margin-top:4px; color:var(--muted); line-height:1.4; }.cpq-catalog-result dl { display:grid; gap:7px; margin:0; }.cpq-catalog-result dl div { display:flex; justify-content:space-between; gap:8px; font-size:.8rem; }.cpq-catalog-result dt { color:var(--muted); }.cpq-catalog-result dd { margin:0; font-weight:800; text-align:right; }.cpq-catalog-result form { display:flex; flex-wrap:wrap; gap:var(--ui-space-2); }.cpq-catalog-result label { display:grid; gap:4px; flex:1 1 90px; color:var(--muted); font-size:.75rem; font-weight:750; }.cpq-catalog-result input,.cpq-catalog-result select { min-height:2.35rem; }.cpq-catalog-result .button { align-self:end; }.cpq-catalog-dialog__pagination { margin-top:var(--ui-space-4); }
    .app-shell { min-height: 100vh; display: grid; grid-template-columns: 260px minmax(0, 1fr); }
    /* Explicit grid placement keeps the hidden mobile backdrop from ever
       participating in desktop auto-placement between the sidebar and page. */
    .app-sidebar { grid-column:1; grid-row:1; position: sticky; z-index: var(--ui-layer-navigation); top: 0; height: 100vh; display: flex; flex-direction: column; overflow-y: auto; background: var(--navy); color: #fff; border-right: 1px solid rgba(255,255,255,.12); }
    .app-sidebar__brand { display:flex; align-items:center; justify-content:space-between; min-height: 72px; padding: var(--ui-space-4); border-bottom: 1px solid rgba(255,255,255,.12); }
    .app-brand { display:flex; align-items:center; gap: .7rem; color:#fff; text-decoration:none; }.app-brand__mark { display:grid; place-items:center; width:36px; height:36px; border-radius:11px; background:var(--cyan); font-size:.75rem; font-weight:900; }.app-brand strong,.app-brand small { display:block; }.app-brand small { margin-top:1px; color:rgba(255,255,255,.64); font-size:.7rem; }
    .app-sidebar__close,.app-sidebar__compact,.app-topbar__menu { display:none; border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; }.app-sidebar__close { font-size:1.7rem; }.app-sidebar__compact { display:grid; place-items:center; width:34px; height:34px; border:1px solid rgba(255,255,255,.22); border-radius:8px; color:#fff; font-size:1.1rem; }
    .app-sidebar__nav { display:grid; gap: .25rem; padding: var(--ui-space-3); }.app-nav-link,.app-nav-group summary,.app-nav-child { color:#fff; text-decoration:none; border-radius:var(--ui-radius-sm); }.app-nav-link,.app-nav-group summary { display:flex; align-items:center; gap:.7rem; min-height:42px; padding:.65rem .7rem; font-size:.9rem; font-weight:700; cursor:pointer; list-style:none; }.app-nav-group summary::-webkit-details-marker { display:none; }.app-nav-group summary::after { content:'⌄'; margin-left:auto; opacity:.65; }.app-nav-group[open] summary::after { transform:rotate(180deg); }.app-nav-link:hover,.app-nav-link.is-active,.app-nav-group summary:hover,.app-nav-group[open] summary { background:rgba(255,255,255,.12); }.app-nav-link__icon { width:1.25rem; text-align:center; opacity:.9; font-size:1rem; }.app-nav-group__items { display:grid; gap:2px; padding:.2rem 0 .4rem 2.55rem; }.app-nav-child { display:grid; gap:2px; padding:.55rem .65rem; font-size:.84rem; }.app-nav-child small { color:rgba(255,255,255,.6); font-size:.7rem; }.app-nav-child:hover,.app-nav-child.is-active { background:rgba(255,255,255,.1); }.app-sidebar__footer { margin-top:auto; padding:var(--ui-space-4); border-top:1px solid rgba(255,255,255,.12); }.app-sidebar__footer .ui-badge { color:#b9f5d0; background:rgba(34,197,94,.12); border-color:rgba(134,239,172,.22); }
    .app-workspace { grid-column:2; grid-row:1; min-width:0; display:flex; flex-direction:column; }.app-workspace > main { width:100%; max-width:1240px; margin:0 auto; padding:28px 20px; }.app-topbar { position:sticky; z-index:var(--ui-layer-navigation); top:0; min-height:64px; display:flex; align-items:center; gap:var(--ui-space-3); padding:0 var(--ui-space-5); background:color-mix(in srgb, var(--surface) 94%, transparent); border-bottom:1px solid var(--line); backdrop-filter:blur(10px); }.app-topbar__context { display:grid; gap:1px; }.app-topbar__context span { color:var(--muted); font-size:.7rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }.app-topbar__context strong { font-size:.95rem; }.app-topbar__actions { display:flex; align-items:center; gap:var(--ui-space-2); margin-left:auto; }.app-topbar__search { min-height:var(--ui-touch-target); min-width:120px; display:inline-flex; gap:6px; align-items:center; justify-content:center; padding:0 11px; color:var(--muted); border:1px solid var(--line); border-radius:var(--ui-radius-sm); background:var(--surface-soft); font:inherit; }.app-user-menu { position:relative; }.app-user-menu summary { list-style:none; cursor:pointer; }.app-user-menu summary::-webkit-details-marker { display:none; }.app-user { display:flex; align-items:center; gap:.5rem; color:var(--ink); font-size:.85rem; font-weight:750; min-height:var(--ui-touch-target); }.app-user__avatar { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; color:#fff; background:var(--cyan); font-size:.75rem; }.app-user-menu__panel { position:absolute; right:0; z-index:var(--ui-layer-navigation); width:180px; display:grid; gap:4px; padding:7px; border:1px solid var(--line); border-radius:var(--ui-radius-sm); background:var(--surface); box-shadow:var(--ui-shadow-1); }.app-user-menu__panel a,.app-user-menu__panel .logout { display:block; width:100%; padding:9px 10px; border:0; border-radius:7px; color:var(--ink); background:transparent; text-align:left; text-decoration:none; font:inherit; }.app-user-menu__panel a:hover,.app-user-menu__panel .logout:hover { background:var(--surface-soft); }
    .app-sidebar-backdrop { display:none; }
    .app-shell--compact { grid-template-columns:72px minmax(0, 1fr); }.app-shell--compact .app-sidebar__brand { justify-content:center; padding:var(--ui-space-3); }.app-shell--compact .app-brand > span:last-child,.app-shell--compact .app-nav-link > span:last-child,.app-shell--compact .app-nav-group summary > span:not(.app-nav-link__icon),.app-shell--compact .app-nav-group__items,.app-shell--compact .app-sidebar__footer { display:none; }.app-shell--compact .app-sidebar__compact { position:absolute; top:18px; right:-13px; z-index:1; border-color:var(--line); color:var(--ink); background:var(--surface); box-shadow:var(--ui-shadow-1); }.app-shell--compact .app-sidebar__nav { justify-items:center; padding:var(--ui-space-3) 8px; }.app-shell--compact .app-nav-link,.app-shell--compact .app-nav-group summary { justify-content:center; width:42px; padding:.65rem; }.app-shell--compact .app-nav-group summary::after { display:none; }
    /* The twelve-column form grammar is shared by every K1 form. Keeping all
       spans here prevents individual modules from inventing their own grids. */
    .ui-form-grid { display:grid; grid-template-columns:repeat(12, minmax(0, 1fr)); gap:var(--ui-space-4); }
    .ui-field { display:grid; min-width:0; grid-column:span 4; gap:var(--ui-space-2); font-weight:700; }
    .ui-field__label { font-size:.875rem; }
    .ui-field input,.ui-field select,.ui-field textarea { width:100%; padding:.72rem; border:1px solid var(--line); border-radius:var(--ui-radius-sm); background:var(--input); color:var(--ink); font:inherit; }
    .ui-field textarea { min-height:5.5rem; resize:vertical; }
    .ui-field__hint { color:var(--muted); font-size:.78rem; font-weight:400; }
    .ui-field__error { color:var(--danger-ink); font-size:.78rem; font-weight:750; }
    .ui-col-1 { grid-column:span 1; }.ui-col-2 { grid-column:span 2; }.ui-col-3 { grid-column:span 3; }.ui-col-4 { grid-column:span 4; }.ui-col-5 { grid-column:span 5; }.ui-col-6 { grid-column:span 6; }.ui-col-7 { grid-column:span 7; }.ui-col-8 { grid-column:span 8; }.ui-col-9 { grid-column:span 9; }.ui-col-10 { grid-column:span 10; }.ui-col-11 { grid-column:span 11; }.ui-col-12 { grid-column:1 / -1; }
    .ui-action-bar { display: flex; align-items: center; gap: var(--ui-space-3); flex-wrap: wrap; padding-top: var(--ui-space-4); border-top: 1px solid var(--line); }
    .ui-action-bar--sticky { position: sticky; z-index: var(--ui-layer-sticky); bottom: 0; padding: var(--ui-space-4); margin: var(--ui-space-5) calc(var(--ui-space-5) * -1) calc(var(--ui-space-5) * -1); background: color-mix(in srgb, var(--surface) 94%, transparent); backdrop-filter: blur(8px); }
    .ui-badge { display: inline-flex; align-items: center; gap: .35rem; border: 1px solid transparent; border-radius: 999px; padding: .28rem .55rem; font-size: .75rem; font-weight: 800; line-height: 1.2; }
    .ui-badge--neutral { color: var(--muted); background: var(--surface-soft); border-color: var(--line); }
    .ui-badge--info { color: var(--info-ink); background: var(--info-bg); }
    .ui-badge--success { color: var(--success-ink); background: var(--success-bg); }
    .ui-badge--danger { color: var(--danger-ink); background: var(--danger-bg); }
    .ui-badge--warning { color: #92400e; background: #fffbeb; border-color: #fde68a; }
    html[data-theme="dark"] .ui-badge--warning { color: #fcd34d; background: #3a2c10; border-color: #6c5016; }
    .ui-empty-state { display: grid; place-items: center; min-height: 150px; text-align: center; padding: var(--ui-space-6); border: 1px dashed var(--line); border-radius: var(--ui-radius-md); color: var(--muted); background: var(--surface-soft); }
    .ui-empty-state__icon { font-size: 1.5rem; line-height: 1; }
    .ui-empty-state__title { margin: var(--ui-space-2) 0 .15rem; color: var(--ink); font-size: 1rem; }
    .ui-empty-state__text { margin: 0; max-width: 36rem; }
    .auth-page { min-height:calc(100vh - 56px); display:grid; place-items:center; padding:var(--ui-space-5); }.auth-card { width:min(100%, 440px); padding:clamp(24px, 5vw, 36px); border:1px solid var(--line); border-radius:var(--ui-radius-lg); background:var(--surface); box-shadow:var(--ui-shadow-1); }.auth-brand { display:flex; align-items:center; gap:var(--ui-space-3); margin-bottom:var(--ui-space-6); }.auth-brand .mark { color:#fff; }.auth-brand strong { display:block; font-size:1.1rem; }.auth-brand small { display:block; margin-top:2px; }.auth-card h1 { margin:0; font-size:clamp(1.55rem, 5vw, 1.9rem); }.auth-intro { margin:var(--ui-space-2) 0 var(--ui-space-5); color:var(--muted); }.auth-field { display:grid; gap:var(--ui-space-2); margin-top:var(--ui-space-4); font-weight:700; }.auth-field input { width:100%; min-height:var(--ui-control-height); padding:0 var(--ui-space-3); border:1px solid var(--line); border-radius:var(--ui-radius-sm); background:var(--input); color:var(--ink); font:inherit; }.auth-field small { font-weight:400; }.auth-password { display:flex; gap:var(--ui-space-2); }.auth-password input { min-width:0; }.auth-password .button { flex:0 0 auto; min-height:var(--ui-control-height); padding:0 var(--ui-space-3); }.auth-checkbox { display:flex; align-items:center; gap:var(--ui-space-2); margin-top:var(--ui-space-4); color:var(--muted); font-size:.9rem; }.auth-checkbox input { width:18px; height:18px; }.auth-submit { width:100%; min-height:var(--ui-control-height); margin-top:var(--ui-space-5); }.auth-link { margin:var(--ui-space-4) 0 0; text-align:center; font-size:.9rem; }.auth-link a { color:var(--cyan); font-weight:750; }.auth-security { margin:var(--ui-space-4) 0 0; color:var(--muted); text-align:center; font-size:.78rem; }
    .home-hero { position:relative; overflow:hidden; padding:clamp(20px, 4vw, 32px); border-radius:var(--ui-radius-lg); background:linear-gradient(135deg, var(--navy), #17647c); color:#fff; }.home-hero::after { content:''; position:absolute; top:-78px; right:-56px; width:220px; height:220px; border:34px solid rgba(255,255,255,.08); border-radius:50%; }.home-hero h2,.home-hero p,.home-hero__today { position:relative; }.home-hero h2 { margin:0; font-size:clamp(1.5rem, 4vw, 2rem); }.home-hero p { max-width:650px; margin:var(--ui-space-2) 0 0; color:rgba(255,255,255,.84); }.home-hero__today { display:inline-flex; margin-top:var(--ui-space-4); padding:6px 9px; border-radius:999px; background:rgba(255,255,255,.13); font-size:.82rem; font-weight:750; }.home-quick-grid,.home-metrics { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:var(--ui-space-3); }.home-quick,.home-metric { display:grid; gap:5px; padding:var(--ui-space-4); border:1px solid var(--line); border-radius:var(--ui-radius-md); background:var(--surface-soft); color:var(--ink); text-decoration:none; transition:border-color .15s ease, transform .15s ease; }.home-quick:hover,.home-metric:hover { border-color:var(--cyan); transform:translateY(-1px); }.home-quick { min-height:116px; }.home-quick__icon { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; color:var(--cyan); background:var(--info-bg); font-size:1.05rem; font-weight:850; }.home-quick b { margin-top:auto; }.home-metric b { font-size:1.65rem; line-height:1; }.home-metric span,.home-quick small { color:var(--muted); font-size:.78rem; }.home-agenda-list { display:grid; }.home-agenda-item { display:grid; grid-template-columns:72px minmax(0, 1fr) auto; gap:var(--ui-space-3); align-items:center; padding:var(--ui-space-4) 0; border-top:1px solid var(--line); color:var(--ink); text-decoration:none; }.home-agenda-item:first-child { border-top:0; padding-top:0; }.home-agenda-item:last-child { padding-bottom:0; }.home-agenda-item:hover { color:var(--cyan); }.home-agenda-item__time { color:var(--cyan); font-size:.82rem; font-weight:850; }.home-agenda-item b,.home-agenda-item small { display:block; }.home-agenda-item small { margin-top:2px; color:var(--muted); font-size:.8rem; }
    .home-planning-bar { display:flex; align-items:center; justify-content:space-between; gap:var(--ui-space-3); margin:0 0 var(--ui-space-4); padding:var(--ui-space-3) var(--ui-space-4); border:1px solid var(--line); border-radius:var(--ui-radius-md); background:linear-gradient(100deg, var(--surface-soft), color-mix(in srgb, var(--cyan) 9%, var(--surface-soft))); }.home-planning-bar div { display:grid; gap:2px; }.home-planning-bar span { color:var(--muted); font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.home-planning-bar strong { font-size:.98rem; }.home-week { display:grid; grid-template-columns:repeat(7, minmax(130px, 1fr)); gap:var(--ui-space-2); overflow-x:auto; padding-bottom:2px; }.home-week__day { display:grid; align-content:start; gap:var(--ui-space-2); min-height:190px; padding:var(--ui-space-3); border:1px solid var(--line); border-radius:var(--ui-radius-sm); background:var(--surface-soft); }.home-week__day.is-today { border-color:var(--cyan); box-shadow:0 0 0 2px var(--focus); background:var(--surface); }.home-week__day.is-past { opacity:.64; }.home-week__day header { display:flex; align-items:baseline; gap:5px; min-width:0; }.home-week__day header span { color:var(--muted); font-size:.72rem; font-weight:800; text-transform:uppercase; }.home-week__day header strong { font-size:.92rem; }.home-week__day header em { margin-left:auto; color:var(--cyan); font-size:.68rem; font-style:normal; font-weight:850; }.home-week__day > p { margin:var(--ui-space-2) 0 0; color:var(--muted); font-size:.78rem; }.home-week__item { display:grid; gap:2px; padding:var(--ui-space-2); border-left:3px solid var(--cyan); border-radius:0 var(--ui-radius-sm) var(--ui-radius-sm) 0; background:var(--info-bg); color:var(--ink); text-decoration:none; }.home-week__item:hover { color:var(--cyan); background:var(--surface); }.home-week__item time,.home-week__item small,.home-week__more { color:var(--muted); font-size:.69rem; font-weight:750; }.home-week__item b { overflow:hidden; font-size:.78rem; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }.home-week__more { padding-left:var(--ui-space-2); }
    .home-office-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:var(--ui-space-3); }.home-office-action { display:grid; align-content:start; gap:5px; min-height:132px; padding:var(--ui-space-4); border:1px solid var(--line); border-radius:var(--ui-radius-md); color:var(--ink); background:var(--surface-soft); font:inherit; text-align:left; text-decoration:none; transition:border-color .15s ease, transform .15s ease, background .15s ease; cursor:pointer; }.home-office-action:hover { border-color:var(--cyan); transform:translateY(-1px); background:var(--surface); }.home-office-action > span { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; color:var(--cyan); background:var(--info-bg); font-size:1rem; font-weight:850; }.home-office-action strong { margin-top:auto; font-size:.93rem; }.home-office-action small { color:var(--muted); font-size:.76rem; line-height:1.35; }.home-office-action--primary { border-color:color-mix(in srgb, var(--cyan) 45%, var(--line)); background:color-mix(in srgb, var(--cyan) 9%, var(--surface)); }.home-office-action--primary > span { color:#fff; background:var(--cyan); }
    .ui-notice { display: flex; gap: var(--ui-space-3); align-items: flex-start; padding: var(--ui-space-4); border: 1px solid var(--line); border-radius: var(--ui-radius-md); background: var(--surface-soft); }
    .ui-notice--info { color: var(--info-ink); background: var(--info-bg); border-color: color-mix(in srgb, var(--info-ink) 20%, var(--line)); }
    .ui-notice--success { color: var(--success-ink); background: var(--success-bg); border-color: var(--success-line); }
    .ui-notice--danger { color: var(--danger-ink); background: var(--danger-bg); border-color: var(--danger-line); }
    .ui-notice__title { margin: 0 0 .2rem; font-weight: 800; }
    .ui-notice__text { margin: 0; }
    .ui-data-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ui-space-3); }
    .ui-data-item { padding: var(--ui-space-3); border-radius: var(--ui-radius-sm); background: var(--surface-soft); }
    .ui-data-item dt { color: var(--muted); font-size: .75rem; font-weight: 700; }
    .ui-data-item dd { margin: .2rem 0 0; font-weight: 750; }
    .ui-file-upload { display: grid; gap: var(--ui-space-2); padding: var(--ui-space-4); border: 1px dashed var(--line); border-radius: var(--ui-radius-md); background: var(--surface-soft); }
    .ui-file-upload input[type="file"] { max-width: 100%; }
    .ui-file-upload__title { font-weight: 800; }
    .ui-file-upload__hint { color: var(--muted); font-size: .875rem; }
    .ui-dialog { z-index: var(--ui-layer-dialog); color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: var(--ui-radius-lg); box-shadow: 0 20px 50px rgba(0, 0, 0, .35); max-width: min(560px, calc(100vw - 2rem)); }
    .ui-dialog::backdrop { background: rgba(7, 16, 30, .55); }
    .item-heading { display:flex; justify-content:space-between; gap:var(--ui-space-3); align-items:flex-start; }
    .item-heading h2 a { color:inherit; text-decoration:none; }.item-heading h2 a:hover { text-decoration:underline; color:var(--cyan); }
    .price-summary { margin:var(--ui-space-3) 0 0; }
    .material-detail { display:grid; gap:var(--ui-space-4); }
    .material-panel { padding:var(--ui-space-5); border:1px solid var(--line); border-radius:var(--ui-radius-lg); background:var(--surface); }
    .material-panel h2 { margin:0 0 var(--ui-space-2); font-size:1.19rem; }
    .approved-price { display:grid; gap:.2rem; margin:var(--ui-space-3) 0 var(--ui-space-2); }.approved-price strong { font-size:1.5rem; color:var(--success-ink); }.approved-price span { color:var(--muted); }
    .price-warning { margin:var(--ui-space-3) 0 0; padding:var(--ui-space-3); border:1px solid var(--danger-line); background:var(--danger-bg); color:var(--danger-ink); border-radius:var(--ui-radius-sm); }
    .approval-note { padding:var(--ui-space-3); background:var(--surface-soft); border-radius:var(--ui-radius-sm); }
    .price-offers { display:grid; gap:var(--ui-space-3); margin-top:var(--ui-space-4); }
    .price-offer { display:grid; grid-template-columns:minmax(180px,1fr) auto; gap:var(--ui-space-2) var(--ui-space-5); padding:var(--ui-space-4); border:1px solid var(--line); border-radius:var(--ui-radius-md); background:var(--surface-soft); }
    .price-offer > div { display:grid; gap:.15rem; }.price-offer span { font-size:.813rem; color:var(--muted); }.price-offer__amount { text-align:right; }.price-offer small { grid-column:1/-1; }.price-offer--historic { opacity:.7; }
    .price-approval-form { grid-column:1/-1; display:flex; gap:var(--ui-space-2); align-items:center; flex-wrap:wrap; border-top:1px solid var(--line); padding-top:var(--ui-space-3); }
    .price-approval-form input { flex:1 1 260px; padding:.625rem; border:1px solid var(--line); border-radius:var(--ui-radius-sm); font:inherit; }
    .ui-filter-bar { display:grid; gap:var(--ui-space-4); }.ui-filter-bar__count { color:var(--muted); font-size:.875rem; font-weight:700; align-self:center; }.stock { display:grid; gap:var(--ui-space-4); }.places { display:flex; gap:var(--ui-space-2); flex-wrap:wrap; margin-top:var(--ui-space-3); }.item { padding:var(--ui-space-4) 0; border-top:1px solid var(--line); }.item:first-child { border-top:0; }.item h2 { margin:0; font-size:1.125rem; }.place { padding:.375rem .5625rem; background:var(--surface-soft); border:1px solid var(--line); border-radius:var(--ui-radius-sm); }.move { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:var(--ui-space-2); margin-top:var(--ui-space-3); }
    .customer-directory { display:grid; gap:var(--ui-space-3); }.customer-directory__item { display:grid; grid-template-columns:minmax(200px,1.25fr) minmax(180px,1fr) minmax(180px,1fr) minmax(160px,.8fr) auto; gap:var(--ui-space-4); align-items:center; padding:var(--ui-space-4); color:inherit; text-decoration:none; border:1px solid var(--line); border-radius:var(--ui-radius-md); background:var(--surface-soft); }.customer-directory__item:hover { border-color:var(--cyan); background:var(--surface); }.customer-directory__item > div { display:grid; gap:.2rem; min-width:0; }.customer-directory__item strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.customer-directory__item span { color:var(--muted); font-size:.813rem; }.customer-directory__facts { display:flex !important; flex-wrap:wrap; gap:var(--ui-space-2); }.customer-directory__facts span { padding:.25rem .45rem; border:1px solid var(--line); border-radius:999px; background:var(--surface); }
    .ui-customer-select { position:relative; }.ui-customer-select > label { font-weight:700; }.ui-customer-select__lookup { display:grid; gap:var(--ui-space-2); }.ui-customer-select__lookup input { width:100%; padding:12px; border:1px solid var(--line); border-radius:var(--ui-radius-sm); font:inherit; }.ui-customer-select__results { display:grid; gap:6px; }.ui-customer-select__option { display:grid; gap:2px; width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:var(--ui-radius-sm); background:var(--surface-soft); color:var(--ink); text-align:left; font:inherit; }.ui-customer-select__option:hover,.ui-customer-select__option:focus-visible { border-color:var(--cyan); background:var(--surface); }.ui-customer-select__option small { color:var(--muted); }
}

@layer azec-utilities {
    .ui-stack { display: grid; gap: var(--ui-space-4); }
    .ui-stack--compact { gap: var(--ui-space-2); }
    .ui-inline { display: flex; align-items: center; gap: var(--ui-space-2); flex-wrap: wrap; }
    .ui-grow { flex: 1 1 auto; }
}

@media (max-width: 1100px) {
    @layer azec-components {
        .app-shell,.app-shell--compact { display:block; }.app-sidebar { position:fixed; left:0; width:min(320px, calc(100vw - 3rem)); transform:translateX(-105%); visibility:hidden; pointer-events:none; transition:transform .2s ease, visibility 0s linear .2s; box-shadow:0 16px 40px rgba(0,0,0,.35); }.sidebar-open .app-sidebar { transform:translateX(0); visibility:visible; pointer-events:auto; transition:transform .2s ease; }.app-sidebar__close,.app-topbar__menu { display:inline-grid; place-items:center; }.app-sidebar__compact { display:none; }.app-topbar__menu { width:40px; height:40px; border:1px solid var(--line); border-radius:var(--ui-radius-sm); color:var(--ink); font-size:1.2rem; }.app-sidebar-backdrop { position:fixed; z-index:calc(var(--ui-layer-navigation) - 1); inset:0; background:rgba(7,16,30,.45); }.sidebar-open .app-sidebar-backdrop { display:block; }.app-topbar { min-height:58px; padding:0 var(--ui-space-3); }.app-user__name { display:none; }
        .ui-action-bar { align-items: stretch; }
        .ui-action-bar > .button, .ui-action-bar > .primary { flex: 1 1 100%; }
        .ui-data-list { grid-template-columns: 1fr; }
        .item-heading { flex-direction:column; }.price-offer { grid-template-columns:1fr; }.price-offer__amount { text-align:left; }
        .move { grid-template-columns:1fr 1fr; }
        .customer-directory__item { grid-template-columns:1fr; gap:var(--ui-space-2); }.customer-directory__item strong { white-space:normal; }
    }
}

@layer azec-components {
    .ui-import-form { display: flex; align-items: end; gap: var(--ui-space-4); flex-wrap: wrap; margin-top: var(--ui-space-4); padding-top: var(--ui-space-4); border-top: 1px solid var(--line); }
    .ui-import-form .ui-field { min-width: min(100%, 520px); margin: 0; }
    .ui-run-list { display: grid; gap: var(--ui-space-3); margin-top: var(--ui-space-4); }
    .ui-run { display: flex; align-items: center; justify-content: space-between; gap: var(--ui-space-4); padding: var(--ui-space-3); border: 1px solid var(--line); border-radius: var(--ui-radius-sm); background: var(--surface-soft); }
    .ui-run > div { display: grid; gap: .2rem; }
    .ui-run span, .ui-run small { font-size: .813rem; color: var(--muted); }
    .ui-run form { margin: 0; }
}

@media (max-width: 700px) {
    .ui-import-form { align-items: stretch; }
    .ui-import-form .ui-field { min-width: 100%; }
    .ui-run { align-items: flex-start; flex-direction: column; }
}

@layer azec-components {
    .customer-overview { display:grid; grid-template-columns:minmax(0, 1fr) minmax(250px, .8fr); gap:var(--ui-space-4); padding:var(--ui-space-5); border:1px solid var(--line); border-radius:var(--ui-radius-lg); background:var(--surface); }
    .customer-overview__contacts { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--ui-space-3); }
    .customer-overview__lead { display:grid; align-content:start; gap:.25rem; min-width:0; padding:var(--ui-space-3); border-radius:var(--ui-radius-sm); background:var(--surface-soft); }
    .customer-overview__lead strong { overflow-wrap:anywhere; }
    .customer-overview__lead span { color:var(--muted); font-size:.813rem; overflow-wrap:anywhere; }
    .customer-overview__lead a { color:var(--cyan); }
    .customer-overview__label { color:var(--ink) !important; font-size:.7rem !important; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
    .customer-metrics { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:var(--ui-space-3); align-content:start; }
    .customer-metric { display:grid; gap:.1rem; min-height:82px; align-content:center; padding:var(--ui-space-3); border:1px solid var(--line); border-radius:var(--ui-radius-sm); background:var(--surface-soft); color:inherit; text-decoration:none; }
    .customer-metric:hover { border-color:var(--cyan); background:var(--surface); }
    .customer-metric strong { font-size:1.45rem; line-height:1; color:var(--cyan); }
    .customer-metric span { color:var(--muted); font-size:.78rem; font-weight:700; }
    .customer-metric--danger { border-color:#fecaca; background:#fff7f7; }
    .customer-metric--danger strong { color:#b91c1c; }
    .customer-metric--warning { border-color:#fde68a; background:#fffbeb; }
    .customer-metric--warning strong { color:#b45309; }
    .customer-attention-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:var(--ui-space-2); }
    .customer-attention { display:flex; align-items:flex-start; gap:.7rem; padding:var(--ui-space-3); border:1px solid var(--line); border-radius:var(--ui-radius-sm); color:inherit; text-decoration:none; background:var(--surface-soft); }
    .customer-attention:hover { border-color:var(--cyan); background:var(--surface); }
    .customer-attention__marker { flex:0 0 1.4rem; width:1.4rem; height:1.4rem; display:grid; place-items:center; border-radius:999px; background:#e0f2fe; color:#075985; font-size:.8rem; font-weight:900; }
    .customer-attention strong,.customer-attention small { display:block; }
    .customer-attention small { margin-top:.15rem; color:var(--muted); }
    .customer-attention--danger { border-color:#fecaca; background:#fff7f7; }
    .customer-attention--danger .customer-attention__marker { background:#fee2e2; color:#b91c1c; }
    .customer-attention--warning { border-color:#fde68a; background:#fffbeb; }
    .customer-attention--warning .customer-attention__marker { background:#fef3c7; color:#b45309; }
    .customer-quick-actions { display:flex; flex-wrap:wrap; gap:var(--ui-space-2); }
    .customer-profile-layout { display:grid; grid-template-columns:minmax(0, 1fr) minmax(285px, .42fr); gap:var(--ui-space-4); align-items:start; }
    .customer-profile-sidebar { display:grid; gap:var(--ui-space-4); min-width:0; }
    .customer-data-list { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--ui-space-3); margin:0; }
    .customer-data-list > div { padding:var(--ui-space-3); border-radius:var(--ui-radius-sm); background:var(--surface-soft); }
    .customer-data-list dt { color:var(--muted); font-size:.75rem; font-weight:750; }
    .customer-data-list dd { margin:.25rem 0 0; font-weight:700; overflow-wrap:anywhere; }
    .customer-data-list__wide { grid-column:1 / -1; }
    .customer-note { white-space:pre-wrap; line-height:1.55; font-weight:500 !important; }
    .customer-record-list { display:grid; }
    .customer-record-list__item { display:flex; justify-content:space-between; align-items:flex-start; gap:var(--ui-space-4); padding:var(--ui-space-4) 0; border-top:1px solid var(--line); }
    .customer-record-list__item:first-child { border-top:0; padding-top:0; }
    .customer-record-list__item:last-child { padding-bottom:0; }
    .customer-record-list__item > div:first-child { min-width:0; }
    .customer-record-list__item strong { overflow-wrap:anywhere; }
    .customer-record-list__item p { margin:.22rem 0 0; color:var(--muted); font-size:.875rem; overflow-wrap:anywhere; }
    .customer-record-list__actions { display:flex; align-items:center; justify-content:flex-end; gap:var(--ui-space-2); flex-wrap:wrap; flex:none; }
    .customer-record-list__actions .button { padding:.48rem .7rem; font-size:.8125rem; }
    .customer-activity,.customer-history { display:grid; }
    .customer-activity__item,.customer-history__item { display:grid; gap:.25rem; padding:var(--ui-space-3) 0; border-top:1px solid var(--line); }
    .customer-activity__item:first-child,.customer-history__item:first-child { border-top:0; padding-top:0; }
    .customer-activity__item > span { color:var(--cyan); font-size:.7rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
    .customer-activity__item a { color:inherit; text-decoration:none; }
    .customer-activity__item a:hover { color:var(--cyan); text-decoration:underline; }
    .customer-activity__item p,.customer-history__item p { margin:0; color:var(--muted); font-size:.8125rem; }
    .customer-activity__item time { color:var(--muted); font-size:.75rem; }
    .customer-history__item details { margin-top:var(--ui-space-2); color:var(--muted); font-size:.8125rem; }
    .customer-history__item summary { color:var(--cyan); cursor:pointer; font-weight:750; }
    .customer-history__item ul { margin:.5rem 0 0; padding-left:1.1rem; }
    .customer-duplicate-warning { grid-column:1 / -1; display:grid; gap:var(--ui-space-3); padding:var(--ui-space-4); border:1px solid #f5c26b; border-radius:var(--ui-radius-md); background:#fff8e8; color:#713f12; }
    .customer-duplicate-warning__heading { display:flex; align-items:flex-start; gap:var(--ui-space-2); }
    .customer-duplicate-warning__heading > span { font-size:1.1rem; line-height:1.2; }
    .customer-duplicate-warning__heading strong { display:block; }
    .customer-duplicate-warning__heading p { margin:.15rem 0 0; font-size:.8125rem; }
    .customer-duplicate-warning__results { display:grid; gap:var(--ui-space-2); }
    .customer-duplicate-warning__result { display:flex; align-items:center; justify-content:space-between; gap:var(--ui-space-3); padding:var(--ui-space-3); border:1px solid #f5d99d; border-radius:var(--ui-radius-sm); background:rgba(255,255,255,.55); color:inherit; text-decoration:none; }
    .customer-duplicate-warning__result:hover { border-color:#d97706; background:#fff; }
    .customer-duplicate-warning__result div { display:grid; gap:.1rem; min-width:0; }
    .customer-duplicate-warning__result small { color:inherit; opacity:.78; }
    .customer-duplicate-warning__matches { font-size:.75rem; font-weight:800; text-align:right; }
    html[data-theme="dark"] .customer-duplicate-warning { border-color:#805d16; background:#382b12; color:#f5d98c; }
    html[data-theme="dark"] .customer-duplicate-warning__result { border-color:#705419; background:#2b2415; }
}

@media (max-width: 1050px) {
    .customer-overview { grid-template-columns:1fr; }
    .customer-profile-layout { grid-template-columns:1fr; }
}

@media (max-width: 760px) {
    .customer-overview__contacts { grid-template-columns:1fr; }
    .customer-metrics { grid-template-columns:repeat(2, minmax(0, 1fr)); }
    .customer-data-list { grid-template-columns:1fr; }
    .customer-data-list__wide { grid-column:auto; }
    .customer-record-list__item { flex-direction:column; }
    .customer-record-list__actions { justify-content:flex-start; }
    .customer-quick-actions .button { flex:1 1 100%; }
    .customer-duplicate-warning__result { align-items:flex-start; flex-direction:column; }
    .customer-duplicate-warning__matches { text-align:left; }
}

/* The dashboard is an operational desk: it presents the existing calendar,
   cases and captured inputs together, instead of creating a second task app. */
@layer azec-components {
    .office-dashboard { display:grid; gap:var(--ui-space-5); max-width:1120px; margin:0 auto; }
    .office-dashboard__header { display:flex; align-items:end; justify-content:space-between; gap:var(--ui-space-5); padding-top:var(--ui-space-2); }
    .office-dashboard__header h1 { margin:0; font-size:clamp(2rem, 4vw, 3rem); letter-spacing:-.04em; line-height:1; }
    .office-dashboard__header > div > p:last-child { margin:var(--ui-space-2) 0 0; color:var(--muted); font-size:1rem; font-weight:650; }
    .office-dashboard__controls { display:grid; justify-items:end; gap:var(--ui-space-2); }.office-dashboard__motto { max-width:330px; margin:0; color:var(--muted); font-size:.83rem; line-height:1.55; text-align:right; }.office-switch,.office-view-switch { display:inline-grid; grid-auto-flow:column; gap:3px; padding:3px; border:1px solid var(--line); border-radius:9px; background:var(--surface-soft); }.office-switch a,.office-view-switch a { padding:6px 13px; border-radius:6px; color:var(--muted); font-size:.76rem; font-weight:800; text-decoration:none; }.office-switch a:hover,.office-view-switch a:hover { color:var(--ink); }.office-switch a.is-active,.office-view-switch a.is-active { color:#fff; background:linear-gradient(135deg, var(--cyan), #1677a1); box-shadow:0 2px 7px color-mix(in srgb, var(--cyan) 30%, transparent); }
    .office-actions { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:var(--ui-space-3); }
    .office-action { display:grid; grid-template-columns:42px minmax(0, 1fr); grid-template-rows:auto auto; column-gap:var(--ui-space-3); align-items:center; min-height:82px; padding:var(--ui-space-4); border:1px solid color-mix(in srgb, var(--cyan) 46%, var(--line)); border-radius:var(--ui-radius-md); background:color-mix(in srgb, var(--surface) 92%, var(--cyan)); color:var(--ink); font:inherit; text-align:left; text-decoration:none; transition:transform .16s ease, border-color .16s ease, background .16s ease; }
    .office-action:hover { border-color:var(--cyan); transform:translateY(-2px); background:var(--surface); }.office-action:focus-visible { z-index:1; }
    .office-action > span { grid-row:1 / span 2; display:grid; place-items:center; width:40px; height:40px; border-radius:10px; color:#fff; background:linear-gradient(135deg, var(--cyan), color-mix(in srgb, var(--cyan) 55%, #2550a5)); font-size:1.22rem; font-weight:900; }
    .office-action strong { align-self:end; font-size:.95rem; }.office-action small { align-self:start; color:var(--muted); font-size:.76rem; }.office-action--plan { border-color:color-mix(in srgb, var(--cyan) 76%, var(--line)); background:linear-gradient(135deg, var(--cyan), color-mix(in srgb, var(--cyan) 66%, #185fa7)); color:#fff; }.office-action--plan small { color:rgba(255,255,255,.8); }.office-action--plan > span { background:rgba(255,255,255,.16); }
    .office-schedule { display:grid; gap:var(--ui-space-3); }.office-view-switch { justify-self:end; }.office-week-strip { display:grid; grid-template-columns:repeat(7, minmax(0, 1fr)) minmax(170px, 1.2fr); overflow:hidden; border:1px solid var(--line); border-radius:var(--ui-radius-md); background:var(--surface-soft); }
    .office-week-day { display:grid; align-content:center; justify-items:center; gap:2px; min-height:78px; padding:var(--ui-space-2); border-right:1px solid var(--line); color:var(--ink); text-decoration:none; transition:background .15s ease; }.office-week-day:hover { background:var(--surface); }.office-week-day span,.office-week-day small { color:var(--muted); font-size:.7rem; font-weight:750; }.office-week-day strong { font-size:1.15rem; }.office-week-day.is-today { color:#fff; background:linear-gradient(135deg, var(--cyan), #1677a1); }.office-week-day.is-today span,.office-week-day.is-today small { color:rgba(255,255,255,.8); }.office-week-day.is-past { opacity:.63; }.office-week-calendar { display:flex; align-items:center; justify-content:center; gap:var(--ui-space-2); padding:var(--ui-space-3); color:var(--cyan); font-size:.85rem; font-weight:850; text-decoration:none; }.office-week-calendar:hover { background:var(--surface); }.office-week-calendar span { font-size:1.15rem; }
    .office-dashboard__grid { display:grid; grid-template-columns:minmax(0, 1.6fr) minmax(290px, .84fr); gap:var(--ui-space-4); align-items:start; }.office-dashboard__main,.office-dashboard__aside { display:grid; gap:var(--ui-space-4); }.office-dashboard__aside { position:sticky; top:84px; }
    .office-panel { overflow:hidden; border:1px solid var(--line); border-radius:var(--ui-radius-md); background:var(--surface); }.office-panel__header { display:flex; align-items:center; justify-content:space-between; gap:var(--ui-space-3); padding:var(--ui-space-4) var(--ui-space-5); border-bottom:1px solid var(--line); }.office-panel__header > div { display:flex; align-items:center; gap:var(--ui-space-3); }.office-panel__header > div > span { display:grid; place-items:center; width:28px; height:28px; border-radius:8px; color:var(--cyan); background:var(--info-bg); font-weight:900; }.office-panel__header h2 { margin:0; font-size:1.05rem; }.office-panel__header > a { color:var(--cyan); font-size:.78rem; font-weight:800; text-decoration:none; white-space:nowrap; }.office-panel__header > a:hover { text-decoration:underline; }
    .office-timeline { padding:0 var(--ui-space-5); }.office-timeline__item { position:relative; display:grid; grid-template-columns:64px 18px minmax(0, 1fr) auto; gap:var(--ui-space-3); min-height:78px; padding:var(--ui-space-4) 0; color:var(--ink); text-decoration:none; }.office-timeline__item + .office-timeline__item { border-top:1px solid var(--line); }.office-timeline__item::before { content:''; position:absolute; top:0; bottom:0; left:72px; width:1px; background:color-mix(in srgb, var(--cyan) 45%, var(--line)); }.office-timeline__item:first-child::before { top:50%; }.office-timeline__item:last-child::before { bottom:50%; }.office-timeline__item time { color:var(--cyan); font-size:.83rem; font-weight:850; }.office-timeline__dot { z-index:1; width:14px; height:14px; margin-top:4px; border:2px solid var(--surface); border-radius:50%; background:var(--cyan); box-shadow:0 0 0 1px var(--cyan); }.office-timeline__item strong,.office-timeline__item small { display:block; }.office-timeline__item strong { font-size:.92rem; }.office-timeline__item small { margin-top:3px; color:var(--muted); font-size:.78rem; }.office-timeline__item em { align-self:start; padding:4px 7px; border-radius:999px; color:var(--cyan); background:var(--info-bg); font-size:.68rem; font-style:normal; font-weight:850; white-space:nowrap; }.office-timeline__item:hover strong { color:var(--cyan); text-decoration:underline; }
    .office-upcoming { display:grid; }.office-upcoming > a { display:grid; grid-template-columns:135px minmax(0, 1fr) auto; gap:var(--ui-space-3); align-items:center; padding:var(--ui-space-4) var(--ui-space-5); border-top:1px solid var(--line); color:var(--ink); text-decoration:none; }.office-upcoming > a:first-child { border-top:0; }.office-upcoming time { color:var(--cyan); font-size:.76rem; font-weight:800; }.office-upcoming strong,.office-upcoming small { display:block; }.office-upcoming small { margin-top:2px; color:var(--muted); font-size:.77rem; }.office-upcoming b { color:var(--cyan); font-size:1.3rem; }.office-upcoming > a:hover { background:var(--surface-soft); }.office-upcoming > a:hover strong { color:var(--cyan); }
    .office-inbox { display:grid; padding:0 var(--ui-space-4); }.office-inbox > a { display:grid; grid-template-columns:20px minmax(0, 1fr); gap:var(--ui-space-2); padding:var(--ui-space-3) 0; border-top:1px solid var(--line); color:var(--ink); text-decoration:none; }.office-inbox > a:first-child { border-top:0; }.office-inbox__mark { width:17px; height:17px; margin-top:2px; border:2px solid var(--cyan); border-radius:4px; }.office-inbox strong,.office-inbox small { display:block; }.office-inbox strong { font-size:.84rem; }.office-inbox small { margin-top:3px; color:var(--muted); font-size:.72rem; }.office-inbox > a:hover strong { color:var(--cyan); text-decoration:underline; }.office-inbox__item--danger .office-inbox__mark { border-radius:50%; border-color:var(--danger-ink); background:var(--danger-bg); }.office-inbox__item--priority .office-inbox__mark { border-radius:50%; background:var(--cyan); }.office-inbox__item--waiting .office-inbox__mark { border-color:#f59e0b; background:color-mix(in srgb, #f59e0b 18%, transparent); }
    .office-alert { display:grid; grid-template-columns:34px minmax(0, 1fr) auto; gap:var(--ui-space-2); align-items:center; margin:var(--ui-space-3); padding:var(--ui-space-3); border:1px solid var(--line); border-radius:var(--ui-radius-sm); background:var(--surface-soft); color:var(--ink); text-decoration:none; }.office-alert > span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; color:var(--cyan); background:var(--info-bg); font-weight:900; }.office-alert strong,.office-alert small { display:block; }.office-alert strong { font-size:.82rem; }.office-alert small { margin-top:2px; color:var(--muted); font-size:.71rem; font-weight:600; }.office-alert > b { color:var(--cyan); font-size:1.2rem; }.office-alert--danger { border-color:var(--danger-line); background:var(--danger-bg); }.office-alert--danger > span { color:var(--danger-ink); background:color-mix(in srgb, var(--danger-bg) 70%, #fb923c); }
    .office-empty { margin:0; padding:var(--ui-space-5); color:var(--muted); font-size:.84rem; }.office-continue { display:flex; align-items:center; justify-content:space-between; gap:var(--ui-space-4); padding:var(--ui-space-4) var(--ui-space-5); border:1px solid var(--line); border-radius:var(--ui-radius-md); background:var(--surface); }.office-continue > div:first-child { display:grid; grid-template-columns:32px minmax(0, 1fr); column-gap:var(--ui-space-2); }.office-continue > div:first-child > span { grid-row:1 / span 2; display:grid; place-items:center; width:30px; height:30px; border-radius:8px; color:var(--cyan); background:var(--info-bg); }.office-continue strong,.office-continue small { display:block; }.office-continue small { margin-top:2px; color:var(--muted); font-size:.78rem; }.office-continue > div:last-child { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:var(--ui-space-2); }.office-continue a { padding:5px 8px; border:1px solid var(--line); border-radius:999px; color:var(--cyan); font-size:.75rem; font-weight:800; text-decoration:none; }.office-continue a:hover { background:var(--surface-soft); }
    .office-mobile-nav { display:none; }
}

@media (max-width: 980px) {
    @layer azec-components {
        .office-actions { grid-template-columns:repeat(2, minmax(0, 1fr)); }.office-dashboard__grid { grid-template-columns:1fr; }.office-dashboard__aside { position:static; }.office-panel--compact { max-width:none; }.office-inbox { grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--ui-space-3); padding:var(--ui-space-4); }.office-inbox > a { border:0; padding:0; }.office-week-strip { grid-template-columns:repeat(7, minmax(68px, 1fr)); overflow:auto; }.office-week-calendar { grid-column:1 / -1; min-height:48px; border-top:1px solid var(--line); }
    }
}

@media (max-width: 760px) {
    @layer azec-components {
        .office-dashboard { gap:var(--ui-space-4); }.office-dashboard__header { display:block; }.office-dashboard__header h1 { font-size:2.05rem; }.office-dashboard__motto { margin-top:var(--ui-space-3); text-align:left; }.office-actions { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:var(--ui-space-2); }.office-action { grid-template-columns:34px minmax(0, 1fr); min-height:74px; padding:var(--ui-space-3); column-gap:var(--ui-space-2); }.office-action > span { width:32px; height:32px; border-radius:8px; font-size:1rem; }.office-action strong { font-size:.83rem; }.office-action small { font-size:.67rem; line-height:1.25; }.office-week-strip { margin-right:calc(-1 * var(--ui-space-1)); margin-left:calc(-1 * var(--ui-space-1)); border-radius:var(--ui-radius-sm); }.office-week-day { min-height:64px; }.office-week-day strong { font-size:1rem; }.office-week-day small { font-size:.62rem; }.office-dashboard__grid { gap:var(--ui-space-3); }.office-panel__header { padding:var(--ui-space-3) var(--ui-space-4); }.office-timeline { padding:0 var(--ui-space-4); }.office-timeline__item { grid-template-columns:50px 15px minmax(0, 1fr); gap:var(--ui-space-2); min-height:72px; }.office-timeline__item::before { left:56px; }.office-timeline__item em { display:none; }.office-timeline__item strong { font-size:.84rem; }.office-timeline__item small { font-size:.72rem; }.office-upcoming > a { grid-template-columns:1fr auto; gap:var(--ui-space-2); padding:var(--ui-space-3) var(--ui-space-4); }.office-upcoming time { grid-column:1 / -1; }.office-inbox { grid-template-columns:1fr; padding:0 var(--ui-space-4); gap:0; }.office-inbox > a { border-top:1px solid var(--line); padding:var(--ui-space-3) 0; }.office-inbox > a:first-child { border-top:0; }.office-continue { align-items:flex-start; flex-direction:column; padding:var(--ui-space-4); }.office-continue > div:last-child { justify-content:flex-start; }.office-mobile-nav { position:fixed; z-index:var(--ui-layer-navigation); right:0; bottom:0; left:0; display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); align-items:end; min-height:68px; padding:6px var(--ui-space-2) calc(6px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:color-mix(in srgb, var(--surface) 94%, transparent); box-shadow:0 -8px 24px rgba(7,16,30,.12); backdrop-filter:blur(10px); }.office-mobile-nav a,.office-mobile-nav button { position:relative; display:grid; justify-items:center; gap:2px; min-height:48px; padding:4px 2px; border:0; color:var(--muted); background:transparent; font:inherit; font-size:.62rem; text-decoration:none; }.office-mobile-nav a > span,.office-mobile-nav button > span { font-size:1.2rem; line-height:1.1; }.office-mobile-nav a.is-active { color:var(--cyan); font-weight:850; }.office-mobile-nav > button[data-quick-capture-open] { align-self:start; width:52px; height:52px; min-height:52px; margin:-23px auto 0; border-radius:50%; color:#fff; background:var(--cyan); box-shadow:0 8px 18px color-mix(in srgb, var(--cyan) 36%, transparent); font-size:2rem; line-height:1; }.office-mobile-nav em { position:absolute; top:1px; right:calc(50% - 18px); display:grid; place-items:center; min-width:16px; height:16px; padding:0 3px; border-radius:99px; color:#fff; background:#e11d48; font-size:.6rem; font-style:normal; font-weight:850; }.app-workspace > main:has(.office-dashboard) { padding-bottom:96px; }
    }
}

/* UI/UX foundation v1: the CPQ cockpit deliberately collapses by task order,
   rather than shrinking the economics panel into an unreadable third column. */
@layer azec-components {
    .ui-table-scroll { overflow: auto; }
}

@media (max-width: 1100px) {
    @layer azec-components {
        .cpq-pilot__cockpit { grid-template-columns:minmax(215px, .72fr) minmax(0, 1.6fr); }
        .cpq-editor__workspace { grid-template-columns:1fr; }.cpq-editor__economics { position:static; order:-1; grid-template-columns:repeat(2, minmax(0, 1fr)); }.cpq-editor__economics h2,.cpq-editor__economics > .ui-notice,.cpq-editor__economics > details { grid-column:1 / -1; }
        .cpq-pilot__economics-trigger { grid-column:1 / -1; position:sticky; z-index:var(--ui-layer-sticky); top:68px; display:flex; align-items:center; justify-content:space-between; width:100%; min-height:var(--ui-touch-target); padding:0 var(--ui-space-4); border:1px solid var(--line); border-radius:var(--ui-radius-sm); color:var(--ink); background:var(--surface); box-shadow:var(--ui-shadow-1); font:inherit; font-weight:800; }.cpq-pilot__economics-trigger strong { color:var(--success-ink); font-size:.76rem; }
        .cpq-pilot__economics-panel { position:fixed; z-index:var(--ui-layer-dialog); top:0; right:0; bottom:0; width:min(420px, calc(100vw - 1rem)); max-height:100dvh; overflow:auto; border-radius:var(--ui-radius-lg) 0 0 var(--ui-radius-lg); transform:translateX(110%); transition:transform .2s ease; }.cpq-pilot__economics-close { display:grid; place-items:center; width:40px; height:40px; border:1px solid var(--line); border-radius:var(--ui-radius-sm); color:var(--ink); background:var(--surface-soft); font:inherit; font-size:1.5rem; }.cpq-pilot__economics-backdrop { position:fixed; z-index:calc(var(--ui-layer-dialog) - 1); inset:0; background:rgba(7,16,30,.45); }
        .cpq-economics-open .cpq-pilot__economics-panel { transform:translateX(0); }.cpq-economics-open .cpq-pilot__economics-backdrop { display:block; }
        .home-quick-grid,.home-metrics { grid-template-columns:repeat(2, minmax(0, 1fr)); }
        .home-office-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
    }
}

@media (max-width: 760px) {
    @layer azec-components {
        .cpq-pilot__cockpit { grid-template-columns:1fr; }
        .cpq-editor__header { grid-template-columns:1fr; align-items:stretch; }.cpq-editor__header-actions { justify-content:stretch; }.cpq-editor__header-actions .button { flex:1 1 10rem; }.cpq-editor__economics { grid-template-columns:1fr; }.cpq-editor__item-main { grid-template-columns:1fr; }.cpq-editor__item-facts,.cpq-editor__item-price { grid-template-columns:repeat(2, minmax(0, 1fr)); }.cpq-catalog-dialog { width:100vw; max-width:100vw; min-height:100dvh; max-height:100dvh; padding:var(--ui-space-4); border-radius:0; }.cpq-catalog-dialog__header { position:sticky; top:calc(-1 * var(--ui-space-4)); z-index:1; padding:var(--ui-space-3) 0; background:var(--surface); }.cpq-catalog-result { grid-template-columns:1fr; }
        .cpq-pilot__scope-panel { position:static; }
        .cpq-pilot__economics-trigger { grid-column:auto; top:60px; }
        .cpq-pilot__scope-list { max-height:15rem; overflow:auto; }
        .home-quick-grid,.home-metrics { grid-template-columns:1fr; }
        .home-office-grid { grid-template-columns:1fr; }.home-office-action { min-height:96px; }
        .home-agenda-item { grid-template-columns:1fr; gap:var(--ui-space-1); }
        .home-planning-bar { align-items:flex-start; flex-direction:column; }.home-planning-bar .button { width:100%; }
        .home-week { grid-template-columns:repeat(7, minmax(150px, 1fr)); margin-right:calc(-1 * var(--ui-space-1)); }
        .auth-page { padding:var(--ui-space-3); }
        .auth-card { padding:var(--ui-space-5); }
    }
}

@layer azec-components {
    .ui-capture-types { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:var(--ui-space-2); }
    .ui-capture-types--small { grid-template-columns:repeat(3, minmax(0, 1fr)); margin-top:var(--ui-space-3); }
    .ui-capture-type { display:grid; gap:.2rem; min-height:72px; padding:var(--ui-space-3); border:1px solid var(--line); border-radius:var(--ui-radius-sm); background:var(--surface-soft); cursor:pointer; }
    .ui-capture-type:has(input:checked) { border-color:var(--cyan); box-shadow:0 0 0 2px var(--focus); background:var(--surface); }
    .ui-capture-type input { accent-color:var(--cyan); }.ui-capture-type small { font-size:.72rem; }
    .ui-capture-more { margin-top:var(--ui-space-3); }.ui-capture-more summary { color:var(--cyan); font-weight:750; cursor:pointer; }
    .ui-capture-fault { margin-top:var(--ui-space-4); padding:var(--ui-space-3); border:1px solid var(--danger-line); border-radius:var(--ui-radius-sm); background:var(--danger-bg); color:var(--danger-ink); }
    .ui-capture-fault label { display:grid; grid-template-columns:1fr 180px; gap:var(--ui-space-3); margin-top:var(--ui-space-2); font-weight:750; }.ui-capture-fault p,.ui-capture-context { margin:var(--ui-space-2) 0 0; font-size:.8125rem; }
    .ui-capture-attachments { display:grid; gap:var(--ui-space-1); margin-top:var(--ui-space-3); }.ui-capture-attachments a { color:var(--cyan); font-weight:700; }
    .ui-capture-filters { display:flex; flex-wrap:wrap; gap:var(--ui-space-2); margin-bottom:var(--ui-space-4); }.ui-capture-filters .button { padding:.5rem .65rem; font-size:.8125rem; }
    .ui-capture-inbox { display:grid; gap:var(--ui-space-2); }.ui-capture-inbox-item { display:grid; grid-template-columns:1fr auto; gap:var(--ui-space-4); padding:var(--ui-space-3); border:1px solid var(--line); border-radius:var(--ui-radius-sm); background:var(--surface-soft); }.ui-capture-inbox-item strong { display:block; margin-top:var(--ui-space-2); }.ui-capture-inbox-item p { margin:var(--ui-space-2) 0; }.ui-capture-inbox-item__actions { display:flex; align-items:flex-start; gap:var(--ui-space-2); }
    .app-topbar__capture { padding:.5rem .7rem !important; white-space:nowrap; }
}

@media (max-width: 760px) {
    @layer azec-components {
        .ui-capture-types,.ui-capture-types--small { grid-template-columns:repeat(2, minmax(0, 1fr)); }
        .ui-capture-fault label,.ui-capture-inbox-item { grid-template-columns:1fr; }.ui-capture-inbox-item__actions .button { flex:1; }
        .app-topbar__capture { width:40px; font-size:0 !important; }.app-topbar__capture::after { content:'+'; font-size:1.4rem; }
    }
}

@layer azec-components {
    .ui-choice-field { margin:0; padding:var(--ui-space-4); border:1px solid var(--line); border-radius:var(--ui-radius-md); background:var(--surface-soft); }
    .ui-choice-field legend { padding:0 var(--ui-space-2); color:var(--ink); font-size:.9rem; font-weight:800; }
    .ui-choice-field > p { margin:.1rem 0 var(--ui-space-3); color:var(--muted); font-size:.825rem; }
    .ui-choice-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:var(--ui-space-2); }
    .ui-choice { position:relative; min-width:0; }
    .ui-choice input { position:absolute; opacity:0; pointer-events:none; }
    .ui-choice label { display:grid; min-height:100%; gap:.22rem; padding:var(--ui-space-3); border:1px solid var(--line); border-radius:var(--ui-radius-sm); background:var(--surface); color:var(--ink); cursor:pointer; }
    .ui-choice label strong { font-size:.875rem; }.ui-choice label small { color:var(--muted); font-size:.75rem; line-height:1.35; }
    .ui-choice input:checked + label { border-color:var(--cyan); box-shadow:0 0 0 2px var(--focus); background:color-mix(in srgb, var(--cyan) 8%, var(--surface)); }
    .ui-choice input:focus-visible + label { outline:3px solid var(--focus); outline-offset:2px; }
    .ui-context-note { align-self:end; min-height:100%; gap:var(--ui-space-3); padding:var(--ui-space-3); border:1px dashed var(--line); border-radius:var(--ui-radius-sm); background:var(--surface-soft); color:var(--muted); }
    .ui-context-note > span { color:var(--cyan); font-size:1.2rem; }.ui-context-note p { margin:0; font-size:.8125rem; }.ui-context-note strong { color:var(--ink); }
    .ui-dynamic-field-groups { display:grid; gap:var(--ui-space-3); }
    .ui-dynamic-fields { display:grid; gap:var(--ui-space-3); padding:var(--ui-space-4); border:1px solid var(--line); border-radius:var(--ui-radius-md); background:var(--surface-soft); }
    .ui-dynamic-fields > header h3 { margin:0; font-size:.95rem; }.ui-dynamic-fields > header p { margin:.2rem 0 0; color:var(--muted); font-size:.8125rem; }
    .ui-input-with-unit { display:flex; align-items:stretch; min-width:0; }.ui-input-with-unit input { min-width:0; border-radius:var(--ui-radius-sm) 0 0 var(--ui-radius-sm); }.ui-input-with-unit > span { display:grid; place-items:center; padding:0 .7rem; border:1px solid var(--line); border-left:0; border-radius:0 var(--ui-radius-sm) var(--ui-radius-sm) 0; background:var(--surface); color:var(--muted); font-size:.8rem; font-weight:750; white-space:nowrap; }
    .ui-record-layout { display:grid; grid-template-columns:minmax(0, 1.45fr) minmax(260px, .55fr); gap:var(--ui-space-4); align-items:start; }
    .ui-data-item--wide { grid-column:1 / -1; }.ui-data-list--single { grid-template-columns:1fr; }.ui-pre-wrap { white-space:pre-wrap; line-height:1.55; font-weight:500 !important; }
    .ui-entity-list { display:grid; }.ui-entity-list__item { display:grid; grid-template-columns:minmax(180px, 1.15fr) minmax(170px, 1fr) minmax(130px, .7fr) minmax(125px, .65fr) auto; gap:var(--ui-space-3); align-items:center; padding:var(--ui-space-4) 0; border-top:1px solid var(--line); color:inherit; text-decoration:none; }.ui-entity-list__item:first-child { border-top:0; padding-top:0; }.ui-entity-list__item:last-child { padding-bottom:0; }.ui-entity-list__item:hover strong { color:var(--cyan); text-decoration:underline; }.ui-entity-list__item > div { display:grid; gap:.2rem; min-width:0; }.ui-entity-list__item strong { overflow-wrap:anywhere; }.ui-entity-list__item span { color:var(--muted); font-size:.78rem; overflow-wrap:anywhere; }
    .technical-device-tree__item > div:first-child { padding-left:calc(var(--technical-tree-depth, 0) * var(--ui-space-4)); }
    .ui-pagination { display:flex; align-items:center; justify-content:space-between; gap:var(--ui-space-3); padding-top:var(--ui-space-4); margin-top:var(--ui-space-4); border-top:1px solid var(--line); color:var(--muted); font-size:.875rem; }.ui-pagination .is-disabled { opacity:.45; pointer-events:none; }
}

@media (max-width: 1050px) {
    @layer azec-components { .ui-record-layout { grid-template-columns:1fr; } }
}

@media (max-width: 760px) {
    @layer azec-components {
        .ui-field,.ui-col-1,.ui-col-2,.ui-col-3,.ui-col-4,.ui-col-5,.ui-col-6,.ui-col-7,.ui-col-8,.ui-col-9,.ui-col-10,.ui-col-11,.ui-col-12 { grid-column:1; }
        .ui-choice-grid { grid-template-columns:1fr; }
        .ui-context-note { grid-column:1; }
        .ui-entity-list__item { grid-template-columns:1fr; gap:var(--ui-space-2); }
        .ui-entity-list__item .ui-badge { width:max-content; }
        .ui-pagination { align-items:stretch; flex-direction:column; }.ui-pagination .button { width:100%; }
    }
}
