:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#20312d;background:#f4f6f3;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:#1b6758}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}
:focus-visible{outline:3px solid #deae5f;outline-offset:2px}.shell{max-width:1440px;margin:auto;padding:24px 28px}.top{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:20px}.logo{display:flex;gap:12px;align-items:center}.seal{border:2px solid #a47942;color:#a47942;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:22px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:#6a7671}.brand{font-family:Georgia,serif;font-size:24px;font-weight:600}.nav{display:flex;gap:8px;flex-wrap:wrap;padding:12px;background:#e9eeea;border-radius:16px;margin-bottom:18px}.nav button{background:transparent;border:0;padding:12px 16px;border-radius:11px;color:#475c54}.nav button.active{background:#173e35;color:#fff}.card{border:1px solid #e0e6df;background:#fff;border-radius:18px;padding:22px;box-shadow:0 10px 30px #1a3d2d0d}.hero{background:linear-gradient(125deg,#183c34,#365949);border-radius:20px;color:white;padding:30px 36px;margin-bottom:20px}.hero h1{margin:10px 0;font:normal 38px Georgia,serif}.hero p{max-width:730px;color:#d6e1d8}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.btn{background:#174f41;border:1px solid #174f41;color:#fff;border-radius:10px;padding:11px 16px;min-height:44px}.btn.secondary{color:#184d40;background:#e9f2ee;border-color:#bfd4ca}.btn.muted{background:transparent;color:#4a5b55;border:1px solid #d7ddd7}.btn.warn{background:#b75f30;border-color:#b75f30}.mini{font-size:12px;padding:6px 10px;min-height:32px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:13px}.field label{font-size:13px;font-weight:600;color:#3d5148}input,select,textarea{width:100%;border-radius:10px;border:1px solid #cbd7d0;padding:11px 12px;background:#fff;color:#20312d;min-height:42px}textarea{min-height:110px;resize:vertical}fieldset{border:1px solid #d6e1d9;border-radius:14px;padding:16px;margin:16px 0}legend{font-weight:bold;padding:0 8px}.muted-text{color:#66766e;font-size:13px}.pill{display:inline-block;border-radius:40px;padding:6px 11px;background:#e2f0e9;color:#24634f;font-size:12px;font-weight:700}.pill.orange{background:#ffeedf;color:#a65331}.pill.gray{background:#edf0ee;color:#596c60}.toast{position:sticky;top:10px;z-index:5;background:#e3f1e8;border:1px solid #c7ddcd;border-radius:10px;padding:12px 15px;margin-bottom:14px;display:none}.toast.error{background:#fff0e8;color:#8b3e25;border-color:#efcebb}.stack{display:grid;gap:10px}.item{padding:13px;border:1px solid #e0e7df;border-radius:10px;background:#fff;text-align:left;width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;color:#253d34}.item:hover{background:#f1f7f2}.section{display:none}.section.active{display:block}.label{font-size:12px;letter-spacing:.1em;color:#66786e;text-transform:uppercase}.split{display:grid;grid-template-columns:380px minmax(0,1fr);gap:16px}.scroll{max-height:540px;overflow:auto}.photo{width:100%;max-height:300px;object-fit:cover;border-radius:12px;background:#e9e8df}.points-wrap{position:relative;display:block;max-width:920px;cursor:crosshair}.points-wrap img{width:100%;display:block;border-radius:12px}.hotspot{position:absolute;border-radius:50%;border:3px solid white;background:#b46630;color:white;font-weight:800;transform:translate(-50%,-50%);width:40px;height:40px;box-shadow:0 2px 8px #0005;display:grid;place-items:center;cursor:pointer}.viewer{max-width:860px;margin:auto;padding:30px}.viewer h1{font:normal 42px Georgia,serif}.public-top{background:#133d32;color:white;padding:16px 22px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.public-top a{color:white}.bigcard{padding:22px;background:white;border:1px solid #d8e0d9;border-radius:16px}.kiosk-body{background:#10271f;color:white}.kiosk-stage{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:55px 25px}.kiosk-stage h1{font:normal clamp(38px,6vw,90px) Georgia,serif;margin:18px 0}.kiosk-stage p{font-size:clamp(18px,2.5vw,28px);max-width:900px;color:#e4e7df}.kiosk-controls{display:flex;justify-content:space-between;gap:20px;padding:20px 30px;flex-wrap:wrap}.kiosk-controls button{font-size:20px;padding:18px 28px}.kiosk-top{padding:22px 30px;display:flex;justify-content:space-between;gap:12px;align-items:center}.badge{background:#e9a85e;color:#1d2a23;border-radius:30px;padding:7px 14px}.quiet{color:#b6cfc0}.hide{display:none!important}.note{background:#fff9e8;border-left:4px solid #d3a14c;border-radius:8px;padding:12px 15px;margin:13px 0;font-size:13px}.half{max-width:480px}.login{max-width:450px;margin:8vh auto;padding:26px}.login .brand{font-size:30px}.login button{width:100%}.caption{font-size:12px;color:#66786e}.wide{width:100%} code{overflow-wrap:anywhere}
@media(max-width:800px){.shell{padding:14px}.split,.grid,.grid3{grid-template-columns:1fr}.top{align-items:flex-start}.hero h1{font-size:30px}.card{padding:15px}.kiosk-stage{min-height:60vh}.kiosk-controls button{flex:1}}
/* Fluid typography respects viewport width and browser text scaling. */
.admin{
  --text-caption:clamp(0.7313rem,0.585rem + 0.27vw,0.9rem);
  --text-small:clamp(0.7875rem,0.63rem + 0.315vw,1.0125rem);
  --text-body:clamp(0.9rem,0.675rem + 0.45vw,1.2375rem);
  --text-heading:clamp(1.0125rem,0.765rem + 0.54vw,1.4625rem);
  --text-brand:clamp(1.125rem,0.81rem + 0.54vw,1.575rem);
  --text-title:clamp(1.4625rem,0.9rem + 1.125vw,2.475rem);
  --text-metric:clamp(1.8rem,1.08rem + 1.44vw,3.15rem);
  line-height:1.5;
}
/* Administration workspace */
.admin{background:#f4f6fa;color:#26334b;font-size:var(--text-body)}.admin .shell{max-width:none;margin-left:248px;padding:0 32px 20px}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:#121e34;color:#b4c1d6;padding:30px 18px;display:flex;flex-direction:column;z-index:10}.workspace-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-size:var(--text-brand);font-weight:700;padding:0 10px 34px}.workspace-brand small,.sidebar-foot small{display:block;font-size:var(--text-small);font-weight:400;margin-top:6px;color:#91a2bf}.workspace-mark{display:grid;place-items:center;background:#4874ed;border-radius:10px;width:38px;height:40px}.nav-caption{font-size:var(--text-caption);font-weight:700;letter-spacing:.12em;color:#8595af;margin:18px 12px 10px}.admin .nav{display:flex;flex-direction:column;background:none;padding:0;gap:5px}.admin .nav button{text-align:left;color:#bac7dd;font-size:var(--text-body);padding:13px 12px;border-radius:6px}.admin .nav button:hover{background:#1e304d}.admin .nav button.active{background:#2e53ae;color:white;box-shadow:inset 3px 0 #91adff}.sidebar-foot{margin-top:auto;border-top:1px solid #2b3850;padding:20px 12px 0;font-size:var(--text-small);color:#afc2e0}.admin .top{height:77px;border-bottom:1px solid #dfe5ee;margin:0 -32px;padding:0 32px;background:#fff}.admin .top .seal{width:30px;height:30px;font-size:var(--text-heading);border-color:#5e7ac0;color:#4262ae}.admin .top .brand{font:600 var(--text-body) system-ui}.admin .top .eyebrow{font-size:var(--text-caption);letter-spacing:.05em}.admin .top .btn{min-height:32px;padding:6px 12px;font-size:var(--text-small)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:30px 0 22px}.page-heading h1{font-size:var(--text-title);letter-spacing:-.7px;margin:8px 0}.page-heading p{color:#778299;margin:0;font-size:var(--text-body)}.admin .eyebrow{font-size:var(--text-caption);letter-spacing:.09em;color:#7e8ca3}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:26px}.metrics[hidden]{display:none}.metric{border:1px solid #e0e6ef;border-radius:9px;background:#fff;padding:18px 20px;box-shadow:0 2px 4px #17254a03}.metric span{font-size:var(--text-small);color:#66748a}.metric strong{display:block;font-size:var(--text-metric);line-height:1.7;font-weight:650;letter-spacing:-1px}.metric small{color:#8b96a8;font-size:var(--text-small)}.metric:nth-child(2) strong{color:#248768}.metric:nth-child(3) strong{color:#be8235}.admin .card{border:1px solid #e0e6ef;border-radius:9px;padding:20px;box-shadow:0 2px 5px #17254a03}.admin h2{font-size:var(--text-heading);margin:0 0 18px;font-weight:650}.admin h3{font-size:var(--text-heading);margin:0 0 18px}.admin .split{grid-template-columns:minmax(380px,1fr) minmax(390px,1.1fr);gap:20px;align-items:start}.admin .stack{gap:18px}.admin .btn{background:#3864d9;border-color:#3864d9;border-radius:6px;min-height:38px;font-size:var(--text-small);padding:9px 14px;font-weight:600}.admin .btn:hover{filter:brightness(.95)}.admin .btn.secondary{background:#eef3ff;color:#365ac0;border-color:#d8e2fa}.admin .btn.muted{background:white;color:#65738c;border-color:#dce3ed}.admin input,.admin select,.admin textarea{border-color:#d8e0ed;border-radius:6px;color:#34425b;font-size:var(--text-body);padding:10px 12px;min-height:39px}.admin .field label{color:#65738a;font-size:var(--text-small)}.admin fieldset{border-color:#e0e6ef;border-radius:6px}.admin legend{font-size:var(--text-small);color:#52637d}.admin .pill{font-size:var(--text-caption);font-weight:600;background:#e6f4ed;color:#248260;padding:5px 9px;border-radius:5px;white-space:nowrap}.admin .pill.orange{background:#fff3de;color:#a87923}.admin .pill.gray{background:#edf1f7;color:#6c7890}.admin .item{border-color:#e1e6ee;border-radius:6px;font-size:var(--text-body)}.admin .item:hover{background:#f4f7ff}.admin .note{background:#f1f5fc;color:#64748c;border-left:3px solid #a8bce9;border-radius:5px;font-size:var(--text-small);line-height:1.7}.admin a{color:#3864d9}.table-scroll{overflow:auto;max-height:490px}.registry-table{border-collapse:collapse;width:100%;text-align:left;font-size:var(--text-small)}.registry-table th{font-size:var(--text-caption);color:#8993a6;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:#f6f8fc;padding:12px 10px;position:sticky;top:0}.registry-table td{border-bottom:1px solid #edf0f5;padding:14px 10px;color:#7a879a}.registry-table tr:hover{background:#f5f8ff}.record-link{background:transparent;border:0;text-align:left;padding:0;color:#34445f;min-height:36px;max-width:220px}.record-link b{font-weight:600}.record-link small{display:block;color:#92a0b5;margin-top:5px;font-size:var(--text-small)}.record-link:hover{color:#3864d9}.empty-state{text-align:center;padding:30px!important}.admin .muted-text{color:#8390a5;line-height:1.7}.admin footer{font-size:var(--text-caption)}.admin .toast{top:12px}.admin #objectDetail{border-top:3px solid #6686dc}.admin #objectDetail>p{padding:30px 5px;line-height:1.8}.admin #userLabel{max-width:360px;overflow-wrap:anywhere}
@media(min-width:1600px){.admin .shell{padding-left:44px;padding-right:44px}.admin .top{margin:0 -44px;padding:0 44px}.admin .split{grid-template-columns:minmax(480px,1fr) minmax(500px,1.15fr)}}
@media(max-width:1150px){.sidebar{width:210px;padding-left:12px;padding-right:12px}.admin .shell{margin-left:210px;padding-left:20px;padding-right:20px}.admin .top{margin:0 -20px;padding:0 20px}.admin .split{grid-template-columns:1fr}.metrics{gap:10px}.metric{padding:14px 12px}.workspace-brand{font-size:var(--text-brand)}}
@media(max-width:760px){.sidebar{position:static;width:100%;padding:16px}.workspace-brand{padding:0 6px 12px}.sidebar>.nav-caption,.sidebar-foot,.admin .nav .nav-caption{display:none}.admin .nav{flex-direction:row;flex-wrap:wrap;margin:0;gap:5px}.admin .nav button{padding:10px;font-size:var(--text-small)}.admin .shell{margin:0;padding:0 16px 16px}.admin .top{height:auto;min-height:65px;margin:0 -16px;padding:12px 16px;align-items:center}.admin .top .logo{display:none}.admin #userLabel{max-width:240px}.page-heading{padding:23px 0;align-items:start}.page-heading h1{font-size:var(--text-title)}.page-heading p{font-size:var(--text-small)}.page-heading>.btn{white-space:nowrap}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin .split,.admin .grid{grid-template-columns:minmax(0,1fr)}.admin .card{padding:16px}.registry-table td{padding:12px 7px}.admin .grid3{grid-template-columns:1fr}}
.admin #createPanel summary{display:flex;justify-content:space-between;cursor:pointer;font-size:var(--text-body);font-weight:600;color:#4564a6;list-style:none}.admin #createPanel summary::-webkit-details-marker{display:none}.admin #createPanel[open] summary{margin-bottom:20px}.admin .registry-table tr.selected{background:#edf3ff;box-shadow:inset 3px 0 #6686dc}

/* Allow larger text to wrap within the CRM workspace. */
.admin .sidebar{overflow-y:auto}
.admin .top{height:auto;min-height:77px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
.admin .nav button{line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.admin .workspace-brand{min-width:0}
.admin .workspace-brand>span:last-child{min-width:0;overflow-wrap:anywhere}
.admin .workspace-mark{flex-shrink:0}
.admin .page-heading h1{line-height:1.2}
.admin .page-heading,.admin .metric,.admin .card,.admin .split>*{min-width:0}
.admin .metric span,.admin .metric small{display:block;overflow-wrap:anywhere}
.admin .record-link{overflow-wrap:anywhere;max-width:100%}
.admin .registry-table td{overflow-wrap:anywhere}
.admin .registry-table th{white-space:normal}
.admin .btn,.admin .pill,.admin legend{line-height:1.5}
.admin .pill{white-space:normal}
.admin .item{flex-wrap:wrap;overflow-wrap:anywhere}
@media(max-width:760px){
  .admin input,.admin select,.admin textarea{font-size:max(1rem,var(--text-body))}
  .admin .page-heading{flex-wrap:wrap}
  .admin .page-heading>.btn{white-space:normal}
  .admin .registry-table{min-width:360px}
}

/* Scale the workspace with desktop typography. */
@media(min-width:1151px){
  .admin{--sidebar-width:clamp(248px,16vw,360px)}
  .admin .sidebar{width:var(--sidebar-width);padding-inline:clamp(18px,1.2vw,30px)}
  .admin .shell{margin-left:var(--sidebar-width)}
  .admin .nav button{padding-block:clamp(13px,.9vw,22px)}
  .admin .workspace-brand{gap:12px;padding-inline:0}
  .admin .workspace-mark{width:2.25em;height:2.4em}
  .admin .card{padding:clamp(20px,1.3vw,32px)}
  .admin .metric{padding:clamp(18px,1.2vw,30px)}
  .admin .registry-table td{padding-block:clamp(14px,1vw,24px)}
  .admin .table-scroll{max-height:60vh}
}
.admin .workspace-brand{color:#f0f4ff}
.admin .registry-table,.admin .record-link{font-size:var(--text-body)}
.admin .registry-table td{color:#5c6c84}
.admin .record-link small{color:#687b97}
.admin .field label,.admin .metric span{color:#52647f}
/* List-first register: compact statistics, full-width records. */
.admin .catalog-layout{display:block}
.admin .catalog-layout>.stack{display:block}
.admin .metrics{gap:8px;margin-bottom:12px}
.admin .metric{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px;border-radius:6px;min-height:40px}
.admin .metric strong{font-size:var(--text-heading);line-height:1.2;letter-spacing:0}
.admin .metric span{font-size:var(--text-small)}
.admin .metric small{display:none}
.admin #catalog .table-scroll{max-height:none}
.admin #catalog .registry-table{width:100%;min-width:850px;table-layout:fixed}
.admin #catalog .registry-table th:first-child{width:24%}
.admin #catalog .registry-table th:last-child{width:12%}
.admin #catalog .registry-table th{position:static;vertical-align:top}
.admin .column-filters th{padding:4px 8px 12px}
.admin .column-filters input,.admin .column-filters select{font-size:var(--text-small);min-width:0;padding:8px}
.admin #resultCount{margin:0 0 12px}
.admin .record-dialog{width:min(1000px,94vw);max-height:90dvh;overflow:auto;border:1px solid #d8e0ed;border-radius:12px;padding:24px;color:inherit;background:#f4f6fa}
.admin .record-dialog::backdrop{background:#121e3480}
.admin .dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.admin .dialog-toolbar h2{margin:0}
.admin #createPanel summary{display:none}
@media(max-width:760px){.admin .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin .metric{padding:6px 10px}.admin .record-dialog{padding:14px}.admin .record-dialog .grid{grid-template-columns:minmax(0,1fr)}}
.admin .record-dialog .dialog-message{position:sticky;top:0;z-index:6;margin-bottom:16px;box-shadow:0 3px 12px #121e3415;overflow-wrap:anywhere}
.admin .object-quick-actions{display:flex;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:10px;padding-block:12px}
.admin .icon-action{display:inline-flex;align-items:center;gap:9px;text-decoration:none;max-width:100%;text-align:left;line-height:1.4}
.admin .icon-action svg{width:1.25em;height:1.25em;flex-shrink:0}
.admin .icon-action span{overflow-wrap:anywhere}
.admin .language-editor{margin:20px 0;background:#fff}
.admin .text-tabs{display:flex;gap:4px;border-bottom:1px solid #d8e0ed;margin-bottom:16px;overflow-x:auto;padding-top:3px}
.admin .text-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;color:#65738c;padding:12px 16px;font-size:var(--text-body);white-space:nowrap}
.admin .text-tabs button[aria-selected="true"]{color:#2f57c4;border-bottom-color:#3864d9;background:#f0f4ff;font-weight:600}
.admin .text-tabs button:hover{background:#f4f7ff}
.admin .language-editor textarea{min-height:180px;line-height:1.65}
/* Dedicated object editor page. */
.admin .nav>a{display:block;text-align:left;color:#bac7dd;font-size:var(--text-body);padding:13px 12px;border-radius:6px;line-height:1.5;text-decoration:none;overflow-wrap:anywhere}
.admin .nav>a:hover{background:#1e304d}
.admin .nav>a.active{background:#2e53ae;color:white;box-shadow:inset 3px 0 #91adff}
.admin a.record-link{display:inline-block;text-decoration:none}
.admin a.record-link:hover{text-decoration:underline}
.admin .back-to-register{display:inline-block;font-size:var(--text-small);margin-bottom:10px;text-decoration:none}
.admin .back-to-register:hover{text-decoration:underline}
.admin.object-page #objectDetail{margin-bottom:30px}
.admin.object-page #toast{scroll-margin-top:20px}
@media(min-width:1151px){.admin .nav>a{padding-block:clamp(13px,.9vw,22px)}}
@media(max-width:760px){.admin .nav>a{padding:10px;font-size:var(--text-small)}}
.admin .object-tabs{margin-top:22px;margin-bottom:22px}
.admin [data-object-panel][hidden]{display:none}
.admin [data-object-panel]{min-width:0}
.admin #object-panel-general p{line-height:1.8}
.admin #object-panel-photos>fieldset{margin-top:0}
.admin #object-panel-description .language-editor:first-child{margin-top:0}
.admin.object-page .page-heading{align-items:center;justify-content:space-between;gap:24px}
.admin.object-page .page-heading>div:first-child{flex:1;min-width:0}
.admin .page-actions{flex:0 1 auto;max-width:58%;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.admin .page-actions .object-quick-actions{justify-content:flex-end;padding:0}
.admin .page-actions .actions{justify-content:flex-end;margin:0}
@media(max-width:1100px){.admin.object-page .page-heading{flex-wrap:wrap}.admin .page-actions{flex-basis:100%;max-width:100%;align-items:flex-start}.admin .page-actions .object-quick-actions,.admin .page-actions .actions{justify-content:flex-start}}
/* Compact, single-row record actions. */
.admin .page-actions{max-width:none;flex:0 1 auto;display:flex;flex-direction:row;align-items:center;gap:8px;overflow-x:auto;padding:3px}
.admin .page-actions .object-quick-actions,.admin .page-actions .actions{display:contents}
.admin .page-actions .btn{flex:0 0 auto;white-space:nowrap;font-size:var(--text-small);min-height:36px;padding:7px 10px;gap:6px}
@media(max-width:1100px){.admin .page-actions{max-width:100%;flex-basis:100%;flex-direction:row;align-items:center}}
/* Text areas start with one line and grow with their content. */
.admin textarea,.admin .language-editor textarea{min-height:0;height:auto;line-height:1.5;resize:none;overflow-y:hidden}
.admin .description-permission{margin:0 0 10px;font-size:var(--text-small);line-height:1.4}
.admin #languageEditors .language-editor{margin:10px 0;padding:10px 12px}
.admin #languageEditors .text-tabs{margin-bottom:8px;padding-top:0}
.admin #languageEditors .text-tabs button{padding:6px 10px;font-size:var(--text-small)}
.admin #languageEditors .field{gap:4px;margin-bottom:6px}
.admin #languageEditors .actions{gap:6px;margin:8px 0 0}
.admin #languageEditors .actions[hidden]{display:none}
.admin #languageEditors textarea{padding:7px 10px}
.admin .registry-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.admin .registry-heading h2{margin:0}
.admin .qr-scanner{width:min(620px,94vw)}
.admin #qrVideo{display:block;width:100%;max-height:55dvh;object-fit:contain;background:#121e34;border-radius:8px;min-height:160px}
.admin #qrMessage{font-size:var(--text-body);line-height:1.5}
.admin .scanner-error{color:#a32a20}
.admin .registry-page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.admin #scanQr[hidden]{display:none}
.admin .text-acceptance{display:inline-grid;place-items:center;margin-left:7px;width:1.15em;height:1.15em;border-radius:50%;font-weight:800;font-size:.9em;line-height:1}
.admin .text-acceptance.accepted{color:#19734f;background:#dff2e8}
.admin .text-acceptance.pending{color:#9b6100;background:#fff0cd}
.admin .text-acceptance[hidden]{display:none}
.admin .btn[aria-disabled="true"]{opacity:.6;cursor:not-allowed}
.admin.object-page .shell{overflow-anchor:none}
.admin.object-page #toast{position:fixed;top:18px;right:22px;width:min(540px,calc(100vw - 32px));max-height:40vh;overflow:auto;z-index:30;margin:0;box-shadow:0 8px 28px #121e3426}
.guide-page .guide-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}
.guide-page .guide-gallery:empty{display:none}
.guide-page .guide-gallery figure{margin:0;background:#f1f3f1;border-radius:12px;overflow:hidden}
.guide-page .guide-gallery figure:first-child{grid-column:1/-1}
.guide-page .guide-gallery img{display:block;width:100%;height:auto;max-height:65vh;object-fit:contain}
@media(max-width:600px){.guide-page .guide-gallery{grid-template-columns:minmax(0,1fr)}.guide-page .viewer{padding:16px}.guide-page .bigcard{padding:16px}}
.admin .toast,.admin .permission-message{padding-right:48px}
.admin .permission-message{position:relative}
.admin .message-close{position:absolute;right:7px;top:6px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:5px;background:transparent;color:inherit;font-size:25px;line-height:1;cursor:pointer}
.admin .message-close:hover{background:#0000000d}
.admin .operation-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:end;margin-bottom:16px}
.admin .operation-filters .field{margin-bottom:0}.admin .filter-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin .operation-table{max-height:none;overflow:auto}.admin .operation-table table{min-width:850px}.admin .operation-table td{vertical-align:top}.admin .operation-table small{color:#7b879d}.admin .operation-pagination{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:18px}.admin #operationDialog{max-width:760px}.admin #operationDialog form>.field{margin-bottom:14px}
/* Compact filters for movements and loans. */
.admin .operation-filters{grid-template-columns:minmax(150px,1.3fr) repeat(auto-fit,minmax(125px,1fr));gap:8px;margin-bottom:10px}
.admin .operation-filters .field{gap:3px}
.admin .operation-filters .field label{font-size:var(--text-caption);line-height:1.2}
.admin .operation-filters input,.admin .operation-filters select{font-size:var(--text-small);padding:6px 8px;min-height:33px;height:33px}
.admin .operation-filters .btn{font-size:var(--text-small);padding:6px 10px;min-height:33px;height:33px}
.admin .operation-filters .filter-actions{gap:5px;flex-wrap:nowrap}
.admin .operation-filters+.muted-text{margin:8px 0;font-size:var(--text-small)}
@media(min-width:1250px){.admin .operation-filters{grid-template-columns:minmax(140px,1.2fr) repeat(5,minmax(110px,1fr)) auto}.admin .operation-filters:has(#filter-institution){grid-template-columns:minmax(150px,1.2fr) minmax(140px,1.2fr) repeat(3,minmax(115px,1fr)) auto}}
@media(max-width:760px){.admin .operation-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.admin .operation-filters .filter-actions{grid-column:1/-1}.admin .operation-filters input,.admin .operation-filters select{font-size:1rem}}
.admin .slide-accordion{border:1px solid #dce3ed;border-radius:8px;background:white;overflow:hidden}
.admin .slide-accordion summary{cursor:pointer;padding:13px 16px;display:list-item;font-size:var(--text-body);color:#34445f}
.admin .slide-accordion summary>span{font-weight:600}.admin .slide-accordion summary>small{margin-left:16px;font-size:var(--text-small);color:#697991;white-space:nowrap}
.admin .slide-accordion[open]>summary{background:#f3f6fc;border-bottom:1px solid #dce3ed}
.admin .slide-content{padding:16px}.admin .slide-content section+section{border-top:1px solid #e5eaf1;margin-top:14px;padding-top:14px}.admin .slide-content h4{margin:0 0 8px}.admin .slide-content p{white-space:pre-wrap;margin:0;line-height:1.6}.admin .new-slide{margin:18px 0}
@media(max-width:760px){.admin .slide-accordion summary>small{display:block;margin:6px 0 0}}

.admin .slide-accordion summary>a{display:inline-block;margin-left:16px;font-size:var(--text-small);font-weight:400}

.admin a.btn:not(.secondary):not(.muted){color:#fff}

.admin .btn.photo-selection{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#52637d;border:2px solid #bdc8d8;font-weight:600}
.admin .btn.photo-selection[data-selected="true"]{background:#dff3e7;color:#17643d;border-color:#2b8a57;box-shadow:0 0 0 1px #2b8a5714}
.admin .photo-selection-mark{font-size:1.25em;font-weight:800;line-height:1}

.kiosk-body #slideImage>img{display:block;margin:auto;object-fit:contain}.kiosk-body #slideImage>img~img{display:none}

.showcase-layout{display:grid;grid-template-columns:minmax(270px,340px) minmax(0,1fr);gap:24px;align-items:start}.showcase-layout>*{min-width:0}.showcase-layout .points-wrap{max-width:none}.showcase-point-form{margin-top:20px;padding-top:16px;border-top:1px solid #dce3ed}.showcase-point-row{display:flex;gap:8px;align-items:center;border:1px solid #dce3ed;border-radius:6px;padding:6px}.showcase-point-row.selected{background:#eef3ff;border-color:#3864d9}.showcase-point-pick{flex:1;text-align:left;background:none;border:0;color:#34445f;padding:7px;min-width:0}.admin .hotspot.selected{background:#3864d9;box-shadow:0 0 0 4px #3864d955}.point-preview{background:#3864d9;pointer-events:none;border-style:dashed;opacity:.85}@media(max-width:850px){.showcase-layout{grid-template-columns:1fr}}
