/* v15 — clean · minimal · colourful · modern (public site). Loaded after v12.css; tokens + surfaces only. */
:root{
  --paper:#F2F7F7;--surface:#fff;--surface-2:#EAF3F3;--surface-3:#DDEBEB;
  --ink:#0F1D1F;--ink-2:#34494C;--ink-3:#5F7377;--line:#E3ECEC;--line-2:#CFE0E0;
  --brand:#0B6E6B;--brand-ink:#08504E;--brand-soft:#DDF1EF;
  --lvl0:#2F9E6B;--lvl1:#F5B301;--lvl2:#FF8A3D;--lvl3:#E03131;--lvl4:#A4161A;
  --lvl0-soft:#DDF3E8;--lvl1-soft:#FFF1C7;--lvl2-soft:#FFE3CF;--lvl3-soft:#FADADA;--lvl4-soft:#F2D0D2;
  --c1:#16A1B8;--c3:#2F9E6B;--c5:#7A5AFF;
  --rad:20px;
}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0B1416;--surface:#142427;--surface-2:#1A2E32;--surface-3:#213538;--ink:#EAF3F3;--ink-2:#B7CBCD;--ink-3:#93AAAD;--line:#213538;--line-2:#2C4549}}
body:not(.is-admin):not(.login-page){background:var(--paper);background-image:none}
body:before{content:"";position:fixed;inset:0 0 auto 0;height:260px;z-index:-1;background:radial-gradient(60% 100% at 15% 0,rgba(22,161,184,.18),transparent 70%),radial-gradient(50% 100% at 90% 0,rgba(255,176,32,.14),transparent 70%)}
.topbar{background:rgba(255,255,255,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:none}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .topbar{background:rgba(20,36,39,.85)}}
.card,.panel{border-radius:var(--rad);border:1px solid var(--line);box-shadow:0 6px 24px rgba(11,110,107,.07);background:var(--surface)}
.card h3{letter-spacing:.04em}
button,.btn,a.btn{border-radius:99px}
table{border-collapse:separate;border-spacing:0}
.app-link{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#16A1B8,#0B6E6B);color:#fff!important;font-weight:700;border-radius:99px;padding:6px 14px;text-decoration:none;white-space:nowrap}
.app-link:hover{filter:brightness(1.08)}

/* ===== v15.1 public header (brand · section nav · actions) ===== */
.pubbar{position:sticky;top:0;z-index:50;padding:0}
.pubbar::after{display:none}
.pub-inner{display:flex;align-items:center;gap:14px;min-height:64px;max-width:1240px;margin:0 auto;padding:0 20px}
.pub-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex:none}
.pub-logo{width:36px;height:36px;border-radius:11px;flex:none;background:conic-gradient(from 210deg,#FFB020,#FF6B3D,#16A1B8,#0B6E6B,#FFB020);box-shadow:inset 0 0 0 3px rgba(255,255,255,.55)}
.pub-title{display:flex;flex-direction:column;line-height:1.15}
.pub-title b{font-size:15px;letter-spacing:-.01em}
.pub-title small{font-size:11.5px;color:var(--ink-3);font-weight:500}
.pub-nav{margin:0;padding:0;display:flex;align-items:center;gap:2px;flex:1;justify-content:center;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.pub-nav::-webkit-scrollbar{display:none}
.pub-nav a{padding:8px 13px;border-radius:99px;color:var(--ink-2);font-weight:600;font-size:13.5px;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}
.pub-nav a:hover{background:var(--surface-2);color:var(--ink)}
.pub-nav a[data-spy][aria-current="true"],.pub-nav a[aria-current="page"]{background:var(--brand);color:#fff}
.pub-nav a.bar-page{color:var(--brand);border:1px solid var(--line-2);margin-left:6px}
.pub-actions{display:flex;align-items:center;gap:8px;flex:none}
.pub-icon{display:inline-grid;place-items:center;min-width:36px;height:36px;padding:0 8px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font:700 12.5px system-ui;text-decoration:none;cursor:pointer}
.pub-icon:hover{border-color:var(--line-2);color:var(--ink)}
.pub-out{display:inline;margin:0}
.pub-app,.pub-admin{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:99px;font-weight:700;font-size:13px;text-decoration:none;white-space:nowrap}
.pub-app{background:linear-gradient(135deg,#16A1B8,#0B6E6B);color:#fff!important}
.pub-admin{background:var(--ink);color:var(--paper)!important}
.pub-login{background:transparent;color:var(--ink-2)!important;border:1px solid var(--line-2)}
.pub-app:hover,.pub-admin:hover{filter:brightness(1.08)}
.pub-burger{display:none;margin-left:auto;width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:18px;cursor:pointer}
@media (max-width:1080px){.pub-title small{display:none}.pub-nav a{padding:8px 10px}}
@media (max-width:900px){
  .pub-inner{flex-wrap:wrap!important;gap:10px;padding:8px 14px;min-height:56px}
  .pub-actions{order:2;margin-left:auto;gap:6px}
  .pub-burger{display:block;order:3;margin-left:0}
  .pub-nav{order:4;width:100%;flex-direction:column;align-items:stretch;display:none;padding:0 0 8px}
  .pub-nav.open{display:flex;flex:0 0 100%!important;max-width:100%}
  .pub-nav a{padding:12px 14px;border-radius:12px}
  .pub-nav a.bar-page{margin:4px 0 0}
}
@media (max-width:560px){.pub-inner{gap:6px;padding:8px 10px}.pub-actions .theme-toggle{display:none}.pub-icon,.pub-burger{min-width:34px;width:auto;height:34px}.pub-burger{width:38px}.pub-app span,.pub-admin span{display:none}.pub-app,.pub-admin{padding:0 11px}.pub-title b{font-size:14px}}
@media print{.pubbar{display:none!important}}

/* v15.2 centred header: brand | menu (true centre) | actions */
@media (min-width:901px){
  .pub-inner{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:18px}
  .pub-brand{justify-self:start}
  .pub-nav{justify-self:center;flex:none;background:var(--surface-2);padding:4px;border-radius:99px;border:1px solid var(--line)}
  .pub-nav a{padding:7px 14px}
  .pub-nav a.bar-page{margin-left:2px;border:0;background:var(--surface)}
  .pub-actions{justify-self:end}
  .pub-burger{display:none}
}
.pub-nav a[data-spy][aria-current="true"]{box-shadow:0 4px 12px rgba(11,110,107,.28)}
