/* Bundled from theme.css, base.css, components.css, pages.css */
:root{
  --font-main:"Inter","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;

  --page-bg-1:#0F2A44;
  --page-bg-2:#1C3557;
  --page-bg-3:#2E3A6B;

  --card-bg:rgba(255,255,255,.88);
  --card-bg-soft:rgba(255,255,255,.80);
  --border-soft:rgba(150,180,220,.26);

  --accent-blue:#3A7BFF;
  --accent-teal:#2EC4B6;
  --accent-violet:#5162d7;
  --primary-blue:var(--accent-blue);
  --teal-accent:var(--accent-teal);
  --soft-purple:var(--accent-violet);
  --light-blue:rgba(220,234,255,.36);
  --bg-white:#ffffff;
  --bg-light:#f5f8fc;

  --text-main:#0F172A;
  --text-muted:#5B6B8C;
  --text-primary:var(--text-main);
  --text-secondary:var(--text-muted);
  --button-text:var(--accent-violet);

  --color-surface-light:255 255 255;
  --surface-light-alpha:.88;
  --color-surface-accent:199 213 244;
  --surface-accent-alpha:.78;

  --radius-panel:24px;
  --radius-block:18px;
  --radius-soft:12px;
  --frame-radius:16px;

  --space-1:8px;
  --space-2:12px;
  --space-3:16px;
  --space-4:20px;
  --space-5:24px;
  --space-6:32px;
  --container-width:1160px;
  --container-width-wide:1600px;

  --site-bg-color:#102640;
  --site-bg-image:url('/assets/site-background.webp');
  --site-bg-size:cover;
  --site-bg-position:center;
  --site-bg-repeat:no-repeat;
  --site-bg-attachment:scroll;
  --site-bg-overlay-color:#0d1b2a;
  --site-bg-overlay-opacity:.10;
  --page-shell-bg:rgba(255,255,255,.32);

  --panel-bg:rgba(var(--color-surface-light),.16);
  --panel-overlay-alpha:.12;
  --panel-border:var(--border-soft);
  --panel-shadow:none;

  --frame-bg:var(--card-bg);
  --frame-bg-strong:var(--card-bg-soft);
  --frame-bg-opacity:1;
  --frame-bg-strong-opacity:1;
  --inner-bg:255 255 255;
  --inner-bg-opacity:.88;
  --frame-border-color:var(--border-soft);
  --frame-border-color-hover:var(--border-soft);
  --frame-border-width:1px;
  --frame-shadow:none;
  --frame-blur:0;

  --block-bg:var(--card-bg);
  --block-bg-strong:var(--card-bg-soft);
  --block-border:var(--border-soft);
  --block-text:var(--text-main);
  --block-muted:var(--text-muted);

  --interactive-bg:rgba(220,234,255,.38);
  --interactive-bg-strong:rgba(220,234,255,.54);
  --interactive-border:rgba(153,180,228,.54);
  --interactive-border-hover:rgba(153,180,228,.54);

  --header-bg:var(--card-bg);
  --header-link-bg:rgba(220,234,255,.36);
  --header-link-text:var(--text-main);
  --footer-bg:transparent;
  --footer-link-bg:rgba(220,234,255,.36);
  --footer-link-text:var(--text-main);

  --media-placeholder-bg:rgba(199,213,244,.52);
  --media-placeholder-border:rgba(153,180,228,.44);
  --media-placeholder-text:#314b70;
  --lego-dot-color:rgba(255,255,255,.42);
  --favorite-active-bg:#fff5d9;
  --favorite-active-border:#ffd772;
  --favorite-active-text:#d99d00;
  --toast-text:#ffffff;

  --block-bg-image:none;
  --block-bg-image-size:cover;
  --block-bg-image-position:center;
  --block-bg-image-repeat:no-repeat;

  --link-color:var(--accent-blue);
  --text-color:var(--text-main);
  --danger-bg:rgba(255,234,234,.92);
  --danger-text:#972929;

  --content-card-bg:var(--card-bg);
  --content-card-bg-soft:var(--card-bg-soft);
  --content-card-border:var(--border-soft);
  --content-card-shadow:none;
  --content-card-shadow-hover:none;
  --content-focus-ring:0 0 0 2px rgba(58,123,255,.25);
  --content-radius-card:16px;
  --content-radius-soft:12px;
  --elev-shadow-block:0 0 0 1px rgba(150,180,220,.28), 0 10px 26px rgba(15,42,68,.18);
  --elev-shadow-button:0 0 0 1px rgba(150,180,220,.22), 0 6px 14px rgba(15,42,68,.16);
  --lego-cube-bg:#ffd54f;
  --lego-cube-border:#f3c22f;
  --lego-cube-stud:#ffe082;

  --layout-block-gap:16px;
  --nav-gradient-start:rgba(255,242,248,.90);
  --nav-gradient-end:rgba(243,234,255,.90);
}
.inventory-page .inventory-table-wrap{position:relative;overflow-x:auto;overflow-y:clip}
.inventory-page .inventory-table-wrap table:not(.spare-parts-table),
.inventory-page .inventory-table-wrap .spare-parts-table{border-radius:0;overflow:visible}
.inventory-page .inventory-table-wrap table:not(.spare-parts-table) thead th,
.inventory-page .inventory-table-wrap .spare-parts-table thead th{position:sticky;top:0;z-index:20;background:rgba(231,242,250,.98);box-shadow:0 1px 0 rgba(15,42,68,.08)}
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('/assets/fonts/inter/inter-cyrillic-400-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('/assets/fonts/inter/inter-latin-400-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('/assets/fonts/inter/inter-cyrillic-500-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('/assets/fonts/inter/inter-latin-500-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('/assets/fonts/inter/inter-cyrillic-600-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('/assets/fonts/inter/inter-latin-600-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('/assets/fonts/inter/inter-cyrillic-700-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('/assets/fonts/inter/inter-latin-700-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

*{box-sizing:border-box}
html,body{
  margin:0;
  padding:0;
  font-family:var(--font-main);
  background-color:var(--site-bg-color);
  background-image:var(--site-bg-image);
  background-size:var(--site-bg-size);
  background-repeat:var(--site-bg-repeat);
  background-position:var(--site-bg-position);
  background-attachment:var(--site-bg-attachment);
  color:var(--text-main)
}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
body{min-height:100vh;overflow-x:hidden;position:relative}
body::before{
  content:"";
  position:fixed;
  inset:0;
  background:var(--site-bg-overlay-color);
  opacity:var(--site-bg-overlay-opacity);
  pointer-events:none;
  z-index:0;
}
img,iframe,video{max-width:100%;height:auto;display:block}
picture{display:block;max-width:100%}
.shell{width:calc(100% - 32px);max-width:var(--container-width);margin:0 auto}
@supports (width:min(1px,2px)){
  .shell{width:min(var(--container-width),calc(100% - 32px));max-width:none}
}
.site-canvas{padding:28px 0 40px;position:relative;z-index:1}
.page-panel{
  background:transparent;
  border:none;
  box-shadow:none;
  border-radius:0;
  padding:0;
}
.main-shell{
  width:100%;
  margin:28px 0 0;
  padding:24px;
  border-radius:22px;
  background:var(--page-shell-bg) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(220,235,255,.28);
  box-shadow:0 18px 48px rgba(5,20,45,.18);
  overflow-x:clip;
}
.page-shell{
  width:100%;
  margin:28px 0 0;
  padding:24px;
  border-radius:22px;
  background:var(--page-shell-bg) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(220,235,255,.28);
  box-shadow:0 18px 48px rgba(5,20,45,.18);
  overflow-x:clip;
}
.auth-body{display:grid;place-items:center;min-height:100vh}
.auth-shell{width:calc(100% - 32px);max-width:460px}
.stack-layout{display:grid;gap:var(--layout-block-gap)}
.grid-main,.grid-two,.grid-three,.grid-four,.grid-stack{display:grid;gap:var(--layout-block-gap);min-width:0}
.grid-main{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.card-wide{grid-column:1/-1}
.page-head{margin:0}
.page-head{
  background:var(--content-card-bg-soft);
  border:var(--frame-border-width) solid var(--frame-border-color);
  border-radius:var(--frame-radius);
  padding:10px 14px;
  text-align:left;
  display:grid;
  gap:4px;
}
.page-head h1{margin:0 0 2px;font-size:clamp(15px,1.6vw,19px);line-height:1.25;color:var(--text-main);letter-spacing:-.01em;text-align:left}
.page-head p{margin:0;color:var(--text-muted);max-width:900px;line-height:1.35;font-size:clamp(12px,1vw,14px);text-align:left}
.page-head .page-breadcrumbs-block{margin:0 0 8px}
.message{padding:14px 16px;border-radius:var(--radius-soft);margin-bottom:14px}
.message.error{background:var(--danger-bg);color:var(--danger-text)}
.prose{white-space:pre-wrap;line-height:1.72;color:var(--text-primary)}
.prose{color:var(--text-main)}
.text-link{color:var(--primary-blue);font-weight:600}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin:0;color:var(--text-muted);font-size:14px}
.breadcrumbs a{color:var(--link-color)}
.page-breadcrumbs-block{display:grid;gap:4px;margin:0 0 10px;min-width:0}
.page-breadcrumbs{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:nowrap;overflow:hidden;white-space:nowrap;color:var(--text-muted);font-size:13px;line-height:1.25}
.page-breadcrumbs__item{min-width:0;max-width:min(34vw,260px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-weight:400;text-decoration:none;flex:0 1 auto}
.page-breadcrumbs__item:hover{color:#1FA6A6}
.page-breadcrumbs__item.is-current{max-width:min(48vw,420px);color:#0F2A44;font-weight:600;pointer-events:none}
.page-breadcrumbs__separator{flex:0 0 auto;color:var(--text-muted);opacity:.78;font-size:16px;line-height:1}
.page-breadcrumbs__ellipsis{flex:0 0 auto;border:0;background:none;padding:0;color:var(--text-muted);font:inherit;font-size:16px;line-height:1;cursor:pointer}
.page-breadcrumbs__ellipsis:hover{color:#1FA6A6}
.page-breadcrumbs__count{margin:0;color:var(--text-muted);font-size:12px;line-height:1.25}

.main-shell :where(h1,h2,h3,h4,p,span,strong,a,li,td,th,label,button){
  max-width:100%;
  overflow-wrap:break-word;
  word-break:normal;
}


.top-bar{
  background:var(--header-bg);
  border:var(--frame-border-width) solid var(--frame-border-color);
  border-radius:var(--frame-radius);
  padding:var(--space-3);
  box-shadow:var(--frame-shadow);
  position:relative;
  z-index:200;
}
[hidden]{display:none !important}

.header-inner{
  display:flex;
  justify-content:space-between;
  gap:var(--space-4);
  align-items:center;
  min-width:0;
}

.header-search{flex:1;min-width:0}
.search-form{
  position:relative;
  display:flex;
  align-items:center;
}
.search-form-icon{
  position:absolute;
  left:14px;
  top:50%;
  width:18px;
  height:18px;
  transform:translateY(-50%);
  color:var(--text-muted);
  pointer-events:none;
  z-index:1;
}
.search-form input{
  width:min(420px,100%);
  padding:14px 16px;
  padding-left:42px;
  border-radius:var(--radius-soft);
  border:var(--frame-border-width) solid var(--interactive-border);
  background:var(--interactive-bg);
  color:var(--text-main);
}
.search-dropdown{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  width:min(520px,100%);
  background:var(--card-bg);
  border:var(--frame-border-width) solid var(--frame-border-color);
  border-radius:var(--radius-soft);
  box-shadow:var(--frame-shadow);
  padding:8px;
  display:grid;
  gap:8px;
  z-index:2200;
}
.search-dropdown[hidden], .search-dropdown:empty{display:none !important}
.search-item{
  padding:12px 14px;
  border-radius:12px;
  background:var(--card-bg-soft);
  border:var(--frame-border-width) solid var(--frame-border-color);
  display:grid;
  gap:4px;
  min-width:0;
  overflow-wrap:anywhere;
}

.header-nav,.header-nav-primary,.header-nav-secondary{
  display:flex;
  gap:var(--space-2);
  align-items:center;
  min-width:0;
}
.header-nav{flex-wrap:wrap;justify-content:flex-end}
.header-user{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.header-user-chip{
  padding:10px 12px;
  border-radius:var(--radius-soft);
  border:var(--frame-border-width) solid var(--interactive-border);
  background:var(--header-link-bg);
  font-size:var(--font-xs);
  line-height:var(--line-tight);
  max-width:220px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--header-link-text);
}
.header-user-name{
  display:inline-block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.header-user-avatar{
  width:32px;
  height:32px;
  border-radius:50%;
  object-fit:cover;
  border:var(--frame-border-width) solid var(--frame-border-color);
  flex:0 0 auto;
}
.header-user-avatar-fallback{
  display:grid;
  place-items:center;
  font-size:var(--font-xs);
  font-weight:var(--font-weight-bold);
  background:var(--card-bg-soft);
  color:var(--text-muted);
}
.header-nav-primary a{
  display:inline-block;
  max-width:100%;
  padding:11px 14px;
  border-radius:var(--radius-soft);
  background:var(--header-link-bg);
  border:var(--frame-border-width) solid var(--interactive-border);
  color:var(--header-link-text);
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.header-nav-primary .header-nav-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  min-width:44px;
  padding:11px 0;
  font-size:18px;
  line-height:1;
  white-space:nowrap;
}

.site-footer{
  padding-top:var(--space-5);
  background:var(--footer-bg);
  border-radius:var(--radius-soft);
  position:relative;
  z-index:20;
}
.footer-inner{
  display:flex;
  justify-content:center;
  gap:var(--space-3);
  flex-wrap:wrap;
  padding-top:var(--space-3);
  border-top:1px solid var(--panel-border);
}
.footer-inner a{
  display:inline-block;
  max-width:100%;
  padding:10px 16px;
  border-radius:var(--radius-soft);
  background:var(--footer-link-bg);
  border:var(--frame-border-width) solid var(--interactive-border);
  color:var(--footer-link-text);
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.footer-social-link{
  width:68px;
  height:68px;
  padding:0 !important;
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
  display:grid !important;
  place-items:center;
}
.footer-social-link picture{
  width:100%;
  height:100%;
  display:block;
}
.footer-social-link img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.auth-card,
.content-card,
.nav-card,
.wide-block,
.top-image-block{
  background:var(--frame-bg);
  background-image:var(--block-bg-image);
  background-size:var(--block-bg-image-size);
  background-position:var(--block-bg-image-position);
  background-repeat:var(--block-bg-image-repeat);
  border:var(--frame-border-width) solid var(--frame-border-color);
  border-radius:var(--frame-radius);
  box-shadow:var(--frame-shadow);
}

.auth-card,.content-card{padding:var(--space-5)}

.nav-card,
.wide-block{
  display:grid;
  grid-template-columns:minmax(120px,150px) 1fr;
  gap:var(--layout-block-gap);
  padding:var(--space-4);
  min-height:132px;
  align-items:center;
  min-width:0;
  position:relative;
  background:var(--frame-bg);
  box-shadow:var(--elev-shadow-block);
  overflow:hidden;
}
.nav-card::after,
.wide-block::after{
  content:"";
  position:absolute;
  top:8px;
  right:8px;
  width:26px;
  height:14px;
  background-image:url('/assets/nav-arrow-top-custom.png');
  background-image:image-set(
    url('/assets/nav-arrow-top.avif') type('image/avif'),
    url('/assets/nav-arrow-top.webp') type('image/webp'),
    url('/assets/nav-arrow-top-custom.png') type('image/png')
  );
  background-size:contain;
  background-repeat:no-repeat;
  background-position:right top;
  pointer-events:none;
}
.nav-card::before,
.wide-block::before{
  content:none;
}
.wide-block{grid-template-columns:minmax(150px,190px) 1fr;min-height:146px}
.nav-card--text-only{
  grid-template-columns:1fr !important;
}

.card-media,.hero-media,.wide-media,.text-media{
  border-radius:var(--content-radius-soft);
  background:transparent;
  border:none;
  min-height:92px;
  display:grid;
  place-items:center;
  color:var(--media-placeholder-text);
  font-size:var(--font-xs);
  letter-spacing:.04em;
  text-transform:uppercase;
  font-weight:var(--font-weight-medium);
  text-align:center;
  padding:0;
  position:relative;
  overflow:hidden;
}

.card-media::before,
.hero-media::before,
.wide-media::before,
.text-media::before{
  content:none;
}

.media-image{
  width:100%;
  height:100%;
  min-height:inherit;
  object-fit:cover;
  border-radius:var(--content-radius-soft);
  border:none;
  background:transparent;
}

.hero-media{min-height:180px}
.wide-media{min-height:110px}
.text-media{min-height:84px}

.card-label{display:grid;gap:6px;min-width:0;max-width:100%;overflow:hidden}
.card-label strong,
.card-label h3{
  display:block;
  margin:0;
  color:var(--text-main);
  font-size:var(--font-lg);
  font-weight:var(--font-weight-semibold);
  line-height:var(--line-tight);
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.card-label span,
.card-label p{
  display:block;
  margin:0;
  color:var(--text-muted);
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  font-size:var(--font-md);
  font-weight:var(--font-weight-regular);
  line-height:var(--line-normal);
}

.button{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  border:var(--frame-border-width) solid var(--interactive-border);
  border-radius:10px;
  padding:9px 14px;
  background:var(--interactive-bg);
  color:var(--button-text);
  font-size:var(--font-sm);
  font-weight:var(--font-weight-medium);
  line-height:var(--line-tight);
  cursor:pointer;
  box-shadow:var(--elev-shadow-button);
}
.button:hover{background:var(--interactive-bg-strong)}
.button:focus-visible{outline:none;box-shadow:var(--content-focus-ring)}
.button-secondary{background:var(--card-bg-soft);color:var(--button-text)}
.button-danger{background:var(--danger-bg);color:var(--danger-text)}

.stack-form{display:grid;gap:12px}
.stack-form input,
.stack-form textarea,
.stack-form select{
  width:100%;
  padding:12px 14px;
  border-radius:12px;
  border:var(--frame-border-width) solid var(--interactive-border);
  background:var(--card-bg-soft);
  color:var(--text-main);
}
.stack-form input::placeholder,.stack-form textarea::placeholder{color:var(--text-muted)}
.stack-form input:focus,
.stack-form textarea:focus,
.stack-form select:focus{
  outline:none;
  border-color:var(--interactive-border);
  box-shadow:var(--content-focus-ring);
}
.stack-form .input-invalid{
  border-color:var(--danger-text);
  box-shadow:var(--content-focus-ring);
}
.stack-form textarea{min-height:120px;resize:vertical}

.media-frame{
  width:100%;
  aspect-ratio:16/9;
  border:none;
  border-radius:12px;
  background:var(--media-placeholder-bg);
  border:var(--frame-border-width) solid var(--media-placeholder-border);
}
.playlist-block{display:flex;justify-content:flex-start}
.video-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:var(--layout-block-gap);
  align-items:stretch;
}
.video-card{
  display:grid;
  grid-template-rows:auto auto 1fr;
  gap:10px;
  align-items:stretch;
  height:100%;
  padding:var(--space-4);
}
.video-card-title{
  min-height:2.2em;
  margin:0;
}
.video-card-description{
  margin:0;
  color:var(--text-muted);
  font-size:var(--font-sm);
  line-height:var(--line-normal);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.block-video-list{
  display:grid;
  gap:10px;
}
.block-video-card{
  display:grid;
  gap:8px;
  padding:10px;
  border:var(--frame-border-width) solid var(--frame-border-color);
  border-radius:10px;
  background:var(--card-bg-soft);
}
.block-video-inline{
  display:grid;
  gap:8px;
}
.block-video-head{
  display:grid;
  gap:4px;
}
.block-video-head strong{
  font-size:var(--font-sm);
  line-height:var(--line-tight);
}
.block-video-head span{
  font-size:var(--font-xs);
  color:var(--text-muted);
  line-height:var(--line-normal);
}
.block-video-preview{
  border-radius:10px;
}

.video-container{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  border-radius:12px;
  overflow:hidden;
  background:var(--media-placeholder-bg);
  border:var(--frame-border-width) solid var(--media-placeholder-border);
  box-shadow:0 8px 22px rgba(16, 57, 114, .08);
}
.video-iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
}
.video-missing-embed{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:12px;
  text-align:center;
  color:var(--text-muted);
  font-size:var(--font-sm);
  line-height:var(--line-normal);
  background:var(--card-bg-soft);
}
.video-fullscreen-button{
  position:absolute;
  top:8px;
  right:8px;
  z-index:3;
  width:32px;
  height:32px;
  border:var(--frame-border-width) solid rgba(255, 255, 255, .5);
  border-radius:8px;
  background:rgba(12, 24, 44, .72);
  color:#fff;
  font-size:18px;
  line-height:1;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.video-fullscreen-button:hover{
  background:rgba(16, 46, 88, .88);
}


.pdf-list,.link-list{display:grid;gap:12px}
.pdf-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}

.favorite-star{
  border:var(--frame-border-width) solid var(--interactive-border);
  background:var(--card-bg-soft);
  color:var(--text-muted);
  width:34px;
  height:34px;
  border-radius:10px;
  display:inline-grid;
  place-items:center;
  font-size:var(--font-md);
  line-height:1;
  cursor:pointer;
}
.favorite-star.is-active{
  background:var(--favorite-active-bg);
  border-color:var(--favorite-active-border);
  color:var(--favorite-active-text);
}
.favorite-star.is-busy{opacity:.65;pointer-events:none}

.favorite-item-row{align-items:stretch}
.favorite-main{flex:1;min-width:0}
.favorite-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end}

.favorite-note-form{display:grid;gap:8px;margin-top:10px}
.favorite-note-form label{
  font-size:var(--font-xs);
  font-weight:var(--font-weight-semibold);
  line-height:var(--line-normal);
  color:var(--text-muted);
}
.favorite-note-form textarea{
  width:100%;
  min-height:84px;
  padding:10px 12px;
  border-radius:10px;
  border:var(--frame-border-width) solid var(--interactive-border);
  background:var(--card-bg-soft);
  color:var(--text-main);
  resize:vertical;
}
.favorite-note-form textarea:focus{outline:none;box-shadow:var(--content-focus-ring)}

.pdf-item,
.link-row,
.text-block-card{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  padding:16px;
  border-radius:12px;
  background:var(--content-card-bg-soft);
  background-image:var(--block-bg-image);
  background-size:var(--block-bg-image-size);
  background-position:var(--block-bg-image-position);
  background-repeat:var(--block-bg-image-repeat);
  border:var(--frame-border-width) solid var(--frame-border-color);
  min-width:0;
  max-width:100%;
}

.text-block-card,
.universal-block-card{
  display:grid;
  grid-template-columns:minmax(150px,190px) 1fr;
  gap:var(--layout-block-gap);
  align-items:center;
}

.block-collapsible[data-block-collapsible="true"]{
  cursor:pointer;
  position:relative;
}
.block-collapsible[data-block-collapsible="true"]:focus-visible{
  outline:2px solid var(--accent-blue);
  outline-offset:2px;
}
.block-collapsible-title{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
}
.block-collapsible[data-block-collapsible="true"] .block-collapsible-title{
  padding-right:34px;
}
.block-collapsible[data-block-collapsible="true"] .block-collapsible-title::after{
  content:'';
  display:block;
  position:absolute;
  top:12px;
  right:12px;
  width:20px;
  height:20px;
  flex:0 0 20px;
  margin-left:0;
  background:url('/assets/block-toggle-arrow-tight.png') center/contain no-repeat;
  transform:rotate(-90deg);
  transition:transform .2s ease;
}
.block-collapsible.is-collapsed .block-collapsible-title::after{
  transform:rotate(90deg);
}
.block-collapsible.is-collapsed .block-collapsible-body{
  display:block;
  position:relative;
  overflow:hidden;
  max-height:clamp(210px, 28vh, 290px);
  -webkit-mask-image:linear-gradient(to bottom, #000 72%, rgba(0,0,0,.75) 86%, rgba(0,0,0,0) 100%);
  mask-image:linear-gradient(to bottom, #000 72%, rgba(0,0,0,.75) 86%, rgba(0,0,0,0) 100%);
}

.block-width-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:var(--layout-block-gap);
}
.block-width-full{grid-column:1 / -1}
.block-width-half{grid-column:span 6}
.block-width-third{grid-column:span 4}
.block-width-grid > :not(.block-width-full):not(.block-width-half):not(.block-width-third){
  grid-column:span 6;
}

.text-block-card .text-media,
.universal-block-card .card-media{
  width:100%;
  min-height:150px;
  height:150px;
  justify-self:start;
}

.text-block-card .media-image,
.universal-block-card .media-image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:left center;
  display:block;
}

.block-no-image{
  grid-template-columns:1fr !important;
}

.block-no-image .text-media,
.block-no-image .card-media{
  display:none;
}
.muted-note{
  color:var(--block-muted);
  font-size:var(--font-xs);
  line-height:var(--line-normal);
  font-weight:var(--font-weight-regular);
}

.link-row{
  display:grid;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.card-rich-text{
  display:grid;
  gap:8px;
}
.card-rich-text p{
  margin:0;
}
.card-rich-text ul,
.card-rich-text ol{
  margin:0;
  padding-left:20px;
}
.card-rich-text a{
  color:var(--accent-blue);
  text-decoration:underline;
}
.admin-field-checkbox > label{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:var(--font-weight-regular);
}
.doc-link-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
  padding:6px 12px;
}
.doc-link-row--preview{
  display:grid;
  grid-template-columns:60px minmax(0,1fr) auto;
  align-items:start;
  gap:12px;
  padding:10px 12px;
}
.doc-link-row--grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:
    "preview preview"
    "main actions";
  gap:8px;
  align-items:start;
  padding:10px 10px 8px;
  height:100%;
}
.doc-preview-frame{
  position:relative;
  width:60px;
  aspect-ratio:210 / 297;
  overflow:hidden;
  border:var(--frame-border-width) solid var(--frame-border-color);
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 18px rgba(15,30,60,.08);
}
.doc-preview-frame__iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:#fff;
  pointer-events:none;
}
.doc-preview-frame__badge{
  position:absolute;
  right:4px;
  bottom:4px;
  display:inline-flex;
  align-items:center;
  min-height:18px;
  padding:0 6px;
  border-radius:999px;
  background:rgba(17,24,39,.78);
  color:#fff;
  font-size:9px;
  font-weight:var(--font-weight-semibold);
  line-height:1;
}
.doc-link-main{
  flex:1 1 0;
  min-width:0;
  color:var(--text-main);
  text-decoration:none;
}
.doc-link-main--preview{
  display:grid;
  gap:6px;
  align-self:center;
}
.doc-link-row--grid .doc-preview-frame{
  grid-area:preview;
  width:min(100%, 118px);
  justify-self:center;
}
.doc-link-main--grid{
  grid-area:main;
  display:grid;
  gap:4px;
  align-self:start;
}
.doc-link-row--grid .doc-link-title strong{
  font-size:14px;
  line-height:1.22;
}
.doc-link-row--grid .doc-link-meta{
  justify-content:flex-start;
}
.doc-link-actions--grid{
  grid-area:actions;
  margin-left:0;
  justify-self:end;
  align-self:start;
}
.doc-link-title{
  color:inherit;
  text-decoration:none;
}
.doc-link-title:hover strong,
.doc-link-title:focus-visible strong{
  color:var(--accent-blue);
  text-decoration:underline;
}
.doc-link-row strong{
  display:block;
  min-width:0;
  font-size:14px;
  line-height:1.25;
}
.doc-link-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.doc-link-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
  margin-left:auto;
  flex-wrap:nowrap;
  justify-content:flex-end;
}
.doc-new-badge{
  flex:0 0 auto;
  border:var(--frame-border-width) solid var(--interactive-border);
  border-radius:999px;
  padding:3px 8px;
  font-size:10px;
  font-weight:var(--font-weight-semibold);
  line-height:1;
  color:#145a2e;
  background:#ddf2de;
  text-transform:lowercase;
}
.doc-origin-badge{
  flex:0 0 auto;
  border:var(--frame-border-width) solid var(--interactive-border);
  border-radius:999px;
  padding:3px 8px;
  font-size:10px;
  font-weight:var(--font-weight-semibold);
  line-height:1;
  color:#1d4c8f;
  background:#dfeeff;
}
.document-groups{
  display:grid;
  gap:16px;
  margin-top:8px;
}
.document-groups--grid{
  --document-grid-columns:3;
}
.document-groups-toolbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.document-sort-switch{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.document-sort-button.is-active{
  background:var(--interactive-bg-strong);
  color:#fff;
  border-color:var(--interactive-bg-strong);
}
.document-sort-button{
  white-space:nowrap;
}
.document-expand-all[hidden],
.document-group-toggle[hidden]{
  display:none !important;
}
.document-groups-note{
  margin:0;
  color:var(--text-muted);
  font-size:var(--font-sm);
  line-height:var(--line-normal);
}
.document-groups-list{
  display:grid;
  gap:16px;
}
.document-group-card{
  display:grid;
  gap:14px;
  padding:16px;
  border:var(--frame-border-width) solid var(--frame-border-color);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.80), rgba(255,255,255,.94));
  box-shadow:0 8px 20px rgba(15,30,60,.05);
}
.document-group-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.document-group-card__title{
  margin:0;
  font-size:var(--font-lg);
  line-height:var(--line-tight);
}
.document-group-card__title--empty{
  flex:1 1 auto;
}
.document-group-card__count{
  flex:0 0 auto;
  margin-top:2px;
  color:var(--text-muted);
  font-size:var(--font-sm);
  font-weight:var(--font-weight-semibold);
  white-space:nowrap;
}
.document-group-card__body{
  display:grid;
  gap:12px;
}
.document-group-list{
  margin-top:0;
}
.document-group-list--grid{
  grid-template-columns:repeat(var(--document-grid-columns, 3), minmax(0, 1fr));
  gap:14px;
  align-items:stretch;
}
.document-group-card--grid{
  align-self:start;
  gap:10px;
  padding:12px;
}
.document-group-card__footer{
  color:var(--text-muted);
  font-size:var(--font-sm);
  line-height:var(--line-normal);
}
.document-group-toggle{
  justify-self:flex-start;
}
.grouped-list{
  margin-top:8px;
}
.group-list-card{
  border:var(--frame-border-width) solid var(--frame-border-color);
  border-radius:10px;
  padding:8px 10px;
  background:var(--card-bg-soft);
}
.group-list-card summary{
  cursor:pointer;
  font-weight:var(--font-weight-semibold);
  color:var(--text-main);
}
.group-list-card .link-list{
  margin-top:8px;
}

@media (max-width: 640px){
  .doc-link-row--preview{
    grid-template-columns:52px minmax(0,1fr);
  }
  .document-group-list--grid{
    grid-template-columns:1fr;
  }
  .doc-link-row--grid{
    grid-template-columns:minmax(0,1fr) auto;
  }
  .doc-preview-frame{
    width:52px;
  }
  .doc-link-row--grid .doc-preview-frame{
    width:min(100%, 112px);
  }
  .doc-link-actions{
    grid-column:2;
    margin-left:0;
    justify-self:start;
  }
}

.page-container,
.page-body-panel,
.content-card,
.nav-card,
.wide-block,
.text-block-card,
.pdf-item,
.link-row,
.card-label{
  min-width:0;
  max-width:100%;
}

.pdf-viewers{display:grid;gap:16px;margin-top:18px}

.admin-workspace{
  width:100%;
  max-width:none;
  box-sizing:border-box;
  margin-left:0;
  padding:0;
  overflow-x:hidden;
}
.admin-dashboard{
  display:grid;
  gap:16px;
}
.admin-dashboard-nav{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.admin-dashboard-tab{
  border:var(--frame-border-width) solid var(--frame-border-color);
  border-radius:10px;
  background:var(--card-bg-soft);
  color:var(--text-main);
  font-size:var(--font-sm);
  font-weight:var(--font-weight-medium);
  padding:10px 14px;
  cursor:pointer;
}
.admin-dashboard-tab.is-active{
  background:var(--interactive-bg);
}
.admin-pane{
  display:grid;
  gap:12px;
}
.admin-pane-head{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:space-between;
  align-items:center;
}
.admin-actions-inline{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.admin-select-row{
  display:grid;
  grid-template-columns:minmax(220px,420px) auto;
  gap:10px;
  align-items:end;
}
.admin-empty-state{
  padding:18px;
  border-radius:12px;
  border:var(--frame-border-width) dashed var(--frame-border-color);
  background:var(--card-bg-soft);
  color:var(--text-muted);
}
.admin-tree{
  border:var(--frame-border-width) solid var(--frame-border-color);
  border-radius:12px;
  background:var(--content-card-bg-soft);
  padding:10px;
}
.admin-tree-root,
.admin-tree-root ul{
  list-style:none;
  margin:0;
  padding-left:14px;
  display:grid;
  gap:10px;
}
.admin-tree-line{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.admin-tree-title{
  font-weight:var(--font-weight-semibold);
}
.admin-tree-path{
  font-size:12px;
}
.admin-tree-badge{
  border-radius:999px;
  padding:4px 8px;
  font-size:11px;
  line-height:1;
}
.admin-tree-badge.is-visible{
  background:#ddf2de;
  color:#145a2e;
}
.admin-tree-badge.is-hidden{
  background:#f6e0e0;
  color:#7e1f1f;
}
.admin-tree-order{
  color:var(--text-muted);
  font-size:12px;
}
.admin-tree-actions{
  margin:8px 0 0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.admin-blocks-list{
  display:grid;
  gap:12px;
}
.admin-block-card{
  border:var(--frame-border-width) solid var(--frame-border-color);
  border-radius:12px;
  background:var(--content-card-bg-soft);
  padding:12px;
  display:grid;
  gap:10px;
}
.admin-block-card header{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.admin-image-preview{
  width:72px;
  max-width:72px;
  max-height:72px;
  object-fit:cover;
  border-radius:10px;
  display:block;
}
.admin-related-grid{
  display:grid;
  gap:10px;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.admin-simple-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
}
.admin-simple-list li{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:8px;
  border:var(--frame-border-width) solid var(--frame-border-color);
  border-radius:10px;
  padding:8px 10px;
  background:var(--card-bg-soft);
}
.admin-related-item{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
}
.admin-field-stack{
  display:grid;
  gap:8px;
  margin:8px 0 10px;
}

#docs-upload-progress{
  width:100%;
  height:10px;
}

#docs-upload-status[data-tone="success"]{color:#0f6a3d}
#docs-upload-status[data-tone="error"]{color:#a03232}
#docs-upload-status[data-tone="warning"]{color:#8a5b11}
.admin-table-clean{
  width:100%;
  border-collapse:collapse;
}
.admin-table-clean th,
.admin-table-clean td{
  border-bottom:1px solid var(--frame-border-color);
  text-align:left;
  padding:10px;
  vertical-align:top;
}
.admin-table-clean th{
  font-size:var(--font-xs);
  color:var(--text-muted);
}
.admin-stats-filter{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.admin-stats-cards{
  display:grid;
  gap:10px;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
}
.admin-stat-card{
  border:var(--frame-border-width) solid var(--frame-border-color);
  border-radius:12px;
  background:var(--card-bg-soft);
  padding:12px;
  display:grid;
  gap:6px;
}
.admin-stat-card strong{
  font-size:24px;
}
.admin-two-cols{
  display:grid;
  gap:10px;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.admin-modal{
  position:fixed;
  inset:0;
  z-index:4000;
  display:grid;
  place-items:start center;
  padding:24px 16px 16px;
  background:rgba(17,22,35,.5);
  overflow:auto;
}
.admin-modal-card{
  background:var(--frame-bg);
  border:var(--frame-border-width) solid var(--frame-border-color);
  border-radius:14px;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
  width:min(760px,100%);
  max-height:calc(100dvh - 32px);
  overflow:hidden;
}
.admin-modal-body{
  display:grid;
  gap:10px;
  min-height:0;
  overflow:auto;
}
.admin-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:auto;
  padding-top:8px;
  position:sticky;
  bottom:0;
  background:var(--frame-bg);
  z-index:1;
}
.admin-grid{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-bottom:18px;
}
.admin-table{display:grid;gap:14px}
.admin-row{
  display:grid;
  gap:10px;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  padding:14px;
  border-radius:12px;
  background:var(--content-card-bg-soft);
  border:var(--frame-border-width) solid var(--frame-border-color);
  min-width:0;
  align-items:start;
}
.admin-field{display:grid;gap:6px;min-width:0}
.admin-field-label{
  font-size:var(--font-xs);
  font-weight:var(--font-weight-semibold);
  color:var(--text-muted);
  line-height:var(--line-normal);
}
.admin-help{
  margin:0 0 12px;
  color:var(--text-muted);
  font-size:var(--font-xs);
  line-height:var(--line-relaxed);
}
.admin-row input[type="file"]{
  width:100%;
  max-width:100%;
  overflow:hidden;
}
.admin-row textarea,
.admin-row input,
.admin-row select{
  max-width:100%;
}
.admin-row .text-link{
  display:inline-flex;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.admin-row > .button{
  grid-column:1 / -1;
  width:100%;
}

.admin-section-switcher{display:grid;gap:12px}
.admin-tabs{display:flex;flex-wrap:wrap;gap:8px}
.admin-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:12px;
  border:var(--frame-border-width) solid var(--frame-border-color);
  background:var(--card-bg-soft);
  color:var(--text-main);
  font-size:var(--font-sm);
  font-weight:var(--font-weight-medium);
  line-height:var(--line-tight);
}
.admin-tab.is-active{
  background:var(--interactive-bg);
  border-color:var(--interactive-border);
  color:var(--accent-blue);
}

.admin-row-pdf{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.admin-row-text{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.admin-row-users{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.admin-row textarea{min-height:120px}
.admin-rich-editor{
  display:grid;
  gap:8px;
}
.admin-rich-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.admin-rich-toolbar .button{
  min-width:38px;
  padding:6px 10px;
}
.admin-rich-surface{
  min-height:150px;
  border:var(--frame-border-width) solid var(--frame-border-color);
  border-radius:10px;
  padding:10px;
  background:var(--frame-bg);
  overflow:auto;
  line-height:var(--line-relaxed);
}
.admin-rich-surface:focus{
  outline:none;
  border-color:var(--interactive-border);
  box-shadow:0 0 0 2px rgba(99,130,222,.12);
}
.admin-rich-surface p{margin:0 0 8px}
.admin-rich-surface p:last-child{margin-bottom:0}
.admin-structure-stickybar{
  position:sticky;
  top:8px;
  z-index:40;
  background:var(--card-bg);
  border:var(--frame-border-width) solid var(--frame-border-color);
  border-radius:12px;
  padding:8px;
  margin-bottom:10px;
}
.admin-structure-toolbar,
.admin-structure-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.admin-structure-toolbar{
  margin-bottom:8px;
}
.admin-structure-toolbar input,
.admin-structure-toolbar select{
  min-width:160px;
}
.admin-structure-import{
  display:grid;
  gap:8px;
  margin-top:8px;
}
.admin-structure-unsaved{
  margin:8px 0 10px;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid #c98e00;
  background:#fff4d6;
  color:#7a5600;
  font-weight:600;
}
.admin-structure-tree,
.admin-structure-bulk-editor,
.admin-structure-issues,
.admin-structure-history,
.admin-sitemap-readonly{
  border:var(--frame-border-width) solid var(--frame-border-color);
  background:var(--content-card-bg-soft);
  border-radius:12px;
  padding:10px;
  overflow:visible;
  min-width:0;
}
.admin-structure-tree{max-height:44vh;overflow-y:auto;overflow-x:hidden}
.admin-structure-bulk-editor{overflow:visible}
.structure-tree-root,
.structure-tree-root ul{
  list-style:none;
  margin:0;
  padding-left:14px;
  display:grid;
  gap:8px;
}
.structure-tree-item{
  display:grid;
  gap:3px;
  padding:8px 10px;
  border-radius:10px;
  border:1px solid var(--frame-border-color);
  background:var(--card-bg-soft);
}
.structure-tree-item.is-muted{opacity:.7}
.structure-tree-item.is-issue{border-color:#d75e5e}
.structure-tree-head{
  display:flex;
  align-items:center;
  gap:8px;
}
.structure-tree-icon{
  width:18px;
  flex:0 0 auto;
}
.structure-tree-title{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.structure-tree-route{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;
  font-size:12px;
  color:var(--text-muted);
  overflow-wrap:anywhere;
  word-break:break-word;
}
.structure-tree-meta{
  font-size:12px;
  color:var(--text-muted);
}
.structure-open-link{
  margin-left:auto;
  font-size:12px;
}
.structure-node.is-selected > details > .structure-tree-item{
  box-shadow:0 0 0 2px rgba(58,123,255,.35);
}
.structure-node details > summary{
  cursor:pointer;
}
.admin-structure-panels{
  display:grid;
  gap:12px;
  grid-template-columns:1fr;
  margin-top:12px;
}
.admin-table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:visible;
  border:var(--frame-border-width) solid var(--frame-border-color);
  border-radius:12px;
  -webkit-overflow-scrolling:touch;
}
.admin-structure-table{
  width:100%;
  min-width:0;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
  background:var(--content-card-bg-soft);
}
.admin-structure-table th,
.admin-structure-table td{
  border-bottom:1px solid var(--frame-border-color);
  padding:8px 10px;
  text-align:left;
  vertical-align:top;
  white-space:nowrap;
  min-width:0;
  min-inline-size:0;
  overflow:hidden;
  text-overflow:ellipsis;
  background-clip:padding-box;
}
.admin-structure-table thead th{
  position:-webkit-sticky;
  position:sticky;
  top:0;
  z-index:3;
  background:var(--card-bg-soft);
}
.admin-structure-table .sticky-col{
  position:-webkit-sticky;
  position:sticky;
  left:0;
  z-index:2;
  background:var(--content-card-bg-soft);
}
.admin-structure-table thead .sticky-col{
  z-index:4;
  background:var(--card-bg-soft);
}
.admin-structure-table input,
.admin-structure-table select,
.admin-structure-table textarea{
  width:100%;
  max-width:100%;
  min-width:0;
  min-inline-size:0;
  box-sizing:border-box;
  font-size:14px;
  line-height:1.25;
  padding:6px 8px;
}
.admin-structure-table textarea{
  resize:vertical;
  min-height:62px;
  width:100%;
}
.admin-structure-table .col-name{overflow-wrap:anywhere;word-break:break-word}
.admin-structure-table .col-path{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;
}
.admin-structure-table--pages th:nth-child(1), .admin-structure-table--pages td:nth-child(1){width:24%}
.admin-structure-table--pages th:nth-child(2), .admin-structure-table--pages td:nth-child(2){width:28%}
.admin-structure-table--pages th:nth-child(3), .admin-structure-table--pages td:nth-child(3){width:22%}
.admin-structure-table--pages th:nth-child(4), .admin-structure-table--pages td:nth-child(4){width:10%}
.admin-structure-table--pages th:nth-child(5), .admin-structure-table--pages td:nth-child(5){width:7%}
.admin-structure-table--pages th:nth-child(6), .admin-structure-table--pages td:nth-child(6){width:9%}

.admin-structure-table--blocks th:nth-child(1), .admin-structure-table--blocks td:nth-child(1){width:35%}
.admin-structure-table--blocks th:nth-child(2), .admin-structure-table--blocks td:nth-child(2){width:18%}
.admin-structure-table--blocks th:nth-child(3), .admin-structure-table--blocks td:nth-child(3){width:25%}
.admin-structure-table--blocks th:nth-child(4), .admin-structure-table--blocks td:nth-child(4){width:8%}
.admin-structure-table--blocks th:nth-child(5), .admin-structure-table--blocks td:nth-child(5){width:14%}

.order-input{
  width:64px;
  max-width:64px;
  min-width:60px;
  text-align:center;
}
.admin-section[data-section="structure"].is-compact .admin-structure-table th,
.admin-section[data-section="structure"].is-compact .admin-structure-table td{
  padding:6px 7px;
  font-size:14px;
}
.admin-section[data-section="structure"].is-compact .admin-structure-table input,
.admin-section[data-section="structure"].is-compact .admin-structure-table select,
.admin-section[data-section="structure"].is-compact .admin-structure-table textarea{
  font-size:14px;
  min-height:30px;
  height:30px;
  padding:5px 6px;
}
.admin-section[data-section="structure"].is-compact .structure-tree-item{
  padding:6px 8px;
}
.admin-section[data-section="structure"].is-compact .structure-tree-route,
.admin-section[data-section="structure"].is-compact .structure-tree-meta{
  font-size:11px;
}
.admin-structure-history-item{
  display:grid;
  gap:4px;
  border-bottom:1px solid var(--frame-border-color);
  padding:8px 2px;
}

.page-container{display:grid;gap:var(--space-4)}
.page-body-panel{display:grid;gap:var(--space-4)}
.profile-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}
.icon-edit-button{
  width:36px;
  height:36px;
  border-radius:10px;
  border:var(--frame-border-width) solid var(--interactive-border);
  background:var(--card-bg-soft);
  color:var(--text-main);
  cursor:pointer;
  font-size:var(--font-md);
  line-height:1;
  display:grid;
  place-items:center;
}
.profile-view-mode{display:grid;gap:14px}
.profile-main-layout{
  display:grid;
  grid-template-columns:188px minmax(0,1fr);
  gap:14px;
  align-items:start;
}
.profile-left-column{
  display:grid;
  gap:10px;
  justify-items:start;
  padding-left:12px;
}
.profile-right-column{
  display:grid;
  gap:12px;
  justify-items:end;
}
.profile-readonly-grid{
  display:grid;
  gap:8px;
  width:min(100%,680px);
  max-width:760px;
  margin-left:auto;
}
.profile-row{
  display:grid;
  grid-template-columns:104px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border-radius:10px;
  border:var(--frame-border-width) solid var(--frame-border-color);
  background:var(--content-card-bg-soft);
}
.profile-row-field{cursor:default}
.profile-switch-row{
  display:grid;
  grid-template-columns:104px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border-radius:10px;
  border:var(--frame-border-width) solid var(--frame-border-color);
  background:var(--content-card-bg-soft);
}
.profile-switch-row>span{
  color:var(--text-muted);
  font-size:var(--font-xs);
  font-weight:var(--font-weight-semibold);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.profile-account-type-switch{
  width:100%;
}
.profile-specialist-fields{
  width:100%;
}
.profile-specialist-fields label{
  display:grid;
  gap:6px;
}
.profile-specialist-fields label>span{
  color:var(--muted);
  font-weight:700;
}
.profile-row span{
  color:var(--text-muted);
  font-size:var(--font-xs);
  font-weight:var(--font-weight-semibold);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.profile-row strong{
  color:var(--text-main);
  font-size:var(--font-sm);
  font-weight:var(--font-weight-semibold);
  text-align:right;
}
.profile-inline-input{
  width:100%;
  border:none;
  background:transparent;
  color:var(--text-main);
  font-size:var(--font-sm);
  font-weight:var(--font-weight-semibold);
  text-align:left;
  padding:0;
  min-height:30px;
}
.profile-inline-input[readonly]{
  pointer-events:none;
}
.profile-inline-select{
  text-align-last:left;
}
.profile-inline-email{
  font-weight:var(--font-weight-bold);
}
.profile-photo-panel{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.profile-photo-preview,
.profile-photo-placeholder{
  width:84px;
  height:84px;
  border-radius:50%;
  border:var(--frame-border-width) solid var(--frame-border-color);
  flex:0 0 auto;
}
.profile-photo-preview{
  object-fit:cover;
  background:var(--card-bg-soft);
}
.profile-photo-placeholder{
  display:grid;
  place-items:center;
  font-weight:var(--font-weight-bold);
  font-size:var(--font-xxl);
  color:var(--text-muted);
  background:var(--content-card-bg-soft);
}
.profile-photo-form{flex:1;min-width:220px}
.profile-photo-preview-lg{
  width:146px;
  height:146px;
}
.profile-photo-edit-button{
  width:32px;
  height:32px;
}
.profile-edit-form{max-width:none}
.profile-actions-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.profile-secondary-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.profile-right-column .profile-secondary-actions{
  justify-content:flex-end;
}
.profile-password-inline-form{max-width:560px}
.top-image-block{padding:var(--space-3);background:var(--content-card-bg-soft)}

.favorite-toast{
  position:fixed;
  right:20px;
  bottom:20px;
  background:var(--text-main);
  color:var(--toast-text);
  border-radius:12px;
  padding:12px 14px;
  opacity:0;
  pointer-events:none;
  z-index:1200;
}
.favorite-toast.is-visible{opacity:1}


.prose-card h2,.content-card h2,.content-card h3,.auth-card h1{margin-top:0}
.prose-card h2,.content-card h2{font-size:clamp(20px,2.2vw,28px);line-height:1.3;letter-spacing:-.01em;color:var(--text-primary)}
.content-card h3{font-size:clamp(18px,2vw,22px);line-height:1.35;color:var(--text-primary)}
.nav-card strong,.wide-block strong{
  font-size:clamp(20px,1.9vw,26px);
  line-height:1.15;
  color:var(--text-primary);
}
.content-card p,.content-card li{color:var(--text-secondary);line-height:1.65}
.prose a,
.card-label .prose a{
  color:#2f6bff;
  text-decoration:underline;
  text-underline-offset:2px;
}
.card-rich-text{
  margin:0;
}
.card-rich-text a{
  color:#2f6bff;
  text-decoration:underline;
  text-underline-offset:2px;
}
.main-layout{display:grid;gap:var(--layout-block-gap)}
.main-row-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--layout-block-gap)}
.main-row-two-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--layout-block-gap)}
.main-row-patient-video{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(0,1fr);
  gap:var(--layout-block-gap);
}
.main-row-sites{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--layout-block-gap);
}
.main-layout .nav-card,.main-layout .wide-block{height:100%}
.main-layout .main-video-block{
  grid-template-columns:1fr;
  align-items:start;
  width:100%;
  justify-self:stretch;
  padding:14px;
}
.main-layout .main-sites-block{
  width:100%;
  justify-self:stretch;
}
.main-layout .main-video-block .wide-media{
  width:min(100%,460px);
  height:102px;
  min-height:102px;
  justify-self:center;
}
.main-layout .main-video-block .media-image{
  object-fit:cover !important;
  object-position:center;
}
.main-layout .main-video-block .card-label{
  justify-items:center;
  text-align:center;
}
.main-layout .main-patient-block{
  grid-template-columns:minmax(0,1fr) minmax(340px,42%);
  align-items:stretch;
  width:100%;
  justify-self:stretch;
  min-height:240px;
  height:240px;
  overflow:hidden;
}
.main-layout a.wide-block[href="/patient"],
.main-layout a.wide-block[href="/patients"]{
  grid-template-columns:minmax(0,1fr) minmax(340px,42%) !important;
  align-items:stretch;
  width:100%;
  justify-self:stretch;
  min-height:240px;
  height:240px;
  overflow:hidden;
}
.main-layout .main-patient-block .wide-media{
  width:100%;
  max-width:none;
  flex:0 0 auto;
  min-height:0;
  height:100%;
  justify-self:start;
  align-self:stretch;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  overflow:hidden;
  background:transparent;
  border:none;
}
.main-layout a.wide-block[href="/patient"] .wide-media,
.main-layout a.wide-block[href="/patients"] .wide-media{
  width:100% !important;
  max-width:none !important;
  flex:0 0 auto;
  min-height:0;
  height:100%;
  justify-self:start;
  align-self:stretch;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  overflow:hidden;
  background:transparent;
  border:none;
}
.main-layout .main-patient-block .media-image{
  width:100%;
  height:100%;
  min-width:0;
  max-width:100%;
  max-height:100%;
  object-fit:contain !important;
  object-position:left bottom;
  border-radius:0;
}
.main-layout a.wide-block[href="/patient"] .media-image,
.main-layout a.wide-block[href="/patients"] .media-image{
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:left bottom !important;
  display:block;
  border-radius:0 !important;
}
.patient-block{
  overflow:hidden;
  position:relative;
}
.patient-block .wide-media{
  height:100%;
  min-height:0;
}
.patient-block img{
  width:100%;
  height:100%;
  object-fit:cover !important;
  display:block;
}
.main-layout .main-patient-block .card-label{
  justify-items:start;
  align-content:center;
  text-align:left;
  width:100%;
  min-width:0;
  position:relative;
  z-index:1;
}
.main-layout a.wide-block[href="/patient"] .card-label,
.main-layout a.wide-block[href="/patients"] .card-label{
  justify-items:start;
  align-content:center;
  text-align:left;
  width:100%;
  min-width:0;
  position:relative;
  z-index:1;
}
.main-row-three .nav-card strong{
  font-size:clamp(16px,1.35vw,22px);
  line-height:1.12;
}
.main-row-three .nav-card .card-label strong{
  font-size:clamp(18px,1.55vw,24px);
  line-height:1.1;
}
.main-row-three .nav-card .card-label span{
  font-size:clamp(14px,1.05vw,18px);
  line-height:1.2;
}
.main-row-three .nav-card{
  grid-template-columns:150px minmax(0,1fr);
}
.main-row-three .nav-card .card-media{
  width:150px;
  height:150px;
  min-height:150px;
  justify-self:start;
}
.main-row-two-two .nav-card{
  grid-template-columns:150px minmax(0,1fr);
}
.main-row-two-two .nav-card .card-media{
  width:150px;
  height:150px;
  min-height:150px;
  justify-self:start;
}
.main-row-two-two .nav-card .media-image{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover !important;
  object-position:center;
}
.main-row-three .nav-card .media-image{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover !important;
  object-position:center;
}
.main-titleless{display:grid;gap:var(--layout-block-gap)}
.simple-list{display:grid;gap:var(--layout-block-gap)}
.simple-list .nav-card{min-height:152px}
.patient-layout{
  display:grid;
  gap:var(--layout-block-gap);
}
.patient-hero h1{
  margin:0;
}
.patient-hero-subtitle{
  margin:10px 0 0;
  color:var(--text-primary);
  font-size:clamp(18px,1.8vw,24px);
  line-height:1.35;
}
.patient-hero-prose{
  margin-top:12px;
}
.patient-highlights-grid{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.patient-mini-card{
  border:1px solid var(--content-card-border);
  border-radius:14px;
  padding:14px;
  background:var(--card-bg-soft);
}
.patient-mini-card h3{
  margin:0 0 8px;
  font-size:clamp(17px,1.5vw,21px);
}
.patient-mini-card p{
  margin:0;
  word-break:normal;
  overflow-wrap:anywhere;
}
.patient-section-note{
  margin:8px 0 0;
}
.patient-timeline{
  margin:14px 0 0;
  padding-left:22px;
  display:grid;
  gap:10px;
}
.patient-timeline-item h3{
  margin:0 0 6px;
  font-size:clamp(18px,1.55vw,22px);
}
.patient-timeline-item p{
  margin:0;
}
.patient-grid-two{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--layout-block-gap);
}
.patient-term-list,
.patient-role-list{
  margin-top:14px;
  display:grid;
  gap:10px;
}
.patient-term-card,
.patient-role-card{
  border:1px solid var(--content-card-border);
  border-radius:12px;
  background:var(--card-bg-soft);
  padding:12px 14px;
}
.patient-term-card h3,
.patient-role-card h3{
  margin:0 0 6px;
  font-size:clamp(17px,1.45vw,20px);
}
.patient-term-card p,
.patient-role-card p{
  margin:0;
}
.patient-faq-list{
  margin-top:14px;
  display:grid;
  gap:10px;
}
.patient-faq-item{
  border:1px solid var(--content-card-border);
  border-radius:12px;
  background:var(--card-bg-soft);
  padding:0;
  overflow:hidden;
}
.patient-faq-item summary{
  cursor:pointer;
  list-style:none;
  padding:12px 14px;
  font-weight:700;
  color:var(--text-primary);
}
.patient-faq-item summary::-webkit-details-marker{
  display:none;
}
.patient-faq-item p{
  margin:0;
  padding:0 14px 14px;
}
.patient-faq-link{
  margin-top:14px;
}
.patient-nav-grid{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.patient-nav-card{
  border:1px solid var(--content-card-border);
  border-radius:14px;
  background:var(--card-bg-soft);
  padding:14px;
  display:grid;
  gap:10px;
  align-content:start;
}
.patient-nav-card h3{
  margin:0;
  font-size:clamp(18px,1.65vw,23px);
}
.patient-nav-card p{
  margin:0;
}
.patient-nav-card .button{
  justify-self:start;
}
.content-card ul,.content-card ol{padding-left:20px;margin:0}
.content-card table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  border:1px solid var(--content-card-border);
  border-radius:12px;
  overflow:hidden;
}
.content-card th,.content-card td{
  padding:10px 12px;
  border-bottom:1px solid var(--border-soft);
  text-align:left;
  vertical-align:top;
}
.content-card th{background:var(--light-blue);color:var(--text-primary);font-weight:600}
.content-card tr:last-child td{border-bottom:none}


.dnevnik-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.dnevnik-toolbar label{
  display:grid;
  gap:6px;
  min-width:220px;
}
.dnevnik-toolbar select{
  width:100%;
  max-width:420px;
  padding:10px 12px;
  border-radius:12px;
  border:var(--frame-border-width) solid var(--interactive-border);
  background:var(--card-bg-soft);
  color:var(--text-main);
}
.dnevnik-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.dnevnik-status-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.dnevnik-table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border:var(--frame-border-width) solid var(--content-card-border);
  border-radius:12px;
}
.dnevnik-table{
  width:100%;
  min-width:940px;
  border-collapse:collapse;
  background:var(--card-bg);
}
.dnevnik-table th,
.dnevnik-table td{
  border-bottom:1px solid var(--content-card-border);
  border-right:1px solid var(--content-card-border);
  padding:8px;
  vertical-align:top;
}
.dnevnik-table th:last-child,
.dnevnik-table td:last-child{
  border-right:none;
}
.dnevnik-table thead th{
  position:sticky;
  top:0;
  background:var(--card-bg-soft);
  z-index:1;
  font-size:13px;
  color:var(--text-main);
}
.dnevnik-table tbody tr:last-child td{
  border-bottom:none;
}
.dnevnik-table input,
.dnevnik-table textarea{
  width:100%;
  border:var(--frame-border-width) solid var(--interactive-border);
  border-radius:10px;
  background:var(--card-bg-soft);
  color:var(--text-main);
  padding:8px 10px;
  resize:vertical;
}
.dnevnik-table textarea{
  min-height:56px;
}
.dnevnik-table input:disabled,
.dnevnik-table textarea:disabled{
  opacity:0.78;
  cursor:not-allowed;
}
.auth-register-form label{
  display:grid;
  gap:6px;
}
.auth-register-form label>span,
.specialist-fields legend{
  color:var(--muted);
  font-weight:700;
}
.specialist-fields{
  margin:0;
  padding:16px;
  border:1px solid var(--line);
  border-radius:14px;
  display:grid;
  gap:14px;
}
.specialist-fields[hidden]{display:none}
.registration-photo{
  justify-self:center;
  cursor:pointer;
}
.registration-photo input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.registration-photo-preview{
  width:112px;
  aspect-ratio:1;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:2px dashed var(--interactive-border);
  border-radius:50%;
  background:var(--card-bg-soft);
  color:var(--button-text);
}
.registration-photo-preview img{width:100%;height:100%;object-fit:cover}
.registration-photo-placeholder{display:grid;place-items:center;gap:2px;font-size:30px}
.registration-photo-placeholder small{font-size:12px;font-weight:700}
.account-type-switch{
  border:0;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.account-type-switch label{display:block;cursor:pointer}
.account-type-switch input{position:absolute;width:1px;height:1px;opacity:0}
.account-type-switch span{
  min-height:48px;
  display:grid;
  place-items:center;
  padding:10px;
  border:var(--frame-border-width) solid var(--interactive-border);
  border-radius:12px;
  background:var(--card-bg-soft);
  color:var(--button-text);
  text-align:center;
}
.account-type-switch input:checked+span{
  background:var(--interactive-bg-strong);
  box-shadow:var(--content-focus-ring);
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Inventory */
.lk-inventory-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.lk-inventory-actions{display:flex;gap:8px;flex-wrap:wrap}
.lk-inventory-entry{display:grid;gap:10px;padding:22px;border:1px solid var(--content-card-border);border-radius:18px;background:rgba(255,255,255,.78);transition:transform .18s ease,box-shadow .18s ease}
.lk-inventory-entry strong{font-size:28px;line-height:1.1}
.lk-inventory-entry span{color:var(--text-muted);max-width:720px}
.lk-inventory-entry:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,42,68,.14)}
.inventory-page{display:grid;gap:20px}.inventory-tabs{display:flex;gap:8px;flex-wrap:wrap}.inventory-tabs button{border:1px solid var(--border-soft,#d8e2ec);background:#fff;padding:11px 16px;border-radius:12px;cursor:pointer}.inventory-tabs button.is-active{background:var(--interactive-bg,#0f6ea8);color:#fff}.inventory-filters{display:grid;grid-template-columns:2fr 1fr 1fr 110px auto;gap:10px}.inventory-filters input,.inventory-filters select,.inventory-card input,.inventory-card select{width:100%;box-sizing:border-box;border:1px solid #ccd8e3;border-radius:10px;padding:11px;background:#fff}.inventory-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(520px,2fr);gap:18px}.inventory-card{background:rgba(255,255,255,.92);border:1px solid var(--border-soft,#d8e2ec);border-radius:18px;padding:20px}.inventory-card h2{margin-top:0}.inventory-card label{display:grid;gap:6px;margin:0 0 14px}.inventory-check{display:flex!important;align-items:center}.inventory-check input{width:auto}.inventory-table-wrap{overflow:auto}.inventory-card table{width:100%;border-collapse:collapse}.inventory-card th,.inventory-card td{text-align:left;padding:10px;border-bottom:1px solid #e5edf3;white-space:nowrap}.inventory-badge{background:#e7f2fa;padding:4px 8px;border-radius:999px}.inventory-item,.inventory-location{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #e5edf3}.inventory-item img,.inventory-location-photo{width:64px;height:64px;object-fit:cover;border-radius:10px;flex:0 0 64px}.inventory-item div{display:grid;gap:4px;flex:1}.inventory-item small,.inventory-note{color:#647586}.inventory-location input{flex:1}.inventory-location-card{align-items:flex-start}.inventory-location-fields,.inventory-item-fields{display:grid;gap:8px;flex:1}.inventory-item-editor{display:grid;grid-template-columns:64px minmax(0,1fr) auto auto;align-items:flex-start}.inventory-item-editor img{margin-top:4px}.inventory-link{border:0;background:none;color:#176f9c;cursor:pointer}.inventory-link.danger,.inventory-negative{color:#b33a3a}.inventory-alert{padding:12px 16px;border-radius:12px}.inventory-alert.success{background:#e5f6ed;color:#17633b}.inventory-alert.error{background:#fdeaea;color:#8f2828}.inventory-empty{color:#667784}
.inventory-reminder-form{display:grid;gap:10px;margin-top:14px}
.inventory-reminder-form label{margin:0}
.inventory-reminder-form textarea{width:100%;box-sizing:border-box;resize:vertical;border:1px solid #ccd8e3;border-radius:10px;padding:11px;background:#fff;color:var(--text-main);font:inherit}
.inventory-reminder-form .button{justify-self:start}
.inventory-reminder-comments{display:grid;gap:10px;margin-top:16px}
.inventory-reminder-comment{display:grid;gap:8px;padding:12px;border:1px solid #dce6ef;border-radius:12px;background:rgba(255,255,255,.72)}
.inventory-reminder-comment p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.inventory-reminder-comment footer{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#647586;font-size:12px}
.inventory-reminder-comment footer form{margin:0}
.inventory-reminder-comment footer .inventory-link{padding:4px 0}
.inventory-overview-layout{display:grid;grid-template-columns:minmax(320px,1fr) minmax(420px,1.2fr);gap:18px;align-items:start}
.inventory-column{display:grid;gap:18px}
.inventory-search-card-wide{gap:18px}
.inventory-global-search{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:12px;align-items:end}
.inventory-search-results{display:grid;gap:12px}
.inventory-search-results h2{margin:0}
.inventory-search-note{color:#5b6b8c;font-size:14px;white-space:normal}
.inventory-warehouse-list{display:grid;gap:12px}
.inventory-warehouse-tile{display:grid;gap:6px;padding:16px 18px;border:1px solid var(--content-card-border);border-radius:16px;background:rgba(255,255,255,.82);transition:transform .18s ease,box-shadow .18s ease}
.inventory-warehouse-tile strong{font-size:20px}
.inventory-warehouse-tile span{color:var(--text-muted)}
.inventory-warehouse-tile:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(15,42,68,.12)}
.inventory-inline-create{display:grid;gap:10px}
.inventory-inline-create summary{list-style:none}
.inventory-inline-create summary::-webkit-details-marker{display:none}
.inventory-inline-create-form{display:grid;gap:10px;padding:14px;border:1px solid var(--content-card-border);border-radius:14px;background:rgba(255,255,255,.82);margin-top:10px}
.inventory-inline-create-form label{margin:0}
.inventory-location-editor-form{grid-template-columns:88px minmax(0,1fr);align-items:start;gap:14px}
.inventory-location-editor-preview{display:grid;justify-items:start}
.inventory-location-photo-picker{display:grid;gap:6px;justify-items:start;cursor:pointer;align-content:start}
.inventory-location-photo-picker:hover .inventory-location-photo{border-color:#8bb7ff;box-shadow:0 0 0 2px rgba(58,123,255,.12)}
.inventory-location-photo--empty{display:grid;place-items:center;background:rgba(220,234,255,.32);color:var(--text-muted);font-size:12px;text-align:center;padding:8px;white-space:normal;line-height:1.15}
.inventory-location-editor-fields{display:grid;gap:10px}
.inventory-location-description{margin:12px 0 0;white-space:pre-line}
.inventory-location-list{display:flex;flex-wrap:wrap;gap:10px}
.inventory-location-link{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border:1px solid var(--content-card-border);border-radius:12px;background:rgba(255,255,255,.78);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;font-size:14px;line-height:1.2;min-height:36px}
.inventory-location-link:hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(15,42,68,.08)}
.inventory-location-link.is-active{border-color:#8bb7ff;box-shadow:0 0 0 2px rgba(58,123,255,.16)}
.fixation-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}.fixation-filters .is-active{background:var(--interactive-bg-strong)}
.fixation-toast{margin:0 0 16px;position:sticky;top:12px;z-index:8;box-shadow:0 16px 30px rgba(0,0,0,.14)}
.fixation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.fixation-card{color:inherit;text-decoration:none;overflow:hidden;display:flex;flex-direction:column;gap:0;padding:0;min-width:0;height:auto;align-self:start;align-items:stretch;background:var(--content-card-bg-soft);border:1px solid var(--content-card-border);border-radius:var(--content-radius);box-shadow:none}
.fixation-card-media{width:100%;aspect-ratio:4/3;max-height:180px;overflow:hidden;border-radius:0;background:transparent;flex:0 0 auto;display:block}
.fixation-card-media .fixation-card-image{width:100%;height:100%;max-height:180px;object-fit:contain;object-position:center;display:block;border-radius:0;background:var(--content-card-bg-soft)}
.fixation-card .card-label{display:grid;gap:6px;padding:12px}
.fixation-card h2{font-size:1rem;line-height:1.2;margin:0}
.fixation-card img{max-width:100%}
.fixation-manufacturer{margin:0;color:var(--muted);font-size:.85rem;line-height:1.2}
.fixation-tags{display:flex;flex-wrap:wrap;gap:7px}
.fixation-tags span,.fixation-tags button{border:1px solid var(--interactive-border);border-radius:999px;padding:4px 8px;background:var(--card-bg-soft);color:inherit;font:inherit;font-size:.72rem;line-height:1.1}.fixation-tags button{cursor:pointer}
.fixation-details{margin-top:24px}.fixation-detail[hidden]{display:none}.fixation-back{display:inline-block;margin-bottom:18px}.fixation-detail-head{display:grid;grid-template-columns:minmax(240px,40%) 1fr;gap:24px;align-items:start}.fixation-detail-head .media-image{width:100%;max-height:420px;object-fit:contain}.fixation-application{margin-top:28px}.fixation-add-form{display:grid;gap:8px;justify-items:start;margin-top:8px}.fixation-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.fixation-photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.fixation-detail-photo .media-image{width:100%;max-height:380px;object-fit:contain}
.fixation-photo-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.fixation-photo-thumb{width:72px;height:72px;display:block;border-radius:12px;overflow:hidden;border:1px solid var(--content-card-border);background:var(--content-card-bg-soft)}
.fixation-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.fixing-hotspot-module{margin:24px 0 12px}.fixing-hotspot-stage.is-open .fixing-hotspot-image{transform:scale(.97);opacity:1;filter:saturate(1)}.fixing-hotspot-image-wrap{background:transparent}.fixing-hotspot-image-wrap picture{display:block;width:100%;height:100%}.fixing-hotspot-image{display:block;width:100%;height:auto;object-fit:contain}.fixing-hotspot{position:absolute;display:inline-flex;width:fit-content;max-width:none;align-items:center;justify-content:center;border:2px solid var(--interactive-border);background:rgba(255,255,255,.94);color:#111;border-radius:999px;padding:6px 14px;box-shadow:0 6px 16px rgba(15,30,60,.12);cursor:pointer;font:inherit;font-weight:700;white-space:normal;line-height:1.15;transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease,font-size .2s ease,border-color .2s ease;font-size:15px}.fixing-hotspot span{display:block;font-size:15px;line-height:1.15;text-align:center}.fixing-hotspot:hover,.fixing-hotspot.is-active{background:#fff;color:var(--accent-blue);box-shadow:0 8px 22px rgba(15,30,60,.18)}.fixing-zone-panel{display:grid;gap:16px;align-content:start;min-width:0}.fixing-zone-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.fixing-zone-mini-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.fixation-mini-slot{display:grid;gap:10px;align-content:start}.fixation-mini-slot.is-open{grid-column:1 / -1}.fixation-inline-detail[hidden]{display:none}.fixing-zone-empty{color:var(--muted)}.fixing-zone-reset{border:0;background:none;color:var(--accent-blue);cursor:pointer;padding:0}.fixation-mini-card{display:grid;grid-template-columns:60px minmax(0,1fr);gap:10px;align-items:center;width:100%;padding:10px 12px;text-align:left;color:inherit;background:var(--content-card-bg-soft);border:1px solid var(--content-card-border);border-radius:18px;cursor:pointer;box-shadow:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}.fixation-mini-card:hover,.fixation-mini-card.is-active{background:#fff;border-color:var(--accent-blue);box-shadow:0 10px 22px rgba(15,30,60,.12);transform:translateY(-1px)}.fixation-mini-card-thumb{width:60px;height:60px;display:block;flex:0 0 60px;overflow:hidden;border-radius:12px;background:transparent}.fixation-mini-card-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.fixation-mini-card-image--empty{background:var(--content-card-bg-soft)}.fixation-mini-card-copy{display:grid;gap:4px;min-width:0}.fixation-mini-card-title{font-size:.98rem;line-height:1.18;font-weight:700;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.fixation-mini-card-manufacturer{font-size:.8rem;line-height:1.2;color:var(--muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.fixation-detail-card{position:relative;width:100%;justify-self:stretch;background:var(--content-card-bg-soft);border:1px solid var(--content-card-border);border-radius:var(--content-radius);padding:16px;display:grid;gap:12px;box-shadow:0 12px 26px rgba(15,30,60,.08)}.fixation-detail-close{position:absolute;top:12px;right:12px;border:0;background:none;color:var(--accent-blue);cursor:pointer;padding:0;font:inherit;font-weight:700}.fixation-detail-head{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:20px;align-items:start;padding-right:64px}.fixation-detail-media{display:grid;gap:8px;align-content:start;justify-items:start}.fixation-detail-photo{width:100%;max-width:260px;height:auto;max-height:260px;display:block;border-radius:18px;object-fit:contain;background:transparent}.fixation-detail-photo--empty{background:var(--content-card-bg-soft);min-height:180px}.fixation-detail-copy{display:grid;gap:10px;min-width:0}.fixation-detail-copy h2{margin:0;font-size:1.42rem;line-height:1.12}.fixation-detail-subtitle{margin:0;color:var(--muted);font-size:.98rem;line-height:1.3}.fixation-detail-inline-meta{margin:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--text-secondary);font-size:.92rem;line-height:1.35}.fixation-detail-divider{color:var(--muted)}.fixation-application{display:grid;gap:8px;padding-top:2px}.fixation-application h3{margin:0;font-size:1rem}.fixation-detail-video-line{margin:0}.fixation-detail-video-line a{color:#2f6bff;text-decoration:underline;text-underline-offset:2px}.fixation-add-form{display:grid;gap:8px;justify-items:start;margin-top:0}.fixation-add-form--compact{margin-top:0}.fixation-add-form--compact .button{padding:8px 12px;font-size:.82rem;line-height:1.1}.fixation-detail-groups{display:grid;gap:6px;margin-bottom:0}.fixation-detail-groups .fixation-tags{gap:6px}.fixation-detail-groups .fixation-tags button,.fixation-detail-groups .fixation-tags span{padding:3px 7px;font-size:.68rem}.fixation-photo-strip{display:flex;flex-wrap:wrap;gap:8px}.fixation-photo-thumb{width:68px;height:68px;display:block;border-radius:12px;overflow:hidden;border:1px solid var(--content-card-border);background:var(--content-card-bg-soft)}.fixation-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.fixing-hotspot-stage:not(.is-open) .fixing-zone-mini-list{grid-template-columns:1fr}
.inventory-item-summary{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;list-style:none;cursor:pointer;padding:12px}
.inventory-item-summary::-webkit-details-marker{display:none}
.inventory-item-summary img{width:56px;height:56px;object-fit:cover;border-radius:10px}
.inventory-item-detail{display:grid;gap:14px;padding:0 12px 12px}
.inventory-item-detail-main{display:grid;grid-template-columns:160px 1fr;gap:14px;align-items:start}
.inventory-item-detail-photo{width:160px;height:160px;object-fit:cover;border-radius:12px;background:var(--card-bg-soft)}
.inventory-item-photos{display:grid;gap:8px;padding:12px;border-top:1px solid var(--content-card-border)}
.inventory-item-photos label{display:grid;gap:6px}
.fixing-gallery-note{padding-top:6px;border-top:1px solid var(--content-card-border)}
.inventory-grid-spare{grid-template-columns:1fr}
.inventory-card-spare-positions{display:grid;gap:10px}
.inventory-search-card{padding:14px 18px}
.inventory-search-field{display:grid;gap:6px}
.inventory-search-field span{font-size:14px;color:var(--text-muted)}
.spare-position-list{display:grid;gap:12px}
.spare-position-card{display:block}
.spare-position-card .inventory-item-summary{grid-template-columns:56px minmax(0,1fr)}
.spare-parts-inline-placeholder,.spare-parts-photo-placeholder{width:56px;height:56px;border-radius:10px;background:rgba(220,234,255,.45);display:grid;place-items:center;color:#6a7990;font-size:12px;text-align:center;padding:6px}
.spare-position-detail{grid-template-columns:160px 1fr;align-items:start}
.spare-position-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.spare-position-grid div{display:grid;gap:4px;padding:10px 12px;background:rgba(255,255,255,.7);border-radius:12px;border:1px solid var(--content-card-border)}
.spare-position-grid-full{grid-column:1/-1}
.spare-position-actions{display:flex;justify-content:flex-end;align-items:start}
.spare-parts-form{display:grid;gap:16px;padding-bottom:84px}
.spare-parts-head-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.spare-parts-head-actions .inventory-empty{margin:0}
.spare-parts-head-actions__buttons{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.spare-parts-save-row{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap}
.spare-parts-table-wrap{--spare-table-font:13px;--spare-table-head-font:13px;--spare-table-cell-py:8px;--spare-table-cell-px:8px;--spare-table-head-py:10px;--spare-table-head-px:10px;--spare-table-control-height:36px;--spare-table-row-height:84px;--spare-table-photo-size:72px;--spare-location-code-width:72px;--spare-location-qty-width:46px;--spare-location-remove-size:18px;--spare-location-button-size:22px;--spare-location-gap:4px}
.spare-parts-table{width:100%;min-width:0;border-collapse:separate;border-spacing:0 6px;table-layout:fixed}
.spare-parts-table thead th{position:sticky;top:0;z-index:4;background:rgba(231,242,250,.96);font-size:var(--spare-table-head-font);font-weight:700;line-height:1.1;text-align:left;vertical-align:top;padding:var(--spare-table-head-py) var(--spare-table-head-px);height:auto;min-height:72px;color:var(--text-primary);box-shadow:0 1px 0 rgba(15,42,68,.08)}
.spare-parts-table th,.spare-parts-table td{vertical-align:middle;white-space:normal;padding:var(--spare-table-cell-py) var(--spare-table-cell-px);border:1px solid #dfe8f0;background:rgba(255,255,255,.92);min-width:0;font-size:var(--spare-table-font);line-height:1.25;color:var(--text-primary)}
.spare-parts-table tbody tr{height:var(--spare-table-row-height)}
.spare-parts-table th:nth-child(1),.spare-parts-table td:nth-child(1){width:90px}
.spare-parts-table th:nth-child(2),.spare-parts-table td:nth-child(2){width:132px}
.spare-parts-table th:nth-child(3),.spare-parts-table td:nth-child(3){width:96px}
.spare-parts-table th:nth-child(4),.spare-parts-table td:nth-child(4){width:72px}
.spare-parts-table th:nth-child(5),.spare-parts-table td:nth-child(5){width:72px}
.spare-parts-table th:nth-child(6),.spare-parts-table td:nth-child(6){width:84px}
.spare-parts-table th:nth-child(7),.spare-parts-table td:nth-child(7){width:126px}
.spare-parts-table th:nth-child(8),.spare-parts-table td:nth-child(8){width:108px}
.spare-parts-table th:nth-child(9),.spare-parts-table td:nth-child(9){width:132px}
.spare-parts-table th:nth-child(10),.spare-parts-table td:nth-child(10){width:64px}
.spare-parts-table th:nth-child(11),.spare-parts-table td:nth-child(11){width:42px}
.spare-parts-table.is-generic,.spare-parts-table.is-fixing,.spare-parts-table.is-dosimetry{min-width:0}
.spare-parts-table.is-generic th:nth-child(1),.spare-parts-table.is-generic td:nth-child(1){width:6%}
.spare-parts-table.is-generic th:nth-child(2),.spare-parts-table.is-generic td:nth-child(2){width:15%}
.spare-parts-table.is-generic th:nth-child(3),.spare-parts-table.is-generic td:nth-child(3){width:10%}
.spare-parts-table.is-generic th:nth-child(4),.spare-parts-table.is-generic td:nth-child(4){width:6%}
.spare-parts-table.is-generic th:nth-child(5),.spare-parts-table.is-generic td:nth-child(5){width:6%}
.spare-parts-table.is-generic th:nth-child(6),.spare-parts-table.is-generic td:nth-child(6){width:7%}
.spare-parts-table.is-generic th:nth-child(7),.spare-parts-table.is-generic td:nth-child(7){width:17%}
.spare-parts-table.is-generic th:nth-child(8),.spare-parts-table.is-generic td:nth-child(8){width:10%}
.spare-parts-table.is-generic th:nth-child(9),.spare-parts-table.is-generic td:nth-child(9){width:13%}
.spare-parts-table.is-generic th:nth-child(10),.spare-parts-table.is-generic td:nth-child(10){width:5%}
.spare-parts-table.is-generic th:nth-child(11),.spare-parts-table.is-generic td:nth-child(11){width:5%}
.spare-parts-table.is-fixing th:nth-child(1),.spare-parts-table.is-fixing td:nth-child(1){width:6%}
.spare-parts-table.is-fixing th:nth-child(2),.spare-parts-table.is-fixing td:nth-child(2){width:17%}
.spare-parts-table.is-fixing th:nth-child(3),.spare-parts-table.is-fixing td:nth-child(3){width:11%}
.spare-parts-table.is-fixing th:nth-child(4),.spare-parts-table.is-fixing td:nth-child(4){width:10%}
.spare-parts-table.is-fixing th:nth-child(5),.spare-parts-table.is-fixing td:nth-child(5){width:8%}
.spare-parts-table.is-fixing th:nth-child(6),.spare-parts-table.is-fixing td:nth-child(6){width:6%}
.spare-parts-table.is-fixing th:nth-child(7),.spare-parts-table.is-fixing td:nth-child(7){width:17%}
.spare-parts-table.is-fixing th:nth-child(8),.spare-parts-table.is-fixing td:nth-child(8){width:8%}
.spare-parts-table.is-fixing th:nth-child(9),.spare-parts-table.is-fixing td:nth-child(9){width:9%}
.spare-parts-table.is-fixing th:nth-child(10),.spare-parts-table.is-fixing td:nth-child(10){width:4%}
.spare-parts-table.is-fixing th:nth-child(11),.spare-parts-table.is-fixing td:nth-child(11){width:4%}
.spare-parts-table.is-dosimetry th:nth-child(1),.spare-parts-table.is-dosimetry td:nth-child(1){width:6%}
.spare-parts-table.is-dosimetry th:nth-child(2),.spare-parts-table.is-dosimetry td:nth-child(2){width:16%}
.spare-parts-table.is-dosimetry th:nth-child(3),.spare-parts-table.is-dosimetry td:nth-child(3){width:18%}
.spare-parts-table.is-dosimetry th:nth-child(4),.spare-parts-table.is-dosimetry td:nth-child(4){width:16%}
.spare-parts-table.is-dosimetry th:nth-child(5),.spare-parts-table.is-dosimetry td:nth-child(5){width:12%}
.spare-parts-table.is-dosimetry th:nth-child(6),.spare-parts-table.is-dosimetry td:nth-child(6){width:8%}
.spare-parts-table.is-dosimetry th:nth-child(7),.spare-parts-table.is-dosimetry td:nth-child(7){width:8%}
.spare-parts-table.is-dosimetry th:nth-child(8),.spare-parts-table.is-dosimetry td:nth-child(8){width:6%}
.spare-parts-table.is-dosimetry th:nth-child(9),.spare-parts-table.is-dosimetry td:nth-child(9){width:4%}
.spare-parts-table.is-dosimetry th:nth-child(10),.spare-parts-table.is-dosimetry td:nth-child(10){width:6%}
.spare-parts-table input,.spare-parts-table select,.spare-parts-table textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%;border:1px solid #ccd8e3;border-radius:10px;padding:8px 10px;background:#fff;box-shadow:none;min-height:var(--spare-table-control-height);font-size:var(--spare-table-font);line-height:1.2;color:var(--text-primary)}
input[type="number"]{-moz-appearance:textfield;appearance:textfield}
input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.spare-parts-table.is-generic th:nth-child(4),.spare-parts-table.is-generic th:nth-child(5),.spare-parts-table.is-generic th:nth-child(6),.spare-parts-table.is-generic td:nth-child(4),.spare-parts-table.is-generic td:nth-child(5),.spare-parts-table.is-generic td:nth-child(6),.spare-parts-table.is-fixing th:nth-child(5),.spare-parts-table.is-fixing th:nth-child(6),.spare-parts-table.is-fixing td:nth-child(5),.spare-parts-table.is-fixing td:nth-child(6),.spare-parts-table th:nth-child(10),.spare-parts-table th:nth-child(11),.spare-parts-table td:nth-child(10),.spare-parts-table td:nth-child(11){padding-left:4px;padding-right:4px}
.spare-parts-table.is-generic td:nth-child(4) input,.spare-parts-table.is-generic td:nth-child(5) input,.spare-parts-table.is-generic td:nth-child(6) input,.spare-parts-table.is-dosimetry td:nth-child(9) input,.spare-parts-table.is-fixing td:nth-child(5) input{padding-left:4px;padding-right:4px}
.spare-parts-table input[data-spare-field]:not([type="number"]):not([type="date"]):not([type="hidden"]),.spare-parts-table select[data-spare-field],.spare-parts-table select[data-location-id]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spare-parts-table input[type="number"]{padding-left:6px;padding-right:6px;text-align:center}
.spare-parts-table input[data-compact-quantity]{padding-left:4px;padding-right:4px;text-align:center;-moz-appearance:textfield;appearance:textfield}
.spare-parts-table input[data-compact-quantity]::-webkit-outer-spin-button,.spare-parts-table input[data-compact-quantity]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.spare-parts-table input[readonly][data-spare-field="quantity"]{background:#f5f8fb;color:#234b68;font-weight:600;cursor:default}
.spare-parts-table td{overflow:hidden}
.spare-parts-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;padding-bottom:8px}
.spare-parts-table textarea{min-height:calc(var(--spare-table-control-height) * 1.9);resize:vertical}
.spare-row-remove{min-width:32px;width:32px;height:32px;border:1px solid #f0c8c8;border-radius:9px;background:#fff5f5;color:#b33a3a;font-size:20px;line-height:1;display:grid;place-items:center;padding:0;cursor:pointer}
.spare-row-remove:hover:not(:disabled){background:#ffeaea}
.spare-row-remove:disabled{opacity:.45;cursor:not-allowed}
.spare-quantity-note-inline{display:flex;align-items:center;gap:6px}
.spare-quantity-note-inline input{flex:1 1 auto}
.spare-comment-button{margin-top:0;width:32px;min-width:32px;height:32px;padding:0;justify-content:center;font-size:16px;flex:0 0 auto}
.spare-comment-button.is-filled{border-color:#8bb7ff;color:#1f4b99}
.spare-row-remove-cell{vertical-align:middle;text-align:center}
.spare-parts-photo-field{position:relative;display:grid;place-items:center}
.spare-photo-tile{position:relative;width:var(--spare-table-photo-size);height:var(--spare-table-photo-size);padding:0;border:1px solid #ccd8e3;border-radius:11px;background:#fff;display:grid;place-items:center;cursor:zoom-in;overflow:hidden;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.spare-photo-tile img{width:100%;height:100%;object-fit:cover;display:block}
.spare-photo-tile::after{content:'Просмотр';position:absolute;inset:auto 4px 4px auto;padding:3px 6px;border-radius:999px;background:rgba(15,23,42,.7);color:#fff;font-size:10px;line-height:1;opacity:0;transform:translateY(2px);transition:opacity .15s ease,transform .15s ease}
.spare-photo-tile:hover::after,.spare-photo-tile:focus-visible::after{opacity:1;transform:translateY(0)}
.spare-photo-reload{position:absolute;top:5px;right:5px;z-index:2;width:26px;height:26px;padding:0;border:1px solid #d7e4ee;border-radius:999px;background:#fff;color:#176f9c;display:grid;place-items:center;box-shadow:0 4px 10px rgba(15,42,68,.08);font-size:18px;line-height:1}
.spare-photo-reload:hover,.spare-photo-reload:focus-visible{background:#f3f8fb;border-color:#8bb7ff}
.spare-parts-photo-placeholder{width:100%;height:100%;background:rgba(220,234,255,.32)}
.spare-photo-menu{position:absolute;bottom:calc(100% + 8px);left:0;display:grid;gap:8px;z-index:100;background:#fff;border:1px solid #ccd8e3;border-radius:12px;padding:10px;box-shadow:0 12px 24px rgba(15,42,68,.18);min-width:170px}
.spare-photo-menu .button{width:100%;justify-content:center;white-space:nowrap}
.spare-photo-modal{position:fixed;inset:0;display:grid;place-items:center;z-index:9999;padding:24px}
.spare-photo-modal[hidden]{display:none!important}
.spare-photo-modal.is-open{display:grid!important}
.spare-photo-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.45)}
.spare-photo-modal__card{position:relative;z-index:1;width:min(980px,calc(100% - 24px));max-height:min(92vh,1000px);overflow:auto;display:grid;gap:16px;padding:20px;border-radius:18px;background:#fff;border:1px solid var(--content-card-border);box-shadow:0 20px 50px rgba(15,42,68,.25)}
.spare-photo-modal__viewer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}
.spare-photo-modal__figure{display:grid;gap:10px;margin:0}
.spare-photo-modal__image-wrap{position:relative;display:grid;place-items:center;min-height:min(70vh,680px);padding:12px;border-radius:18px;border:1px solid #d7e4ee;background:#f7fafc}
.spare-photo-modal__main-image{width:100%;max-height:min(70vh,680px);object-fit:contain;display:block}
.spare-photo-modal__fallback{display:grid;place-items:center;min-height:min(40vh,320px);padding:24px;text-align:center;color:var(--text-muted)}
.spare-photo-modal__caption{font-size:14px;color:var(--text-muted);text-align:center}
.spare-photo-modal__nav{width:48px;height:48px;border:1px solid #d7e4ee;border-radius:999px;background:#fff;color:#234b68;font-size:32px;line-height:1;display:grid;place-items:center;cursor:pointer}
.spare-photo-modal__nav:hover:not(:disabled){background:#f3f8ff;border-color:#8bb7ff}
.spare-photo-modal__nav:disabled{opacity:.4;cursor:not-allowed}
.spare-photo-modal__thumbnails{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:10px}
.spare-photo-modal__thumb{display:grid;gap:6px;padding:6px;border:1px solid #d7e4ee;border-radius:14px;background:#fff;cursor:pointer;text-align:left}
.spare-photo-modal__thumb img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;background:#f7fafc}
.spare-photo-modal__thumb span{font-size:12px;color:var(--text-muted)}
.spare-photo-modal__thumb.is-active{border-color:#8bb7ff;box-shadow:0 0 0 2px rgba(58,123,255,.12)}
.spare-photo-modal__empty{margin:0}
.spare-photo-modal__card .button.danger{border-color:#f0c8c8;background:#fff5f5;color:#b33a3a}
.spare-photo-modal__card .button.danger:hover{background:#ffeaea}
body.modal-open{overflow:hidden}
.spare-comment-modal{position:fixed;inset:0;display:grid;place-items:center;z-index:60;padding:24px}
.spare-comment-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.45)}
.spare-comment-modal__card{position:relative;z-index:1;width:min(560px,calc(100% - 24px));display:grid;gap:16px;padding:20px;border-radius:18px;background:#fff;border:1px solid var(--content-card-border);box-shadow:0 20px 50px rgba(15,42,68,.25)}
.spare-comment-modal__card h3{margin:0}
.spare-comment-modal__textarea{min-height:140px}
.spare-row-history-cell{vertical-align:middle;text-align:center}
.spare-row-history-button{width:32px;min-width:32px;height:32px;padding:0;display:grid;place-items:center;justify-content:center;font-size:16px;line-height:1}
.inventory-link--compact,
.spare-icon-button{width:32px;min-width:32px;height:32px;padding:0;display:grid;place-items:center;justify-content:center;font-size:16px;line-height:1;border-radius:9px}
.inventory-link--compact{border:1px solid #d7e4ee;background:#fff;color:#176f9c}
.inventory-link--compact:hover{background:#f3f8fb}
.spare-inline-actions{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.spare-parts-table.is-generic th:nth-child(7),.spare-parts-table.is-generic td:nth-child(7),.spare-parts-table.is-fixing th:nth-child(7),.spare-parts-table.is-fixing td:nth-child(7),.spare-parts-table.is-dosimetry th:nth-child(3),.spare-parts-table.is-dosimetry td:nth-child(3){padding-left:6px;padding-right:6px}
.spare-location-cell{overflow:visible;vertical-align:middle;padding-left:6px!important;padding-right:6px!important}.spare-location-controls{display:flex;align-items:center;justify-content:flex-start;gap:var(--spare-location-gap);width:auto;min-width:0;max-width:100%}.spare-location-controls > .inventory-location-allocations{flex:0 1 auto;min-width:0;display:grid;gap:var(--spare-location-gap);width:auto;max-width:100%}.spare-location-controls > .inventory-link[data-location-add]{flex:0 0 auto;align-self:center;width:var(--spare-location-button-size);min-width:var(--spare-location-button-size);height:var(--spare-location-button-size);margin-top:0;font-size:calc(var(--spare-table-font) + 4px);border-radius:7px}.inventory-location-allocation{display:grid;grid-template-columns:var(--spare-location-code-width) var(--spare-location-qty-width) var(--spare-location-remove-size);gap:var(--spare-location-gap);align-items:center;justify-content:start;width:auto;min-width:0;max-width:100%}.inventory-location-allocation > *{min-width:0}.inventory-location-allocation select,.spare-parts-table .inventory-location-allocation select{width:100%;min-width:0}.spare-parts-table .inventory-location-allocation{grid-template-columns:var(--spare-location-code-width) var(--spare-location-qty-width) var(--spare-location-remove-size)}.inventory-location-allocation input[data-location-quantity]{width:100%;min-width:0;padding-left:4px;padding-right:4px;text-align:center;-moz-appearance:textfield;appearance:textfield}.inventory-location-allocation input[data-location-quantity]::-webkit-outer-spin-button,.inventory-location-allocation input[data-location-quantity]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.inventory-location-allocation .spare-row-remove{width:var(--spare-location-remove-size);min-width:var(--spare-location-remove-size);height:var(--spare-location-remove-size);border-radius:6px;font-size:calc(var(--spare-table-font) - 1px);line-height:1}.spare-photo-gallery{display:grid;grid-template-columns:repeat(3,40px);gap:4px}.spare-photo-gallery img{width:40px;height:40px;object-fit:cover;border-radius:7px}.spare-photo-count{font-size:12px;color:var(--text-muted)}.spare-quantity-cell{transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;vertical-align:middle}.spare-quantity-cell.is-pending{background:#fff1f1;border-radius:10px;box-shadow:inset 0 0 0 1px rgba(187,58,58,.18)}.spare-quantity-cell.is-pending input{background:#fff6f6;border-color:#e7a7a7;color:#9b2f2f}.spare-quantity-cell.is-pending input::placeholder{color:#c46c6c}
.spare-photo-cell{position:relative;overflow:visible;z-index:2}
.spare-annual-expense-cell{vertical-align:middle;text-align:center;font-size:14px;font-weight:600}
.spare-annual-expense-value{display:block;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.inventory-table-wrap{overflow-x:auto;overflow-y:visible}
.inventory-page .inventory-table-wrap table:not(.spare-parts-table){width:100%;border-collapse:collapse;table-layout:auto}
.inventory-page .inventory-table-wrap table:not(.spare-parts-table) thead th{position:sticky;top:0;z-index:3;background:rgba(231,242,250,.96);color:var(--text-primary);font-size:14px;font-weight:700;line-height:1.1;text-align:left;padding:12px 14px;box-shadow:0 1px 0 rgba(15,42,68,.08)}
.inventory-page .inventory-table-wrap table:not(.spare-parts-table) th,.inventory-page .inventory-table-wrap table:not(.spare-parts-table) td{padding:12px 14px;font-size:14px;line-height:1.25;vertical-align:middle;color:var(--text-primary)}
.inventory-page .inventory-table-wrap table:not(.spare-parts-table) tbody tr{height:56px}
.spare-item-history-row td{padding:0;border:0;background:transparent}
.spare-item-history-block{margin:4px 0 12px;padding:14px 16px;border:1px solid var(--content-card-border);border-radius:16px;background:rgba(248,251,253,.98);box-shadow:0 10px 24px rgba(15,42,68,.08)}
.spare-item-history-head{margin-bottom:12px}
.spare-item-history-head h3{margin:0;font-size:1rem}
.spare-item-history-head span{color:var(--text-muted);font-size:.9rem}
.spare-item-history-row .spare-history-list{margin-top:0}
.spare-parts-toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;position:sticky;bottom:14px;z-index:12;padding:12px 14px;background:rgba(255,255,255,.95);border:1px solid var(--content-card-border);border-radius:16px;box-shadow:0 16px 32px rgba(15,42,68,.10);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.admin-fixation-photo-preview{display:grid;grid-template-columns:repeat(3,minmax(0,92px));gap:10px}.admin-fixation-photo-card{position:relative;display:grid;gap:5px;color:var(--text-muted);font-size:12px;padding:6px;border:1px solid transparent;border-radius:12px;justify-items:center}.admin-fixation-photo-card.is-main{border-color:#8bb7ff;background:rgba(233,243,255,.45)}.admin-fixation-photo-preview img{width:78px;height:78px;object-fit:cover;border-radius:10px;border:1px solid var(--content-card-border)}.admin-fixation-photo-actions{position:absolute;inset:6px;display:none;gap:6px;align-content:center;justify-items:center;padding:8px;border-radius:10px;background:rgba(15,23,42,.72)}.admin-fixation-photo-card:hover .admin-fixation-photo-actions,.admin-fixation-photo-card:focus-within .admin-fixation-photo-actions{display:grid}.admin-fixation-photo-action{min-height:28px;padding:4px 8px;font-size:11px;line-height:1.1;justify-content:center;width:100%}.admin-fixation-photo-main-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 8px;border-radius:10px;background:#f3f8ff;color:#1f4b99;font-size:11px;font-weight:700;width:100%}.admin-fixation-photo-remove{border-color:#f0c8c8;background:#fff5f5;color:#b33a3a}.admin-fixation-photo-remove:hover{background:#ffeaea}
.spare-history-list{display:grid;gap:12px}
.spare-history-entry{background:rgba(255,255,255,.82);border:1px solid var(--content-card-border);border-radius:16px;padding:0 14px}
.spare-history-entry summary{display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer;list-style:none;padding:14px 0}
.spare-history-entry summary::-webkit-details-marker{display:none}
.spare-history-meta{display:grid;gap:4px}
.spare-history-time{font-weight:600;color:#234b68}
.spare-history-entry small{color:#647586}
.spare-history-badges{display:flex;gap:8px;flex-wrap:wrap}
.spare-history-body{padding:0 0 16px}
.spare-history-caption{margin:0 0 10px;font-weight:700;color:#234b68}
.spare-history-changes{margin:0;padding-left:18px;display:grid;gap:10px}
.spare-history-change-item{display:grid;gap:4px}
.spare-history-change-item span{color:#425466;white-space:normal}


.inventory-page .spare-parts-table-wrap{
  max-width:100%;
  overflow-x:visible;
  overflow-y:visible;
  padding-bottom:0;
}
.inventory-page .spare-parts-table,
.inventory-page .spare-parts-table.is-generic,
.inventory-page .spare-parts-table.is-fixing,
.inventory-page .spare-parts-table.is-dosimetry{
  width:100%;
  min-width:0!important;
  max-width:100%;
}
.inventory-page .spare-parts-table th,
.inventory-page .spare-parts-table td{
  overflow-wrap:anywhere;
}
.inventory-page .spare-parts-table input,
.inventory-page .spare-parts-table select,
.inventory-page .spare-parts-table textarea{
  padding-left:6px;
  padding-right:6px;
  border-radius:8px;
}
.spare-parts-table .spare-photo-tile{
  width:min(var(--spare-table-photo-size),100%);
  height:auto;
  aspect-ratio:1/1;
  margin-inline:auto;
}
.spare-parts-table .spare-icon-button,
.spare-parts-table .spare-row-remove{
  width:min(28px,100%);
  min-width:0;
  height:28px;
  font-size:15px;
}
.spare-parts-table .spare-row-remove{
  font-size:18px;
}
.spare-parts-table .spare-location-controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) var(--spare-location-button-size);
  align-items:start;
  width:100%;
}
.spare-parts-table .inventory-location-allocation{
  grid-template-columns:minmax(0,1fr) minmax(26px,.45fr) var(--spare-location-remove-size);
  width:100%;
}

/* Responsive fixation map. Coordinates are percentages of this fixed-ratio stage. */
.fixing-hotspot-stage{
  display:grid;
  grid-template-columns:minmax(0,560px) minmax(0,1fr);
  grid-template-areas:"image panel";
  gap:24px;
  align-items:start;
}
.fixing-hotspot-image-wrap{
  grid-area:image;
  position:relative;
  width:100%;
  max-width:560px;
  aspect-ratio:1145 / 1374;
}
.fixing-hotspot-image-wrap picture,
.fixing-hotspot-image{
  width:100%;
  height:100%;
}
.fixing-hotspot-image{object-fit:contain}
.fixing-zone-panel{grid-area:panel}
.fixing-zone-search{
  display:grid;
  gap:6px;
}
.fixing-zone-search span{
  font-size:14px;
  color:var(--text-muted);
}
.fixing-zone-search input{
  box-sizing:border-box;
  width:min(360px,100%);
  min-width:0;
  padding:10px 12px;
  border:1px solid #ccd8e3;
  border-radius:12px;
  background:#fff;
  color:var(--text-primary);
  font:inherit;
  line-height:1.2;
}
.fixing-zone-search input:focus{
  outline:0;
  border-color:#8bb7ff;
  box-shadow:0 0 0 3px rgba(139,183,255,.18);
}
.fixing-zone-search-empty{margin:0}
.fixing-hotspot{max-width:38%}


.bot-page{
  display:grid;
  gap:20px;
}

.bot-hero{
  background:
    linear-gradient(135deg, rgba(46,196,182,.18), rgba(58,123,255,.10)),
    var(--content-card-bg-soft);
  border:1px solid rgba(58,123,255,.14);
}

.bot-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
  align-items:start;
  max-width:1200px;
  width:100%;
}

.bot-panel{
  display:grid;
  gap:18px;
}

.bot-mode-label{
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text-muted);
}

.bot-mode-switch,
.bot-role-switch,
.bot-chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.bot-switch-button,
.bot-chip{
  border:1px solid var(--interactive-border);
  background:var(--interactive-bg);
  color:var(--text-main);
  padding:10px 12px;
  border-radius:999px;
  cursor:pointer;
  font-weight:600;
  transition:transform .16s ease, background-color .16s ease, border-color .16s ease;
}

.bot-switch-button:hover,
.bot-chip:hover{
  transform:translateY(-1px);
  border-color:var(--interactive-border-hover);
}

.bot-switch-button.is-active{
  background:linear-gradient(135deg, rgba(46,196,182,.22), rgba(58,123,255,.18));
  border-color:rgba(58,123,255,.35);
  color:#0F2A44;
}

.bot-switch-button[aria-disabled="true"]{
  opacity:.55;
  cursor:not-allowed;
  transform:none;
}

.bot-access-note{
  display:grid;
  gap:10px;
  padding:14px;
  border-radius:16px;
  border:1px dashed var(--interactive-border);
  background:rgba(255,255,255,.66);
}

.bot-access-note strong{
  font-size:.98rem;
}

.bot-access-note p{
  margin:0;
  color:var(--text-muted);
  line-height:1.5;
}

.bot-chat-panel{
  min-height:72vh;
}

.bot-chat-header{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  padding-bottom:12px;
  border-bottom:1px solid var(--content-card-border);
}

.bot-chat-meta{
  display:grid;
  gap:12px;
}

.bot-chat-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.bot-transcript{
  display:grid;
  gap:12px;
  min-height:320px;
  max-height:min(66vh,760px);
  overflow:auto;
  padding:4px 4px 8px;
}

.bot-message{
  display:grid;
  gap:8px;
  max-width:90%;
}

.bot-message--user{
  justify-self:end;
}

.bot-message--assistant{
  justify-self:start;
}

.bot-message--loading .bot-message-body{
  opacity:.92;
}

.bot-message-body{
  padding:14px 16px;
  border-radius:18px;
  border:1px solid var(--content-card-border);
  background:var(--content-card-bg-soft);
  box-shadow:0 10px 22px rgba(15,42,68,.06);
}

.bot-message--user .bot-message-body{
  background:linear-gradient(145deg, rgba(46,196,182,.20), rgba(58,123,255,.12));
  border-color:rgba(58,123,255,.22);
}

.bot-message-text{
  line-height:1.62;
  white-space:pre-wrap;
}

.bot-typing{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:24px;
  color:var(--text-muted);
}

.bot-typing__label{
  font-size:.96rem;
  line-height:1.4;
}

.bot-typing__dots{
  display:inline-flex;
  align-items:center;
  gap:6px;
  height:12px;
}

.bot-typing__dots span{
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--accent-blue);
  opacity:.35;
  animation:botTypingPulse 1.15s ease-in-out infinite;
}

.bot-typing__dots span:nth-child(2){
  animation-delay:.16s;
}

.bot-typing__dots span:nth-child(3){
  animation-delay:.32s;
}

@keyframes botTypingPulse{
  0%, 80%, 100%{
    transform:translateY(0);
    opacity:.35;
  }
  40%{
    transform:translateY(-3px);
    opacity:1;
  }
}

@media (prefers-reduced-motion: reduce){
  .bot-typing__dots span{
    animation:none;
  }
}

.bot-sources{
  padding:0 2px;
}

.bot-sources summary{
  cursor:pointer;
  color:var(--link-color);
  font-weight:600;
}

.bot-source-list{
  display:grid;
  gap:8px;
  margin-top:10px;
}

.bot-source-item{
  display:grid;
  gap:4px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid var(--content-card-border);
  background:var(--content-card-bg-soft);
}

.bot-source-item strong{
  font-size:.95rem;
}

.bot-source-item span,
.bot-source-item small{
  color:var(--text-muted);
  font-size:.82rem;
  line-height:1.45;
}

.bot-composer{
  display:grid;
  gap:14px;
  padding-top:14px;
  border-top:1px solid var(--content-card-border);
}

.bot-input{
  width:100%;
  min-height:120px;
  border-radius:18px;
  border:1px solid var(--interactive-border);
  background:rgba(255,255,255,.80);
  padding:14px 16px;
  resize:vertical;
  line-height:1.55;
  color:var(--text-main);
}

.bot-input:focus,
.bot-switch-button:focus,
.bot-chip:focus,
.bot-upload-button:focus{
  outline:none;
  box-shadow:var(--content-focus-ring);
}

.bot-upload-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  justify-content:space-between;
}

.bot-upload{
  display:inline-flex;
  align-items:center;
  position:relative;
}

.bot-upload input{
  position:absolute;
  left:-9999px;
}

.bot-upload-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--interactive-border);
  background:var(--interactive-bg);
  cursor:pointer;
  font-weight:600;
}

.bot-upload-meta,
.bot-privacy-note{
  color:var(--text-muted);
  font-size:.92rem;
  line-height:1.45;
}

.bot-composer-footer{
  display:flex;
  gap:12px;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
}
