.brandmark{display:inline-flex;align-items:center;gap:10px;line-height:1}.brandmark__block{display:grid;place-items:center;flex:none;background:var(--brand-red);color:#fff;font-weight:600;letter-spacing:.02em;border-radius:var(--radius-sm)}.brandmark__text{display:flex;flex-direction:column;gap:3px;min-width:0}.brandmark__name{color:#fff;font-weight:600;letter-spacing:-.01em;white-space:nowrap}.brandmark__sub{color:#ffffff9e;font-weight:600;text-transform:uppercase;letter-spacing:.14em}.brandmark--sm .brandmark__block{width:32px;height:32px;font-size:.85rem}.brandmark--sm .brandmark__name{font-size:.9rem}.brandmark--sm .brandmark__sub{font-size:.56rem}.brandmark--lg{gap:14px}.brandmark--lg .brandmark__block{width:48px;height:48px;font-size:1.3rem}.brandmark--lg .brandmark__name{font-size:1.35rem}.brandmark--lg .brandmark__sub{font-size:.78rem}.shell{height:100vh;height:100dvh;display:grid;grid-template-columns:248px 1fr;grid-template-rows:minmax(0,1fr);background:var(--bg);overflow:hidden}.skip-link{position:fixed;top:8px;left:8px;z-index:200;padding:10px 14px;background:var(--btn-primary-bg);color:var(--btn-primary-fg);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-sm);transform:translateY(-200%)}.skip-link:focus-visible{transform:none;outline:none;box-shadow:var(--focus-ring);text-decoration:none}.shell__sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);color:var(--sidebar-text);padding:20px 14px;display:flex;flex-direction:column;gap:24px;min-height:0;--focus-ring: 0 0 0 2px var(--sidebar-bg), 0 0 0 4px var(--ring)}.shell__brand{padding:2px 8px 0;flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px}.shell__scrim,.shell__drawer-close,.shell__menu-btn,.shell__topbar-brand{display:none}.shell__nav-area{flex:1;min-height:0;overflow-y:auto}.shell__nav-label{margin:0 0 6px;padding:0 12px;font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--sidebar-text-muted)}.shell__nav{display:flex;flex-direction:column;gap:2px}.shell__link{position:relative;display:flex;align-items:center;gap:12px;padding:9px 12px 9px 14px;border-radius:var(--radius-sm);color:var(--sidebar-text-muted);font-weight:500;font-size:var(--text-sm);transition:background-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.shell__link:hover{background:var(--sidebar-hover);color:var(--sidebar-text);text-decoration:none}.shell__link.is-disabled{opacity:.45;cursor:default;pointer-events:none}.nav-soon{margin-left:auto;font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:1px 6px;border:1px solid var(--sidebar-text-muted);border-radius:999px}.shell__link.is-active{background:var(--sidebar-active);color:var(--sidebar-text)}.shell__link.is-active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:16px;border-radius:0 2px 2px 0;background:var(--brand-red)}.shell__link:focus-visible{outline:none;box-shadow:var(--focus-ring)}.shell__user{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding-top:16px;border-top:1px solid var(--sidebar-line)}.shell__user-row{display:flex;align-items:center;gap:10px;min-width:0;padding:0 4px}.shell__avatar{flex:none;width:28px;height:28px;border-radius:var(--radius-sm);background:var(--sidebar-hover);border:1px solid var(--sidebar-line);color:var(--sidebar-text);display:grid;place-items:center;font-size:var(--text-xs);font-weight:600}.shell__user-text{min-width:0;display:flex;flex-direction:column}.shell__user-name{font-size:var(--text-xs);font-weight:600;color:var(--sidebar-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell__user-email{font-size:var(--text-2xs);color:var(--sidebar-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell__signout{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;border:1px solid var(--sidebar-line);background:transparent;color:var(--sidebar-text-muted);font:inherit;font-size:var(--text-sm);font-weight:500;min-height:36px;padding:0 12px;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.shell__signout:hover{background:var(--sidebar-hover);color:var(--sidebar-text)}.shell__signout:focus-visible{outline:none;box-shadow:var(--focus-ring)}.shell__main{display:flex;flex-direction:column;min-width:0;min-height:0}.shell__topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;height:52px;padding:0 32px;background:var(--surface);border-bottom:1px solid var(--line-strong);flex:none}.shell__crumbs{display:flex;align-items:center;gap:8px;min-width:0;font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap}.shell__crumbs .crumb-root,.shell__crumbs .crumb-sep{color:var(--text-faint);flex:none}.shell__crumbs .crumb-section{overflow:hidden;text-overflow:ellipsis;min-width:0}.shell__topbar-tools{display:flex;align-items:center;gap:8px;flex:none}.shell__content{padding:28px 32px;flex:1;min-width:0;min-height:0;overflow-y:auto}.page{width:100%}.subtabs{display:inline-flex;gap:4px;margin-bottom:24px;padding:4px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-md)}.subtab{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;color:var(--text-muted);text-decoration:none;transition:background-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.subtab:hover{color:var(--text)}.subtab.is-active{background:var(--surface);border:1px solid var(--line-strong);padding:7px 13px;color:var(--text)}.subtab:focus-visible{outline:none;box-shadow:var(--focus-ring)}.page__title{display:flex;align-items:center;gap:12px;margin:0 0 6px;font-size:var(--text-xl);font-weight:600;letter-spacing:-.01em;color:var(--text)}.page__subtitle{margin:0;color:var(--text-muted);font-size:var(--text-sm)}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:20px;padding:0 7px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line-strong);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:400}.page__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.page__section{margin-top:var(--space-6)}.page__head-actions{display:flex;align-items:center;gap:10px;flex:none;flex-wrap:wrap}@media (max-width: 480px){.page__head-actions:has(>.btn){width:100%}.page__head-actions:has(>.btn) .btn{flex:1}}.page__head .page__title{margin:0 0 4px}.link-back{display:inline-flex;align-items:center;gap:6px;max-width:100%;margin-bottom:12px;border:none;background:none;padding:0;font:inherit;font-size:var(--text-sm);font-weight:500;color:var(--text-2);text-decoration:none;cursor:pointer;transition:color var(--dur-1) var(--ease)}.link-back>svg{flex:none}.link-back__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-back:hover{color:var(--text)}.link-back:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.form-page{max-width:1100px}.form-page__head{margin-bottom:20px}.form-panel{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);overflow:hidden}.form-section{display:grid;grid-template-columns:250px 1fr;gap:40px;padding:26px 30px;border-bottom:1px solid var(--line)}.form-section:last-of-type{border-bottom:none}.form-section__info{position:relative;padding-left:15px}.form-section__info:before{content:"";position:absolute;left:0;top:3px;width:3px;height:16px;border-radius:2px;background:var(--brand-red)}.form-section__info h2{margin:0 0 6px;font-size:var(--text-md);font-weight:600;letter-spacing:-.01em;color:var(--text)}.form-section__info p{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--text-muted);max-width:32ch}.form-section__fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;align-items:start}.span-2{grid-column:1 / -1}.form-section__fields .span-2 .input-wrap{max-width:640px}.form-banner{padding:12px 30px;font-size:var(--text-sm);border-bottom:1px solid var(--line)}.form-banner--error{background:var(--danger-bg);color:var(--danger-text)}.form-banner--success{background:var(--ok-bg);color:var(--ok-text)}.ws-section{padding:8px 30px 4px}.ws-section>h2{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:14px 0 8px}.ws-table-wrap{overflow-x:auto}.ws-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.ws-table th{text-align:left;font-weight:500;color:var(--text-muted);padding:6px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.ws-table td{padding:6px 10px;border-bottom:1px solid var(--line);vertical-align:top}.ws-table .ws-item{min-width:220px}.ws-table .ws-code{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap}.ws-table .input-wrap{min-width:0}.ws-table .ws-num .input-wrap{width:90px}.ws-table .ws-unit .input-wrap{width:70px}.ws-subhead{font-size:var(--text-sm);font-weight:600;margin:18px 0 8px}.form-note{margin:10px 0;padding:10px 12px;font-size:var(--text-sm);background:var(--ok-bg);color:var(--ok-text);border-radius:var(--radius-sm)}.nc-list{display:flex;flex-direction:column;gap:12px}.nc-card{border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;background:var(--surface-2)}.nc-card__head{display:flex;align-items:center;gap:8px}.nc-card__ref{font-family:var(--font-mono);font-weight:600}.nc-card__desc{margin:8px 0 0;font-size:var(--text-sm)}.nc-actions{margin-top:10px}.nc-actions .subhead{display:block;margin-bottom:6px}.nc-action-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}.nc-action-form .span-2,.nc-action-form .modal-actions{grid-column:1 / -1}@media (max-width: 767px){.nc-action-form{grid-template-columns:1fr}}.sig-panel{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:10px}.sig-form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;align-items:end}.sig-form .modal-actions{grid-column:1 / -1}@media (max-width: 767px){.sig-form{grid-template-columns:1fr}}.form-panel__actions{display:flex;justify-content:flex-end;gap:12px;padding:14px 30px;background:var(--surface-2);border-top:1px solid var(--line)}@media (max-width: 767px){.form-page{max-width:none}.form-section{grid-template-columns:1fr;gap:16px;padding:20px 18px}.form-section__info{padding-left:14px}.form-section__info p{max-width:none}.form-section__fields{grid-template-columns:1fr;gap:16px}.form-section__fields .span-2 .input-wrap{max-width:none}.form-banner{padding:12px 18px}.form-panel__actions{padding:14px 18px}.form-panel__actions .btn{flex:1;min-height:44px}}.card{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:20px}.card__title{margin:0 0 12px;font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-5)}.stat{display:flex;flex-direction:column;gap:6px;padding:16px 18px}.stat__label{font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.stat__value{font-size:1.75rem;font-weight:600;line-height:1.1;color:var(--text);font-variant-numeric:tabular-nums}.recent-list{list-style:none;margin:0;padding:0}.recent-list__item+.recent-list__item{border-top:1px solid var(--line)}.recent-list__link{display:flex;align-items:baseline;justify-content:space-between;gap:16px;width:100%;padding:10px 2px;border:none;background:none;font:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-sm)}.recent-list__link:hover .recent-list__title{color:var(--text);text-decoration:underline}.recent-list__link:focus-visible{outline:none;box-shadow:var(--focus-ring)}.recent-list__main{display:flex;flex-direction:column;gap:2px;min-width:0}.recent-list__title{font-size:var(--text-sm);font-weight:600;color:var(--text);overflow-wrap:anywhere}.recent-list__meta{font-size:var(--text-xs);color:var(--text-muted);overflow-wrap:anywhere}.recent-list__date{flex:none;font-size:var(--text-xs);color:var(--text-muted)}@media (max-width: 1023.98px){.page--home .page__title{font-size:clamp(.95rem,4.2vw,1.375rem);line-height:1.25}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.stat__value{font-size:1.5rem}.recent-list__link{flex-direction:column;align-items:flex-start;gap:2px;min-height:44px;padding:10px 2px}}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5) var(--space-6)}.detail-grid .field p{margin:0;font-weight:500;color:var(--text);overflow-wrap:break-word}.detail-grid__wide{grid-column:span 2}@media (max-width: 900px){.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.detail-grid{grid-template-columns:1fr}.detail-grid__wide{grid-column:1 / -1}}.status{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:var(--text-sm);color:var(--text-muted)}.status .dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--dot-idle)}.status--ok{color:var(--ok-text)}.status--ok .dot{background:var(--dot-ok)}.status--bad{color:var(--danger-text)}.status--bad .dot{background:var(--dot-bad)}.app-splash{min-height:100vh;display:grid;place-items:center;color:var(--text-muted);font-size:var(--text-sm)}@media (max-width: 1023px){.shell__topbar{padding:0 24px}.shell__content{padding:24px}}@media (max-width: 767px){.shell{grid-template-columns:minmax(0,1fr)}.shell__sidebar{position:fixed;top:0;bottom:0;left:0;z-index:120;width:min(300px,86vw);padding:16px 14px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom));border-right:1px solid var(--sidebar-line);box-shadow:var(--shadow-overlay);transform:translate(-104%);visibility:hidden;transition:transform var(--dur-2) var(--ease),visibility 0s linear var(--dur-2);outline:none}.shell.is-nav-open .shell__sidebar{transform:none;visibility:visible;transition-delay:0s}:root:not([data-theme=dark]) .shell__sidebar{--sidebar-bg: var(--surface);--sidebar-border: var(--line-strong);--sidebar-text: var(--text);--sidebar-text-muted: var(--text-muted);--sidebar-hover: var(--surface-2);--sidebar-active: var(--surface-2);--sidebar-line: var(--line)}.shell__scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;background:var(--overlay);opacity:0;pointer-events:none;transition:opacity var(--dur-2) var(--ease)}.shell.is-nav-open .shell__scrim{opacity:1;pointer-events:auto}.shell__drawer-close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin-right:-6px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--sidebar-text-muted);cursor:pointer}.shell__drawer-close:hover{color:var(--sidebar-text);background:var(--sidebar-hover)}.shell__drawer-close:focus-visible{outline:none;box-shadow:var(--focus-ring)}.shell__link{min-height:44px;padding:10px 12px 10px 14px;font-size:var(--text-md)}.shell__signout{min-height:44px}.shell__topbar{height:56px;padding:0 12px 0 8px;padding-top:env(safe-area-inset-top);box-sizing:content-box;gap:8px}.shell__menu-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-2);cursor:pointer}.shell__menu-btn:hover{background:var(--surface-2);color:var(--text)}.shell__menu-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.shell__topbar-brand{display:flex;flex:1;min-width:0;align-items:center}.shell__topbar-brand .brandmark__name{color:var(--text)}.shell__topbar-brand .brandmark__sub{color:var(--text-muted)}.shell__crumbs{display:none}.shell__topbar-tools{gap:6px}.worksheet-section__head{flex-wrap:wrap}}@media (max-width: 359px){.shell__topbar-brand .brandmark__text{display:none}.shell__content{padding:16px 16px 24px;overflow-x:hidden}.page__title{font-size:1.25rem;overflow-wrap:anywhere}.card{padding:16px}.page__section{margin-top:var(--space-5)}.form-error,.form-warn{overflow-wrap:anywhere}}.list-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.list-search{flex:1;min-width:0;height:40px;padding:0 14px;background:var(--surface);border:1px solid var(--border-input);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);color:var(--text);transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.list-search::placeholder{color:var(--text-muted)}.list-search:focus-visible{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px var(--ring-soft)}.search-field{position:relative;display:block}.search-field__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.search-field>input{width:100%;padding-left:36px}.search-field>input:not(.datatable-filter){padding:9px 12px 9px 36px;border:1px solid var(--border-input);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.search-field>input:not(.datatable-filter):focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px var(--ring-soft)}@media (max-width: 640px){.search-field>input:not(.datatable-filter){font-size:1rem;padding:11px 12px 11px 36px}}.list-toolbar>.search-field{flex:1;min-width:0}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:16px;font-size:var(--text-sm);color:var(--text-muted)}.pagination__status{font-variant-numeric:tabular-nums}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:var(--space-5)}.page-header__text{display:flex;flex-direction:column;gap:4px;min-width:0}.page-header__title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page-header__title-row .page__title{margin:0}.page-header__actions{display:flex;align-items:center;gap:10px;flex:none}@media (max-width: 767px){.page-header:not(:has(.page-header__actions>.btn)){flex-wrap:nowrap}}@media (max-width: 640px){.page-header__actions:has(>.btn){width:100%}.page-header__actions .btn{width:100%;justify-content:center}}.filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 16px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);margin-bottom:var(--space-5)}.filter-bar--search{grid-template-columns:minmax(220px,1.6fr) repeat(auto-fit,minmax(180px,1fr))}.filter-bar .field{min-width:0}.filter-bar__search{display:flex;flex-direction:column;gap:6px;min-width:0}@media (max-width: 767px){.filter-bar,.filter-bar--search{grid-template-columns:minmax(0,1fr);padding:12px 14px}}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.section-head__title{display:flex;align-items:center;gap:10px;font-size:var(--text-md);font-weight:600;margin:0}.section-head__desc{margin:2px 0 0;font-size:var(--text-xs);color:var(--text-muted)}.mode-tabs{display:inline-flex;gap:2px;padding:3px;margin-bottom:var(--space-5);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-md)}.mode-tab{padding:7px 16px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font:inherit;font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background-color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.mode-tab:hover:not(.is-active){color:var(--text)}.mode-tab.is-active{background:var(--surface);border-color:var(--line-strong);color:var(--text)}.mode-tab:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media (max-width: 767px){.mode-tabs{display:flex;flex-wrap:wrap;width:100%}.mode-tab{flex:1 1 auto;min-height:40px;padding:7px 12px;text-align:center}}.row-actions{position:relative;display:flex;justify-content:flex-end}.row-actions__trigger{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:none;color:var(--text-faint);cursor:pointer;transition:color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),background-color var(--dur-1) var(--ease)}.datatable tbody tr:hover .row-actions__trigger,.row-actions__trigger:hover,.row-actions__trigger:focus-visible,.row-actions__trigger.is-open{color:var(--text);border-color:var(--line-strong);background:var(--surface-2)}.row-actions__menu{position:fixed;z-index:60;width:176px;padding:4px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay, 0 12px 32px -12px rgba(0, 0, 0, .25))}.row-actions__item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-2);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer}.row-actions__item-icon{display:inline-flex;flex:none;color:var(--text-faint)}.row-actions__item:hover,.row-actions__item:focus-visible{background:var(--surface-2);color:var(--text)}.row-actions__item:hover .row-actions__item-icon,.row-actions__item:focus-visible .row-actions__item-icon{color:var(--text-2)}.row-actions__item.is-danger{color:var(--danger-text)}.row-actions__item.is-danger .row-actions__item-icon{color:var(--danger-text);opacity:.75}.row-actions__item.is-danger:hover,.row-actions__item.is-danger:focus-visible{background:var(--danger-bg)}.row-actions__item.is-danger:hover .row-actions__item-icon,.row-actions__item.is-danger:focus-visible .row-actions__item-icon{opacity:1}.row-actions__item.is-danger{margin-top:4px;position:relative}.row-actions__item.is-danger:before{content:"";position:absolute;top:-4px;left:8px;right:8px;height:1px;background:var(--line)}.datatable th.col-actions,.datatable td.col-actions{width:1%;white-space:nowrap;text-align:right}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 24px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}.empty-state__mark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-bottom:2px;border:1px solid var(--line-strong);border-radius:var(--radius-md);color:var(--text-faint)}.empty-state__title{margin:0;font-weight:600;color:var(--text)}.empty-state__desc{margin:0;max-width:42ch;font-size:var(--text-sm);color:var(--text-muted)}.empty-state__action{margin-top:8px}.confirm-warning{margin:0;font-size:var(--text-sm);color:var(--text-muted)}.worksheet-header{margin-bottom:var(--space-5)}.worksheet-header__row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.worksheet-header__text{min-width:0}.worksheet-header__text .page__title{margin:0 0 2px}.worksheet-header__actions{display:flex;align-items:center;gap:10px;flex:none}@media (max-width: 767px){.worksheet-header__actions{display:none}}.context-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:16px 18px;margin-bottom:var(--space-5)}.context-card__groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 28px}@media (max-width: 900px){.context-card__groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.context-card__groups{grid-template-columns:minmax(0,1fr)}}.context-group__title{margin:0 0 8px;font-size:var(--text-2xs, 11px);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.context-group__items{display:flex;flex-direction:column;gap:6px}.context-item{display:flex;flex-direction:column;gap:1px;min-width:0}.context-item__label{font-size:var(--text-2xs, 11px);color:var(--text-faint)}.context-item__value{font-size:var(--text-sm);color:var(--text);overflow-wrap:anywhere}.context-card__toggle{display:inline-flex;align-items:center;gap:7px;margin-top:14px;padding:0;border:none;background:none;color:var(--link);font:inherit;font-size:var(--text-sm);cursor:pointer}.context-card__toggle:hover{text-decoration:underline}.context-card__chevron{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform var(--dur-1) var(--ease)}.context-card__chevron.is-open{transform:translateY(1px) rotate(-135deg)}.context-card__details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px 28px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.worksheet-content{display:flex;flex-direction:column;gap:var(--space-5);max-width:960px;margin-bottom:96px}.worksheet-content--wide{max-width:none}.worksheet-content--document{max-width:1160px;margin-inline:auto}.worksheet-form{display:flex;flex-direction:column;gap:var(--space-5)}.worksheet-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}.worksheet-section__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 20px;border-bottom:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius-md) var(--radius-md) 0 0}.worksheet-section__title{margin:0;font-size:var(--text-md);font-weight:600}.worksheet-section__head-right{display:flex;align-items:center;gap:14px;flex:none}.worksheet-section__progress{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-2xs, 11px);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.worksheet-section__check{flex:none;color:var(--text-2)}.worksheet-section__fields{display:flex;flex-direction:column;gap:18px;padding:22px 20px}.worksheet-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}@media (max-width: 640px){.worksheet-row{grid-template-columns:minmax(0,1fr)}}.wsheet-frame{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);overflow:hidden}.wsheet-table{width:100%;border-collapse:collapse;table-layout:fixed}.wsheet-col--group{width:76px}.wsheet-col--label{width:42%}.wsheet-table thead th{padding:9px 14px;background:var(--surface-2);border-bottom:1px solid var(--line-strong);text-align:left;font-size:var(--text-2xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.wsheet-row>th,.wsheet-row>td{border-top:1px solid var(--line)}.wsheet-group+.wsheet-group>.wsheet-row:first-child>*{border-top-color:var(--line-strong)}.wsheet-row__group{padding:12px 2px;background:var(--surface-2);border-right:1px solid var(--line-strong);text-align:center;vertical-align:middle}.wsheet-row__group-text{display:inline-block;writing-mode:vertical-rl;transform:rotate(180deg);font-size:var(--text-2xs);font-weight:600;letter-spacing:.06em;line-height:1.4;text-transform:uppercase;color:var(--text-2)}.wsheet-row__label{padding:8px 14px;border-right:1px solid var(--line);text-align:left;vertical-align:middle;font-size:var(--text-sm);font-weight:500;line-height:1.4;color:var(--text-2)}.wsheet-row__value{padding:0;vertical-align:top;background:var(--worksheet-fill);cursor:text;transition:background-color var(--dur-1) var(--ease)}.wsheet-row__value:focus-within{background:var(--surface);box-shadow:inset 0 0 0 2px var(--ring)}.wsheet-input{display:block;width:100%;border:none;outline:none;background:transparent;font:inherit;font-size:var(--text-md);line-height:1.45;color:var(--text);padding:9px 14px;resize:none;overflow:hidden}.wsheet-input::placeholder{color:var(--text-faint)}.wsheet-table.is-completed .wsheet-row__value{background:transparent}.wsheet-table.is-completed .wsheet-row__value:focus-within{background:transparent;box-shadow:inset 0 0 0 2px var(--line-strong)}.wsheet-input:read-only{cursor:default}@media (max-width: 900px){.wsheet-frame{background:none;border:none;border-radius:0;overflow:visible}.wsheet-table,.wsheet-table tbody,.wsheet-table tr,.wsheet-table th,.wsheet-table td{display:block}.wsheet-table colgroup,.wsheet-table thead{display:none}.wsheet-group{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);overflow:hidden}.wsheet-group+.wsheet-group{margin-top:var(--space-4)}.wsheet-row>th,.wsheet-row>td{border-top:none}.wsheet-row+.wsheet-row{border-top:1px solid var(--line)}.wsheet-table .wsheet-row__group{padding:11px 16px;border-right:none;border-bottom:1px solid var(--line-strong);text-align:left}.wsheet-table .wsheet-row__group-text{writing-mode:horizontal-tb;transform:none}.wsheet-row__label{padding:12px 16px 6px;border-right:none}.wsheet-row__value{padding:0 16px 14px;background:none}.wsheet-row__value:focus-within{background:none;box-shadow:none}.wsheet-input{background:var(--worksheet-fill);border:1px solid var(--border-input);border-radius:var(--radius-sm);padding:9px 12px;font-size:1rem}.wsheet-input:focus{border-color:var(--ring);box-shadow:0 0 0 3px var(--ring-soft)}.wsheet-table.is-completed .wsheet-input{background:var(--surface-2);border-color:var(--line)}}.worksheet-inspector{margin-top:var(--space-6);text-align:center;color:var(--text-2)}.worksheet-inspector__label{display:block;margin-bottom:18px;font-size:var(--text-sm);cursor:pointer}.worksheet-inspector__line{display:flex;align-items:baseline;gap:8px;width:min(340px,82vw);margin:0 auto;padding-bottom:5px;border-bottom:1px solid var(--border-input);transition:border-color var(--dur-1) var(--ease)}.worksheet-inspector__line:focus-within{border-bottom-color:var(--ring);box-shadow:0 1px 0 0 var(--ring)}.worksheet-inspector__prefix{flex:none;font-size:var(--text-sm)}.worksheet-inspector__input{flex:1;min-width:0;border:none;outline:none;background:none;font:inherit;font-size:var(--text-md);color:var(--text);padding:0;text-align:left}.worksheet-inspector__name{margin:0;font-size:var(--text-md);color:var(--text)}.worksheet-inspector__name .worksheet-inspector__prefix{margin-right:8px}@media (max-width: 640px){.worksheet-inspector__input{font-size:1rem}}.ndt-sheet,.cert-sheet{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);overflow:hidden}.ndt-sheet__form,.cert-sheet__form{display:contents}.ndt-block,.cert-block{padding:16px 20px 20px}.ndt-block+.ndt-block,.cert-block+.cert-block{border-top:1px solid var(--line)}.ndt-block__head,.cert-block__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.ndt-block__title,.cert-block__title{margin:0;font-size:var(--text-2xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.wsheet-table--kv .wsheet-col--label{width:46%}.ndt-block .wsheet-frame{border-radius:0;border-color:var(--line)}.ndt-doc-title{margin:0 0 4px;text-align:center;font-size:var(--text-md);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text)}.ndt-doc-number{margin:0;text-align:center;font-size:var(--text-sm);font-weight:600;color:var(--text-2)}.ndt-info{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:3px 12px;margin-top:14px;font-size:var(--text-sm)}.ndt-info__label{color:var(--text-muted);white-space:nowrap}.ndt-info__value{color:var(--text);overflow-wrap:break-word}@media (max-width: 900px){.ndt-info{grid-template-columns:auto 1fr}}.ndt-scroll{overflow-x:auto}.ndt-matrix-table{width:100%;min-width:860px;border-collapse:collapse;table-layout:fixed}.ndt-matrix-table th,.ndt-matrix-table td{border:1px solid var(--line)}.ndt-matrix-table thead th{padding:7px 8px;background:var(--surface-2);border-bottom-color:var(--line-strong);font-size:var(--text-2xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);text-align:center;white-space:nowrap}.ndt-matrix-table thead th.is-text{text-align:left}.ndt-col--nr{width:44px}.ndt-col--zone{width:22%}.ndt-col--nominal,.ndt-col--unit{width:68px}.ndt-col--angle{width:8.4%}.ndt-col--actions{width:40px}.ndt-matrix-table td.ndt-cell--nr{padding:0 8px;text-align:right;font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--text-muted)}.ndt-matrix-table td.ndt-cell--input{padding:0;background:var(--worksheet-fill);transition:background-color var(--dur-1) var(--ease)}.ndt-matrix-table td.ndt-cell--input:focus-within{background:var(--surface);box-shadow:inset 0 0 0 2px var(--ring)}.ndt-cell-input{width:100%;border:none;outline:none;background:none;font:inherit;font-size:var(--text-sm);color:var(--text);padding:7px 8px}.ndt-cell-input.is-number{text-align:right;font-variant-numeric:tabular-nums}.ndt-matrix-table td.ndt-cell--actions{padding:0;text-align:center}.ndt-matrix-table .ndt-empty{padding:22px;text-align:center;font-size:var(--text-sm);color:var(--text-muted)}.doc-value{display:block;margin:0;padding:7px 8px;font-size:var(--text-sm);color:var(--text)}.doc-value.is-number{text-align:right;font-variant-numeric:tabular-nums}.doc-value.is-empty{color:var(--text-faint)}.ndt-sheet.is-completed .ndt-matrix-table td.ndt-cell--input{background:none}.ndt-note,.cert-prose{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--worksheet-fill);transition:border-color var(--dur-1) var(--ease),background-color var(--dur-1) var(--ease)}.ndt-note:focus-within,.cert-prose:focus-within{border-color:var(--ring);background:var(--surface);box-shadow:0 0 0 3px var(--ring-soft)}.ndt-sheet.is-completed .ndt-note,.cert-sheet.is-completed .cert-prose{background:none}.ndt-figure-area{width:100%;max-width:600px;margin-inline:auto}.ndt-figure{display:grid;place-items:center;min-height:240px;padding:16px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-md)}.ndt-figure__img{display:block;max-width:100%;max-height:320px;object-fit:contain}.ndt-figure__empty{display:grid;justify-items:center;gap:14px}.ndt-figure__empty-text{margin:0;font-size:var(--text-sm);color:var(--text-muted)}.ndt-figure__actions{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:12px}.ndt-figure__action{border:none;background:none;padding:4px 6px;font:inherit;font-size:var(--text-sm);color:var(--link);cursor:pointer;border-radius:var(--radius-sm)}.ndt-figure__action:hover:not(:disabled){text-decoration:underline}.ndt-figure__action:disabled{color:var(--text-faint);cursor:not-allowed}.ndt-figure__action:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ndt-figure__action--danger{color:var(--danger-text)}.ndt-figure__status{font-size:var(--text-sm);color:var(--text-muted)}.ndt-block--signoff .worksheet-inspector{margin-top:8px}@media (max-width: 767px){.ndt-block,.cert-block{padding:14px 14px 18px}.ndt-block__head,.cert-block__head{flex-wrap:wrap}}.worksheet-count{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--text-2xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.worksheet-count.is-complete{color:var(--text-2)}.check-row{display:grid;grid-template-columns:1fr 110px 200px;gap:16px;align-items:center}.check-row__description{font-size:var(--text-sm);color:var(--text)}.check-row--head{padding-bottom:4px;font-size:var(--text-2xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.check-row .check-row__field .field-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.check-subgroup{display:flex;flex-direction:column;gap:18px}.check-subgroup+.check-subgroup{margin-top:6px;padding-top:20px;border-top:1px solid var(--line)}@media (max-width: 640px){.check-row{grid-template-columns:minmax(0,1fr);gap:8px;padding-bottom:14px;border-bottom:1px solid var(--line)}.check-row--head{display:none}.check-row .check-row__field .field-label{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}}.input-wrap textarea.textarea--grow{resize:none;overflow-y:hidden;min-height:44px;padding:8px 0}.worksheet-actions{position:fixed;right:32px;bottom:20px;z-index:30;display:flex;align-items:center;gap:14px;padding:10px 12px 10px 16px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay)}.worksheet-actions__status{display:flex;flex-direction:column;gap:1px;line-height:1.3}.worksheet-actions__label{font-size:var(--text-sm);font-weight:500;color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap}.worksheet-actions__label.is-dirty{color:var(--text)}.worksheet-actions__label.is-saved,.worksheet-actions__label.is-completed{color:var(--ok-text)}.worksheet-actions__count{font-size:var(--text-2xs, 11px);color:var(--text-faint);font-variant-numeric:tabular-nums;white-space:nowrap}.worksheet-actions__buttons{display:flex;align-items:center;gap:8px}@media (max-width: 767px){.worksheet-actions{left:0;right:0;bottom:0;justify-content:space-between;padding:10px 16px;padding-bottom:max(10px,env(safe-area-inset-bottom));border-left:none;border-right:none;border-bottom:none;border-radius:0;box-shadow:0 -8px 24px -16px #090c1259}.worksheet-actions__status{min-width:0;flex:1}.worksheet-actions__label{white-space:normal;font-size:var(--text-xs);line-height:1.3}.worksheet-actions__buttons .btn{min-height:44px;padding:0 22px}.worksheet-content{margin-bottom:calc(88px + env(safe-area-inset-bottom))}}.mixture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 16px}.mixture-grid__item{display:flex;align-items:center;gap:6px;font-size:var(--text-sm, 13px);cursor:pointer}.mixture-grid__item input[type=checkbox]{margin:0}@media (max-width: 480px){.mixture-grid{grid-template-columns:1fr}}.elev-group+.elev-group{margin-top:22px}.elev-group__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.elev-group__title{display:flex;align-items:baseline;gap:8px;margin:0;font-size:var(--text-2xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.elev-group__number,.elev-group__method{font-variant-numeric:tabular-nums;color:var(--text-faint)}.elev-group__count{font-size:var(--text-2xs);font-variant-numeric:tabular-nums;color:var(--text-muted);white-space:nowrap}.elev-scroll{overflow-x:auto;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface)}.elev-table{width:100%;min-width:860px;border-collapse:collapse;table-layout:fixed}.elev-table th,.elev-table td{border:1px solid var(--line)}.elev-table thead th{position:sticky;top:0;z-index:1;padding:7px 8px;background:var(--surface-2);border-bottom-color:var(--line-strong);font-size:var(--text-2xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);text-align:center;white-space:nowrap}.elev-table thead th.is-text{text-align:left}.elev-col--nr{width:52px}.elev-col--method{width:76px}.elev-col--result{width:190px}.elev-col--comment,.elev-col--evaluation{width:26%}.elev-table td.elev-cell--nr{padding:0 8px;text-align:right;font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--text-muted)}.elev-table td.elev-cell--method{padding:0 8px;text-align:center;font-size:var(--text-2xs);font-weight:600;letter-spacing:.03em;color:var(--text-muted);white-space:nowrap}.elev-table th.elev-cell--check{padding:6px 10px;font-size:var(--text-sm);font-weight:400;text-align:left;color:var(--text);overflow-wrap:break-word}.elev-table .elev-cell__en{color:var(--text-muted)}.elev-table td.elev-cell--note{padding:6px 10px;font-size:var(--text-sm);color:var(--text-muted);overflow-wrap:break-word}.elev-table td.elev-cell--input{padding:0;background:var(--worksheet-fill);transition:background-color var(--dur-1) var(--ease)}.elev-table td.elev-cell--input:focus-within{background:var(--surface);box-shadow:inset 0 0 0 2px var(--ring)}.elev-cell-input,.elev-cell-select{width:100%;border:none;outline:none;background:none;font:inherit;font-size:var(--text-sm);color:var(--text);padding:6px 8px}.elev-cell-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.elev-signature{display:flex;align-items:center;gap:8px}.elev-signature__prefix{padding-left:10px;font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap}.elev-signature input{flex:1;min-width:0}@media (max-width: 1023px){.elev-group+.elev-group{margin-top:18px}.elev-group__head{position:sticky;top:0;z-index:2;margin-bottom:0;padding:8px 0;background:var(--bg);flex-wrap:wrap}.elev-group__title{line-height:1.35}.elev-scroll{overflow:visible}.elev-table,.elev-table tbody,.elev-table tr,.elev-table th,.elev-table td{display:block}.elev-table colgroup,.elev-table thead{display:none}.elev-table{min-width:0;width:100%;table-layout:auto}.elev-table th,.elev-table td{border:none}.elev-table tr{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;row-gap:8px;padding:12px 14px 14px}.elev-table tr+tr{border-top:1px solid var(--line)}.elev-table td.elev-cell--nr{flex:none;padding:0;text-align:left;font-weight:600;color:var(--text-2)}.elev-table td.elev-cell--nr:not(:empty):after{content:"."}.elev-table th.elev-cell--check,.elev-table td.elev-cell--note{flex:1 1 0;min-width:0;padding:0;font-weight:500;line-height:1.4}.elev-table th.elev-cell--check{color:var(--text)}.elev-table td.elev-cell--method{flex:0 0 100%;padding:0;text-align:left;font-size:var(--text-xs);font-weight:500;letter-spacing:0;color:var(--text-2)}.elev-table td.elev-cell--method:empty{display:none}.elev-table td.elev-cell--method:before{content:attr(data-label) ": ";color:var(--text-faint)}.elev-table td.elev-cell--input{flex:0 0 100%;padding:0;background:none}.elev-table td.elev-cell--input:before{content:attr(data-label);display:block;margin-bottom:5px;font-size:var(--text-2xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.elev-table td.elev-cell--input:focus-within{background:none;box-shadow:none}.elev-cell-input,.elev-cell-select{min-height:44px;padding:10px 12px;font-size:1rem;background:var(--worksheet-fill);border:1px solid var(--border-input);border-radius:var(--radius-sm);transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.elev-cell-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.elev-cell-input:focus,.elev-cell-select:focus{border-color:var(--ring);box-shadow:0 0 0 3px var(--ring-soft)}}.cert-scroll{overflow-x:auto}@media (max-width: 1023px){.cert-scroll{overflow:visible}.cert-table,.cert-table tbody,.cert-table tr,.cert-table th,.cert-table td{display:block}.cert-table colgroup,.cert-table thead{display:none}.cert-table{width:100%;min-width:0}.cert-table tbody+tbody{margin-top:14px}.cert-table .wsheet-row__group{padding:10px 12px;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius-sm);text-align:left}.cert-table .wsheet-row__group-text{writing-mode:horizontal-tb;transform:none}.cert-table tr{padding:12px 0 14px}.cert-table tr+tr{border-top:1px solid var(--line)}.cert-table .cert-subgroup th{padding:4px 0 0;font-size:var(--text-2xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);text-align:left}.cert-table th.cert-row__description{padding:0 0 8px;font-size:var(--text-sm);font-weight:500;text-align:left;line-height:1.4;color:var(--text)}.cert-table td.cert-row__verification,.cert-table td.cert-row__result{padding:0}.cert-table td.cert-row__verification+td.cert-row__result{margin-top:8px}.cert-table .cert-select{display:block;width:100%;min-height:44px;padding:10px 12px;font:inherit;font-size:1rem;color:var(--text);background:var(--worksheet-fill);border:1px solid var(--border-input);border-radius:var(--radius-sm)}.cert-table .cert-select:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px var(--ring-soft)}.cert-identity,.cert-validity{display:flex;flex-direction:column;gap:8px}.cert-readiness{display:flex;flex-direction:column;gap:6px}.cert-readiness__item{display:flex;justify-content:space-between;gap:12px;font-size:var(--text-sm)}}@media (max-width: 1023px){.ndt-scroll{overflow:visible}.ndt-matrix-table,.ndt-matrix-table tbody,.ndt-matrix-table tr,.ndt-matrix-table td{display:block}.ndt-matrix-table colgroup,.ndt-matrix-table thead{display:none}.ndt-matrix-table{min-width:0;width:100%;table-layout:auto}.ndt-matrix-table td{border:none}.ndt-matrix-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;padding:12px 0 14px}.ndt-matrix-table tr+tr{border-top:1px solid var(--line)}.ndt-matrix-table td.ndt-cell--nr{grid-column:1 / -1;padding:0;text-align:left;font-weight:600;color:var(--text-2)}.ndt-matrix-table td.ndt-cell--nr:not(:empty):before{content:attr(data-label) " "}.ndt-matrix-table td.ndt-cell--input{padding:0;background:none}.ndt-matrix-table td.ndt-cell--input:nth-child(2){grid-column:1 / -1}.ndt-matrix-table td.ndt-cell--input:before{content:attr(data-label);display:block;margin-bottom:4px;font-size:var(--text-2xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ndt-matrix-table td.ndt-cell--input:focus-within{background:none;box-shadow:none}.ndt-cell-input{min-height:44px;padding:10px 12px;font-size:1rem;background:var(--worksheet-fill);border:1px solid var(--border-input);border-radius:var(--radius-sm)}.ndt-cell-input:focus{border-color:var(--ring);box-shadow:0 0 0 3px var(--ring-soft)}.ndt-matrix-table td.ndt-cell--actions{grid-column:1 / -1;padding:0;text-align:right}.ndt-matrix-table td.ndt-cell--actions .icon-btn{min-height:40px;padding:8px 10px}.ndt-matrix-table .ndt-empty{grid-column:1 / -1}.ndt-matrix-table td .doc-value{padding:0;text-align:left}.ndt-matrix-table td:empty{display:none}}.doc-row__main{display:flex;align-items:center;gap:8px}.doc-row__main .field-label{flex:1 1 auto;min-width:0;margin:0;line-height:1.35}.doc-row__hint{display:none}.status-dot-wrap{position:relative;display:inline-flex;flex:none}.status-dot-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--radius-full);background:none;color:var(--text-faint);cursor:pointer}.status-dot-btn:before{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.status-dot-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.status-dot{width:9px;height:9px;border-radius:var(--radius-full);background:var(--text-faint)}.status-dot-btn--done .status-dot{background:var(--ok-text)}.status-dot-btn--locked{color:var(--text-faint)}.status-dot__tip{position:absolute;top:calc(100% + 6px);left:0;padding:4px 8px;border-radius:var(--radius-sm);background:var(--sidebar-bg);color:var(--sidebar-text);font-size:var(--text-2xs);font-weight:500;white-space:nowrap;pointer-events:none;opacity:0;transform:translateY(-2px);transition:opacity var(--dur-1) var(--ease),transform var(--dur-1) var(--ease);z-index:40}.status-dot-wrap:hover .status-dot__tip,.status-dot-btn:focus-visible~.status-dot__tip,.status-dot__tip.is-open{opacity:1;transform:translateY(0)}@media (max-width: 767px){.doc-row{align-items:center;row-gap:6px;margin-bottom:4px}.doc-row+.doc-row{padding-top:12px;border-top:1px solid var(--line)}.doc-row__main{flex:1 1 auto;min-width:0;width:auto}.doc-row__main .field-label{margin:0;line-height:1.35}.doc-row{flex-wrap:wrap}.doc-row__actions{flex:0 0 100%;width:100%;margin-left:0;gap:8px}.doc-row__actions .icon-action{flex:1 1 0;min-width:0}.doc-row__actions .icon-action-btn{width:100%}.doc-row__actions>.icon-action:only-child{flex:0 0 calc(50% - 4px);margin-left:auto}.doc-row__hint{display:block;flex:0 0 100%;margin:0;font-size:var(--text-xs);line-height:1.4;color:var(--warn-text)}}@media (max-width: 1023.98px){.page--subjects .page-header{margin-bottom:var(--space-4)}.page--subjects .datatable-wrap .datatable tbody{gap:10px}.page--subjects .datatable-wrap .datatable tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;row-gap:4px;column-gap:8px;padding:6px 14px 12px;-webkit-tap-highlight-color:transparent}.page--subjects .datatable-wrap .datatable tbody tr.is-clickable:active{background:var(--surface-2);border-color:var(--border-input)}.page--subjects .datatable-wrap .datatable tbody tr td{min-height:0;padding:0;border-bottom:none}.page--subjects .datatable-wrap .datatable tbody tr td:first-child{grid-column:1;grid-row:1;min-height:44px;padding:0;align-items:center;line-height:1.35}.page--subjects .datatable-wrap .datatable tbody tr.is-clickable td:first-child:after{display:none}.page--subjects .datatable-wrap .datatable tbody tr td:not(:first-child):not(.col-actions){grid-column:1 / -1;min-height:0;padding:0}.page--subjects .datatable-wrap .datatable tbody tr td.col-actions{position:static;grid-column:2;grid-row:1;justify-self:end;width:auto;padding:0}.page--subjects .datatable-wrap .datatable .row-actions__trigger{width:44px;height:44px;margin-right:-10px;border-color:transparent;background:none;color:var(--text-muted)}.page--subjects .datatable-wrap .datatable .row-actions__trigger:hover{border-color:transparent;background:none}.page--subjects .datatable-wrap .datatable .row-actions__trigger:active,.page--subjects .datatable-wrap .datatable .row-actions__trigger.is-open{background:var(--surface-2);color:var(--text)}.page--subjects .datatable-wrap .datatable .row-actions__trigger:focus-visible{box-shadow:var(--focus-ring);color:var(--text)}.page--mechanical .page-header,.page--mechanical .mode-tabs{margin-bottom:var(--space-3)}.page--mechanical .filter-bar{gap:8px;padding:10px 12px;margin-bottom:var(--space-3)}.page--mechanical .filter-bar .field{gap:4px}.page--mechanical .section-head{margin-bottom:8px}.page--mechanical .datatable-filter{margin-bottom:10px}.page--mechanical .datatable-wrap .datatable tbody tr,.page--inspections .datatable-wrap .datatable tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:8px;padding:2px 2px 4px;-webkit-tap-highlight-color:transparent}.page--mechanical .datatable-wrap .datatable tbody tr.is-clickable:active,.page--inspections .datatable-wrap .datatable tbody tr.is-clickable:active{background:var(--surface-2);border-color:var(--border-input)}.page--mechanical .datatable-wrap .datatable tbody tr td:first-child,.page--inspections .datatable-wrap .datatable tbody tr td:first-child{grid-column:1;grid-row:1;min-height:44px;padding:10px 0 8px 12px;border-bottom:none;line-height:1.35}.page--mechanical .datatable-wrap .datatable tbody tr.is-clickable td:first-child:after,.page--inspections .datatable-wrap .datatable tbody tr.is-clickable td:first-child:after{display:none}.page--mechanical .datatable-wrap .datatable tbody tr td:not(:first-child):not(.col-actions),.page--inspections .datatable-wrap .datatable tbody tr td:not(:first-child):not(.col-actions){grid-column:1 / -1}.page--mechanical .datatable-wrap .datatable tbody tr td:nth-child(2),.page--inspections .datatable-wrap .datatable tbody tr td:nth-child(2){border-top:1px solid var(--line)}.page--mechanical .datatable-wrap .datatable tbody tr td.col-actions,.page--inspections .datatable-wrap .datatable tbody tr td.col-actions{position:static;grid-column:2;grid-row:1;justify-self:end;align-self:start;width:auto;min-height:0;padding:0;border:none}.page--mechanical .datatable-wrap .datatable .row-actions__trigger,.page--inspections .datatable-wrap .datatable .row-actions__trigger{width:44px;height:44px;margin-right:-2px;border-color:transparent;background:none;color:var(--text-muted)}.page--mechanical .datatable-wrap .datatable .row-actions__trigger:hover,.page--inspections .datatable-wrap .datatable .row-actions__trigger:hover{border-color:transparent;background:none}.page--mechanical .datatable-wrap .datatable .row-actions__trigger:active,.page--inspections .datatable-wrap .datatable .row-actions__trigger:active,.page--mechanical .datatable-wrap .datatable .row-actions__trigger.is-open,.page--inspections .datatable-wrap .datatable .row-actions__trigger.is-open{background:var(--surface-2);color:var(--text)}.page--mechanical .datatable-wrap .datatable .row-actions__trigger:focus-visible,.page--inspections .datatable-wrap .datatable .row-actions__trigger:focus-visible{box-shadow:var(--focus-ring);color:var(--text)}}.equipment-ident,.equipment-inspections__count,.context-card__disclosure{display:none}@media (max-width: 767px){.page--equipment .link-back{margin-bottom:6px;max-width:100%;text-align:left;overflow-wrap:anywhere}.page--equipment .link-back svg{flex:none}.page--equipment .page__head{gap:8px 12px;margin-bottom:12px}.page--equipment .page__head .page__title{margin:0;overflow-wrap:anywhere}.page--equipment .page__head-actions{gap:6px}.page--equipment .page__head .icon-action-btn:not(.icon-action-btn--phone-labelled){width:44px;height:44px}.equipment-ident{display:flex;flex-direction:column;gap:3px;margin-top:4px;min-width:0}.equipment-ident__ref{margin:0;font-size:var(--text-sm);color:var(--text-2);overflow-wrap:anywhere}.equipment-ident__location{display:flex;align-items:flex-start;gap:5px;margin:0;font-size:var(--text-sm);color:var(--text-muted);overflow-wrap:anywhere}.equipment-ident__location svg{flex:none;margin-top:2px}.page--equipment .context-card{padding:0;margin-bottom:var(--space-4);border-color:var(--line-strong)}.page--equipment .context-card__disclosure{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:10px 14px;border:none;background:none;color:var(--text-muted);font:inherit;cursor:pointer;text-align:left}.page--equipment .context-card__disclosure:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-md)}.context-card__disclosure-title{font-size:var(--text-2xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase}.context-card__disclosure-action{display:inline-flex;align-items:center;gap:7px;flex:none;font-size:var(--text-sm);font-weight:500;color:var(--link)}.page--equipment .context-card--collapsible:not(.is-open) .context-card__content{display:none}.page--equipment .context-card--collapsible .context-card__content{padding:4px 14px 14px;border-top:1px solid var(--line)}.page--equipment .context-card--collapsible .context-card__groups{gap:14px}.page--equipment .context-card--collapsible .context-card__toggle{display:none}.page--equipment .context-card--collapsible .context-card__details{grid-template-columns:minmax(0,1fr);gap:6px;margin-top:12px;padding-top:12px}.page--equipment .page__section{margin-top:var(--space-4)}.equipment-inspections__count{display:block;margin-top:2px}.page--equipment .datatable-wrap .datatable tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;padding:10px 14px;-webkit-tap-highlight-color:transparent}.page--equipment .datatable-wrap .datatable tbody tr.is-clickable:active{background:var(--surface-2);border-color:var(--border-input)}.page--equipment .datatable-wrap .datatable tbody tr td{min-height:0;padding:0;border-bottom:none}.page--equipment .datatable-wrap .datatable tbody tr td:first-child{grid-column:1 / -1;padding:0 0 4px;font-size:var(--text-md);line-height:1.35}.page--equipment .datatable-wrap .datatable tbody tr.is-clickable td:first-child:after{display:none}.page--equipment .datatable-wrap .datatable tbody tr td:nth-child(2),.page--equipment .datatable-wrap .datatable tbody tr td:nth-child(3){display:block;text-align:left;color:var(--text-2)}.page--equipment .datatable-wrap .datatable tbody tr td:nth-child(3){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.page--equipment .datatable-wrap .datatable tbody tr td:nth-child(2):before,.page--equipment .datatable-wrap .datatable tbody tr td:nth-child(3):before{display:none}.page--equipment .datatable-wrap .datatable tbody tr td:nth-child(n+4){grid-column:1 / -1;padding-top:6px}.page--equipment .datatable-empty{padding:12px 14px;text-align:left}}.inspection-summary{display:none}@media (max-width: 767px){.page--inspection .link-back{margin-bottom:6px;max-width:100%;overflow-wrap:anywhere}.page--inspection .page__head{gap:8px 12px;margin-bottom:12px}.page--inspection .page__head .page__title{display:none}.page--inspection .page__head-actions{gap:6px}.page--inspection .page__head .icon-action-btn:not(.icon-action-btn--phone-labelled){width:44px;height:44px}.inspection-summary{display:flex;flex-direction:column;gap:2px;min-width:0}.inspection-summary__label{font-size:var(--text-2xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.inspection-summary__ref{margin:0;font-size:var(--text-lg);font-weight:600;color:var(--text);overflow-wrap:anywhere}.inspection-summary__meta{margin:0;font-size:var(--text-sm);color:var(--text-muted)}.page--inspection .page__section{margin-top:var(--space-4)}}.collapsible-card{display:contents}.collapsible-card__disclosure{display:none}@media (max-width: 767px){.collapsible-card{display:block;margin-bottom:var(--space-4)}.collapsible-card__disclosure{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:10px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-muted);font:inherit;text-align:left;cursor:pointer}.collapsible-card__disclosure:focus-visible{outline:none;box-shadow:var(--focus-ring)}.collapsible-card__title{font-size:var(--text-2xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase}.collapsible-card__action{display:inline-flex;align-items:center;gap:7px;flex:none;font-size:var(--text-sm);font-weight:500;color:var(--link)}.collapsible-card__chevron{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform var(--dur-1) var(--ease)}.collapsible-card__chevron.is-open{transform:translateY(1px) rotate(-135deg)}.collapsible-card__body{display:none;margin-top:10px}.collapsible-card__body.is-open{display:block}}.login-layout{height:100vh;height:100dvh;display:grid;grid-template-columns:46% 54%;overflow:hidden}.login-brand{position:relative;overflow:hidden;padding:56px 56px 48px;color:#fff;background:var(--sidebar-bg);display:flex;flex-direction:column;justify-content:space-between}.login-brand__pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(120% 100% at 30% 20%,#000 0%,transparent 75%);mask-image:radial-gradient(120% 100% at 30% 20%,#000 0%,transparent 75%);pointer-events:none}.login-brand__logo{display:flex;position:relative}.login-brand__content{max-width:440px;position:relative}.accent-line{display:block;width:56px;height:3px;border-radius:2px;margin-bottom:26px;background:var(--brand-red)}.login-brand__content h1{font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.25;margin:0 0 14px;font-weight:600;letter-spacing:-.01em}.login-brand__content p{margin:0;color:#ffffffa8;font-size:var(--text-md);max-width:360px}.login-main{position:relative;background:var(--bg);padding:18px 40px;display:flex;flex-direction:column;height:100%;overflow:hidden}.login-main__topbar{flex:none;display:flex;justify-content:flex-end;align-items:center;gap:8px}.login-card-wrap{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:12px 0}.login-card{position:relative;width:100%;max-width:440px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:32px 36px;display:flex;flex-direction:column;gap:16px;overflow:hidden}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--brand-red)}.login-card h2{margin:0;font-size:var(--text-xl);font-weight:600;letter-spacing:-.01em;color:var(--text)}.login-card__sub{margin:-8px 0 6px;color:var(--text-muted);font-size:var(--text-sm)}.login-card__row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:var(--text-sm)}.login-card__row--end{justify-content:flex-end}.forgot{font-weight:500;color:var(--text-muted)}.divider{display:flex;align-items:center;gap:14px;color:var(--text-faint);font-size:var(--text-xs);margin:2px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.secure-note{display:flex;gap:12px;align-items:flex-start}.secure-note__icon{color:var(--text-muted);flex:none;margin-top:2px}.secure-note strong{display:block;font-size:var(--text-sm);font-weight:600;color:var(--text)}.secure-note p{margin:2px 0 0;font-size:var(--text-xs);color:var(--text-muted)}.login-footer{flex:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:10px;font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.login-footer__links{display:inline-flex;gap:10px;align-items:center}@media (max-width: 1023px){.login-layout{height:auto;min-height:100vh;min-height:100dvh;grid-template-columns:1fr;grid-template-rows:auto 1fr;overflow:visible}.login-brand{padding:14px 20px;flex-direction:row;align-items:center;justify-content:flex-start}.login-brand__content,.accent-line{display:none}.login-main{height:auto;min-height:0;padding:12px 20px 14px;overflow:visible}.login-card-wrap{overflow:visible;padding:8px 0}}@media (max-width: 767px){.login-brand{padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top))}.login-brand .brandmark--lg{gap:12px}.login-brand .brandmark--lg .brandmark__block{width:40px;height:40px;font-size:1.1rem}.login-brand .brandmark--lg .brandmark__name{font-size:1.15rem}.login-brand .brandmark--lg .brandmark__sub{font-size:.7rem}.login-main{padding:8px 16px 10px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.login-card-wrap{padding:6px 0}.login-card{padding:20px 16px 18px;gap:14px}.login-card h2{font-size:var(--text-lg)}.login-card__sub{margin:-8px 0 2px}.login-card__row--end{margin-top:-4px}.login-card .divider{display:none}.secure-note{gap:10px}.secure-note__icon{width:18px;height:18px}.secure-note strong{font-size:var(--text-xs)}.secure-note p{font-size:var(--text-2xs)}.login-footer{flex-direction:column;gap:2px;padding-top:8px;text-align:center;white-space:normal;font-size:var(--text-2xs)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--overlay);overflow-y:auto;animation:modal-fade var(--dur-1) var(--ease)}.modal{width:100%;max-width:560px;margin:auto;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);display:flex;flex-direction:column;max-height:calc(100vh - 40px);outline:none;animation:modal-rise var(--dur-2) var(--ease)}.modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line-strong)}.modal__head-text{display:flex;flex-direction:column;gap:4px;min-width:0}.modal__title{margin:0;font-size:var(--text-md);font-weight:600;letter-spacing:-.01em;color:var(--text)}.modal__description{margin:0;font-size:var(--text-sm);color:var(--text-muted)}.modal__body{padding:20px;overflow-y:auto}.modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--line-strong);background:var(--surface-2);border-radius:0 0 var(--radius-md) var(--radius-md)}@media (max-width: 767px){.modal-overlay{padding:0;align-items:flex-end;overflow-y:auto}.modal{max-width:none;height:auto;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);margin:0;border:1px solid var(--line-strong);border-bottom:none;border-radius:var(--radius-md) var(--radius-md) 0 0}.modal__head{flex:none;padding:12px 16px;align-items:center}.modal__description{display:none}.modal__head .icon-btn{padding:8px;margin-right:-6px}.modal__body{flex:0 1 auto;min-height:0;padding:16px;-webkit-overflow-scrolling:touch}.modal__footer{flex:none;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));border-radius:0;background:var(--surface)}.modal__footer .btn{flex:1 1 0;min-height:44px}.modal__body .modal-actions .spacer{display:none}.modal__body .modal-actions .btn{flex:1 1 0;min-height:44px}.modal__body:last-child{padding-bottom:max(16px,env(safe-area-inset-bottom))}}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.datatable-wrap{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);overflow-x:auto}.datatable{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.datatable th{text-align:left;font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--surface-2);padding:9px 16px;border-bottom:1px solid var(--line-strong);white-space:normal}.datatable td{padding:11px 16px;border-bottom:1px solid var(--line);color:var(--text);font-variant-numeric:tabular-nums}.datatable tbody tr:last-child td{border-bottom:none}.datatable tbody tr.is-clickable{cursor:pointer;transition:background-color var(--dur-1) var(--ease)}.datatable tbody tr.is-clickable:hover{background:var(--surface-2)}.datatable tbody tr.is-clickable:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--ring)}.datatable-empty{background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius-md);padding:40px;text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.datatable-filter{display:block;width:100%;box-sizing:border-box;padding:9px 16px;border:none;border-bottom:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-size:var(--text-sm)}.datatable-filter:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--ring)}.datatable th.is-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.datatable th.is-sortable:hover{color:var(--text)}.datatable-pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:10px 16px;border-top:1px solid var(--line-strong)}.datatable-pageinfo{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-variant-numeric:tabular-nums}.datatable .col-card-only{display:none}@media (max-width: 1023.98px){.datatable-wrap{border:none;background:transparent;overflow:visible}.datatable-filter{margin-bottom:12px;border:1px solid var(--border-input);border-radius:var(--radius-sm);min-height:44px;font-size:1rem}.datatable-filter:focus-visible{box-shadow:0 0 0 3px var(--ring-soft);border-color:var(--ring)}.datatable-pager{margin-top:12px;padding:0;border-top:none}.datatable-wrap>.datatable-empty{border-style:solid}.datatable{display:block;font-size:var(--text-sm)}.datatable thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.datatable tbody{display:flex;flex-direction:column;gap:12px}.datatable tbody tr{display:block;position:relative;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:4px 2px}.datatable tbody tr.is-clickable:hover{background:var(--surface);border-color:var(--border-input)}.datatable tbody tr.is-clickable:active{background:var(--surface-2)}.datatable tbody tr.is-clickable:focus-visible{box-shadow:inset 0 0 0 2px var(--ring)}.datatable td.col-card-only{display:block;padding:0 14px 2px;text-align:left;min-height:0;border-bottom:none;color:var(--text-2);line-height:1.4}.datatable tbody tr td.col-card-only:last-of-type{padding-bottom:12px}.datatable td.col-card-only:before{display:none}.datatable tbody tr td.col-card-only,.datatable tbody tr td:has(+td.col-card-only){border-top:none;border-bottom:none}.datatable th.col-card-hide,.datatable td.col-card-hide{display:none}.datatable td{display:flex;align-items:baseline;justify-content:space-between;gap:16px;min-height:44px;padding:10px 14px;text-align:right;color:var(--text-2);border-bottom:none;overflow-wrap:anywhere;min-width:0}.datatable td>.input-wrap{flex:1 1 auto;min-width:0;max-width:240px}.datatable tbody tr td:not(:last-child){border-bottom:1px solid var(--line)}.datatable td:before{content:attr(data-label);flex:none;text-align:left;font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap}.datatable td:first-child{align-items:center;padding:12px 14px;text-align:left;font-size:var(--text-md);font-weight:600;color:var(--text)}.datatable td:first-child:before{display:none}.datatable tbody tr.is-clickable td:first-child:after{content:"";flex:none;width:7px;height:7px;border-right:1.5px solid var(--text-faint);border-top:1.5px solid var(--text-faint);transform:rotate(45deg)}.datatable tbody tr:has(>td.col-actions) td:first-child{padding-right:52px}.datatable td.col-actions{position:absolute;top:8px;right:8px;width:auto;min-height:0;padding:0;border:none}.datatable td.col-actions:before{display:none}.datatable tbody tr td:has(+td.col-actions){border-bottom:none}.datatable .row-actions__trigger{width:36px;height:36px;color:var(--text-muted);border-color:var(--line-strong)}}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}:root{color-scheme:light;--brand-red: #e30613;--bg: #edeff2;--surface: #ffffff;--surface-2: #f5f6f8;--overlay: rgba(13, 16, 22, .5);--text: #171a20;--text-2: #3f4753;--text-muted: #5a6270;--text-faint: #666d78;--line: #e4e7ec;--line-strong: #d0d5dd;--border-input: #848b98;--link: #34639f;--ring: #3b6fb5;--ring-soft: rgba(59, 111, 181, .2);--control-accent: #3b6fb5;--selection-bg: rgba(59, 111, 181, .22);--worksheet-fill: rgba(59, 111, 181, .05);--scroll-thumb: #c3c8d1;--btn-primary-bg: #171a20;--btn-primary-fg: #ffffff;--btn-primary-hover: #2a2f38;--btn-primary-active: #0f1114;--btn-primary-disabled-bg: #e4e7ec;--btn-primary-disabled-fg: #5a6270;--sidebar-bg: #171a20;--sidebar-border: transparent;--sidebar-text: #ffffff;--sidebar-text-muted: rgba(255, 255, 255, .68);--sidebar-hover: rgba(255, 255, 255, .07);--sidebar-active: rgba(255, 255, 255, .09);--sidebar-line: rgba(255, 255, 255, .12);--ok-text: #15803d;--ok-bg: #f0fdf4;--ok-border: #bbf7d0;--warn-text: #92400e;--warn-bg: #fffbeb;--warn-border: #fcd34d;--danger-text: #b42318;--danger-bg: #fef3f2;--danger-border: #fecdca;--danger-solid: #b42318;--dot-ok: #22c55e;--dot-bad: #ef4444;--dot-idle: #9aa1ac;--font-sans: "IBM Plex Sans", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .8125rem;--text-md: .875rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-8: 48px;--radius-sm: 3px;--radius-md: 6px;--radius-full: 999px;--shadow-overlay: 0 16px 48px -16px rgba(9, 12, 18, .35);--ease: cubic-bezier(.2, 0, 0, 1);--dur-1: .12s;--dur-2: .16s;--focus-ring: 0 0 0 2px var(--surface), 0 0 0 4px var(--ring)}[data-theme=dark]{color-scheme:dark;--bg: #14161a;--surface: #1b1e24;--surface-2: #21252c;--overlay: rgba(0, 0, 0, .6);--text: #e6e8ec;--text-2: #c3c8d1;--text-muted: #a0a7b4;--text-faint: #868d9b;--line: #2b2f37;--line-strong: #3a4150;--border-input: #646c7c;--link: #8ab0e0;--ring: #8ab0e0;--ring-soft: rgba(138, 176, 224, .22);--control-accent: #8ab0e0;--selection-bg: rgba(138, 176, 224, .3);--worksheet-fill: rgba(138, 176, 224, .08);--scroll-thumb: #3a4150;--btn-primary-bg: #edeff3;--btn-primary-fg: #14161a;--btn-primary-hover: #ffffff;--btn-primary-active: #d8dce3;--btn-primary-disabled-bg: #23262c;--btn-primary-disabled-fg: #8a919f;--sidebar-bg: #0f1114;--sidebar-border: #2b2f37;--ok-text: #75d0a1;--ok-bg: #1c2f25;--ok-border: #2f5c43;--warn-text: #f5c76a;--warn-bg: #3a2f14;--warn-border: #6b5320;--danger-text: #f97066;--danger-bg: #34201d;--danger-border: #6e2f28;--danger-solid: #b42318;--dot-ok: #4ade80;--dot-bad: #f87171;--dot-idle: #6b7280;--shadow-overlay: 0 16px 48px -12px rgba(0, 0, 0, .65)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{background-color:#fff}html[data-theme=dark]{background-color:#1b1e24}body{font-family:var(--font-sans);font-size:var(--text-md);color:var(--text);background:transparent;-webkit-font-smoothing:antialiased;line-height:1.5}::selection{background:var(--selection-bg)}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}.mono{font-family:var(--font-mono);font-size:.92em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font:inherit;font-size:var(--text-sm);font-weight:500;letter-spacing:.01em;border:1px solid transparent;border-radius:var(--radius-sm);min-height:40px;padding:0 18px;cursor:pointer;transition:background-color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn:disabled{cursor:not-allowed}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg)}.btn-primary:hover:not(:disabled){background:var(--btn-primary-hover)}.btn-primary:active:not(:disabled){background:var(--btn-primary-active);transform:translateY(1px)}.btn-primary:disabled{background:var(--btn-primary-disabled-bg);color:var(--btn-primary-disabled-fg)}.btn-block{width:100%}.btn-secondary{background:var(--surface);color:var(--text-2);border-color:var(--line-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-secondary:disabled{color:var(--text-faint)}.btn-ghost{background:transparent;color:var(--text-2);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-ghost:disabled{color:var(--text-faint)}.btn-danger{background:var(--surface);color:var(--danger-text);border-color:var(--danger-border)}.btn-danger:hover:not(:disabled){background:var(--danger-bg)}.btn-danger:disabled{color:var(--text-faint);border-color:var(--line-strong)}.btn-sm{min-height:32px;padding:0 12px;font-size:var(--text-xs)}@media (pointer: coarse){.btn{min-height:44px}.btn-sm{min-height:40px}.theme-toggle{width:44px;height:44px}.lang-toggle{min-height:44px}.lang-toggle__btn{min-width:40px;padding:0 12px}.icon-btn{padding:8px}.icon-action-btn{width:42px;height:42px}.link-back{min-height:44px}.context-card__toggle,.checkbox-row{min-height:40px}.checkbox-row input{width:20px;height:20px}}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:var(--text-sm);font-weight:500;color:var(--text-2)}.field-required{color:var(--danger-text);margin-left:2px}.input-wrap{display:flex;align-items:center;gap:var(--space-2);background:var(--surface);border:1px solid var(--border-input);border-radius:var(--radius-sm);padding:0 12px;transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.input-wrap:focus-within{border-color:var(--ring);box-shadow:0 0 0 3px var(--ring-soft)}.input-wrap .icon{color:var(--text-faint);flex:none}.input-wrap input,.input-wrap select,.input-wrap textarea{flex:1;border:none;outline:none;background:transparent;font:inherit;color:var(--text);padding:9px 0;min-width:0}.input-wrap textarea{resize:vertical;line-height:1.5}.input-wrap input::placeholder,.input-wrap textarea::placeholder{color:var(--text-faint)}.input-wrap:has(:disabled){background:var(--surface-2);border-color:var(--line)}.input-wrap input:disabled,.input-wrap select:disabled,.input-wrap textarea:disabled{color:var(--text-muted);cursor:not-allowed;-webkit-text-fill-color:var(--text-muted);opacity:1}.input-wrap input.input--mono,.input-wrap textarea.input--mono{font-family:var(--font-mono);font-size:.92em}.input-wrap select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input-wrap:has(>input[type=date]){cursor:pointer}.input-wrap:has(>input[type=date]):hover{border-color:var(--text-2)}.input-wrap input[type=date]{cursor:pointer;width:100%;min-width:0}.input-wrap input[type=date]::-webkit-date-and-time-value{text-align:left}.input-wrap input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.65;padding:4px;margin-inline-start:4px;border-radius:var(--radius-sm);transition:opacity var(--dur-1) var(--ease)}.input-wrap input[type=date]:hover::-webkit-calendar-picker-indicator{opacity:1}.input-wrap--select{position:relative}.input-wrap select option{background:var(--surface);color:var(--text)}.input-wrap--select:after{content:"";position:absolute;right:14px;width:7px;height:7px;border-right:1.5px solid var(--text-muted);border-bottom:1.5px solid var(--text-muted);transform:translateY(-2px) rotate(45deg);pointer-events:none}@media (max-width: 640px){.input-wrap input,.input-wrap select,.input-wrap textarea{font-size:1rem;padding:11px 0}.input-wrap textarea{padding:9px 0}.input-wrap select{padding-right:18px}.stack-row{flex-direction:column}}.checkbox-row{display:flex;align-items:flex-start;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-row input{width:16px;height:16px;margin-top:2px;accent-color:var(--control-accent);cursor:pointer;flex:none}.checkbox-row input:focus-visible{outline:none;box-shadow:var(--focus-ring)}.checkbox-row__text{display:flex;flex-direction:column;gap:2px}.checkbox-row__label{font-size:var(--text-sm);font-weight:500;color:var(--text)}.checkbox-row__hint{font-size:var(--text-xs);color:var(--text-muted)}.tag-row{display:inline-flex;flex-wrap:wrap;gap:6px}.tag{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line-strong);color:var(--text-2);font-size:var(--text-xs);font-weight:500;white-space:nowrap}.tag--ok{color:var(--ok-text);background:var(--ok-bg);border-color:var(--ok-border)}.tag--muted{color:var(--text-muted)}.tag--warn{color:var(--warn-text);background:var(--warn-bg);border-color:var(--warn-border)}.tag--danger{color:var(--danger-text);background:var(--danger-bg);border-color:var(--danger-border)}.status-pill{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:var(--radius-full);border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text-muted);font-size:var(--text-2xs);font-weight:500;line-height:1;white-space:nowrap}.status-pill svg{flex:none}.status-pill--done{color:var(--ok-text);background:var(--ok-bg);border-color:var(--ok-border)}.status-pill--pending{color:var(--warn-text);background:var(--warn-bg);border-color:var(--warn-border)}.subhead{margin:0 0 10px;font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.subhead-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.subhead-row .subhead{margin:0}.chip-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.chip-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 4px 7px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text)}.modal-divider{border:none;border-top:1px solid var(--line);margin:18px 0}.stack{display:flex;flex-direction:column;gap:16px}.stack-row{display:flex;gap:14px}.stack-row>*{flex:1}.modal-actions{display:flex;align-items:center;gap:10px;margin-top:4px}.modal-actions .spacer{flex:1}.icon-btn{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:color var(--dur-1) var(--ease)}.icon-btn:hover{color:var(--text)}.icon-btn--danger:hover{color:var(--danger-text)}.icon-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.icon-action{position:relative;display:inline-flex}.icon-action-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),background-color var(--dur-1) var(--ease)}.icon-action-btn__text{display:none}@media (max-width: 767px){.icon-action-btn--phone-labelled{width:auto;min-height:44px;gap:8px;padding:0 12px;border-color:var(--line-strong);color:var(--text);font-size:var(--text-sm);font-weight:500}.icon-action-btn--phone-labelled .icon-action-btn__text{display:inline;white-space:nowrap}}.icon-action-btn:hover:not(:disabled){color:var(--text);border-color:var(--line-strong);background:var(--surface-2)}.icon-action-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.icon-action-btn:disabled{color:var(--text-faint);cursor:not-allowed}.icon-action-btn--danger:hover:not(:disabled),.icon-action-btn--danger:focus-visible{color:var(--danger-text);border-color:var(--danger-border);background:var(--danger-bg)}.icon-action-btn.icon-action-btn--primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg);border-color:transparent}.icon-action-btn.icon-action-btn--primary:hover:not(:disabled){background:var(--btn-primary-hover);color:var(--btn-primary-fg);border-color:transparent}.icon-action-btn.icon-action-btn--primary:active:not(:disabled){background:var(--btn-primary-active)}.icon-action-btn.icon-action-btn--primary:disabled{background:var(--btn-primary-disabled-bg);color:var(--btn-primary-disabled-fg)}.icon-action__tip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%) translateY(2px);padding:4px 8px;border-radius:var(--radius-sm);background:var(--sidebar-bg);color:var(--sidebar-text);font-size:var(--text-2xs);font-weight:500;white-space:nowrap;pointer-events:none;opacity:0;z-index:40;transition:opacity var(--dur-1) var(--ease),transform var(--dur-1) var(--ease)}.icon-action:hover .icon-action__tip,.icon-action:focus-within .icon-action__tip{opacity:1;transform:translate(-50%) translateY(0);transition-delay:.22s}.icon-action__tip--wrap{left:auto;right:0;transform:translateY(2px);white-space:normal;width:max-content;max-width:240px;text-align:left;line-height:1.4}.icon-action:hover .icon-action__tip--wrap,.icon-action:focus-within .icon-action__tip--wrap{transform:translateY(0)}@media (hover: none){.icon-action__tip{display:none}}.form-error{background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border);border-radius:var(--radius-sm);padding:10px 12px;font-size:var(--text-sm)}.form-warn{background:var(--warn-bg);color:var(--warn-text);border:1px solid var(--warn-border);border-radius:var(--radius-sm);padding:10px 12px;font-size:var(--text-sm)}.input-wrap.has-error{border-color:var(--danger-text)}.field-msg{font-size:var(--text-xs);color:var(--text-muted)}.field-msg--error{color:var(--danger-text)}.lang-toggle{display:inline-flex;align-items:stretch;gap:2px;min-height:30px;box-sizing:border-box;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:2px}.lang-toggle__icon{color:var(--text-faint);margin:0 4px 0 6px;align-self:center;flex:none}.lang-toggle__btn{display:inline-flex;align-items:center;justify-content:center;min-width:26px;border:none;background:transparent;font:inherit;font-size:var(--text-2xs);font-weight:600;letter-spacing:.05em;color:var(--text-muted);padding:0 8px;border-radius:2px;cursor:pointer;transition:background-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.lang-toggle__btn.is-active{background:var(--btn-primary-bg);color:var(--btn-primary-fg)}.lang-toggle__btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:color var(--dur-1) var(--ease),background-color var(--dur-1) var(--ease)}.theme-toggle:hover{background:var(--surface-2);color:var(--text)}.theme-toggle:focus-visible{outline:none;box-shadow:var(--focus-ring)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
