/* Navegación común de la web pública y el panel editorial. */
.app-icon{width:23px;height:23px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.app-header{position:sticky;top:0;z-index:35;background:#f8f1e8f2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.app-header .header-inner{height:70px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}
.app-header .brand{min-width:0;align-items:center;text-align:center;justify-self:center}
.app-header .brand span{font-size:17px;letter-spacing:.27em}
.app-header .brand small{margin-top:5px;font-size:7px;letter-spacing:.25em}
.app-header .brand-logo{max-width:min(210px,45vw);max-height:50px;object-position:center}
.app-header-account,.app-header-search{width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;color:var(--ink);border-radius:50%}
.app-header-account{justify-self:start}.app-header-search{justify-self:end}
.app-header-account:hover,.app-header-search:hover{background:#e8dccc}
.app-dock{position:fixed;z-index:45;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(420px,calc(100% - 24px));display:grid;grid-template-columns:repeat(4,1fr);gap:3px;padding:7px;background:#f8f1e8f2;border:1px solid #d6c8b8;border-radius:22px;box-shadow:0 10px 32px #20171229;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.app-dock button,.app-dock a{min-width:0;min-height:59px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;border:0;border-radius:15px;background:none;color:var(--ink);padding:5px;line-height:1}
.app-dock button:hover,.app-dock a:hover,.app-dock a[aria-current=page]{background:#e8dccc}
.app-dock span{font:9px/1.2 var(--sans);letter-spacing:.03em}
body{padding-bottom:98px}
.floating-contact{bottom:104px;right:22px;z-index:30}
.app-dialog{border:1px solid #d8c8b4;border-radius:17px;background:#f8f1e8;color:var(--ink);padding:0;width:min(560px,calc(100% - 28px));max-width:none;max-height:min(80vh,760px);box-shadow:0 20px 65px #170d0b40}
.app-dialog::backdrop{background:#1c1716a8;backdrop-filter:blur(4px)}
.app-sheet{padding:29px;overflow:auto;max-height:min(80vh,760px)}
.app-sheet-head{display:flex;align-items:start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:17px}
.app-sheet-head h2{font-size:clamp(34px,5vw,47px);font-style:italic}
.app-sheet-kicker{font:10px var(--sans);letter-spacing:.22em;text-transform:uppercase;margin:0 0 8px;color:var(--muted)}
.app-close{border:1px solid var(--line);background:transparent;width:42px;height:42px;display:grid;place-items:center;padding:0;flex:none}
.app-link-list,.app-search-results{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.app-list-link{display:flex;align-items:center;gap:12px;min-height:65px;padding:12px;border:1px solid var(--line);background:#fffaf3}
.app-list-link:hover,.app-list-link[aria-current=page]{border-color:var(--ink);background:#eee1d1}
.app-list-link .app-icon{width:20px;height:20px}
.app-list-link span{min-width:0;display:flex;flex-direction:column;gap:3px}
.app-list-link strong{font:600 12px/1.25 var(--sans)}
.app-list-link small{font:10px/1.3 var(--sans);color:var(--muted)}
.app-search-label{font-size:12px;margin-bottom:8px}
.app-search-dialog input[type=search]{background:#fffaf3;font-size:18px}
.app-search-results{margin-top:16px}
.app-search-results>p{grid-column:1/-1;font-size:14px;color:var(--muted)}
.editor-layout{grid-template-columns:64px minmax(0,1fr);gap:30px}
.editor-layout nav[data-tabs]{top:96px;align-items:center}
.editor-layout nav[data-tabs] a{width:48px;height:48px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:12px;background:#fffaf3}
.editor-layout nav[data-tabs] a:hover{border-color:var(--ink);color:var(--ink);background:#eee1d1}
.editor-layout nav[data-tabs] .app-icon{width:21px;height:21px}
.editor-section{scroll-margin-top:100px}
.admin-toolbar{top:70px}
@media(max-width:760px){
  .app-header .header-inner{height:64px}
  .app-header .brand span{font-size:15px;letter-spacing:.2em}
  .app-header .brand-logo{max-width:min(170px,45vw);max-height:44px}
  .app-header-account,.app-header-search{width:42px;height:42px}
  .app-dock{bottom:max(8px,env(safe-area-inset-bottom));width:calc(100% - 18px);border-radius:19px}
  .app-dock button,.app-dock a{min-height:58px}
  .app-dialog{position:fixed;top:auto;bottom:0;left:0;right:0;margin:0;width:100%;max-height:min(84dvh,760px);border-radius:20px 20px 0 0}
  .app-sheet{max-height:min(84dvh,760px);padding:23px 20px calc(25px + env(safe-area-inset-bottom))}
  .app-link-list,.app-search-results{grid-template-columns:1fr}
  .app-list-link{min-height:55px}
  .editor-layout{grid-template-columns:1fr;gap:22px}
  .editor-layout nav[data-tabs]{position:static;display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;align-items:center}
  .editor-layout nav[data-tabs] a{flex:0 0 45px;width:45px;height:45px}
  .admin-toolbar{position:static}
  .floating-contact{bottom:96px;right:14px;width:43px;height:43px}
}
