/* 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:fixed;
  --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);
}
@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}
.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)}

.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;
}

@media (min-width: 768px) and (max-width: 1199px){
  .shell{width:calc(100% - 28px);max-width:var(--container-width)}
  .site-canvas{padding:20px 0 28px}
  .main-shell,.page-shell{
    width:100%;
    margin:18px 0 0;
    padding:20px;
  }
}

@media (min-width:1600px){
  .shell{
    width:calc(100% - 96px);
    max-width:var(--container-width-wide);
  }
  @supports (width:min(1px,2px)){
    .shell{
      width:min(var(--container-width-wide),calc(100% - 96px));
      max-width:none;
    }
  }
}

@media (max-width: 767px){
  body{overflow-x:hidden}
  .shell{
    width:calc(100% - 20px) !important;
    max-width:var(--container-width);
    min-width:0 !important;
  }
  .site-canvas{
    padding:16px 0 24px;
    overflow-x:visible;
  }
  .main-shell,.page-shell{
    width:100%;
    margin:12px 0 0;
    padding:16px;
    border-radius:16px;
  }
  .grid-main,.grid-two,.grid-three,.grid-four{
    grid-template-columns:1fr;
  }
}
.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}
.search-form input{
  width:min(420px,100%);
  padding:14px 16px;
  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);
}

@media (max-width: 1100px){
  .video-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 768px){
  .video-grid{
    grid-template-columns:1fr;
  }
}

.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:12px;
}
.doc-link-main{
  flex:1 1 auto;
  min-width:0;
  color:var(--text-main);
  text-decoration:none;
}
.doc-link-main:hover strong,
.doc-link-main:focus-visible strong{
  color:var(--accent-blue);
  text-decoration:underline;
}
.doc-link-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
.doc-link-row strong{
  min-width:0;
}
.doc-new-badge{
  flex:0 0 auto;
  border:var(--frame-border-width) solid var(--interactive-border);
  border-radius:999px;
  padding:4px 10px;
  font-size:11px;
  font-weight:var(--font-weight-semibold);
  line-height:1;
  color:#145a2e;
  background:#ddf2de;
  text-transform:lowercase;
}
.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;
}

.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{
  border:none;
  padding:0;
  width:min(760px,95vw);
  border-radius:14px;
}
.admin-modal::backdrop{
  background:rgba(17,22,35,.5);
}
.admin-modal-card{
  background:var(--frame-bg);
  border:var(--frame-border-width) solid var(--frame-border-color);
  border-radius:14px;
  padding:14px;
  display:grid;
  gap:10px;
}
.admin-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}
.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}

@media (max-width: 1100px){
  .admin-grid,.admin-row,.admin-row-text{grid-template-columns:1fr}
  .admin-select-row{grid-template-columns:1fr}
  .admin-related-grid{grid-template-columns:1fr}
  .admin-two-cols{grid-template-columns:1fr}
  .admin-structure-layout{grid-template-columns:1fr;height:auto}
  .admin-structure-resizer{display:none}
  .admin-structure-pane{max-height:none;height:auto}
  .admin-structure-tree,
  .admin-structure-bulk-editor{height:auto;max-height:none}
  .admin-structure-panels{grid-template-columns:1fr}
  .structure-item-line{
    grid-template-columns:20px minmax(0,1fr);
    align-items:start;
  }
  .structure-status,.structure-row-btn{grid-column:2}
  .admin-structure-stickybar{position:static}
  .block-width-half,
  .block-width-third{
    grid-column:span 6;
  }
}

@media (max-width: 900px){
  .admin-workspace{
    width:100%;
    margin-left:0;
    padding:0;
  }
  .admin-structure-layout{
    grid-template-columns:1fr;
    gap:12px;
    height:auto;
  }
  .admin-structure-pane{
    height:auto;
    max-height:none;
  }
}

@media (min-width: 768px) and (max-width: 1199px){
  .top-bar{padding:var(--space-2)}
  .header-inner{gap:var(--space-3)}
  .header-nav{row-gap:var(--space-1)}
  .nav-card,.wide-block,.auth-card,.content-card{padding:var(--space-4)}
  .nav-card,.wide-block{grid-template-columns:minmax(120px,170px) 1fr}
  .media-frame{aspect-ratio:16/10}
}

@media (max-width: 767px){
  .header-inner{flex-direction:column;align-items:stretch}
  .header-nav{justify-content:space-between;flex-direction:column;align-items:stretch}
  .header-nav-primary,.header-nav-secondary{justify-content:space-between;flex-wrap:wrap}
  .header-user{width:100%;justify-content:flex-start}
  .header-user-chip{max-width:100%}
  .nav-card,.wide-block{grid-template-columns:1fr;min-height:auto}
  .nav-card,.wide-block,.auth-card,.content-card{padding:var(--space-3)}
  .pdf-item,.text-block-card{flex-direction:column}
  .text-block-card,
  .universal-block-card{
    grid-template-columns:1fr;
    align-items:start;
  }
  .text-block-card .text-media,
  .universal-block-card .card-media{
    height:auto;
    min-height:120px;
  }
  .block-width-full,
  .block-width-half,
  .block-width-third{
    grid-column:1 / -1;
  }
  .block-width-grid > :not(.block-width-full):not(.block-width-half):not(.block-width-third){
    grid-column:1 / -1;
  }
  .profile-main-layout{grid-template-columns:1fr}
  .profile-row{
    grid-template-columns:92px minmax(0,1fr);
    padding:7px 9px;
  }
  .profile-row span{
    font-size:var(--font-xs);
  }
  .profile-photo-panel{align-items:flex-start}
  .favorite-actions{align-items:stretch}
  .favorite-toast{left:12px;right:12px;bottom:12px}
  .footer-inner{justify-content:flex-start}
  .media-frame{aspect-ratio:4/3}
}
.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-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-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:auto minmax(0,1fr);
  align-items:stretch;
  width:100%;
  justify-self:stretch;
  min-height:240px;
  height:240px;
  overflow:visible;
}
.main-layout a.wide-block[href="/patient"],
.main-layout a.wide-block[href="/patients"]{
  grid-template-columns:auto minmax(0,1fr) !important;
  align-items:stretch;
  width:100%;
  justify-self:stretch;
  min-height:240px;
  height:240px;
  overflow:visible;
}
.main-layout .main-patient-block .wide-media{
  width:auto;
  min-height:0;
  height:100%;
  justify-self:start;
  align-self:stretch;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  overflow:visible;
  background:transparent;
  border:none;
}
.main-layout a.wide-block[href="/patient"] .wide-media,
.main-layout a.wide-block[href="/patients"] .wide-media{
  width:auto !important;
  min-height:0;
  height:100%;
  justify-self:start;
  align-self:stretch;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  overflow:visible;
  background:transparent;
  border:none;
}
.main-layout .main-patient-block .media-image{
  width:auto;
  height:100%;
  max-width:none;
  max-height:100%;
  object-fit:contain !important;
  object-position:left center;
  border-radius:0;
}
.main-layout a.wide-block[href="/patient"] .media-image,
.main-layout a.wide-block[href="/patients"] .media-image{
  width:auto !important;
  height:100% !important;
  max-width:none !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:left center !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%;
}
.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%;
}
.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}

@media (max-width: 767px){
  .main-row-three,.main-row-two-two{grid-template-columns:1fr}
  .main-layout .main-patient-block{
    grid-template-columns:1fr;
    min-height:240px;
    height:auto;
  }
  .main-layout a.wide-block[href="/patient"],
  .main-layout a.wide-block[href="/patients"]{
    grid-template-columns:1fr !important;
    min-height:240px;
    height:auto;
  }
  .main-layout .main-patient-block .wide-media{
    width:100%;
    min-height:220px;
    height:220px;
  }
  .main-layout a.wide-block[href="/patient"] .wide-media,
  .main-layout a.wide-block[href="/patients"] .wide-media{
    width:100% !important;
    min-height:220px;
    height:220px;
  }
  .main-layout .main-patient-block .media-image,
  .main-layout a.wide-block[href="/patient"] .media-image,
  .main-layout a.wide-block[href="/patients"] .media-image{
    width:100% !important;
    max-width:100% !important;
    object-position:center !important;
  }
  .patient-highlights-grid,
  .patient-grid-two,
  .patient-nav-grid{
    grid-template-columns:1fr;
  }
  .patient-nav-card .button{
    width:100%;
    justify-self:stretch;
  }
}

.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}
@media (max-width:520px){.account-type-switch{grid-template-columns:1fr}}
/* 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}@media(max-width:900px){.inventory-grid{grid-template-columns:1fr}.inventory-filters{grid-template-columns:1fr 1fr}.inventory-item-editor{grid-template-columns:1fr}.inventory-page{min-width: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}.fixing-zone-detail{display:block}.fixing-zone-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:min(100%,680px);justify-self:start;background:var(--content-card-bg-soft);border:1px solid var(--content-card-border);border-radius:var(--content-radius);padding:14px 16px;display:grid;gap:14px;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(160px,220px) minmax(0,1fr);gap:16px;align-items:start;padding-right:64px}.fixation-detail-photo{width:100%;max-width:220px;aspect-ratio:4/5;display:block;border-radius:18px;object-fit:contain;background:transparent}.fixation-detail-photo--empty{background:var(--content-card-bg-soft)}.fixation-detail-copy{display:grid;gap:8px;min-width:0}.fixation-detail-copy h2{margin:0;font-size:1.22rem;line-height:1.15}.fixation-detail-meta{display:grid;gap:5px}.fixation-detail-meta strong{font-weight:700}.fixation-aliases{margin:0;color:var(--muted)}.fixation-application{display:grid;gap:8px;padding-top:4px}.fixation-application h3{margin:0;font-size:1rem}.fixation-add-form{display:grid;gap:8px;justify-items:start;margin-top:2px}.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}@media (max-width:900px){.fixing-hotspot-stage,.fixing-hotspot-stage.is-open{grid-template-columns:1fr!important;grid-template-areas:"image" "panel"!important}.fixing-hotspot-image-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:10px;max-width:520px!important}.fixing-hotspot{position:static!important;left:auto!important;top:auto!important;transform:none!important}.fixing-zone-mini-list{grid-template-columns:repeat(2,minmax(0,1fr))}.fixation-detail-card{width:100%}.fixation-detail-head{grid-template-columns:1fr;padding-right:0}.fixation-detail-photo{max-width:100%}.fixation-detail-close{position:static;justify-self:end}}@media (max-width:560px){.fixing-hotspot{font-size:14px;padding:5px 11px}.fixing-hotspot span{font-size:14px}.fixing-zone-mini-list{grid-template-columns:1fr}.fixation-mini-card{grid-template-columns:54px minmax(0,1fr);padding:9px 10px}.fixation-mini-card-thumb{width:54px;height:54px;flex-basis:54px}.fixation-mini-card-title{font-size:.94rem}.fixation-detail-card{padding:12px}.fixation-detail-copy h2{font-size:1.1rem}.fixation-photo-strip{gap:8px}}
.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-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:1140px;border-collapse:separate;border-spacing:0 6px;table-layout:fixed}
.spare-parts-table thead th{background:rgba(231,242,250,.92);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)}
.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{min-width:854px}
.spare-parts-table.is-generic th:nth-child(1),.spare-parts-table.is-generic td:nth-child(1){width:72px}
.spare-parts-table.is-generic th:nth-child(2),.spare-parts-table.is-generic td:nth-child(2){width:112px}
.spare-parts-table.is-generic th:nth-child(3),.spare-parts-table.is-generic td:nth-child(3){width:88px}
.spare-parts-table.is-generic th:nth-child(4),.spare-parts-table.is-generic td:nth-child(4){width:58px}
.spare-parts-table.is-generic th:nth-child(5),.spare-parts-table.is-generic td:nth-child(5){width:58px}
.spare-parts-table.is-generic th:nth-child(6),.spare-parts-table.is-generic td:nth-child(6){width:64px}
.spare-parts-table.is-generic th:nth-child(7),.spare-parts-table.is-generic td:nth-child(7){width:164px}
.spare-parts-table.is-generic th:nth-child(8),.spare-parts-table.is-generic td:nth-child(8){width:92px}
.spare-parts-table.is-generic th:nth-child(9),.spare-parts-table.is-generic td:nth-child(9){width:120px}
.spare-parts-table.is-generic th:nth-child(10),.spare-parts-table.is-generic td:nth-child(10){width:40px}
.spare-parts-table.is-generic th:nth-child(11),.spare-parts-table.is-generic td:nth-child(11){width:40px}
.spare-parts-table.is-fixing{min-width:942px}
.spare-parts-table.is-fixing th:nth-child(1),.spare-parts-table.is-fixing td:nth-child(1){width:72px}
.spare-parts-table.is-fixing th:nth-child(2),.spare-parts-table.is-fixing td:nth-child(2){width:112px}
.spare-parts-table.is-fixing th:nth-child(3),.spare-parts-table.is-fixing td:nth-child(3){width:96px}
.spare-parts-table.is-fixing th:nth-child(4),.spare-parts-table.is-fixing td:nth-child(4){width:92px}
.spare-parts-table.is-fixing th:nth-child(5),.spare-parts-table.is-fixing td:nth-child(5){width:68px}
.spare-parts-table.is-fixing th:nth-child(6),.spare-parts-table.is-fixing td:nth-child(6){width:52px}
.spare-parts-table.is-fixing th:nth-child(7),.spare-parts-table.is-fixing td:nth-child(7){width:164px}
.spare-parts-table.is-fixing th:nth-child(8),.spare-parts-table.is-fixing td:nth-child(8){width:92px}
.spare-parts-table.is-fixing th:nth-child(9),.spare-parts-table.is-fixing td:nth-child(9){width:120px}
.spare-parts-table.is-fixing th:nth-child(10),.spare-parts-table.is-fixing td:nth-child(10){width:40px}
.spare-parts-table.is-fixing th:nth-child(11),.spare-parts-table.is-fixing td:nth-child(11){width:40px}
.spare-parts-table.is-dosimetry{min-width:990px}
.spare-parts-table.is-dosimetry th:nth-child(1),.spare-parts-table.is-dosimetry td:nth-child(1){width:72px}
.spare-parts-table.is-dosimetry th:nth-child(2),.spare-parts-table.is-dosimetry td:nth-child(2){width:112px}
.spare-parts-table.is-dosimetry th:nth-child(3),.spare-parts-table.is-dosimetry td:nth-child(3){width:164px}
.spare-parts-table.is-dosimetry th:nth-child(4),.spare-parts-table.is-dosimetry td:nth-child(4){width:124px}
.spare-parts-table.is-dosimetry th:nth-child(5),.spare-parts-table.is-dosimetry td:nth-child(5){width:88px}
.spare-parts-table.is-dosimetry th:nth-child(6),.spare-parts-table.is-dosimetry td:nth-child(6){width:64px}
.spare-parts-table.is-dosimetry th:nth-child(7),.spare-parts-table.is-dosimetry td:nth-child(7){width:64px}
.spare-parts-table.is-dosimetry th:nth-child(8),.spare-parts-table.is-dosimetry td:nth-child(8){width:74px}
.spare-parts-table.is-dosimetry th:nth-child(9),.spare-parts-table.is-dosimetry td:nth-child(9){width:64px}
.spare-parts-table.is-dosimetry th:nth-child(10),.spare-parts-table.is-dosimetry td:nth-child(10){width:40px}
.spare-parts-table.is-dosimetry th:nth-child(11),.spare-parts-table.is-dosimetry td:nth-child(11){width:40px}
.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{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:pointer;overflow:hidden}
.spare-photo-tile img{width:100%;height:100%;object-fit:cover;display:block}
.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:70;padding:24px}
.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(760px,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-photo-modal__gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.spare-photo-modal__figure{display:grid;gap:8px;margin:0}
.spare-photo-modal__figure img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;border:1px solid #d7e4ee;background:#f7fafc}
.spare-photo-modal__figure figcaption{font-size:13px;color:var(--text-muted)}
.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}
.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-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{background:rgba(231,242,250,.92);color:var(--text-primary);font-size:14px;font-weight:700;line-height:1.1;text-align:left;padding:12px 14px}
.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,1fr));gap:10px}.admin-fixation-photo-card{position:relative;display:grid;gap:5px;color:var(--text-muted);font-size:12px}.admin-fixation-photo-preview img{width:100%;height:110px;object-fit:cover;border-radius:10px;border:1px solid var(--content-card-border)}.admin-fixation-photo-remove{position:absolute;top:6px;right:6px;width:24px;height:24px;border:1px solid #f0c8c8;border-radius:999px;background:rgba(255,245,245,.96);color:#b33a3a;font-size:16px;line-height:1;display:grid;place-items:center;padding:0;cursor:pointer}.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}

@media (max-width:1440px){
  .spare-parts-table-wrap{--spare-table-font:12px;--spare-table-head-font:12px;--spare-table-cell-py:7px;--spare-table-cell-px:6px;--spare-table-head-py:9px;--spare-table-head-px:8px;--spare-table-control-height:34px;--spare-table-row-height:78px;--spare-table-photo-size:64px;--spare-location-code-width:68px;--spare-location-qty-width:40px;--spare-location-remove-size:17px;--spare-location-button-size:21px;--spare-location-gap:3px}
  .spare-parts-table.is-generic{min-width:778px}
  .spare-parts-table.is-generic th:nth-child(1),.spare-parts-table.is-generic td:nth-child(1){width:68px}
  .spare-parts-table.is-generic th:nth-child(2),.spare-parts-table.is-generic td:nth-child(2){width:100px}
  .spare-parts-table.is-generic th:nth-child(3),.spare-parts-table.is-generic td:nth-child(3){width:80px}
  .spare-parts-table.is-generic th:nth-child(4),.spare-parts-table.is-generic td:nth-child(4){width:54px}
  .spare-parts-table.is-generic th:nth-child(5),.spare-parts-table.is-generic td:nth-child(5){width:54px}
  .spare-parts-table.is-generic th:nth-child(6),.spare-parts-table.is-generic td:nth-child(6){width:58px}
  .spare-parts-table.is-generic th:nth-child(7),.spare-parts-table.is-generic td:nth-child(7){width:154px}
  .spare-parts-table.is-generic th:nth-child(8),.spare-parts-table.is-generic td:nth-child(8){width:82px}
  .spare-parts-table.is-generic th:nth-child(9),.spare-parts-table.is-generic td:nth-child(9){width:104px}
  .spare-parts-table.is-generic th:nth-child(10),.spare-parts-table.is-generic td:nth-child(10){width:36px}
  .spare-parts-table.is-generic th:nth-child(11),.spare-parts-table.is-generic td:nth-child(11){width:36px}
  .spare-parts-table.is-fixing{min-width:846px}
  .spare-parts-table.is-fixing th:nth-child(1),.spare-parts-table.is-fixing td:nth-child(1){width:68px}
  .spare-parts-table.is-fixing th:nth-child(2),.spare-parts-table.is-fixing td:nth-child(2){width:98px}
  .spare-parts-table.is-fixing th:nth-child(3),.spare-parts-table.is-fixing td:nth-child(3){width:84px}
  .spare-parts-table.is-fixing th:nth-child(4),.spare-parts-table.is-fixing td:nth-child(4){width:84px}
  .spare-parts-table.is-fixing th:nth-child(5),.spare-parts-table.is-fixing td:nth-child(5){width:62px}
  .spare-parts-table.is-fixing th:nth-child(6),.spare-parts-table.is-fixing td:nth-child(6){width:48px}
  .spare-parts-table.is-fixing th:nth-child(7),.spare-parts-table.is-fixing td:nth-child(7){width:154px}
  .spare-parts-table.is-fixing th:nth-child(8),.spare-parts-table.is-fixing td:nth-child(8){width:82px}
  .spare-parts-table.is-fixing th:nth-child(9),.spare-parts-table.is-fixing td:nth-child(9){width:102px}
  .spare-parts-table.is-fixing th:nth-child(10),.spare-parts-table.is-fixing td:nth-child(10){width:36px}
  .spare-parts-table.is-fixing th:nth-child(11),.spare-parts-table.is-fixing td:nth-child(11){width:36px}
  .spare-parts-table.is-dosimetry{min-width:906px}
  .spare-parts-table.is-dosimetry th:nth-child(1),.spare-parts-table.is-dosimetry td:nth-child(1){width:68px}
  .spare-parts-table.is-dosimetry th:nth-child(2),.spare-parts-table.is-dosimetry td:nth-child(2){width:98px}
  .spare-parts-table.is-dosimetry th:nth-child(3),.spare-parts-table.is-dosimetry td:nth-child(3){width:154px}
  .spare-parts-table.is-dosimetry th:nth-child(4),.spare-parts-table.is-dosimetry td:nth-child(4){width:112px}
  .spare-parts-table.is-dosimetry th:nth-child(5),.spare-parts-table.is-dosimetry td:nth-child(5){width:76px}
  .spare-parts-table.is-dosimetry th:nth-child(6),.spare-parts-table.is-dosimetry td:nth-child(6){width:58px}
  .spare-parts-table.is-dosimetry th:nth-child(7),.spare-parts-table.is-dosimetry td:nth-child(7){width:58px}
  .spare-parts-table.is-dosimetry th:nth-child(8),.spare-parts-table.is-dosimetry td:nth-child(8){width:68px}
  .spare-parts-table.is-dosimetry th:nth-child(9),.spare-parts-table.is-dosimetry td:nth-child(9){width:58px}
  .spare-parts-table.is-dosimetry th:nth-child(10),.spare-parts-table.is-dosimetry td:nth-child(10){width:36px}
  .spare-parts-table.is-dosimetry th:nth-child(11),.spare-parts-table.is-dosimetry td:nth-child(11){width:36px}
}

@media (max-width:1200px){
  .spare-parts-table-wrap{--spare-table-font:11px;--spare-table-head-font:11px;--spare-table-cell-py:6px;--spare-table-cell-px:5px;--spare-table-head-py:8px;--spare-table-head-px:6px;--spare-table-control-height:32px;--spare-table-row-height:72px;--spare-table-photo-size:58px;--spare-location-code-width:64px;--spare-location-qty-width:36px;--spare-location-remove-size:16px;--spare-location-button-size:20px;--spare-location-gap:3px}
  .spare-parts-table.is-generic{min-width:706px}
  .spare-parts-table.is-generic th:nth-child(1),.spare-parts-table.is-generic td:nth-child(1){width:60px}
  .spare-parts-table.is-generic th:nth-child(2),.spare-parts-table.is-generic td:nth-child(2){width:86px}
  .spare-parts-table.is-generic th:nth-child(3),.spare-parts-table.is-generic td:nth-child(3){width:72px}
  .spare-parts-table.is-generic th:nth-child(4),.spare-parts-table.is-generic td:nth-child(4){width:50px}
  .spare-parts-table.is-generic th:nth-child(5),.spare-parts-table.is-generic td:nth-child(5){width:50px}
  .spare-parts-table.is-generic th:nth-child(6),.spare-parts-table.is-generic td:nth-child(6){width:54px}
  .spare-parts-table.is-generic th:nth-child(7),.spare-parts-table.is-generic td:nth-child(7){width:146px}
  .spare-parts-table.is-generic th:nth-child(8),.spare-parts-table.is-generic td:nth-child(8){width:74px}
  .spare-parts-table.is-generic th:nth-child(9),.spare-parts-table.is-generic td:nth-child(9){width:94px}
  .spare-parts-table.is-generic th:nth-child(10),.spare-parts-table.is-generic td:nth-child(10){width:34px}
  .spare-parts-table.is-generic th:nth-child(11),.spare-parts-table.is-generic td:nth-child(11){width:34px}
  .spare-parts-table.is-fixing{min-width:774px}
  .spare-parts-table.is-fixing th:nth-child(1),.spare-parts-table.is-fixing td:nth-child(1){width:60px}
  .spare-parts-table.is-fixing th:nth-child(2),.spare-parts-table.is-fixing td:nth-child(2){width:86px}
  .spare-parts-table.is-fixing th:nth-child(3),.spare-parts-table.is-fixing td:nth-child(3){width:74px}
  .spare-parts-table.is-fixing th:nth-child(4),.spare-parts-table.is-fixing td:nth-child(4){width:74px}
  .spare-parts-table.is-fixing th:nth-child(5),.spare-parts-table.is-fixing td:nth-child(5){width:58px}
  .spare-parts-table.is-fixing th:nth-child(6),.spare-parts-table.is-fixing td:nth-child(6){width:44px}
  .spare-parts-table.is-fixing th:nth-child(7),.spare-parts-table.is-fixing td:nth-child(7){width:146px}
  .spare-parts-table.is-fixing th:nth-child(8),.spare-parts-table.is-fixing td:nth-child(8){width:74px}
  .spare-parts-table.is-fixing th:nth-child(9),.spare-parts-table.is-fixing td:nth-child(9){width:94px}
  .spare-parts-table.is-fixing th:nth-child(10),.spare-parts-table.is-fixing td:nth-child(10){width:34px}
  .spare-parts-table.is-fixing th:nth-child(11),.spare-parts-table.is-fixing td:nth-child(11){width:34px}
  .spare-parts-table.is-dosimetry{min-width:824px}
  .spare-parts-table.is-dosimetry th:nth-child(1),.spare-parts-table.is-dosimetry td:nth-child(1){width:60px}
  .spare-parts-table.is-dosimetry th:nth-child(2),.spare-parts-table.is-dosimetry td:nth-child(2){width:88px}
  .spare-parts-table.is-dosimetry th:nth-child(3),.spare-parts-table.is-dosimetry td:nth-child(3){width:146px}
  .spare-parts-table.is-dosimetry th:nth-child(4),.spare-parts-table.is-dosimetry td:nth-child(4){width:96px}
  .spare-parts-table.is-dosimetry th:nth-child(5),.spare-parts-table.is-dosimetry td:nth-child(5){width:66px}
  .spare-parts-table.is-dosimetry th:nth-child(6),.spare-parts-table.is-dosimetry td:nth-child(6){width:52px}
  .spare-parts-table.is-dosimetry th:nth-child(7),.spare-parts-table.is-dosimetry td:nth-child(7){width:52px}
  .spare-parts-table.is-dosimetry th:nth-child(8),.spare-parts-table.is-dosimetry td:nth-child(8){width:60px}
  .spare-parts-table.is-dosimetry th:nth-child(9),.spare-parts-table.is-dosimetry td:nth-child(9){width:52px}
  .spare-parts-table.is-dosimetry th:nth-child(10),.spare-parts-table.is-dosimetry td:nth-child(10){width:34px}
  .spare-parts-table.is-dosimetry th:nth-child(11),.spare-parts-table.is-dosimetry td:nth-child(11){width:34px}
}

@media (max-width:900px){
  .spare-parts-table-wrap{--spare-table-font:10px;--spare-table-head-font:10px;--spare-table-cell-py:5px;--spare-table-cell-px:4px;--spare-table-head-py:7px;--spare-table-head-px:5px;--spare-table-control-height:30px;--spare-table-row-height:64px;--spare-table-photo-size:48px;--spare-location-code-width:58px;--spare-location-qty-width:34px;--spare-location-remove-size:15px;--spare-location-button-size:18px;--spare-location-gap:2px}
  .spare-parts-table.is-generic{min-width:634px}
  .spare-parts-table.is-fixing{min-width:694px}
  .spare-parts-table.is-dosimetry{min-width:730px}
  .spare-parts-head-actions{align-items:flex-start}
}

/* 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-hotspot{max-width:38%}

@media (max-width:1024px){
  .fixing-hotspot-stage,
  .fixing-hotspot-stage.is-open{
    grid-template-columns:1fr !important;
    grid-template-areas:"image" "panel" !important;
  }
  .fixing-hotspot-image-wrap{
    display:block;
    max-width:560px !important;
    justify-self:center;
  }
  .fixing-hotspot{
    position:absolute !important;
    left:var(--hotspot-x) !important;
    top:var(--hotspot-y) !important;
    transform:none !important;
  }
}

@media (max-width:560px){
  .fixing-hotspot{
    padding:3px 6px;
    border-width:1px;
    font-size:clamp(9px,2.8vw,12px);
    line-height:1.05;
  }
  .fixing-hotspot span{
    font-size:inherit;
    line-height:inherit;
  }
}

@media (max-width:900px){
  .main-row-two-two{grid-template-columns:1fr}
}

@media (max-width:767px){
  .main-row-two-two .nav-card{grid-template-columns:1fr}
  .main-row-two-two .nav-card .card-media{
    width:100%;
    height:auto;
    min-height:180px;
  }
  .main-row-two-two .card-label,
  .main-row-two-two .block-collapsible-title,
  .main-row-two-two .block-collapsible-body{
    width:100%;
    min-width:0;
  }
}
@media (max-width:1100px){.fixation-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:800px){.fixation-detail-head{grid-template-columns:1fr}.fixation-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){
  .inventory-location-editor-form{grid-template-columns:1fr}
  .inventory-location-editor-preview{justify-items:stretch}
  .inventory-location-photo--empty{width:100%}
  .fixation-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .fixation-card{padding:0;gap:0;align-items:stretch;text-align:left;max-width:none;margin:0}
  .fixation-card-media{width:100%;max-height:92px;aspect-ratio:1/1;margin:0}
  .fixation-card-media .fixation-card-image{height:92px;max-height:92px}
  .fixation-card .card-label{justify-items:start;padding:8px}
  .fixation-card h2{font-size:.72rem;line-height:1.15}
  .fixation-manufacturer{font-size:.6rem}
  .fixation-tags{gap:3px}
  .fixation-tags span,.fixation-tags button{padding:2px 4px;font-size:.54rem}
  .fixation-photo-grid{grid-template-columns:1fr}
  .inventory-item-summary{grid-template-columns:46px 1fr;padding:10px}
  .inventory-item-summary img{width:46px;height:46px}
  .inventory-item-detail-main{grid-template-columns:1fr}
  .inventory-item-detail-photo{width:100%;height:220px}
  .inventory-overview-layout{grid-template-columns:1fr}
  .inventory-global-search{grid-template-columns:1fr}
  .spare-position-detail{grid-template-columns:1fr}
  .spare-position-grid{grid-template-columns:1fr}
  .spare-parts-toolbar{justify-content:flex-start}
  .spare-parts-table{table-layout:fixed}
}
