:root {
  --page:#f4f8ff;
  --card:#ffffff;
  --ink:#020617;
  --muted:#64748b;
  --soft:#eff6ff;
  --line:#dbeafe;
  --brand:#2563eb;
  --brand-dark:#1d4ed8;
  --cyan:#67e8f9;
  --navy:#020617;
  --green:#10b981;
  --amber:#f59e0b;
  --red:#e11d48;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  min-height:100vh;
  font-family:"Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  background:var(--page);
  color:var(--ink);
}
body::before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 50% -8rem, rgba(59,130,246,.25), transparent 28rem), radial-gradient(circle at 105% 18rem, rgba(103,232,249,.23), transparent 26rem), radial-gradient(circle at -8rem 75%, rgba(99,102,241,.16), transparent 28rem);
}
a { color:inherit; }
.shell { position:relative; z-index:1; }
.topbar {
  position:relative;
  z-index:70;
  width:min(1280px, calc(100% - 36px));
  margin:0 auto;
  padding:24px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}
.brand {
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:var(--ink);
  text-decoration:none;
  font-weight:950;
  letter-spacing:-.03em;
}
.brand-mark {
  width:44px;
  height:44px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#1d4ed8,#1e1b4b);
  color:#fff;
  box-shadow:0 16px 32px rgba(37,99,235,.20);
  font-weight:950;
}
.brand-logo {
  display:block;
  max-height:46px;
  max-width:190px;
  object-fit:contain;
  background:transparent;
  border-radius:10px;
}
.brand-text strong { display:block; font-size:18px; color:#020617; }
.brand-text span { display:block; color:var(--brand); font-size:11px; font-weight:950; text-transform:uppercase; letter-spacing:.22em; margin-top:2px; }
.nav-actions {
  display:flex;
  align-items:center;
  gap:26px;
  flex-wrap:wrap;
  justify-content:flex-end;
  font-size:14px;
  font-weight:850;
  color:#475569;
}
.nav-actions a { text-decoration:none; white-space:nowrap; cursor:pointer; }
.nav-actions a:hover { color:var(--brand); }
.register-link { border-radius:999px; background:#020617; color:#fff !important; padding:10px 18px; box-shadow:0 16px 30px rgba(15,23,42,.16); }
.register-link:hover { background:var(--brand-dark); }
.user-chip { white-space:nowrap; color:#64748b; font-weight:900; }
.account-menu{position:relative;z-index:80;display:block;}
.account-menu summary{list-style:none;}
.account-menu summary::-webkit-details-marker{display:none;}
.account-menu-button{display:flex;align-items:center;gap:10px;border:1px solid var(--line,#dbeafe);background:#fff;border-radius:999px;padding:7px 10px 7px 8px;color:#0f172a;box-shadow:0 14px 35px rgba(59,130,246,.16);cursor:pointer;user-select:none;}
.account-menu-button:hover{border-color:#bfdbfe;background:#eff6ff;}
.account-avatar{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#1d4ed8,#020617);color:#fff;font-size:12px;font-weight:950;letter-spacing:.02em;flex:0 0 auto;}
.account-avatar.large{width:46px;height:46px;border-radius:16px;font-size:14px;}
.account-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.account-menu-name{display:block;max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:950;color:#0f172a;}
.account-chevron{font-size:10px;color:#94a3b8;line-height:1;transition:transform .16s ease;}
.account-menu[open] .account-chevron{transform:rotate(180deg);}
.account-dropdown{position:absolute;right:0;top:calc(100% + 10px);width:286px;overflow:hidden;border:1px solid var(--line,#dbeafe);background:#fff;border-radius:26px;box-shadow:0 28px 70px rgba(15,23,42,.18);}
.account-dropdown-head{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid #eaf2ff;}
.account-dropdown-id{min-width:0;}
.account-dropdown-id strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0f172a;font-size:14px;font-weight:950;}
.account-dropdown-id span{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:12px;font-weight:750;}
.account-dropdown-id em{display:inline-flex;margin-top:8px;border-radius:999px;background:#eff6ff;color:#1d4ed8;padding:5px 9px;font-size:10px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;font-style:normal;}
.account-dropdown-links{display:grid;gap:2px;padding:8px;}
.account-dropdown-links a{display:flex!important;align-items:center;gap:10px;border-radius:16px;padding:11px 14px!important;color:#334155!important;text-decoration:none!important;font-size:14px!important;font-weight:900!important;white-space:nowrap;cursor:pointer;}
.account-dropdown-links a:hover{background:#eff6ff;color:#1d4ed8!important;}
.account-dropdown-links a i{width:16px;text-align:center;color:#2563eb;line-height:1;}
.account-dropdown-links a.logout-link i{color:#e11d48;}
.account-dropdown-links a.logout-link{color:#e11d48!important;}
.account-dropdown-links a.logout-link:hover{background:#fff1f2;color:#be123c!important;}
.public-footer-wrap{width:min(1280px,calc(100% - 36px));margin:0 auto 48px;}
.footer{margin-top:32px;padding-bottom:8px;}
.footer-card{border:1px solid #1e293b;background:#020617;color:#fff;border-radius:32px;padding:28px;box-shadow:0 24px 65px rgba(15,23,42,.18);}
.footer-grid{display:grid;grid-template-columns:1.2fr 2fr;gap:34px;}
.footer .brand{color:#fff;}
.footer .brand-mark{background:#fff;color:#020617;box-shadow:none;}
.footer .brand-logo{display:block;max-height:46px;max-width:190px;object-fit:contain;background:transparent;border-radius:10px;}
.footer .brand-text strong{display:block;color:#fff;font-size:17px;letter-spacing:-.03em;}
.footer .brand-text span{display:block;color:#67e8f9;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.22em;margin-top:2px;}
.footer p{margin:18px 0 0;max-width:470px;color:#cbd5e1;line-height:1.7;font-size:14px;}
.footer-scan{margin-top:22px;display:inline-flex;align-items:center;gap:8px;background:#67e8f9;color:#020617;text-decoration:none;border-radius:999px;padding:11px 16px;font-size:14px;font-weight:950;cursor:pointer;transition:.16s ease;}
.footer-scan:hover{background:#a5f3fc;transform:translateY(-1px);box-shadow:0 18px 35px rgba(103,232,249,.18);}
.footer-links{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.footer-links h4{margin:0 0 14px;color:#fff;text-transform:uppercase;letter-spacing:.16em;font-size:12px;}
.footer-links a{display:block;color:#94a3b8;text-decoration:none;font-size:14px;font-weight:750;margin-top:10px;cursor:pointer;transition:.16s ease;}
.footer-links a:hover{color:#67e8f9;}
.footer-bottom{margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,255,255,.10);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:#94a3b8;font-size:12px;font-weight:800;}
.footer-bottom a{color:#94a3b8;text-decoration:none;margin-left:14px;cursor:pointer;transition:.16s ease;}
.footer-bottom a:hover{color:#67e8f9;}
.fa-icon,.fa-solid{line-height:1;}
button,a,input,select,textarea{font-family:inherit;}
button:not([disabled]),a[href]{cursor:pointer;}
@media(max-width:760px){.account-dropdown{left:0;right:auto;max-width:calc(100vw - 28px)}.account-menu-name{max-width:160px;}}
@media(max-width:740px){.topbar{align-items:flex-start;flex-direction:column;width:min(100% - 22px,1280px);}.nav-actions{justify-content:flex-start;gap:16px}.public-footer-wrap{width:min(100% - 22px,1280px)}.footer-grid{grid-template-columns:1fr}.footer-links{grid-template-columns:1fr 1fr}.footer-bottom a{margin-left:0;margin-right:14px}}
@media(max-width:520px){.footer-links{grid-template-columns:1fr}}


/* v0.16.94 Frontend solid ribbon notifications */
.frontend-ribbon-stack{position:fixed;top:18px;right:18px;z-index:9999;display:grid;gap:10px;width:min(430px,calc(100vw - 36px));pointer-events:none;}
.frontend-ribbon{display:flex;align-items:flex-start;gap:11px;min-height:54px;padding:13px 14px;border-radius:18px;color:#fff;border:1px solid rgba(255,255,255,.34);box-shadow:0 20px 48px rgba(15,23,42,.20);transform:translateY(-8px) scale(.985);opacity:0;transition:opacity .18s ease,transform .18s ease;pointer-events:auto;overflow:hidden;}
.frontend-ribbon.is-visible{transform:translateY(0) scale(1);opacity:1;}
.frontend-ribbon-icon{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;flex:0 0 30px;font-size:14px;font-weight:950;line-height:1;margin-top:0;background:rgba(255,255,255,.22);color:#fff;}
.frontend-ribbon-text{font-size:14px;font-weight:900;line-height:1.42;flex:1;padding-top:4px;color:#fff;text-shadow:0 1px 1px rgba(15,23,42,.14);}
.frontend-ribbon-close{width:28px;height:28px;border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.78);font-size:19px;line-height:1;display:grid;place-items:center;padding:0;flex:0 0 28px;}
.frontend-ribbon-close:hover{background:rgba(255,255,255,.16);color:#fff;}
.frontend-ribbon.is-success{background:linear-gradient(135deg,#10b981,#16a34a);box-shadow:0 18px 42px rgba(16,185,129,.32);}
.frontend-ribbon.is-warning{background:linear-gradient(135deg,#f59e0b,#ea580c);box-shadow:0 18px 42px rgba(245,158,11,.32);}
.frontend-ribbon.is-error{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 18px 42px rgba(220,38,38,.32);}
.frontend-ribbon.is-info{background:linear-gradient(135deg,#0ea5e9,#2563eb);box-shadow:0 18px 42px rgba(14,165,233,.32);}
@media(max-width:740px){.frontend-ribbon-stack{top:12px;right:11px;left:11px;width:auto}.frontend-ribbon{border-radius:16px}}
