/* Libria — shared components, followed by the current visual tokens. */
:root {
  --ink: #15364b;
  --deep: #073655;
  --teal: #0b5d8a;
  --aqua: #2aa9ad;
  --sky: #e7f5f7;
  --paper: #f5fafb;
  --white: #ffffff;
  --line: #dbe8ec;
  --muted: #6a7f8b;
  --green: #16976f;
  --amber: #d2942e;
  --red: #d45858;
  --purple: #6974c8;
  --shadow: 0 18px 48px rgba(15, 60, 83, .11);
}

* { scrollbar-color: #a9cdd5 transparent; }
body {
  color: var(--ink);
  background:
    radial-gradient(circle at 92% -10%, rgba(42, 169, 173, .12), transparent 31rem),
    linear-gradient(180deg, #fbfefe 0%, #f2f8f9 100%);
  font-family: "Aptos", "Segoe UI Variable", "Segoe UI", sans-serif;
  letter-spacing: 0;
}

.serif, .welcome h1, .page-heading h1, .section-heading h2,
.panel-heading h2, .panel-heading h3, .book-card h3, .event-tile h3,
.setting-card h3, .showcase h1, .showcase h2, .showcase h3 {
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: -.025em;
}

button { transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(42, 169, 173, .35);
  outline-offset: 2px;
}

/* Header */
.topbar {
  height: 78px;
  padding: 0 30px;
  background: rgba(255, 255, 255, .94);
  border: 0;
  border-bottom: 1px solid var(--line);
  box-shadow: 0 8px 28px rgba(12, 57, 80, .06);
  backdrop-filter: blur(18px) saturate(135%);
}
.brand { gap: 12px; }
.brand-mark {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(145deg, #0b5880, #119aa2);
  box-shadow: 0 9px 24px rgba(7, 78, 111, .2);
  font: 700 22px/1 Georgia, serif;
  position: relative;
}
.brand-mark::after {
  content: "";
  position: absolute;
  width: 23px;
  height: 2px;
  bottom: 10px;
  left: 10px;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 -5px 0 rgba(255, 255, 255, .55);
}
.brand strong { color: #083a5b; font: 700 24px/1 Georgia, serif; letter-spacing: -.025em; }
.brand small { color: #3d858d; font-size: 12px; margin-top: 3px; }
.tag.purple { background: #edf6f8; color: #487383; border: 1px solid #d7e8ec; font-size: 11px; letter-spacing: .08em; }
.mode-switch { padding: 4px; background: #eef5f7; border: 1px solid #dfebee; }
.mode-switch button { padding: 9px 16px; color: #607985; font-size: 13px; }
.mode-switch .active { background: #fff; color: #08476d; box-shadow: 0 3px 11px rgba(11, 75, 105, .12); }
.icon-button { color: #315e75; }
.icon-button:hover { background: #eaf5f7; }
.avatar { background: #dfeff3; color: #0a537b; border: 1px solid #d2e6eb; }

/* Citizen application */
.app-shell { max-width: 1540px; grid-template-columns: 224px minmax(0, 1fr); }
.side {
  padding: 26px 17px;
  background: rgba(255, 255, 255, .72);
  border-right: 1px solid var(--line);
}
.nav-btn { padding: 12px 13px; border-radius: 10px; color: #58717e; }
.nav-btn:hover { background: #eaf4f6; }
.nav-btn.active { background: #07527d; color: #fff; box-shadow: 0 10px 24px rgba(5, 73, 111, .21); }
.digital-mini {
  border-radius: 16px;
  background:
    linear-gradient(125deg, rgba(255, 255, 255, .08), transparent 46%),
    linear-gradient(145deg, #07527c, #0d778f 66%, #2aa9ad);
  border: 1px solid rgba(255, 255, 255, .16);
  box-shadow: 0 18px 37px rgba(7, 66, 95, .23);
}
.hours { color: #476a78; }
.main-content { max-width: 1300px; padding: 34px clamp(24px, 4vw, 58px) 88px; }
.welcome h1, .page-heading h1 { color: #14384e; font-size: clamp(35px, 4vw, 47px); line-height: 1.04; }
.welcome p, .page-heading p { color: #6d818b; font-size: 16px; }
.eyebrow { color: #178b95; font-size: 12px; letter-spacing: .12em; }

.primary {
  color: #fff;
  border: 1px solid #075b89;
  background: linear-gradient(135deg, #075b89, #0b7b96);
  box-shadow: 0 9px 21px rgba(6, 80, 119, .18);
}
.primary:hover { background: linear-gradient(135deg, #064a71, #096d87); transform: translateY(-1px); }
.secondary { color: #07516f; border-color: rgba(255, 255, 255, .85); background: rgba(255, 255, 255, .92); }
.secondary:hover { background: #fff; transform: translateY(-1px); }
.outline { color: #315c70; background: #fff; border-color: #d3e3e7; }
.outline:hover { color: #075b82; border-color: #83bcc7; background: #fafdfe; }
.ghost, .text-link { color: #087f8e; }

.hero {
  min-height: 330px;
  margin-top: 25px;
  padding: 45px clamp(30px, 5vw, 60px);
  border-radius: 22px;
  background:
    linear-gradient(90deg, rgba(5, 47, 77, .96) 0%, rgba(6, 73, 97, .76) 47%, rgba(6, 72, 88, .2) 78%),
    url('/libria-hero-editorial.png') center 54%/cover no-repeat;
  box-shadow: 0 22px 52px rgba(6, 55, 80, .19);
  isolation: isolate;
}
.hero::before {
  inset: 0;
  background: linear-gradient(120deg, rgba(255, 255, 255, .1), transparent 37%);
  z-index: -1;
}
.hero::after {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 15px;
  pointer-events: none;
}
.hero-copy { max-width: 620px; }
.hero h2 { color: #fff; font: 700 clamp(42px, 5vw, 62px)/.98 Georgia, serif; letter-spacing: -.04em; }
.hero p { max-width: 510px; color: rgba(238, 252, 253, .83); font-size: 17px; line-height: 1.55; }
.hero .eyebrow { color: #aee7e7 !important; }
.hero-note { color: #d6eef0; }
.hero-orbit {
  right: 6%;
  top: 58px;
  width: 190px;
  height: 190px;
  border: 1px solid rgba(255,255,255,.25);
  box-shadow: inset 0 0 0 23px rgba(255,255,255,.04);
  animation: mare-float 7s ease-in-out infinite;
}
.hero-orbit span {
  width: 108px;
  height: 108px;
  color: #074568;
  background: rgba(255,255,255,.92);
  font: 700 18px/1.1 Georgia, serif;
  letter-spacing: .18em;
  box-shadow: 0 14px 35px rgba(3,34,51,.28);
}
.hero-signal { right: 22px; bottom: 20px; background: rgba(4, 42, 65, .76); border: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(12px); }

.search-panel {
  margin-top: -18px;
  position: relative;
  z-index: 4;
  padding: 14px 17px;
  border: 1px solid #d7e7eb;
  border-radius: 16px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 15px 38px rgba(10, 65, 88, .12);
}
.search-line { min-height: 38px; }
.search-line input { color: #173c50; font-size: 16px; }
.chips { gap: 8px; }
.chip { background: #f3f8f9; border-color: #e2ecef; color: #627782; }
.chip.active { color: #fff; background: #075781; border-color: #075781; }

.section { margin-top: 30px; }
.section-heading h2 { color: #153b50; font-size: 30px; }
.book-grid { gap: 14px; }
.book-card { padding: 9px; border-radius: 14px; border: 1px solid #dce8eb; background: #fff; box-shadow: 0 8px 24px rgba(16, 63, 84, .06); }
.book-card:hover { transform: translateY(-5px); border-color: #9ccbd2; box-shadow: 0 18px 37px rgba(13, 65, 88, .13); }
.book-cover { height: 184px; border-radius: 8px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.14); }
.book-cover::before { content: ""; position: absolute; inset: 0; background: linear-gradient(125deg, rgba(255,255,255,.17), transparent 42%); }
.book-cover::after { width: 130px; height: 130px; border-color: rgba(255,255,255,.24); }
.book-card h3 { color: #173b50; font-size: 17px; }
.ocean { background: linear-gradient(150deg, #07557d, #21a0aa); }
.clay { background: linear-gradient(150deg, #7d5140, #d59c69); }
.sand { background: linear-gradient(150deg, #74622f, #d0ab54); }
.ink { background: linear-gradient(150deg, #122f49, #3c7085); }
.berry { background: linear-gradient(150deg, #67405c, #a96780); }
.olive { background: linear-gradient(150deg, #316052, #73a887); }
.status.available { color: #15946d; }

.feature-card, .panel, .stat-card, .setting-card, .event-tile, .notice {
  border-color: #dce8eb;
  background: rgba(255,255,255,.96);
  box-shadow: 0 9px 27px rgba(13, 59, 80, .07);
}
.feature-card { border-radius: 15px; padding: 17px; }
.event-date, .stat-card .metric-icon, .notice-icon, .activity .activity-icon { background: #e6f4f6; color: #087596; }
.feature-icon { background: linear-gradient(145deg, #075b84, #25a7aa); }
.digital-card { border-radius: 18px; background: radial-gradient(circle at 85% 10%, rgba(119,215,213,.33), transparent 28%), linear-gradient(145deg,#074c75,#0a7390 66%,#29a8ab); box-shadow: 0 22px 49px rgba(6,68,97,.22); }
.event-art { background: linear-gradient(135deg,#07527b,#29a8ad); }
.event-art.alt { background: linear-gradient(135deg,#765442,#c48a61); }
.event-art.gold { background: linear-gradient(135deg,#6c6238,#c2a75e); }
.notice { border-radius: 13px; }

/* Management console — compact, clear, data-rich */
.admin-shell { grid-template-columns: 240px minmax(0,1fr); background: #f3f8fa; }
.admin-side {
  padding: 24px 14px;
  color: #d9ebef;
  background:
    linear-gradient(180deg, rgba(17,112,137,.12), transparent 42%),
    #073654;
  box-shadow: 12px 0 34px rgba(5,49,73,.08);
}
.admin-side::after {
  content: "LIBRIA";
  margin: auto 10px 6px;
  padding-top: 72px;
  border-top: 1px solid rgba(255,255,255,.13);
  color: rgba(255,255,255,.28);
  font: 700 30px Georgia, serif;
  letter-spacing: .12em;
}
.admin-side .admin-label { color: #82c9d1; font-size: 11px; letter-spacing: .15em; }
.admin-side .nav-btn { color: #c6dce1; border-radius: 8px; padding: 11px 12px; }
.admin-side .nav-btn:hover { color: #fff; background: rgba(255,255,255,.07); }
.admin-side .nav-btn.active { color: #fff; background: #0b678b; box-shadow: inset 3px 0 0 #5dd0cc; }
.admin-foot { display: none; }
.admin-main { padding: 29px clamp(22px, 3.5vw, 48px) 70px; }
.admin-main .page-heading h1 { color: #153b50; font-size: 38px; }
.admin-main .page-heading p { font-size: 15px; }
.stat-row { gap: 12px; margin-top: 20px; }
.stat-card { min-height: 132px; padding: 16px; border-radius: 12px; }
.stat-card:nth-child(1) { background: #edf8fb; }
.stat-card:nth-child(2) { background: #eef9f3; }
.stat-card:nth-child(3) { background: #fff8e8; }
.stat-card:nth-child(4) { background: #f1effb; }
.stat-card .metric-icon { width: 35px; height: 35px; border-radius: 9px; }
.stat-card strong { color: #173c51; font: 700 28px Georgia, serif; }
.stat-card .trend { color: #18876b; font-size: 12px; }
.admin-grid { gap: 12px; margin-top: 12px; }
.panel { padding: 17px; border-radius: 12px; }
.panel-heading h2, .panel-heading h3 { color: #163b50; font-size: 20px; }
.quick-actions { gap: 7px; }
.quick-action { min-height: 76px; padding: 11px 6px; border-radius: 9px; border-color: #d9e7ea; background: #f8fbfc; color: #365f71; font-size: 13px; }
.quick-action:hover { color: #075c82; background: #eaf6f7; transform: translateY(-2px); }
.quick-action .icon { color: #0c82a0; }
.alert-item { min-height: 54px; }
.chart-area { height: 174px; }
.bar { background: linear-gradient(180deg,#46bbc2,#0a72a0); box-shadow: none; }
.activity .activity-icon { border-radius: 8px; }
.activity h4 { color: #25495c; }

.table-panel { border-radius: 12px; }
.table-toolbar { padding: 14px; background: #f8fbfc; }
.table-search { border-color: #d8e6ea; }
.select { border-color: #d8e6ea; color: #4f6874; }
th { padding: 10px 14px; color: #677f8a; background: #eef5f7; }
td { padding: 12px 14px; border-color: #e8eff1; }
tbody tr:hover { background: #f5fbfc; }
.row-action { color: #075f83; background: #e9f5f7; border-radius: 7px; }
.row-action:hover { color: #fff; background: #08769a; }
.user-avatar { color: #075b80; background: #e4f2f5; }
.tag { border: 1px solid rgba(16, 116, 86, .1); }
.tag.amber { background: #fff4df; color: #ae7418; }
.tag.red { background: #fdecee; color: #b94b55; }
.tag.purple { background: #eef0fa; color: #5b65b1; }
.donut { background: conic-gradient(#0b6f9a 0 34%,#2aa9ad 34% 58%,#e1a13a 58% 77%,#6f76c5 77% 90%,#d7686f 90%); }
.dialog { border-radius: 17px; box-shadow: 0 35px 85px rgba(4,44,66,.32); }
.dialog-backdrop { background: rgba(4,39,61,.67); }
.toast { background: #073b5a; }
.toggle.on { background: #168c9a; }

/* Ecosystem presentation, kept coherent with the product */
.showcase { background: #062e49; }
.showcase-hero {
  min-height: calc(100vh - 8px);
  background:
    linear-gradient(90deg, rgba(4,40,64,.97) 0%, rgba(6,61,83,.84) 44%, rgba(7,74,88,.25) 79%),
    url('/libria-hero-editorial.png') center/cover no-repeat;
}
.showcase-copy h1 { max-width: 820px; color: #fff; font-size: clamp(58px,7vw,98px); line-height: .9; }
.showcase-copy h1 em, .showcase h2 em { color: #72d3d0; font-style: italic; }
.showcase-copy > p { color: #c8e0e4; font-size: 19px; }
.showcase-kicker, .preview-label { color: #73d5d2; }
.showcase-primary { color: #06425f; background: #fff; box-shadow: 0 14px 34px rgba(3,32,49,.28); }
.showcase-primary:hover { background: #e9f8f8; }
.showcase-primary.dark { color: #fff; background: #08799b; }
.showcase-outline { border-color: rgba(255,255,255,.42); background: rgba(255,255,255,.06); }
.showcase-preview { background: rgba(255,255,255,.92); border: 1px solid rgba(255,255,255,.65); color: #153b50; box-shadow: 0 30px 70px rgba(3,34,50,.3); }
.showcase-preview h2 { color: #123a50; }
.preview-top, .preview-label { color: #438291; }
.preview-top b { color: #168968; }
.preview-search { background: #edf6f8; }
.preview-search b { color: #087597; }
.preview-metrics { border-top-color: #dce8eb; color: #59717c; }
.preview-metrics b { color: #0a5379; }
.role-strip { color: #153b50; background: #fff; border-color: #dbe7ea; }
.role-strip > span { color: #158a93; }
.consult-section { color: #173b50; background: #f9fcfc; }
.consult-intro h2 em, .platform-copy h2 em { color: #0c8190; }
.experience-grid button { color: #087b93; }
.flow-section { background: radial-gradient(circle at 90% 0,rgba(42,169,173,.13),transparent 32rem),#062f49; }
.flow-grid article > span { border-color: rgba(105,211,208,.42); color: #73d3d0; }
.flow-grid article > b { color: #73d3d0; }
.platform-showcase { color: #163b50; background: linear-gradient(135deg,#edf7f9,#fff); }
.platform-copy h2 em { color: #0a7e8e; }
.platform-window { border-color: #cfe2e6; box-shadow: 0 37px 80px rgba(6,61,82,.18); }
.window-body > aside { background: #073654; }
.window-body > aside span:first-of-type { background: #0b6f91; }
.window-bar b { color: #13876a; }
.governance { background: radial-gradient(circle at 0 100%,rgba(38,165,169,.18),transparent 34rem),#052d46; }
.governance aside { background: rgba(5,61,84,.58); }
.governance aside > span b { color: #73d3d0; }
.final-cta { background: linear-gradient(90deg,rgba(4,40,64,.97),rgba(6,67,79,.44)),url('/libria-hero-editorial.png') center 60%/cover no-repeat; }
.showcase-footer { background: #04263d; }
body:has(.showcase) .topbar { color: #fff; background: rgba(4,43,67,.77); border-color: rgba(255,255,255,.14); }
body:has(.showcase) .mode-switch { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.09); }
body:has(.showcase) .mode-switch .active { color: #075071; background: #fff; }

@keyframes mare-float {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-9px); }
}

@media (max-width: 1120px) {
  .hero { min-height: 350px; }
  .hero-orbit { right: -20px; opacity: .72; }
  .book-cover { height: 184px; }
  .showcase-copy h1 { font-size: 68px; }
}

@media (max-width: 800px) {
  body { background: #f5fafb; }
  .topbar { height: 66px; margin: 8px 8px 0; top: 8px; border: 1px solid #e0ecef; border-radius: 15px; padding: 0 11px; }
  .brand-mark { width: 39px; height: 39px; }
  .brand strong { font-size: 21px; }
  .brand small { display: none; }
  .app-shell { display: block; }
  .main-content { padding: 27px 13px 106px; }
  .welcome h1, .page-heading h1 { font-size: 34px; }
  .hero { min-height: 430px; padding: 31px 23px; border-radius: 20px; background-position: 58% center; }
  .hero h2 { font-size: 43px; max-width: 330px; }
  .hero p { max-width: 310px; font-size: 16px; }
  .hero-orbit { width: 210px; height: 210px; right: -65px; top: auto; bottom: -37px; opacity: .7; }
  .hero-signal { left: 20px; right: auto; bottom: 19px; }
  .search-panel { margin-top: -15px; }
  .book-grid { gap: 11px; }
  .book-cover { height: 162px; }
  .mobile-nav { left: 10px; right: 10px; bottom: 10px; height: 70px; border: 1px solid #dce9eb; border-radius: 18px; background: rgba(255,255,255,.94); box-shadow: 0 14px 40px rgba(7,58,80,.15); }
  .mobile-nav button.active { color: #075c82; background: linear-gradient(180deg,transparent,#e6f5f6); }
  .mobile-nav button.active::before { background: #22a9aa; }
  .admin-shell { display: block; }
  .admin-side { margin: 13px 8px 0; border-radius: 16px; }
  .admin-side::after { display: none; }
  .admin-main { padding: 27px 13px 82px; }
  .admin-main .page-heading h1 { font-size: 34px; }
  .showcase { margin-top: -74px; }
  .showcase-hero { min-height: 820px; padding: 150px 22px 70px; background-position: 60% center; }
  .showcase-copy h1 { font-size: clamp(48px,14vw,64px); }
  .showcase-preview { display: none; }
  body:has(.showcase) .mode-switch { background: rgba(4,52,76,.78); }
}

@media (max-width: 430px) {
  .hero { min-height: 410px; }
  .hero h2 { font-size: 39px; }
  .book-cover { height: 151px; }
  .mode-switch button { padding: 8px 7px; font-size: 11px; }
  .tag.purple { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-orbit { animation: none; }
}

.skip-link { position: fixed; left: 12px; top: -60px; z-index: 9999; padding: 11px 16px; border-radius: 9px; color: #fff; background: #062f49; font-weight: 800; }
.skip-link:focus { top: 12px; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #f0a35e; outline-offset: 3px; }
.list-line { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.outline.danger { color: #a52b32; border-color: #e0aeb2; }
.legend i { display: inline-block; width: 10px; height: 10px; margin-right: 8px; border-radius: 3px; }
.donut:after { content: "Catalogo\A per categoria"; }


/* Libria Editorial — biblioteca contemporanea */
:root{
  --ink:#172c24;
  --deep:#0b2a21;
  --teal:#225b48;
  --aqua:#a9623b;
  --sky:#eee8dc;
  --paper:#f5f1e8;
  --white:#fffdf8;
  --line:#d8d0c2;
  --muted:#69736d;
  --green:#2b7459;
  --amber:#ad7734;
  --red:#b54f3d;
  --brass:#8b6738;
  --purple:var(--brass);
  --shadow:0 22px 56px rgba(32,48,39,.12)
}
html{background:#f5f1e8}
body{
  color:var(--ink);
  background:
    radial-gradient(circle at 96% 2%,rgba(183,151,95,.12),transparent 30rem),
    linear-gradient(180deg,#faf7f0 0%,#f2eee5 100%);
  font-family:"Aptos","Segoe UI Variable","Segoe UI",sans-serif
}
.serif,.welcome h1,.page-heading h1,.section-heading h2,.panel-heading h2,.panel-heading h3,.book-card h3,.event-tile h3,.setting-card h3,.showcase h1,.showcase h2,.showcase h3{
  font-family:"Iowan Old Style","Baskerville","Palatino Linotype",Georgia,serif;
  letter-spacing:-.026em
}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{
  outline:3px solid rgba(181,120,54,.42);
  outline-offset:3px
}

/* Header as a quiet institutional masthead */
.topbar{
  height:82px;
  padding:0 clamp(18px,2.6vw,42px);
  background:rgba(251,248,240,.94);
  border-bottom:1px solid rgba(73,84,72,.16);
  box-shadow:0 12px 40px rgba(38,48,40,.055);
  backdrop-filter:blur(20px) saturate(120%)
}
.brand{gap:12px}
.brand-mark{
  width:46px;
  height:46px;
  border-radius:4px 14px 14px 4px;
  color:#fffdf6;
  background:linear-gradient(145deg,#173f32,#0b2b22);
  box-shadow:inset 4px 0 rgba(198,151,80,.78),0 12px 25px rgba(11,42,33,.18);
  font:700 24px/1 "Iowan Old Style",Georgia,serif
}
.brand-mark::after{
  width:20px;
  height:1px;
  left:13px;
  bottom:12px;
  background:rgba(221,190,132,.85);
  box-shadow:0 -5px 0 rgba(221,190,132,.55)
}
.brand strong{color:#16372c;font:700 25px/1 "Iowan Old Style",Georgia,serif}
.brand small{color:#776c58;font-size:12px;letter-spacing:.035em}
.tag.purple,.tag.brass{
  color:#684c24;
  background:#f0e4cd;
  border:1px solid #dfcba7;
  border-radius:4px;
  font-size:10px;
  letter-spacing:.105em
}
.mode-switch{
  gap:3px;
  padding:4px;
  background:#ece6da;
  border:1px solid #ded5c6;
  border-radius:10px
}
.mode-switch button{color:#6b706a;border-radius:7px;padding:9px 15px;font-size:13px}
.mode-switch .active{color:#fff;background:#1d4b3b;box-shadow:0 5px 15px rgba(24,63,50,.18)}
.icon-button{color:#38584c}
.icon-button:hover{background:#ece6da}
.avatar{color:#fff;background:#9b603f;border:1px solid #895537}

/* Citizen app: editorial reading room */
.app-shell{max-width:1640px;grid-template-columns:236px minmax(0,1fr)}
.side{
  padding:30px 18px;
  background:rgba(250,247,239,.74);
  border-right:1px solid rgba(69,80,68,.14)
}
.nav-btn{color:#596961;border-radius:8px;padding:13px 14px}
.nav-btn:hover{color:#143d30;background:#ece6da}
.nav-btn.active{
  color:#173f32;
  background:#e8e1d4;
  box-shadow:inset 3px 0 #a36b38
}
.digital-mini{
  border:1px solid rgba(211,181,127,.35);
  border-radius:12px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.08),transparent 45%),
    linear-gradient(145deg,#153e31,#0b2a21 72%,#4a3928);
  box-shadow:0 24px 46px rgba(12,43,33,.2)
}
.digital-mini span,.digital-mini small{color:#d6c9b0}
.hours{color:#58695f}
.main-content{max-width:1370px;padding:38px clamp(24px,4vw,62px) 92px}
.welcome h1,.page-heading h1{color:#17372c;font-size:clamp(36px,4vw,50px);line-height:1}
.welcome p,.page-heading p{color:#74766f;font-size:16px}
.eyebrow{color:#966333;font-size:12px;letter-spacing:.135em}

.primary{
  color:#fff;
  border:1px solid #1d5944;
  background:#1f5a46;
  box-shadow:0 10px 24px rgba(24,78,59,.18)
}
.primary:hover{background:#143f31;transform:translateY(-1px)}
.secondary{
  color:#173d30;
  background:#fffaf0;
  border:1px solid rgba(255,255,255,.8);
  box-shadow:0 9px 24px rgba(10,31,24,.13)
}
.secondary:hover{background:#fff;transform:translateY(-1px)}
.outline{color:#345548;background:#fffdf8;border-color:#d9d0c1}
.outline:hover{color:#143f31;border-color:#ae8a58;background:#fcf8ef}
.ghost,.text-link{color:#285e49}
.chip.active{color:#fff;background:#285e49;border-color:#285e49}

.hero{
  min-height:410px;
  margin-top:28px;
  padding:52px clamp(30px,5vw,68px);
  border-radius:6px 28px 28px 6px;
  background:
    linear-gradient(90deg,rgba(8,34,26,.97) 0%,rgba(11,42,32,.9) 36%,rgba(15,43,31,.37) 67%,rgba(8,24,18,.08) 100%),
    url('/libria-hero-editorial.png') 58% center/cover no-repeat;
  box-shadow:0 28px 64px rgba(21,42,32,.2);
  isolation:isolate
}
.hero::before{
  inset:14px;
  border:1px solid rgba(230,205,157,.24);
  background:none;
  z-index:-1
}
.hero::after{
  inset:auto auto 0 0;
  width:5px;
  height:100%;
  border:0;
  border-radius:0;
  background:#b17b3e
}
.hero-copy{max-width:620px}
.hero .eyebrow{color:#e3c58e!important}
.hero h2{
  max-width:650px;
  margin:15px 0 15px;
  color:#fffdf7;
  font:600 clamp(45px,5.3vw,68px)/.96 "Iowan Old Style","Baskerville",Georgia,serif;
  letter-spacing:-.046em
}
.hero p{max-width:525px;color:rgba(249,244,232,.82);font-size:17px;line-height:1.62}
.hero-note{color:#e8ddc6}
.hero-editorial-note{
  position:absolute;
  right:30px;
  top:30px;
  width:190px;
  padding:20px;
  color:#17362b;
  background:rgba(250,246,236,.92);
  border:1px solid rgba(255,255,255,.7);
  border-radius:3px;
  box-shadow:0 20px 45px rgba(10,28,21,.22);
  backdrop-filter:blur(12px);
  transform:rotate(1.2deg)
}
.hero-editorial-note::before{content:"";position:absolute;left:15px;top:0;width:34px;height:3px;background:#a76b36}
.hero-editorial-note small,.hero-editorial-note strong,.hero-editorial-note span{display:block}
.hero-editorial-note small{color:#8e6437;font-size:10px;letter-spacing:.14em}
.hero-editorial-note strong{margin:20px 0 4px;font:650 27px "Iowan Old Style",Georgia,serif}
.hero-editorial-note span{color:#727268;font-size:12px}
.hero-signal{
  right:25px;
  bottom:22px;
  color:#f7edda;
  background:rgba(9,34,26,.74);
  border:1px solid rgba(229,200,149,.25)
}
.hero-signal i{background:#c49450}

.search-panel{
  margin-top:-20px;
  padding:15px 18px;
  border:1px solid #d9d0c2;
  border-left:4px solid #a86b36;
  border-radius:4px 16px 16px 4px;
  background:rgba(255,253,248,.97);
  box-shadow:0 18px 42px rgba(39,48,40,.11)
}
.search-line input{color:#213d32;font-size:16px}
.chip{color:#647069;background:#f8f4eb;border-color:#dfd7ca}
.section-heading h2{color:#19392e;font-size:32px}
.book-grid{gap:17px}
.book-card{
  padding:10px;
  border:1px solid #ddd5c7;
  border-radius:5px 16px 16px 5px;
  background:#fffdf8;
  box-shadow:0 11px 27px rgba(43,51,44,.06)
}
.book-card:hover{transform:translateY(-6px) rotate(-.25deg);border-color:#b79562;box-shadow:0 23px 42px rgba(40,48,41,.13)}
.book-cover{
  height:196px;
  border-radius:3px 10px 10px 3px;
  box-shadow:inset 6px 0 rgba(0,0,0,.13),inset 7px 0 rgba(255,255,255,.12),0 8px 17px rgba(28,35,30,.16)
}
.book-cover::before{background:linear-gradient(125deg,rgba(255,255,255,.2),transparent 38%)}
.book-card h3{color:#223c31;font-size:18px}
.ocean{background:linear-gradient(150deg,#173f35,#477862)}
.clay{background:linear-gradient(150deg,#7c392b,#b56546)}
.sand{background:linear-gradient(150deg,#765b2b,#b98b45)}
.ink{background:linear-gradient(150deg,#182c28,#395346)}
.berry{background:linear-gradient(150deg,#633529,#98533c)}
.olive{background:linear-gradient(150deg,#41543a,#75825a)}
.status.ready{color:#89602f}
.feature-card,.panel,.stat-card,.setting-card,.event-tile,.notice{
  border-color:#ddd5c8;
  background:rgba(255,253,248,.97);
  box-shadow:0 11px 29px rgba(39,48,40,.07)
}
.feature-card{border-radius:6px 15px 15px 6px}
.event-date,.stat-card .metric-icon,.notice-icon,.activity .activity-icon{color:#75542e;background:#eee2cc}
.feature-icon{background:#1f5b46}
.digital-card{
  border:1px solid rgba(212,179,119,.3);
  border-radius:7px 23px 23px 7px;
  background:radial-gradient(circle at 86% 12%,rgba(196,154,82,.26),transparent 27%),linear-gradient(145deg,#163f31,#0b2a21 72%,#403226);
  box-shadow:0 25px 52px rgba(14,44,34,.23)
}
.event-art{background:linear-gradient(135deg,#153f32,#4c745d)}
.event-art.alt{background:linear-gradient(135deg,#783a2d,#b86b4c)}
.event-art.gold{background:linear-gradient(135deg,#70572d,#b68a46)}

/* Management console: an operational reading room */
.admin-shell{grid-template-columns:250px minmax(0,1fr);background:#f4f0e7}
.admin-side{
  color:#e7dfcf;
  background:
    radial-gradient(circle at 15% 100%,rgba(177,123,62,.16),transparent 24rem),
    linear-gradient(180deg,#133d30,#09271f);
  box-shadow:14px 0 38px rgba(15,39,30,.09)
}
.admin-side::after{color:rgba(231,220,198,.18);border-top-color:rgba(230,207,164,.18)}
.admin-side .admin-label{color:#c5a66f}
.admin-side .nav-btn{color:#d3dbd3}
.admin-side .nav-btn:hover{color:#fff;background:rgba(255,255,255,.07)}
.admin-side .nav-btn.active{color:#fff;background:#275846;box-shadow:inset 3px 0 #c18a47}
.admin-main{padding:34px clamp(22px,3.5vw,52px) 74px}
.admin-main .page-heading h1{color:#17372c;font-size:40px}
.stat-card{border-radius:5px 14px 14px 5px}
.stat-card:nth-child(1){background:#edf3ed}
.stat-card:nth-child(2){background:#f2eddf}
.stat-card:nth-child(3){background:#f5e9dc}
.stat-card:nth-child(4){background:#e8efea}
.stat-card strong{color:#1b3a2f}
.panel{border-radius:5px 14px 14px 5px}
.panel-heading h2,.panel-heading h3{color:#1b3b30}
.quick-action{color:#3c584d;background:#faf7ef;border-color:#ded5c7}
.quick-action:hover{color:#173f31;background:#eee6d7}
.quick-action .icon{color:#9b6735}
.bar{background:linear-gradient(180deg,#bd8a4b,#2a694f);box-shadow:none}
.table-panel{border-radius:5px 14px 14px 5px}
.table-toolbar,th{background:#eee9df}
.row-action{color:#285d49;background:#e6eee8}
.row-action:hover{color:#fff;background:#245a45}
.user-avatar{color:#fff;background:#426b57}
.tag{border-color:rgba(47,97,72,.14)}
.tag.purple,.tag.brass{color:#694c23;background:#f0e3ca;border-color:#dec59b}
.donut{background:conic-gradient(#1d5844 0 34%,#648871 34% 58%,#bd8845 58% 77%,#a65a3d 77% 90%,#c3b28d 90%)}
.dialog{border-radius:6px 18px 18px 6px;box-shadow:0 38px 90px rgba(11,35,26,.32)}
.dialog-backdrop{background:rgba(8,30,23,.7)}
.toast{background:#11382b}
.toggle.on{background:#2a6b50}

/* Public ecosystem: cinematic but unmistakably bibliotecario */
.showcase{background:#0b241c}
.showcase-hero{
  min-height:calc(100vh - 8px);
  background:
    linear-gradient(90deg,rgba(7,29,22,.98) 0%,rgba(9,35,26,.91) 37%,rgba(18,41,29,.5) 63%,rgba(10,26,20,.08) 100%),
    linear-gradient(0deg,rgba(6,24,18,.62),transparent 38%),
    url('/libria-hero-editorial.png') center/cover no-repeat
}
.showcase-copy{max-width:910px}
.showcase-copy h1{
  max-width:930px;
  color:#fffaf0;
  font-size:clamp(56px,6.3vw,91px);
  line-height:.93;
  letter-spacing:-.052em
}
.showcase-copy h1 em,.showcase h2 em{color:#d2a25f;font-style:italic}
.showcase-copy>p{max-width:690px;color:#ddd5c4;font-size:19px;line-height:1.65}
.showcase-kicker,.preview-label{color:#d5a963}
.showcase-proof span{color:#ddd4c2}
.showcase-proof i{background:#c28d48;box-shadow:0 0 0 4px rgba(194,141,72,.14)}
.showcase-primary{
  color:#16382c;
  background:#f6ebd5;
  box-shadow:0 16px 38px rgba(4,19,14,.3)
}
.showcase-primary:hover{background:#fff8e9}
.showcase-primary.dark{color:#fff;background:#245c46}
.showcase-outline{color:#fff8e9;border-color:rgba(234,212,173,.45);background:rgba(10,36,27,.22)}
.showcase-preview{
  max-width:430px;
  padding:30px;
  color:#20392f;
  background:rgba(250,244,231,.94);
  border:1px solid rgba(255,255,255,.68);
  border-radius:4px 20px 20px 4px;
  box-shadow:0 34px 78px rgba(4,20,14,.3);
  backdrop-filter:blur(13px);
  transform:rotate(1deg)
}
.showcase-preview::before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:3px;background:#a96b36}
.preview-top,.preview-label{color:#8b6638}
.preview-top b{color:#2d6d52}
.showcase-preview h2{color:#19382d;font-size:39px;margin-bottom:16px}
.preview-note{color:#6f7168;font:14px/1.6 "Aptos","Segoe UI",sans-serif;margin:0 0 22px}
.preview-search{color:#5f6b64;background:#fffaf0;border:1px solid #dfd2be;box-shadow:none}
.preview-search b{color:#8b5d2e}
.preview-metrics{border-top-color:#d8cbb6;color:#746f64}
.preview-metrics b{color:#204736}
.role-strip{color:#21382f;background:#f3ede1;border-color:#d8cfc1}
.role-strip>span{color:#996532}
.consult-section{color:#203a30;background:#fbf8f1}
.consult-intro h2 em,.platform-copy h2 em{color:#9d6734}
.consult-intro>p,.experience-grid p{color:#6f766f}
.experience-grid{border-top-color:#cfc7ba}
.experience-grid article{border-right-color:#d9d1c4}
.experience-grid span,.experience-grid button{color:#8f5f31}
.flow-section{background:radial-gradient(circle at 90% 0,rgba(187,139,72,.13),transparent 32rem),#0b2a21}
.flow-grid article>span{color:#d0a260;border-color:rgba(208,162,96,.42)}
.flow-grid article>b{color:#d0a260}
.flow-grid p{color:#aebbb3}
.platform-showcase{color:#203a30;background:linear-gradient(135deg,#eee8dc,#fbf8f1)}
.platform-copy h2 em{color:#986331}
.platform-window{border-color:#cfc6b7;box-shadow:0 40px 88px rgba(28,48,38,.2)}
.window-body>aside{background:#10392c}
.window-body>aside span:first-of-type{background:#2d654f}
.window-bar b{color:#2e7457}
.window-stats span,.window-agenda{border-color:#ddd4c5;background:#fffdf8}
.window-agenda i{background:#b57c3b}
.governance{
  background:radial-gradient(circle at 0 100%,rgba(177,123,62,.18),transparent 34rem),#0a281f
}
.governance aside{background:rgba(18,57,43,.58);border-color:rgba(226,199,151,.19)}
.governance aside>span b{color:#d4a45f}
.governance-tags span{color:#d4ddd7;border-color:rgba(226,199,151,.2)}
.final-cta{
  background:
    linear-gradient(90deg,rgba(6,27,20,.98),rgba(12,42,31,.48)),
    url('/libria-hero-editorial.png') center 60%/cover no-repeat
}
.showcase-footer{background:#071d16}
body:has(.showcase) .topbar{color:#fff;background:rgba(7,30,23,.79);border-color:rgba(231,207,165,.17)}
body:has(.showcase) .brand small,body:has(.showcase) .profile small{color:#c2c9c1}
body:has(.showcase) .mode-switch{background:rgba(244,231,207,.1);border-color:rgba(234,213,177,.15)}
body:has(.showcase) .mode-switch button{color:#cdd4cd}
body:has(.showcase) .mode-switch .active{color:#183d30;background:#f8edda}
body:has(.showcase) .avatar{color:#fff;background:#9b603f}

/* Motion with restraint */
@keyframes editorial-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.showcase-copy,.showcase-preview,.welcome,.hero-copy{animation:editorial-rise .7s cubic-bezier(.2,.7,.2,1) both}
.showcase-preview{animation-delay:.12s}
.book-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}

@media(max-width:1120px){
  .hero{min-height:430px;background-position:61% center}
  .hero-editorial-note{right:20px;width:170px}
  .showcase-copy h1{font-size:68px}
}
@media(max-width:800px){
  body{background:#f6f2e9}
  .topbar{height:68px;margin:7px 7px 0;top:7px;border:1px solid #dfd6c8;border-radius:6px 15px 15px 6px;padding:0 11px}
  .brand-mark{width:40px;height:40px}
  .main-content{padding:28px 13px 110px}
  .welcome .primary{display:none}
  .hero{
    min-height:520px;
    padding:32px 23px;
    border-radius:5px 22px 22px 5px;
    background:
      linear-gradient(0deg,rgba(7,30,23,.97) 0%,rgba(8,32,24,.7) 54%,rgba(9,31,23,.14) 100%),
      url('/libria-hero-editorial.png') 63% center/cover no-repeat
  }
  .hero h2{font-size:46px;max-width:360px}
  .hero p{font-size:16px;max-width:350px}
  .hero-editorial-note{display:none}
  .hero-signal{left:21px;right:auto;bottom:19px}
  .search-panel{border-radius:4px 14px 14px 4px}
  .book-cover{height:174px}
  .mobile-nav{border:1px solid #ded5c7;border-radius:6px 19px 19px 6px;background:rgba(255,253,248,.95);box-shadow:0 18px 44px rgba(27,47,37,.16)}
  .mobile-nav button.active{color:#1e5944;background:linear-gradient(180deg,transparent,#e8eee8)}
  .mobile-nav button.active::before{background:#a86d37}
  .admin-side{margin:12px 7px 0;border-radius:6px 16px 16px 6px}
  .showcase{margin-top:-75px}
  .showcase-hero{
    min-height:850px;
    padding:150px 22px 70px;
    background:
      linear-gradient(0deg,rgba(6,26,19,.98) 0%,rgba(8,31,23,.62) 60%,rgba(10,30,22,.13)),
      url('/libria-hero-editorial.png') 60% center/cover no-repeat
  }
  .showcase-copy h1{font-size:clamp(47px,13.4vw,62px)}
  .showcase-preview{display:none}
  body:has(.showcase) .mode-switch{background:rgba(7,32,24,.78)}
  .final-cta{
    background:
      linear-gradient(0deg,rgba(6,25,19,.98),rgba(9,35,25,.17)),
      url('/libria-hero-editorial.png') 61% center/cover no-repeat
  }
}
@media(max-width:430px){
  .hero{min-height:500px}
  .hero h2{font-size:42px}
  .book-cover{height:158px}
  .tag.purple,.tag.brass{display:none}
  .mode-switch button{font-size:11px;padding:8px 7px}
}
@media(prefers-reduced-motion:reduce){
  .showcase-copy,.showcase-preview,.welcome,.hero-copy{animation:none}
}

/* Libria Neo — digital editorial lab */
:root{
  --ink:#071624;
  --deep:#071624;
  --teal:#1479ff;
  --aqua:#24c8e8;
  --sky:#eaf7ff;
  --paper:#f5f8fc;
  --white:#fff;
  --line:#dce6ef;
  --muted:#637587;
  --green:#1f9d87;
  --amber:#ff9c65;
  --red:#ed5f65;
  --purple:#1479ff;
  --shadow:0 24px 64px rgba(7,31,52,.11)
}
html{background:#f4f8fc}
body{
  color:#10283b;
  background:
    radial-gradient(circle at 86% -8%,rgba(36,200,232,.16),transparent 30rem),
    linear-gradient(180deg,#fbfdff,#f3f7fb 68%,#eef4f9);
  font-family:"Segoe UI Variable","Aptos","Segoe UI",sans-serif
}
.serif,.welcome h1,.page-heading h1,.section-heading h2,.panel-heading h2,.panel-heading h3,
.book-card h3,.event-tile h3,.setting-card h3,.showcase h1,.showcase h2,.showcase h3{
  font-family:"Segoe UI Variable","Aptos Display","Segoe UI",sans-serif;
  letter-spacing:-.035em
}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline-color:rgba(20,121,255,.38)
}

/* Navigation becomes a precise floating control surface */
.topbar{
  height:76px;
  margin:10px 12px 0;
  padding:0 22px;
  color:#112a3d;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(190,207,221,.72);
  border-radius:18px;
  box-shadow:0 14px 44px rgba(5,32,54,.1);
  backdrop-filter:blur(22px) saturate(155%)
}
.brand-mark{
  width:45px;height:45px;border-radius:14px;
  background:linear-gradient(145deg,#06213a,#1479ff 58%,#24c8e8);
  box-shadow:0 12px 26px rgba(20,121,255,.28)
}
.brand-mark::after{background:#ff7d59;box-shadow:0 -5px 0 rgba(255,255,255,.72)}
.brand strong{color:#071d31;font:750 23px/1 "Segoe UI Variable","Segoe UI",sans-serif;letter-spacing:-.04em}
.brand small{color:#567184}
.mode-switch{background:#edf3f8;border-color:#d8e3ec;border-radius:13px}
.mode-switch button{color:#5e7486;border-radius:10px}
.mode-switch .active{color:#0a3152;background:#fff;box-shadow:0 4px 15px rgba(7,40,66,.12)}
.tag.purple,.tag.brass{color:#0a5f83;background:#e7f8fd;border-color:#bdebf4}
.icon-button{color:#3d6078}.icon-button:hover{color:#0d6ee6;background:#e9f3ff}
.avatar{color:#fff;background:linear-gradient(145deg,#1479ff,#24c8e8);border:0}

/* Citizen app */
.app-shell{max-width:1640px;grid-template-columns:238px minmax(0,1fr)}
.side{margin:12px 0 12px 12px;padding:23px 14px;background:rgba(255,255,255,.67);border:1px solid #dce6ef;border-radius:18px}
.nav-btn{color:#567084;border-radius:12px}
.nav-btn:hover{color:#0c5fc3;background:#edf5ff}
.nav-btn.active{color:#fff;background:linear-gradient(135deg,#0b5fcd,#1479ff 62%,#1cbddf);box-shadow:0 13px 28px rgba(20,121,255,.25)}
.digital-mini{
  color:#fff;border-radius:18px;border:1px solid rgba(255,255,255,.14);
  background:radial-gradient(circle at 86% 14%,rgba(36,200,232,.34),transparent 34%),linear-gradient(145deg,#071a2d,#0b3f6d 64%,#106ca1);
  box-shadow:0 20px 42px rgba(7,35,59,.25)
}
.hours{color:#4f7188}
.main-content{max-width:1360px;padding:38px clamp(24px,4vw,62px) 92px}
.welcome h1,.page-heading h1{color:#0b2438;font-weight:720;font-size:clamp(36px,4vw,50px)}
.welcome p,.page-heading p{color:#677c8c}
.eyebrow{color:#0b76c8;font-weight:750;letter-spacing:.13em}
.primary{color:#fff;border-color:#0c70de;background:linear-gradient(135deg,#0b65d3,#1479ff 58%,#20bfe0);box-shadow:0 11px 25px rgba(20,121,255,.22)}
.primary:hover{background:linear-gradient(135deg,#0959bd,#0d6fe8 58%,#18afd2);transform:translateY(-1px)}
.secondary{color:#073a60;background:rgba(255,255,255,.95);border-color:rgba(255,255,255,.86)}
.outline{color:#345a74;background:#fff;border-color:#d3e0ea}
.outline:hover{color:#0967cf;border-color:#77b5ef;background:#f7fbff}
.ghost,.text-link{color:#086edc}.chip{color:#536e82;background:#edf3f8;border-color:#dbe5ed}.chip.active{color:#fff;background:#0f72e3;border-color:#0f72e3}

.hero{
  min-height:430px;margin-top:30px;padding:56px clamp(28px,5vw,70px);border-radius:26px;overflow:hidden;
  background:linear-gradient(90deg,rgba(3,17,31,.98) 0%,rgba(4,25,45,.92) 39%,rgba(7,35,59,.5) 67%,rgba(4,22,38,.08) 100%),url('/assets/libria-hero-neo-v2.jpg') 56% center/cover no-repeat;
  box-shadow:0 34px 76px rgba(6,30,51,.27)
}
.hero::before{inset:1px;border:1px solid rgba(156,223,255,.18);border-radius:25px;background:linear-gradient(120deg,rgba(36,200,232,.1),transparent 34%)}
.hero::after{left:auto;right:25px;bottom:25px;width:82px;height:3px;border:0;background:linear-gradient(90deg,#24c8e8,#ff7d59);box-shadow:0 0 24px rgba(36,200,232,.65)}
.hero-copy{max-width:650px;position:relative;z-index:1}
.hero .eyebrow{color:#5ee0f4!important}
.hero h2{max-width:680px;color:#fff;font:750 clamp(48px,5.4vw,72px)/.96 "Segoe UI Variable","Segoe UI",sans-serif;letter-spacing:-.065em}
.hero p{max-width:540px;color:#c5d8e7;font-size:17px}
.hero-note{color:#c7d9e6}
.hero-editorial-note{
  color:#eaf8ff;background:rgba(5,31,52,.72);border:1px solid rgba(94,210,244,.34);border-radius:16px;
  box-shadow:0 24px 56px rgba(0,10,22,.3);backdrop-filter:blur(18px);transform:none
}
.hero-editorial-note::before{left:19px;right:19px;width:auto;background:linear-gradient(90deg,#24c8e8,#1479ff,#ff7d59)}
.hero-editorial-note small{color:#6fe5f7}.hero-editorial-note strong{font-family:"Segoe UI Variable","Segoe UI",sans-serif}.hero-editorial-note span{color:#bcd0de}
.hero-signal{color:#eaf7ff;background:rgba(5,25,42,.72);border-color:rgba(89,211,242,.28);backdrop-filter:blur(14px)}
.hero-signal i{background:#24c8e8;box-shadow:0 0 0 5px rgba(36,200,232,.15),0 0 24px #24c8e8}

.search-panel{margin-top:-21px;padding:15px 18px;border:1px solid #d5e2ec;border-left:0;border-radius:16px;background:rgba(255,255,255,.92);box-shadow:0 20px 48px rgba(8,37,60,.12);backdrop-filter:blur(18px)}
.search-panel::before{content:"";position:absolute;left:24px;right:24px;top:0;height:2px;background:linear-gradient(90deg,#1479ff,#24c8e8 55%,#ff7d59);border-radius:2px}
.search-line input{color:#153249}
.section-heading h2{color:#0c263a;font-size:34px}

/* Real visual catalog covers */
.book-grid{gap:20px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.book-card{padding:0;overflow:hidden;text-align:left;border:1px solid #d9e4ed;border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 14px 34px rgba(7,34,57,.08)}
.book-card:hover{transform:translateY(-8px);border-color:#8dccf4;box-shadow:0 26px 52px rgba(7,43,72,.17)}
.book-cover{position:relative;display:flex;height:264px;border-radius:17px 17px 0 0;background-size:cover;background-position:center;box-shadow:none;overflow:hidden;isolation:isolate}
.book-cover::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,14,26,.05) 28%,rgba(3,17,30,.89) 100%);z-index:0}
.book-cover::after{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.22);border-radius:10px;z-index:1}
.cover-scrim{position:absolute;inset:0;background:linear-gradient(125deg,rgba(36,200,232,.08),transparent 45%);z-index:1}
.cover-meta{position:absolute;z-index:2;left:22px;top:21px;color:#e9faff;font-size:10px;font-weight:760;letter-spacing:.13em;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.cover-title{position:absolute;z-index:2;left:22px;right:22px;bottom:22px;color:#fff}
.cover-title b{display:block;font:750 21px/1.02 "Segoe UI Variable","Segoe UI",sans-serif;letter-spacing:-.04em;text-shadow:0 3px 18px rgba(0,0,0,.48)}
.cover-title small{display:block;margin-top:8px;color:#d7e9f4;font-size:12px}
.book-info{display:block;padding:16px 17px 17px}.book-format{color:#0875cc;font-size:10px;font-weight:780;letter-spacing:.11em;text-transform:uppercase}
.book-card h3{margin-top:8px;color:#102d43;font-size:18px;line-height:1.14}.book-card p{color:#718392}.book-bottom{margin-top:14px}
.status.available{color:#06776a;background:#e6f8f4}.status.loaned{color:#b95736;background:#fff0e9}
.book-specs{padding-top:13px;color:#516d80!important;border-top:1px solid #e3ebf2;font-size:13px}
.dialog-book .book-cover{min-width:220px;height:318px;border-radius:16px}.dialog{border-radius:22px;box-shadow:0 42px 100px rgba(3,24,42,.32)}
.dialog-backdrop{background:rgba(2,15,27,.75);backdrop-filter:blur(10px)}

.feature-card,.panel,.stat-card,.setting-card,.event-tile,.notice{border-color:#dbe5ed;background:rgba(255,255,255,.94);box-shadow:0 15px 36px rgba(7,36,59,.07)}
.feature-card,.panel,.stat-card,.setting-card,.event-tile,.notice,.table-panel{border-radius:17px}
.event-date,.stat-card .metric-icon,.notice-icon,.activity .activity-icon{color:#0b6fd4;background:#e7f2ff}
.feature-icon{color:#fff;background:linear-gradient(135deg,#0d72e0,#22c3e2)}
.digital-card{border-color:rgba(83,210,244,.22);border-radius:22px;background:radial-gradient(circle at 86% 10%,rgba(36,200,232,.32),transparent 28%),linear-gradient(145deg,#07182a,#093b65 67%,#0c6e9c);box-shadow:0 28px 62px rgba(5,35,59,.25)}
.event-art{background:linear-gradient(135deg,#082640,#0f70c6)}.event-art.alt{background:linear-gradient(135deg,#0a3858,#1a9fbe)}.event-art.gold{background:linear-gradient(135deg,#123857,#ff7654)}

/* Management control room */
.admin-shell{grid-template-columns:258px minmax(0,1fr);background:linear-gradient(135deg,#eef4f9,#f8fbfd)}
.admin-side{margin:12px 0 12px 12px;color:#d9e9f4;border-radius:20px;background:radial-gradient(circle at 20% 100%,rgba(20,121,255,.28),transparent 26rem),linear-gradient(180deg,#071a2c,#06243c);box-shadow:16px 0 42px rgba(5,29,49,.12)}
.admin-side::after{color:rgba(151,213,241,.18);border-top-color:rgba(126,196,228,.18)}
.admin-side .admin-label{color:#58d8ef}.admin-side .nav-btn{color:#bfd0dc}.admin-side .nav-btn:hover{color:#fff;background:rgba(255,255,255,.07)}
.admin-side .nav-btn.active{color:#fff;background:linear-gradient(90deg,rgba(20,121,255,.32),rgba(36,200,232,.12));box-shadow:inset 3px 0 #35d1e9}
.admin-main{padding:38px clamp(24px,3.8vw,56px) 78px}.admin-main .page-heading h1{color:#0b263b;font-size:42px}
.stat-card{overflow:hidden}.stat-card::after{content:"";position:absolute;right:-22px;top:-26px;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle,rgba(36,200,232,.13),transparent 68%)}
.stat-card:nth-child(1),.stat-card:nth-child(2),.stat-card:nth-child(3),.stat-card:nth-child(4){background:rgba(255,255,255,.96)}
.stat-card strong{color:#0d2d44}.panel-heading h2,.panel-heading h3{color:#102f46}
.quick-action{color:#315b77;background:#f8fbfe;border-color:#dce7ef}.quick-action:hover{color:#0968cf;background:#edf6ff}.quick-action .icon{color:#0f7bdc}
.bar{background:linear-gradient(180deg,#27cce6,#1479ff);box-shadow:0 8px 18px rgba(20,121,255,.2)}
.table-toolbar,th{background:#edf3f8}.row-action{color:#0b64bd;background:#e9f3ff}.row-action:hover{color:#fff;background:#0f73e3}.user-avatar{color:#fff;background:linear-gradient(145deg,#126fe0,#26c4df)}
.tag{border-color:rgba(34,117,170,.14)}.donut{background:conic-gradient(#1479ff 0 34%,#24c8e8 34% 58%,#ff7d59 58% 77%,#3f769c 77% 90%,#b7c8d6 90%)}
.toast{background:#082b47;border:1px solid rgba(77,206,237,.28)}.toggle.on{background:#1479ff}

/* Public ecosystem */
.showcase{background:#061725}
.showcase-hero{min-height:calc(100vh - 8px);background:linear-gradient(90deg,rgba(2,13,25,.99) 0%,rgba(3,19,34,.94) 38%,rgba(4,26,45,.48) 66%,rgba(3,18,31,.08) 100%),linear-gradient(0deg,rgba(2,15,26,.62),transparent 40%),url('/assets/libria-hero-neo-v2.jpg') center/cover no-repeat}
.showcase-copy h1{max-width:1000px;color:#f7fbff;font-size:clamp(58px,6.6vw,98px);font-weight:760;line-height:.9;letter-spacing:-.07em}
.showcase-copy h1 em,.showcase h2 em{color:#51d8ef;font-style:normal}
.showcase-copy>p{max-width:720px;color:#c4d6e4;font-size:19px}.showcase-kicker,.preview-label{color:#5ddff3}
.showcase-proof span{color:#c6d7e3}.showcase-proof i{background:#29cae7;box-shadow:0 0 0 4px rgba(36,200,232,.14),0 0 18px rgba(36,200,232,.55)}
.showcase-primary{color:#06233a;background:linear-gradient(135deg,#fff,#dff8ff);box-shadow:0 18px 42px rgba(1,12,23,.32)}.showcase-primary:hover{background:#fff}
.showcase-primary.dark{color:#fff;background:linear-gradient(135deg,#0b64d5,#1baed4)}
.showcase-outline{color:#f2fbff;border-color:rgba(102,211,239,.36);background:rgba(7,36,57,.34);backdrop-filter:blur(12px)}
.showcase-preview{max-width:440px;padding:30px;color:#e8f7ff;background:rgba(4,26,44,.72);border:1px solid rgba(98,213,240,.3);border-radius:20px;box-shadow:0 38px 90px rgba(0,11,23,.38);backdrop-filter:blur(22px);transform:none}
.showcase-preview::before{left:24px;right:24px;top:0;bottom:auto;width:auto;height:2px;background:linear-gradient(90deg,#24c8e8,#1479ff,#ff7d59)}
.preview-top,.preview-label{color:#62e1f2}.preview-top b{color:#ff9a79}.showcase-preview h2{color:#fff;font-size:41px}.preview-note{color:#b9cfdc}
.preview-search{color:#d9eaf3;background:rgba(255,255,255,.08);border-color:rgba(154,218,237,.22)}.preview-search b{color:#4bd8ed}.preview-metrics{border-top-color:rgba(142,207,228,.2);color:#afc4d2}.preview-metrics b{color:#fff}
.role-strip{color:#dbe9f2;background:#0a2135;border-color:#173c58}.role-strip>span{color:#4dd8ef}
.consult-section{color:#163449;background:#f7fbfe}.consult-intro h2 em,.platform-copy h2 em{color:#0c75db}.consult-intro>p,.experience-grid p{color:#697d8d}
.experience-grid{border-top-color:#d5e3ed}.experience-grid article{border-right-color:#dce7ef}.experience-grid span,.experience-grid button{color:#0876d7}
.flow-section{background:radial-gradient(circle at 90% 0,rgba(20,121,255,.23),transparent 33rem),radial-gradient(circle at 0 100%,rgba(255,125,89,.09),transparent 28rem),#061a2b}.flow-grid article>span{color:#58dff2;border-color:rgba(88,223,242,.4)}.flow-grid article>b{color:#58dff2}.flow-grid p{color:#adc3d2}
.platform-showcase{color:#15364e;background:linear-gradient(135deg,#e7f1f8,#fbfdff)}.platform-copy h2 em{color:#0b75df}.platform-window{border-color:#cbdce8;box-shadow:0 42px 92px rgba(5,42,69,.19)}
.window-body>aside{background:#07243b}.window-body>aside span:first-of-type{background:#0f6fd4}.window-bar b{color:#0b73ce}.window-stats span,.window-agenda{border-color:#d9e5ed;background:#fff}.window-agenda i{background:#20c2df}
.governance{background:radial-gradient(circle at 0 100%,rgba(20,121,255,.25),transparent 34rem),#051725}.governance aside{background:rgba(10,46,73,.62);border-color:rgba(83,204,235,.22)}.governance aside>span b{color:#56dcf1}.governance-tags span{color:#d1e0e9;border-color:rgba(100,206,234,.2)}
.final-cta{background:linear-gradient(90deg,rgba(2,15,27,.98),rgba(4,30,51,.42)),url('/assets/libria-hero-neo-v2.jpg') center 58%/cover no-repeat}.showcase-footer{background:#03111d}
body:has(.showcase) .topbar{color:#fff;background:rgba(3,20,34,.78);border-color:rgba(90,207,236,.2)}
body:has(.showcase) .brand strong{color:#fff}body:has(.showcase) .brand small,body:has(.showcase) .profile small{color:#b8cfdd}
body:has(.showcase) .mode-switch{background:rgba(255,255,255,.07);border-color:rgba(115,207,231,.18)}body:has(.showcase) .mode-switch button{color:#bed2df}body:has(.showcase) .mode-switch .active{color:#073052;background:#eefbff}
body:has(.showcase) .avatar{background:linear-gradient(145deg,#1479ff,#27c9e5)}

@keyframes neo-rise{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes neo-pulse{0%,100%{box-shadow:0 0 0 4px rgba(36,200,232,.14),0 0 14px rgba(36,200,232,.4)}50%{box-shadow:0 0 0 7px rgba(36,200,232,.08),0 0 26px rgba(36,200,232,.72)}}
.showcase-copy,.showcase-preview,.welcome,.hero-copy{animation:neo-rise .72s cubic-bezier(.16,.8,.22,1) both}.showcase-preview{animation-delay:.12s}.showcase-proof i,.hero-signal i{animation:neo-pulse 2.7s ease-in-out infinite}

@media(max-width:1120px){.showcase-copy h1{font-size:72px}.book-grid{grid-template-columns:repeat(auto-fill,minmax(175px,1fr))}}
@media(max-width:800px){
  body{background:#f3f7fb}.topbar{height:67px;margin:7px 7px 0;padding:0 10px;border-color:#d8e4ed;border-radius:15px}.brand-mark{width:40px;height:40px;border-radius:12px}
  .main-content{padding:28px 13px 112px}.welcome .primary{display:none}
  .hero{min-height:540px;padding:34px 23px;border-radius:20px;background:linear-gradient(0deg,rgba(3,18,31,.98) 0%,rgba(4,27,47,.73) 57%,rgba(6,31,52,.12) 100%),url('/assets/libria-hero-neo-v2.jpg') 64% center/cover no-repeat}
  .hero h2{font-size:47px;max-width:380px}.hero p{font-size:16px;max-width:365px}.hero-editorial-note{display:none}.hero-signal{left:21px;right:auto;bottom:20px}
  .search-panel{border-radius:15px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.book-cover{height:226px}.book-info{padding:13px}.cover-meta{left:16px;top:16px}.cover-title{left:16px;right:16px;bottom:17px}.cover-title b{font-size:18px}
  .mobile-nav{border:1px solid #d7e3ec;border-radius:17px;background:rgba(255,255,255,.94);box-shadow:0 20px 46px rgba(7,35,57,.16)}.mobile-nav button.active{color:#0b6fd8;background:linear-gradient(180deg,transparent,#e8f3ff)}.mobile-nav button.active::before{background:linear-gradient(90deg,#1479ff,#24c8e8)}
  .admin-side{margin:12px 7px 0;border-radius:18px}.showcase{margin-top:-74px}.showcase-hero{min-height:860px;padding:148px 22px 72px;background:linear-gradient(0deg,rgba(2,15,27,.98) 0%,rgba(3,22,39,.66) 60%,rgba(4,25,43,.08)),url('/assets/libria-hero-neo-v2.jpg') 63% center/cover no-repeat}.showcase-copy h1{font-size:clamp(48px,13.4vw,64px)}.showcase-preview{display:none}.final-cta{background:linear-gradient(0deg,rgba(2,15,27,.98),rgba(4,29,49,.2)),url('/assets/libria-hero-neo-v2.jpg') 62% center/cover no-repeat}
}
@media(max-width:430px){.hero{min-height:515px}.hero h2{font-size:43px}.book-cover{height:205px}.cover-title b{font-size:16px}.book-card h3{font-size:16px}.tag.purple,.tag.brass{display:none}.mode-switch button{font-size:11px;padding:8px 7px}}
@media(prefers-reduced-motion:reduce){.showcase-copy,.showcase-preview,.welcome,.hero-copy,.showcase-proof i,.hero-signal i{animation:none}}
/* Current direction: precise typography, quiet surfaces, clear operational hierarchy. */
:root {
  --type-page: clamp(1.5rem, 2.15vw, 1.875rem);
  --type-section: clamp(1.125rem, 1.65vw, 1.375rem);
  --type-display: clamp(1.875rem, 3.1vw, 2.75rem);
  --type-body: 1rem;
  --type-label: .875rem;
  --type-meta: .75rem;
  --shadow: 0 8px 28px rgba(13, 39, 60, .06);
}
body { font-size: var(--type-body); line-height: 1.5; background: #f5f7fa; }
h1,h2,h3,h4 { text-wrap: balance; }
p { text-wrap: pretty; }
button,input,select,textarea { font-family: inherit; }
button { font-size: var(--type-label); font-weight: 600; }
.topbar { height: 68px; margin: 0; padding: 0 24px; border-radius: 0; border-width: 0 0 1px; box-shadow: none; top: 0; }
.topbar::after { display: none; }
.brand-mark { width: 36px; height: 36px; border-radius: 10px; box-shadow: none; }
.brand-mark::after { left: 8px; width: 20px; bottom: 9px; }
.brand strong { font-size: 1.25rem; font-weight: 700; letter-spacing: -.035em; }
.brand small,.profile small { font-size: var(--type-meta); letter-spacing: .015em; }
.mode-switch { border-radius: 9px; padding: 3px; }
.mode-switch button { padding: 7px 13px; border-radius: 6px; font-size: var(--type-label); font-weight: 600; }
.mode-switch .active { box-shadow: 0 1px 4px #142e4712; }
.profile i { font-size: var(--type-label); font-weight: 600; }
.avatar { width: 34px; height: 34px; font-size: var(--type-label); background: #eaf2fb; color: #185d9e; }
.tag,.tag.brass,.tag.purple { font-size: var(--type-meta); letter-spacing: .015em; padding: 4px 8px; font-weight: 600; }
.app-shell { max-width: 1520px; grid-template-columns: 214px minmax(0,1fr); }
.side { margin: 0; border: 0; border-right: 1px solid #e0e7ee; border-radius: 0; padding: 25px 15px; gap: 22px; }
.nav-btn { padding: 11px 12px; font-size: var(--type-label); font-weight: 600; border-radius: 8px; }
.nav-btn.active { color: #125b9c; background: #e6f0fb; box-shadow: inset 3px 0 #287bcb; }
.digital-mini { border-radius: 12px; padding: 16px; box-shadow: none; }
.digital-mini strong { font-size: var(--type-body); letter-spacing: .03em; }
.main-content { max-width: 1240px; padding: 28px clamp(20px,3vw,44px) 72px; }
.welcome,.page-heading { align-items: center; gap: 20px; margin-bottom: 22px; }
.welcome h1,.page-heading h1,.admin-main .page-heading h1 {
  font-size: var(--type-page); font-weight: 650; line-height: 1.2; letter-spacing: -.035em; margin: 5px 0 8px;
}
.welcome p,.page-heading p,.admin-main .page-heading p {
  font-size: var(--type-body); line-height: 1.5; max-width: 65ch; margin: 0; color: #5f7384;
}
.eyebrow,.showcase-kicker,.preview-label { font-size: var(--type-meta); line-height: 1.45; letter-spacing: .09em; font-weight: 650; }
.primary,.secondary,.outline { border-radius: 8px; padding: 10px 16px; min-height: 42px; font-size: var(--type-label); box-shadow: none; }
.primary { background: #1568bd; border-color: #1568bd; }
.primary:hover { background: #105ca8; transform: translateY(-1px); }
.text-link,.ghost { font-size: var(--type-label); font-weight: 600; }
.hero {
  min-height: 268px; margin: 0; padding: 32px 36px; border-radius: 16px;
  box-shadow: 0 12px 32px rgba(6,30,51,.12);
  background: linear-gradient(90deg,rgba(3,17,31,.98),rgba(4,25,45,.88) 49%,rgba(7,35,59,.18) 83%),url('/assets/libria-hero-neo-v2.jpg') 60% center/cover no-repeat;
}
.hero::before { border-radius: 15px; }
.hero::after,.hero-signal { display: none; }
.hero-copy { max-width: 540px; }
.hero h2 { font-size: clamp(1.75rem,2.8vw,2.375rem); font-weight: 650; line-height: 1.13; letter-spacing: -.04em; max-width: 26ch; margin: 10px 0 14px; }
.hero p { font-size: var(--type-body); line-height: 1.55; max-width: 47ch; margin: 0; }
.hero-actions { margin-top: 22px; gap: 18px; }
.hero-note { font-size: var(--type-meta); }
.hero-editorial-note { right: 30px; bottom: 30px; top: auto; width: 180px; padding: 17px; border-radius: 10px; box-shadow: none; }
.hero-editorial-note small { font-size: var(--type-meta); letter-spacing: .06em; }
.hero-editorial-note strong { font-size: 1.625rem; font-weight: 600; line-height: 1.3; margin: 8px 0; }
.hero-editorial-note span { font-size: var(--type-meta); }
.search-panel { margin-top: 18px; padding: 12px 16px; border: 1px solid #dce5ed; border-radius: 10px; box-shadow: 0 4px 14px #173d5510; background: #fff; }
.search-panel::before { display: none; }
.search-line input { font-size: var(--type-body); }
.chips { flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.chip { font-size: var(--type-label); font-weight: 500; padding: 6px 12px; border-radius: 6px; }
.section { margin-top: 28px; }
.section-heading { margin-bottom: 16px; gap: 12px; align-items: center; }
.section-heading h2,.panel-heading h2,.panel-heading h3 { font-size: var(--type-section); line-height: 1.25; font-weight: 650; letter-spacing: -.025em; margin: 4px 0; }
.section-heading .eyebrow { color: #6b7e8e; }
.book-grid { gap: 16px; grid-template-columns: repeat(auto-fill,minmax(170px,1fr)); }
.book-card { border-radius: 11px; border-color: #e0e7ee; box-shadow: 0 4px 15px #152c4310; }
.book-card:hover { transform: translateY(-4px); border-color: #a4bfd6; box-shadow: 0 12px 25px #152c4319; }
.book-cover { height: 224px; border-radius: 10px 10px 0 0; }
.book-cover::after { inset: 12px; border-radius: 4px; border-color: #ffffff28; }
.cover-meta { left: 17px; top: 17px; font-size: var(--type-meta); letter-spacing: .04em; }
.cover-title { left: 17px; right: 17px; bottom: 18px; }
.cover-title b { font-size: 1.0625rem; line-height: 1.17; letter-spacing: -.02em; }
.cover-title small { font-size: var(--type-meta); line-height: 1.4; }
.book-info { padding: 14px; }
.book-format { font-size: var(--type-meta); letter-spacing: .045em; }
.book-card h3 { font-size: var(--type-body); line-height: 1.3; letter-spacing: -.015em; font-weight: 650; min-height: 0; margin-top: 6px; }
.book-card p { font-size: var(--type-label); line-height: 1.4; margin-top: 5px; }
.book-bottom { margin-top: 12px; }
.status { font-size: var(--type-meta); font-weight: 600; padding: 4px 7px; }
.panel,.feature-card,.event-tile,.setting-card,.notice,.table-panel { border-radius: 12px; box-shadow: 0 4px 18px #14354e08; }
.panel { padding: 22px; }
.panel-heading p { font-size: var(--type-label); line-height: 1.5; margin-top: 5px; max-width: 58ch; }
.feature-card h3,.event-tile h3,.setting-card h3,.notice h3,.loan-item h4 { font-size: 1.0625rem; font-weight: 650; line-height: 1.3; letter-spacing: -.02em; }
.feature-card p,.event-tile p,.setting-card p,.notice p { font-size: var(--type-label); line-height: 1.55; }
.event-art { height: 140px; }
.event-date span { font-size: 1.625rem; font-weight: 650; }
.event-meta { font-size: var(--type-label); flex-wrap: wrap; }
.digital-card { border-radius: 16px; min-height: 240px; padding: 26px; }
.dc-brand { font-size: 1.625rem; }.dc-number { font-size: 1.375rem; letter-spacing: .08em; }.dc-name { font-size: var(--type-body); }
.admin-shell { grid-template-columns: 226px minmax(0,1fr); background: #f5f7fa; }
.admin-side { margin: 0; border-radius: 0; padding: 26px 14px; box-shadow: none; background: #0b2337; }
.admin-side::after { display: none; }
.admin-label { font-size: var(--type-meta); }
.admin-side .nav-btn.active { background: #173c5b; box-shadow: inset 3px 0 #57b5df; }
.admin-main { padding: 28px clamp(20px,3vw,42px) 72px; }
.stat-row { gap: 14px; margin: 22px 0; }
.stat-card { padding: 20px; border-radius: 11px; box-shadow: none; }
.stat-card::after { display: none; }
.stat-card strong { font-size: 1.875rem; font-weight: 650; line-height: 1.2; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.stat-card small { font-size: var(--type-label); }
.stat-card .trend { font-size: var(--type-meta); color: #6c8091; }
.stat-card .metric-icon { width: 32px; height: 32px; font-size: 1.125rem; border-radius: 8px; }
.admin-grid,.lower-grid { gap: 20px; }
.alert-item strong,.activity h4 { font-size: var(--type-label); font-weight: 600; line-height: 1.45; }
.alert-item small,.activity p,.activity time { font-size: var(--type-meta); line-height: 1.5; }
.quick-action { border-radius: 8px; padding: 14px 10px; font-size: var(--type-label); font-weight: 500; }
table { font-size: var(--type-label); }td,th { padding: 13px 16px; line-height: 1.45; }
td strong { font-family: inherit; font-size: var(--type-label); font-weight: 600; }
th { font-size: var(--type-meta); letter-spacing: .035em; font-weight: 650; color: #516b80; }
.row-action,.select { font-size: var(--type-label); border-radius: 6px; }
.table-panel { padding: 0; }.table-panel .panel-heading { padding: 20px 22px; }
.table-toolbar { padding: 14px 18px; gap: 10px; flex-wrap: wrap; background: #fafbfd; }
.table-search input { font-size: var(--type-label); }
.dialog { border-radius: 14px; }.dialog-head h2,.dialog h2 { font-size: 1.375rem; line-height: 1.25; }
.dialog p,.field input,.field textarea,.field select { font-size: var(--type-body); }.field label { font-size: var(--type-label); }
.dialog-book .book-cover { min-width: 175px; height: 268px; }.dialog-actions { flex-wrap: wrap; }
.showcase-hero { min-height: 650px; padding-top: 150px; padding-bottom: 80px; grid-template-columns: minmax(0,1fr) minmax(260px,.55fr); gap: 5vw; }
.showcase-copy h1 { font-size: clamp(2rem,3.8vw,3.375rem); line-height: 1.08; letter-spacing: -.045em; font-weight: 650; max-width: 22ch; }
.showcase-copy>p { font-size: var(--type-body); line-height: 1.65; max-width: 58ch; margin-top: 24px; }
.showcase-kicker { margin-bottom: 18px; }
.showcase-actions { gap: 12px; margin-top: 28px; flex-wrap: wrap; }
.showcase-primary,.showcase-outline { font-size: var(--type-label); border-radius: 8px; padding: 13px 18px; font-weight: 600; box-shadow: none; min-height: 44px; }
.showcase-proof { gap: 16px; margin-top: 26px; flex-wrap: wrap; }
.showcase-proof span { font-size: var(--type-meta); }
.showcase-proof i { display: none; }
.showcase-preview { padding: 26px; border-radius: 13px; box-shadow: 0 16px 50px #00000020; }
.showcase-preview h2 { font-size: 1.75rem; font-weight: 600; line-height: 1.2; margin: 16px 0; letter-spacing: -.03em; }
.preview-top,.preview-label,.preview-metrics { font-size: var(--type-meta); }
.preview-note { font-size: var(--type-label); line-height: 1.6; }
.preview-search { font-size: var(--type-label); }.preview-metrics b { font-size: 1.5rem; }
.consult-section,.flow-section,.platform-showcase,.governance { padding-top: 76px; padding-bottom: 76px; }
.consult-intro h2,.flow-intro h2,.platform-copy h2,.governance h2,.final-cta h2 {
  font-size: var(--type-display); font-weight: 650; line-height: 1.15; letter-spacing: -.035em;
}
.flow-intro .showcase-kicker { grid-column: 1 / -1; margin: 0; }
.flow-intro { row-gap: 18px; }
.consult-intro>p,.flow-intro>p,.platform-copy p,.governance>div>p,.final-cta p { font-size: var(--type-body); line-height: 1.65; }
.experience-grid,.flow-grid { margin-top: 38px; }
.experience-grid article { min-height: 250px; }
.experience-grid h3 { font-size: 1.375rem; line-height: 1.25; margin-top: 22px; font-weight: 600; }
.experience-grid span,.flow-grid article>b,.flow-grid article>span,.flow-grid small { font-size: var(--type-meta); letter-spacing: .045em; }
.experience-grid p,.flow-grid p { font-size: var(--type-body); }
.flow-grid article { min-height: 270px; }.flow-grid h3 { font-size: 1.125rem; font-weight: 650; line-height: 1.3; }
.window-body h3 { font-family: inherit; font-size: 1.375rem; line-height: 1.25; font-weight: 650; }
.window-body>aside strong,.window-stats b { font-family: inherit; }
.governance-tags span,.role-strip>span,.role-strip small { font-size: var(--type-meta); letter-spacing: .03em; }
.role-strip b { font-size: var(--type-label); }.role-strip article { padding-top: 22px; padding-bottom: 22px; }
.governance aside { border-radius: 12px; }.governance aside>span { font-size: var(--type-meta); letter-spacing: .03em; }
.final-cta { min-height: 390px; padding-top: 72px; padding-bottom: 72px; }
.showcase-footer { padding-top: 32px; padding-bottom: 32px; }
.showcase-footer div strong { font: 650 1.25rem/1.3 "Segoe UI",sans-serif; }
@media(max-width:1120px) {
  .app-shell { grid-template-columns: 194px minmax(0,1fr); }
  .admin-shell { grid-template-columns: 208px minmax(0,1fr); }
  .hero-editorial-note { display: none; }
  .showcase-hero { grid-template-columns: minmax(0,1fr) minmax(245px,.65fr); gap: 28px; }
  .showcase-copy h1 { font-size: 2.75rem; }
}
@media(max-width:800px) {
  .topbar { height: 62px; margin: 0; padding: 0 14px; border-radius: 0; }
  .brand-mark { width: 34px; height: 34px; }.brand strong { font-size: 1.1875rem; }
  .app-shell { display: block; }.main-content { padding: 22px 16px 102px; }
  .welcome,.page-heading { gap: 12px; margin-bottom: 18px; flex-wrap: wrap; align-items: flex-start; }
  .welcome h1,.page-heading h1,.admin-main .page-heading h1 { font-size: 1.5rem; line-height: 1.2; }
  .welcome p,.page-heading p { font-size: .9375rem; }
  .hero { min-height: 0; padding: 26px 23px; border-radius: 12px; background: linear-gradient(90deg,rgba(3,17,31,.96),rgba(4,25,45,.79)),url('/assets/libria-hero-neo-v2.jpg') 62% center/cover no-repeat; }
  .hero h2 { font-size: 1.75rem; line-height: 1.15; max-width: 22ch; margin: 10px 0 12px; }
  .hero p { font-size: .9375rem; line-height: 1.55; max-width: 45ch; }
  .hero-actions { margin-top: 18px; }.hero-note { display: none; }
  .search-panel { margin-top: 14px; padding: 10px 13px; }
  .section { margin-top: 24px; }.section-heading h2 { font-size: 1.1875rem; }
  .book-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .book-cover { height: 202px; }.book-info { padding: 12px; }
  .book-card h3 { font-size: .9375rem; line-height: 1.35; min-height: 0; }.book-card p { font-size: var(--type-label); }
  .cover-title,.cover-meta { left: 13px; right: 13px; }.cover-title b { font-size: 1rem; line-height: 1.2; }
  .cover-meta { font-size: var(--type-meta); }.cover-title small { font-size: var(--type-meta); }
  .book-bottom { gap: 4px; }.status { padding: 4px 6px; font-size: var(--type-meta); }
  .mobile-nav { height: 62px; bottom: 8px; left: 10px; right: 10px; border-radius: 12px; }
  .mobile-nav button { font-size: var(--type-meta); }.mobile-nav button>span { font-size: 1.25rem; }
  .admin-shell { display: block; }.admin-side { margin: 10px 12px 0; border-radius: 10px; padding: 8px; }
  .admin-side nav { display: flex; gap: 4px; overflow-x: auto; }.admin-side .nav-btn { white-space: nowrap; flex-shrink: 0; padding: 10px; }
  .admin-main { padding: 22px 16px 72px; }
  .stat-row { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }.stat-card { padding: 16px; }.stat-card strong { font-size: 1.625rem; }
  .admin-grid,.lower-grid { grid-template-columns: 1fr; gap: 16px; }.panel { padding: 18px; }.table-panel { padding: 0; }
  .table-toolbar { padding: 12px; }.table-toolbar>* { min-width: 0; max-width: 100%; }
  .table-scroll { overflow-x: auto; }.table-scroll table { min-width: 600px; }
  .page-actions { display: flex; flex-wrap: wrap; gap: 8px; }
  .feature-card { flex-wrap: wrap; }.event-art { height: 112px; }
  .showcase { margin-top: -62px; }
  .showcase-hero { display: block; min-height: 0; padding: 154px 22px 65px; }
  .showcase-copy h1 { font-size: 2rem; line-height: 1.14; max-width: 24ch; }
  .showcase-copy>p { font-size: var(--type-body); margin-top: 18px; }
  .showcase-preview { display: none; }.showcase-scroll { display: none; }
  .showcase-actions { margin-top: 24px; }.showcase-proof { margin-top: 22px; }
  .consult-section,.flow-section,.platform-showcase,.governance,.final-cta { padding: 48px 22px; }
  .consult-intro,.flow-intro,.platform-showcase,.governance,.final-cta { grid-template-columns: 1fr; gap: 22px; }
  .consult-intro h2,.flow-intro h2,.platform-copy h2,.governance h2,.final-cta h2 { font-size: 1.75rem; line-height: 1.2; }
  .experience-grid,.flow-grid { margin-top: 28px; }.experience-grid article,.experience-grid article+article { min-height: 0; padding: 24px 0; }
  .experience-grid h3 { font-size: 1.25rem; margin-top: 14px; }.experience-grid button { margin-top: 18px; }
  .flow-grid article,.flow-grid article+article { min-height: 0; padding: 24px 0; }
  .final-cta { min-height: 340px; }.window-body h3 { font-size: 1.25rem; }
  body:has(.showcase) .mode-switch { top: 70px; border-radius: 8px; }
  body:has(.showcase) .mode-switch button { font-size: var(--type-label); padding: 9px 6px; }
}
@media(max-width:430px) {
  .hero { min-height: 0; }.hero h2 { font-size: 1.625rem; }
  .book-cover { height: 184px; }.cover-title b { font-size: .9375rem; }.book-card h3 { font-size: .9375rem; }
  .showcase-copy h1 { font-size: 1.875rem; }.showcase-kicker { font-size: var(--type-meta); }
  .mode-switch button { font-size: .8125rem; padding: 7px; }
  .dialog-book { grid-template-columns: 1fr; }.dialog-book .book-cover { width: 165px; min-width: 0; height: 228px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation: none!important; transition: none!important; scroll-behavior: auto!important; }
}
