:root {
  --navy: #112a46;
  --navy-2: #183a5f;
  --blue: #2968e8;
  --blue-dark: #1f55c5;
  --sky: #eef5ff;
  --ink: #142238;
  --muted: #64748b;
  --line: #dde5ef;
  --surface: #ffffff;
  --canvas: #f5f7fb;
  --purple: #7457d9;
  --orange: #e78a2f;
  --green: #20a36b;
  --teal: #138f91;
  --red: #d84b58;
  --shadow: 0 14px 40px rgba(17, 42, 70, .08);
  --radius: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--canvas); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 15px; line-height: 1.6; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img { max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { letter-spacing: -.025em; line-height: 1.18; }
h1 { font-size: clamp(2rem, 4vw, 3.2rem); }
h2 { font-size: 1.35rem; }
h3 { font-size: 1.05rem; }
code { padding: .15rem .4rem; border-radius: 6px; background: #edf1f6; font-size: .86em; }
.ui-icon { display: inline-block; width: 1.15em; height: 1.15em; flex: 0 0 auto; overflow: visible; vertical-align: -.18em; }
.btn .ui-icon { width: 1.05rem; height: 1.05rem; }
.icon-btn { display: inline-grid; min-width: 40px; min-height: 40px; place-items: center; border-radius: 9px; }
.icon-btn .ui-icon { width: 1.35rem; height: 1.35rem; }

.btn { display: inline-flex; min-height: 42px; padding: .68rem 1.1rem; align-items: center; justify-content: center; gap: .5rem; border: 1px solid transparent; border-radius: 10px; background: #fff; color: var(--ink); font-weight: 750; line-height: 1; cursor: pointer; transition: .18s ease; }
.btn:hover { transform: translateY(-1px); box-shadow: 0 7px 18px rgba(17,42,70,.12); }
.btn-primary { background: var(--blue); color: #fff; }
.btn-primary:hover { background: var(--blue-dark); }
.btn-secondary { border-color: var(--line); background: #fff; color: var(--navy); }
.btn-ghost { border-color: transparent; background: transparent; color: var(--navy); }
.btn-danger { background: var(--red); color: #fff; }
.btn-danger-outline { border-color: #f2c5ca; background: #fff7f8; color: var(--red); }
.btn-light { background: #fff; color: var(--navy); }
.btn-sm { min-height: 34px; padding: .48rem .78rem; border-radius: 8px; font-size: .82rem; }
.btn-lg { min-height: 52px; padding: .9rem 1.4rem; border-radius: 12px; }
.btn-block { width: 100%; }
.icon-btn { border: 0; background: transparent; color: inherit; cursor: pointer; }
.muted { color: var(--muted); }
.optional { color: #94a3b8; font-size: .72rem; font-weight: 500; }
.eyebrow { display: inline-flex; margin-bottom: .7rem; align-items: center; gap: .5rem; color: var(--blue); font-size: .73rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.eyebrow i { width: 7px; height: 7px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 5px rgba(41,104,232,.12); }
.eyebrow.light { color: #9fc4ff; }

.brand { display: inline-flex; align-items: center; gap: .75rem; color: #fff; }
.brand > span:last-child { display: flex; flex-direction: column; line-height: 1.15; }
.brand small { margin-top: .15rem; color: #94abc2; font-size: .63rem; font-weight: 550; letter-spacing: .06em; text-transform: uppercase; }
.brand-mark { display: inline-grid !important; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border-radius: 10px; background: linear-gradient(145deg, #5b95ff, #2867e8); color: #fff; font-family: Georgia, serif; font-size: 1.45rem; font-weight: 800; box-shadow: 0 6px 16px rgba(41,104,232,.26); }
.brand-logo { overflow:hidden; background:#fff!important; }.brand-logo img { width:100%; height:100%; object-fit:contain; }
.brand-dark { color: var(--navy); }

.public-body { background: #fff; }
.public-header { position: absolute; z-index: 20; top: 0; left: 50%; display: flex; width: min(1180px, calc(100% - 40px)); height: 88px; align-items: center; justify-content: space-between; transform: translateX(-50%); }
.public-nav { display: flex; align-items: center; gap: 2rem; color: #43546b; font-size: .87rem; font-weight: 700; }
.public-nav a:not(.btn):hover { color: var(--blue); }
.public-menu-toggle { display: none; font-size: 1.3rem; }
.hero { position: relative; display: grid; min-height: 760px; padding: 150px max(32px, calc((100vw - 1180px)/2)) 80px; grid-template-columns: 1fr 1fr; align-items: center; gap: 5vw; overflow: hidden; background: linear-gradient(120deg,#f9fbff 0%,#f4f8ff 55%,#edf4ff 100%); }
.hero::before { position: absolute; top: -240px; right: -150px; width: 740px; height: 740px; border-radius: 50%; background: radial-gradient(circle,rgba(73,139,255,.13),transparent 65%); content: ""; }
.hero-copy { position: relative; z-index: 2; max-width: 590px; }
.hero h1 { margin-bottom: 1.5rem; color: var(--navy); font-family: Georgia, "Times New Roman", serif; font-size: clamp(3.2rem, 5.4vw, 5.8rem); font-weight: 500; line-height: .99; letter-spacing: -.055em; }
.hero h1 em { color: var(--blue); font-style: italic; }
.hero-copy > p { max-width: 590px; margin-bottom: 2rem; color: #53647a; font-size: 1.1rem; }
.hero-actions { display: flex; gap: .8rem; }
.trust-row { display: flex; margin-top: 2rem; flex-wrap: wrap; gap: 1rem; color: #64748b; font-size: .76rem; font-weight: 650; }
.trust-row span { white-space: nowrap; }
.hero-visual { position: relative; z-index: 2; min-height: 480px; }
.visual-glow { position: absolute; inset: 8% 2% 2%; border-radius: 50%; background: rgba(41,104,232,.18); filter: blur(55px); }
.mock-window { position: absolute; inset: 20px 0 20px 15px; overflow: hidden; border: 1px solid rgba(255,255,255,.9); border-radius: 24px; background: #fff; box-shadow: 0 35px 90px rgba(31,73,125,.22); transform: perspective(1100px) rotateY(-4deg) rotateX(1deg); }
.mock-head { display: flex; height: 61px; padding: 0 24px; align-items: center; justify-content: space-between; border-bottom: 1px solid #e7edf5; color: var(--navy); font-weight: 800; }
.mock-brand span { display: inline-grid; width: 26px; height: 26px; margin-right: 6px; place-items: center; border-radius: 7px; background: var(--blue); color: #fff; font-family: Georgia,serif; }
.mock-user { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50%; background: #dae7ff; color: var(--blue); font-size: .68rem; }
.mock-body { display: grid; height: calc(100% - 61px); grid-template-columns: 64px 1fr; }
.mock-side { display: flex; padding-top: 30px; align-items: center; flex-direction: column; gap: 22px; background: var(--navy); }
.mock-side i { width: 22px; height: 5px; border-radius: 5px; background: #526b85; }
.mock-side i.on { height: 22px; background: var(--blue); }
.mock-content { padding: 38px 32px; }
.mock-content > small { color: var(--muted); text-transform: uppercase; letter-spacing: .1em; }
.mock-content h3 { margin: .55rem 0; font-size: 1.35rem; }
.mock-code { color: var(--muted); font-size: .76rem; }
.mock-code .status-pill { margin-left: .5rem; }
.mock-progress { height: 7px; margin: 30px 0 20px; overflow: hidden; border-radius: 10px; background: #e9edf4; }
.mock-progress b { display: block; height: 100%; background: linear-gradient(90deg,var(--blue),var(--purple)); }
.mock-stages { display: flex; justify-content: space-between; }
.mock-stages > span { display: grid; width: 27px; height: 27px; place-items: center; border: 2px solid #dce4ef; border-radius: 50%; color: #9ba9bb; font-size: .7rem; font-weight: 800; }
.mock-stages .done,.mock-stages .active { border-color: var(--blue); background: var(--blue); color: #fff; }
.mock-stages span small { width: 68px; margin-top: 42px; color: #718096; text-align: center; font-size: .58rem; font-weight: 600; }
.mock-cards { display: grid; margin-top: 62px; grid-template-columns: repeat(3,1fr); gap: 10px; }
.mock-cards div { padding: 14px; border: 1px solid #e4eaf2; border-radius: 11px; background: #fafcff; }
.mock-cards small { display: block; color: #8a98aa; font-size: .55rem; letter-spacing: .09em; }
.mock-cards strong { font-size: 1rem; }
.floating-card { position: absolute; z-index: 3; display: flex; padding: 13px 16px; align-items: center; gap: 10px; border: 1px solid #fff; border-radius: 13px; background: rgba(255,255,255,.96); box-shadow: 0 15px 35px rgba(17,42,70,.18); font-size: .75rem; }
.floating-card > span { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50%; background: #ddf8eb; color: var(--green); font-weight: 900; }
.floating-card div { display: flex; flex-direction: column; }
.floating-card small { color: var(--muted); }
.fc-review { top: 3px; right: -15px; }
.fc-secure { bottom: -4px; left: -14px; }
.fc-secure > span { background: #e8e4ff; color: var(--purple); }
.logo-strip { display: flex; min-height: 95px; padding: 20px max(32px,calc((100vw - 1180px)/2)); align-items: center; justify-content: space-between; gap: 25px; border-top: 1px solid #eef2f7; border-bottom: 1px solid #eef2f7; color: #a2adbb; }
.logo-strip span { font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.logo-strip strong { font-family: Georgia,serif; font-size: .85rem; letter-spacing: .13em; }
.section { padding: 110px max(32px,calc((100vw - 1180px)/2)); }
.section-heading { max-width: 700px; margin: 0 auto 55px; text-align: center; }
.section-heading.left { margin-left: 0; text-align: left; }
.section-heading h2 { margin-bottom: .8rem; color: var(--navy); font-family: Georgia,serif; font-size: clamp(2.3rem,4vw,3.8rem); font-weight: 500; }
.section-heading p { color: var(--muted); font-size: 1rem; }
.feature-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.feature-card { min-height: 260px; padding: 32px; border: 1px solid #e6ebf2; border-radius: 18px; background: #fff; box-shadow: 0 9px 30px rgba(17,42,70,.04); }
.feature-card h3 { margin: 1.4rem 0 .8rem; color: var(--navy); font-size: 1.2rem; }
.feature-card p { color: var(--muted); }
.feature-main { grid-row: span 2; min-height: 538px; background: linear-gradient(160deg,#f8fbff,#eef5ff); }
.feature-icon { display: grid; width: 47px; height: 47px; place-items: center; border-radius: 12px; background: #deebff; color: var(--blue); font-size: 1.25rem; font-weight: 800; }
.purple-bg { background: #eae5ff; color: var(--purple); }.orange-bg { background: #fff0df; color: var(--orange); }.teal-bg { background: #dcf6f5; color: var(--teal); }.dark-bg { background: #e2e8f0; color: var(--navy); }
.mini-list { margin-top: 55px; overflow: hidden; border: 1px solid #dce6f5; border-radius: 12px; background: #fff; }
.mini-list > span { display: flex; padding: 14px; align-items: center; justify-content: space-between; border-bottom: 1px solid #edf1f6; font-size: .7rem; }
.mini-list > span:last-child { border: 0; }
.mini-list i { font-style: normal; }
.workflow-section { background: var(--navy); color: #fff; }
.workflow-section .section-heading h2 { color: #fff; }
.workflow-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 18px; }
.workflow-grid article { position: relative; min-height: 230px; padding: 26px; border: 1px solid rgba(255,255,255,.13); border-radius: 16px; background: rgba(255,255,255,.045); }
.workflow-grid article > span { color: #72a6ff; font-family: Georgia,serif; font-size: 1.2rem; }
.workflow-grid article h3 { margin-top: 3.2rem; color: #fff; }
.workflow-grid article p { margin: 0; color: #aabdd0; font-size: .82rem; }
.workflow-grid article > i { position: absolute; right: 22px; bottom: 18px; color: #5f86ad; }
.security-section { background: #f6f8fc; }
.security-card { display: grid; padding: 65px; border-radius: 30px; background: linear-gradient(135deg,#112a46,#173d66); color: #fff; grid-template-columns: 1.5fr .7fr; align-items: center; gap: 50px; box-shadow: 0 35px 80px rgba(17,42,70,.18); }
.security-card h2 { font-family: Georgia,serif; font-size: clamp(2rem,3.5vw,3.2rem); font-weight: 500; }
.security-card p { max-width: 680px; color: #b8cadc; }
.security-points { display: grid; margin-top: 2rem; grid-template-columns: repeat(2,1fr); gap: .7rem; color: #d5e4f4; font-size: .8rem; }
.security-shield { position: relative; display: grid; width: 210px; height: 245px; margin: auto; place-items: center; border: 3px solid rgba(123,169,255,.5); border-radius: 38% 38% 50% 50% / 22% 22% 55% 55%; background: rgba(41,104,232,.18); color: #fff; font-family: Georgia,serif; font-size: 6rem; box-shadow: inset 0 0 60px rgba(70,135,255,.13),0 0 80px rgba(41,104,232,.15); }
.security-shield span { position: absolute; right: 22px; bottom: 35px; display: grid; width: 50px; height: 50px; place-items: center; border-radius: 50%; background: var(--green); font-family: inherit; font-size: 1.3rem; }
.cta-section { padding: 100px 30px; background: linear-gradient(135deg,#2968e8,#225acb); color: #fff; text-align: center; }
.cta-section h2 { margin-bottom: .6rem; font-family: Georgia,serif; font-size: clamp(2.5rem,5vw,4.5rem); font-weight: 500; }
.cta-section p { color: #d4e3ff; }
.cta-section .btn { margin-top: 1rem; }
.public-footer { display: grid; padding: 60px max(32px,calc((100vw - 1180px)/2)) 30px; grid-template-columns: 2fr 1fr 1fr; gap: 40px; background: #0d2238; color: #fff; }
.public-footer > div { display: flex; flex-direction: column; align-items: flex-start; gap: .6rem; }
.public-footer p,.public-footer a { color: #91a8be; font-size: .8rem; }
.public-footer .brand { color: #fff; }
.footer-copy { grid-column: 1/-1; margin: 25px 0 0; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.1); }

/* Authentication */
.auth-section { display: grid; min-height: 100vh; padding-top: 88px; grid-template-columns: minmax(360px,.9fr) minmax(540px,1.1fr); }
.auth-aside { display: flex; min-height: 650px; padding: 12vh max(60px,calc((100vw - 1180px)/2)); padding-right: 70px; justify-content: center; flex-direction: column; background: linear-gradient(145deg,#112a46,#16436e); color: #fff; }
.auth-aside h1 { max-width: 500px; margin-bottom: 1.2rem; font-family: Georgia,serif; font-size: clamp(3rem,5vw,5rem); font-weight: 500; }
.auth-aside > p { max-width: 500px; color: #b7c9dc; font-size: 1rem; }
.quote-card { max-width: 480px; margin-top: 4rem; padding: 25px; border: 1px solid rgba(255,255,255,.12); border-radius: 15px; background: rgba(255,255,255,.05); }
.quote-card p { font-family: Georgia,serif; font-size: 1.1rem; font-style: italic; }
.quote-card span { color: #88a5c1; font-size: .75rem; }
.auth-panel { display: grid; padding: 120px 60px 60px; place-items: center; background: #f7f9fc; }
.auth-card { width: min(100%,460px); padding: 45px; border: 1px solid #e5eaf1; border-radius: 20px; background: #fff; box-shadow: var(--shadow); }
.auth-card h1,.auth-card h2 { margin-bottom: .5rem; font-family: Georgia,serif; font-size: 2rem; font-weight: 500; }
.auth-card .brand { margin-bottom: 2.5rem; }
.auth-switch { margin: 1.6rem 0 0; color: var(--muted); text-align: center; font-size: .85rem; }
.auth-switch a { color: var(--blue); font-weight: 750; }
.benefit-list { display: flex; margin: 3rem 0 0; padding: 0; flex-direction: column; gap: 1rem; list-style: none; }
.benefit-list li { display: flex; align-items: center; gap: .8rem; color: #c2d3e4; }
.benefit-list span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: rgba(70,135,255,.2); color: #8db4ff; font-weight: 800; }
.auth-body { display: grid; min-height: 100vh; place-items: center; background: linear-gradient(135deg,#eef4ff,#f8faff); }
.auth-shell { width: 100%; padding: 30px; }
.auth-body .auth-card { margin: auto; }
.auth-card-wide { width: min(100%,680px); }
.setup-steps { display: flex; margin: 2rem 0; padding: 0; flex-direction: column; gap: 1rem; list-style: none; }
.setup-steps li { display: flex; gap: 1rem; }
.setup-steps li > span { display: grid; width: 32px; height: 32px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--sky); color: var(--blue); font-weight: 850; }
.setup-steps p { margin: .2rem 0; color: var(--muted); }

/* Forms */
.form-stack { display: flex; margin-top: 1.6rem; flex-direction: column; gap: 1rem; }
label { display: flex; color: #34445a; font-size: .78rem; font-weight: 750; flex-direction: column; gap: .42rem; }
label small { color: #8492a5; font-weight: 500; }
input, select, textarea { width: 100%; border: 1px solid #d6dee9; border-radius: 9px; outline: none; background: #fff; color: var(--ink); transition: .16s ease; }
input, select { min-height: 44px; padding: .65rem .8rem; }
textarea { padding: .75rem .8rem; line-height: 1.55; resize: vertical; }
input:focus,select:focus,textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(41,104,232,.11); }
input:disabled { background: #f1f4f8; color: #78879a; }
.password-wrap { position: relative; display: block; }
.password-wrap button { position: absolute; top: 0; right: 0; width: 44px; height: 44px; border: 0; background: transparent; color: var(--muted); cursor: pointer; }
.password-wrap input { padding-right: 45px; }
.check-label { display: grid; grid-template-columns: 20px 1fr; align-items: start; font-weight: 500; }
.check-label input { width: 17px; min-height: auto; margin-top: 3px; }
.form-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
.span-2 { grid-column: span 2; }

/* App shell */
.app-body { background: var(--canvas); }
.app-shell { min-height: 100vh; }
.sidebar { position: fixed; z-index: 50; inset: 0 auto 0 0; display: flex; width: 250px; padding: 24px 16px 18px; flex-direction: column; background: var(--navy); color: #fff; }
.sidebar-top { display: flex; padding: 0 7px 28px; align-items: center; justify-content: space-between; }
.sidebar-close { display: none; color: #fff; font-size: 1.6rem; }
.side-nav { display: flex; flex: 1; flex-direction: column; gap: 4px; }
.nav-label { margin: 20px 12px 7px; color: #607c98; font-size: .62rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.side-nav a { display: flex; min-height: 43px; padding: 9px 12px; align-items: center; gap: 11px; border-radius: 9px; color: #a9bdd0; font-size: .84rem; font-weight: 650; transition: .16s ease; }
.side-nav a>.ui-icon { width: 20px; height: 20px; color: #7792ac; }
.side-nav a:hover,.side-nav a.active { background: rgba(78,139,246,.16); color: #fff; }
.side-nav a:hover>.ui-icon,.side-nav a.active>.ui-icon { color: #72a4ff; }
.sidebar-user { display: grid; padding: 14px 9px 0; border-top: 1px solid rgba(255,255,255,.09); grid-template-columns: 38px 1fr 15px; align-items: center; gap: 9px; }
.sidebar-user strong,.sidebar-user small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user strong { font-size: .78rem; }.sidebar-user small { color: #7f99b2; font-size: .66rem; }
.sidebar-user > a { color: #7790aa; font-size: 1.4rem; }
.sidebar-user > a .ui-icon { width: 18px; height: 18px; }
.avatar { display: inline-grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: linear-gradient(145deg,#dbe8ff,#b9d1ff); color: var(--blue); font-size: .78rem; font-weight: 850; }
.avatar-sm { width: 31px; height: 31px; font-size: .67rem; }
.avatar-xl { width: 78px; height: 78px; font-size: 1.5rem; }
.app-main { min-height: 100vh; margin-left: 250px; }
.topbar { position: sticky; z-index: 40; top: 0; display: flex; height: 66px; padding: 0 32px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.92); backdrop-filter: blur(12px); }
.menu-toggle { display: none; font-size: 1.25rem; }
.topbar-title { display: flex; align-items: center; gap: .5rem; color: var(--muted); font-size: .72rem; font-weight: 650; }
.live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(32,163,107,.1); }
.topbar-actions { display: flex; align-items: center; gap: 18px; }
.notification-btn { position: relative; display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--line); border-radius: 9px; color: var(--navy); font-size: 1.15rem; }
.notification-btn>.ui-icon { width: 18px; height: 18px; }
.notification-btn > span { position: absolute; top: -7px; right: -7px; min-width: 18px; height: 18px; padding: 0 4px; border: 2px solid #fff; border-radius: 12px; background: var(--red); color: #fff; font-size: .55rem; font-weight: 800; line-height: 14px; text-align: center; }
.profile-chip { display: flex; align-items: center; gap: .55rem; font-size: .77rem; font-weight: 750; }
.content { width: min(100%,1480px); min-height: calc(100vh - 120px); margin: 0 auto; padding: 35px 32px 65px; }
.app-footer { display: flex; padding: 20px 32px; justify-content: space-between; border-top: 1px solid var(--line); color: #93a0b1; font-size: .68rem; }
.page-head { display: flex; margin-bottom: 28px; align-items: flex-end; justify-content: space-between; gap: 20px; }
.page-head .eyebrow { margin-bottom: .35rem; }
.page-head h1 { margin-bottom: .35rem; color: var(--navy); font-family: Georgia,serif; font-size: 2.35rem; font-weight: 500; }
.page-head p { margin: 0; color: var(--muted); }
.breadcrumb { display: flex; margin-bottom: 18px; align-items: center; gap: 9px; color: #7a899a; font-size: .76rem; }
.breadcrumb a:hover { color: var(--blue); }
.panel { border: 1px solid #e1e7ef; border-radius: var(--radius); background: #fff; box-shadow: 0 4px 20px rgba(17,42,70,.035); }
.panel-head { display: flex; margin-bottom: 22px; align-items: center; justify-content: space-between; gap: 15px; }
.panel-head h2 { margin: 0 0 .2rem; color: var(--navy); font-size: 1.06rem; }
.panel-head p { margin: 0; color: var(--muted); font-size: .76rem; }
.panel-head > a { color: var(--blue); font-size: .76rem; font-weight: 750; }
.metric-grid { display: grid; margin-bottom: 22px; grid-template-columns: repeat(4,1fr); gap: 15px; }
.metric-grid article { display: flex; min-height: 125px; padding: 22px; align-items: center; gap: 17px; border: 1px solid #e1e7ef; border-radius: 15px; background: #fff; box-shadow: 0 4px 18px rgba(17,42,70,.035); }
.metric-icon { display: grid; width: 46px; height: 46px; flex: 0 0 auto; place-items: center; border-radius: 12px; font-size: 1.1rem; font-weight: 800; }
.metric-icon .ui-icon { width: 22px; height: 22px; }
.metric-icon.blue { background: #e5efff; color: var(--blue); }.metric-icon.purple { background: #ece8ff; color: var(--purple); }.metric-icon.orange { background: #fff0de; color: var(--orange); }.metric-icon.green { background: #dcf6e9; color: var(--green); }
.metric-grid small { color: #8996a7; font-size: .59rem; font-weight: 850; letter-spacing: .09em; }
.metric-grid strong { display: block; margin: .15rem 0; color: var(--navy); font-size: 1.7rem; line-height: 1; }
.metric-grid p { margin: 0; color: #8b98a8; font-size: .65rem; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.8fr) minmax(270px,.7fr); gap: 18px; }
.panel-main,.timeline-panel { padding: 24px; }
.activity-list { display: flex; flex-direction: column; }
.activity-list > a { display: grid; min-height: 72px; padding: 12px 2px; align-items: center; border-top: 1px solid #edf1f5; grid-template-columns: 42px minmax(160px,1fr) auto 90px; gap: 12px; transition: .15s ease; }
.activity-list > a:hover { padding-right: 8px; padding-left: 8px; background: #f8faff; }
.activity-list strong,.activity-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.activity-list strong { font-size: .82rem; }.activity-list small { color: var(--muted); font-size: .68rem; }
.activity-list time { color: #8c98a7; font-size: .65rem; text-align: right; }
.doc-icon { display: grid; width: 36px; height: 40px; place-items: center; border-radius: 7px 7px 11px 7px; background: #e7f0ff; color: var(--blue); font-family: Georgia,serif; font-size: .72rem; font-weight: 800; }
.doc-icon.large { width: 54px; height: 60px; font-size: 1.2rem; }
.priority-card { display: flex; padding: 18px; gap: 12px; border-radius: 12px; }
.priority-card.orange { background: #fff6eb; color: #70471f; }
.priority-card > span { font-size: 1.3rem; }.priority-card strong { display: block; font-size: .82rem; }.priority-card p { margin: .25rem 0 0; color: #9a744d; font-size: .7rem; }
.tip-card { margin-top: 14px; padding: 18px; border: 1px dashed #ccd8e6; border-radius: 12px; background: #fafcff; }
.tip-card span { color: var(--blue); font-size: .62rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }.tip-card p { margin: .35rem 0 0; color: var(--muted); font-size: .72rem; }

.status-pill { display: inline-flex; min-height: 23px; padding: .25rem .57rem; align-items: center; justify-content: center; border-radius: 20px; background: #edf1f5; color: #64748b; font-size: .62rem; font-style: normal; font-weight: 800; white-space: nowrap; }
.status-pill.large { min-height: 30px; padding: .35rem .75rem; font-size: .68rem; }
.status-pill.info { background: #e4efff; color: #2864cf; }.status-pill.warning,.status-pill.orange { background: #fff0db; color: #ae641b; }.status-pill.purple { background: #ebe6ff; color: #674bc4; }.status-pill.success { background: #dcf5e9; color: #168255; }.status-pill.danger { background: #fde4e6; color: #b53946; }.status-pill.teal { background: #dff6f5; color: #147b7e; }.status-pill.neutral { background: #edf1f5; color: #64748b; }
.status-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #94a3b8; }.status-dot.info{background:var(--blue)}.status-dot.warning,.status-dot.orange{background:var(--orange)}.status-dot.purple{background:var(--purple)}.status-dot.success{background:var(--green)}.status-dot.danger{background:var(--red)}.status-dot.teal{background:var(--teal)}

/* Tables and lists */
.filter-bar { display: flex; padding: 18px 20px; align-items: center; gap: 10px; border-bottom: 1px solid var(--line); }
.filter-bar select { width: 190px; }
.search-box { position: relative; flex: 1; }
.search-box span { position: absolute; z-index: 1; top: 10px; left: 13px; color: #93a0b0; }
.search-box input { padding-left: 38px; }
.table-wrap { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; }
.data-table th { padding: 13px 17px; border-bottom: 1px solid var(--line); background: #fafbfd; color: #7f8c9c; font-size: .61rem; letter-spacing: .08em; text-align: left; text-transform: uppercase; }
.data-table td { padding: 16px 17px; border-bottom: 1px solid #edf1f5; color: #526174; font-size: .75rem; vertical-align: middle; }
.data-table tr:last-child td { border: 0; }
.data-table tbody tr:hover { background: #fbfcff; }
.title-link strong,.title-link small { display: block; max-width: 430px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.title-link strong { color: var(--navy); font-size: .8rem; }.title-link small { color: #8290a0; font-size: .66rem; }
.row-arrow { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: #f1f4f8; color: var(--blue); font-size: 1.1rem; }
.user-cell { display: flex; align-items: center; gap: 9px; }.user-cell strong,.user-cell small { display:block; }.user-cell strong { color:var(--navy); }.user-cell small { color:var(--muted); font-size:.65rem; }
.inline-manage { display:flex; align-items:center; gap:6px; }.inline-manage select { width:auto; min-height:34px; padding:.3rem .55rem; font-size:.68rem; }

/* Submission form */
.submission-form { display: flex; flex-direction: column; gap: 16px; }
.form-section { display: grid; padding: 30px; grid-template-columns: 55px 1fr; gap: 18px; }
.form-section-number { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 11px; background: var(--sky); color: var(--blue); font-family: Georgia,serif; font-size: .9rem; font-weight: 800; }
.author-card { display: flex; padding: 14px; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 11px; }
.author-card > div { flex:1; }.author-card strong,.author-card small { display:block; }.author-card small { color:var(--muted); font-size:.68rem; }.author-card i { color:var(--blue); font-size:.65rem; font-style:normal; font-weight:750; }
.coauthor-row { display:grid; margin:12px 0; grid-template-columns:1fr 1fr 1fr 34px; align-items:end; gap:8px; }.coauthor-row button { width:34px; height:44px; border:1px solid #f1cdd0; border-radius:8px; background:#fff7f8; color:var(--red); cursor:pointer; }
.upload-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.upload-box { position: relative; display: flex; min-height: 180px; padding: 20px; align-items: center; justify-content: center; border: 1px dashed #bfccdb; border-radius: 13px; background: #fafcff; text-align: center; cursor: pointer; }
.upload-box:hover,.upload-box.has-file { border-color: var(--blue); background: #f2f7ff; }
.upload-box input { position:absolute; width:1px; height:1px; opacity:0; }
.upload-box > span { display:grid; width:40px; height:40px; margin-bottom:8px; place-items:center; border-radius:10px; background:#e6efff; color:var(--blue); font-size:1.1rem; }
.upload-box strong,.upload-box small,.upload-box em { display:block; }.upload-box small { max-width:210px; color:var(--muted); font-size:.65rem; font-weight:500; }.upload-box em { max-width:220px; margin-top:9px; overflow:hidden; color:var(--blue); font-size:.65rem; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.sticky-actions { position:sticky; z-index:20; bottom:16px; display:flex; padding:16px 20px; align-items:center; justify-content:space-between; border:1px solid #dce4ef; border-radius:14px; background:rgba(255,255,255,.95); box-shadow:0 12px 35px rgba(17,42,70,.12); backdrop-filter:blur(10px); }.sticky-actions strong,.sticky-actions small { display:block; }.sticky-actions small { color:var(--muted); font-size:.7rem; }

/* Submission detail */
.submission-hero { margin-bottom:18px; padding:25px 28px; }
.submission-hero-main { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.submission-code { display:flex; min-width:0; gap:15px; }.submission-code h1 { max-width:900px; margin:.15rem 0 .35rem; color:var(--navy); font-family:Georgia,serif; font-size:1.7rem; font-weight:500; }.submission-code p { margin:0; color:var(--muted); font-size:.74rem; }
.progress-track { height:6px; margin:26px 0 15px; overflow:hidden; border-radius:6px; background:#e9edf3; }.progress-track i { display:block; height:100%; border-radius:6px; background:linear-gradient(90deg,var(--blue),var(--purple)); }
.stage-row { display:flex; justify-content:space-between; color:#8a98a8; font-size:.62rem; }.stage-row span { display:flex; align-items:center; gap:6px; }.stage-row b { display:grid; width:20px; height:20px; place-items:center; border:1px solid #d1d9e4; border-radius:50%; font-size:.58rem; }.stage-row span.done { color:var(--navy); font-weight:700; }.stage-row span.done b { border-color:var(--blue); background:var(--blue); color:#fff; }
.submission-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; align-items:start; gap:18px; }.submission-main { display:flex; min-width:0; flex-direction:column; gap:16px; }.submission-aside { position:sticky; top:84px; display:flex; flex-direction:column; gap:16px; }
.detail-section,.facts-panel,.history-panel,.editorial-actions,.danger-zone { padding:24px; }
.action-panel,.revision-callout { display:flex; padding:20px 24px; align-items:center; justify-content:space-between; gap:20px; border-left:4px solid var(--blue); }.action-panel > div,.revision-callout > div { display:flex; align-items:center; gap:14px; }.action-panel h2,.revision-callout h2 { margin:0 0 .25rem; font-size:1rem; }.action-panel p,.revision-callout p { margin:0; color:var(--muted); font-size:.72rem; }.revision-callout { border-left-color:var(--orange); background:#fffcf7; }
.action-icon { display:grid; width:42px;height:42px; flex:0 0 auto; place-items:center; border-radius:10px; }.action-icon.blue{background:#e5efff;color:var(--blue)}.action-icon.orange{background:#fff0de;color:var(--orange)}
.metadata-grid { display:grid; margin:0; grid-template-columns:repeat(2,1fr); gap:20px 28px; }.metadata-grid div { min-width:0; }.metadata-grid dt,.facts-panel dt { margin-bottom:.3rem; color:#8b98a8; font-size:.6rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }.metadata-grid dd,.facts-panel dd { margin:0; color:#35475b; font-size:.79rem; }.metadata-grid .prose { line-height:1.75; }
.edit-metadata { margin-top:25px; padding-top:25px; border-top:1px solid var(--line); }
.author-list,.assignment-list { display:flex; flex-direction:column; }.author-list article,.assignment-list article { display:flex; padding:12px 0; align-items:center; gap:11px; border-top:1px solid #edf1f5; }.author-list article:first-child,.assignment-list article:first-child { border:0; }.author-list article>div,.assignment-list article>div{flex:1;min-width:0}.author-list strong,.author-list small,.assignment-list strong,.assignment-list small{display:block}.author-list strong,.assignment-list strong{font-size:.78rem}.author-list small,.assignment-list small{color:var(--muted);font-size:.65rem}
.file-list { display:flex; flex-direction:column; }.file-list>a { display:grid; padding:12px 0; align-items:center; border-top:1px solid #edf1f5; grid-template-columns:43px minmax(0,1fr) 100px 25px; gap:11px; }.file-list>a:first-child{border:0}.file-type{display:grid;width:39px;height:41px;place-items:center;border-radius:7px;background:#e9f1ff;color:var(--blue);font-size:.53rem;font-weight:850}.file-list strong,.file-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-list strong{font-size:.77rem}.file-list small{color:var(--muted);font-size:.62rem}.file-list>a>i{color:#64748b;font-size:.63rem;font-style:normal;text-align:right}.file-list>a>b{color:var(--blue);font-size:1rem}.file-list.compact>a{grid-template-columns:28px 1fr;padding:9px 0}.file-list.compact>a>span{color:var(--blue)}
.review-result { margin:8px 0; padding:14px; border:1px solid var(--line); border-radius:10px; background:#fbfcfe; }.review-result summary { color:var(--navy);font-size:.74rem;font-weight:800;cursor:pointer}.review-result p{color:#53647a;font-size:.75rem}.score-summary{display:grid;margin:14px 0;grid-template-columns:repeat(4,1fr);gap:8px}.score-summary span{padding:9px;border-radius:8px;background:#eef3f9;color:#6a7788;font-size:.6rem}.score-summary b{display:block;color:var(--navy);font-size:.8rem}.review-result h4{margin:1rem 0 .35rem;font-size:.73rem}.confidential{padding:12px;border-left:3px solid var(--orange);background:#fff8ef}
.decision-list{display:flex;flex-direction:column;gap:10px}.decision-list article{padding:17px;border:1px solid var(--line);border-radius:11px}.decision-list article>div{display:flex;align-items:center;justify-content:space-between}.decision-list small{color:var(--muted);font-size:.62rem}.decision-list p{margin:13px 0 0;color:#4d5e72;font-size:.76rem;line-height:1.7}
.discussion-list{display:flex;max-height:520px;overflow:auto;flex-direction:column;gap:12px}.discussion-list article{display:flex;max-width:88%;gap:9px}.discussion-list article.mine{margin-left:auto;flex-direction:row-reverse}.discussion-list article>div{padding:12px 14px;border-radius:5px 13px 13px 13px;background:#f1f5f9}.discussion-list article.mine>div{border-radius:13px 5px 13px 13px;background:#e9f1ff}.discussion-list header{display:flex;align-items:center;gap:8px}.discussion-list header strong{font-size:.7rem}.discussion-list header span,.discussion-list header time{color:#8794a4;font-size:.56rem}.discussion-list header time{margin-left:auto}.discussion-list p{margin:.45rem 0 0;font-size:.72rem}.discussion-form{display:grid;margin-top:18px;padding-top:18px;border-top:1px solid var(--line);grid-template-columns:150px 1fr auto;align-items:end;gap:8px}
.facts-panel h2,.history-panel h2,.editorial-actions h2,.danger-zone h2{font-size:.92rem}.facts-panel dl{margin:0}.facts-panel dl>div{display:flex;padding:10px 0;align-items:center;justify-content:space-between;border-top:1px solid #edf1f5}.facts-panel dl>div:first-child{border:0}.facts-panel dt{margin:0}.facts-panel dd{text-align:right;font-size:.72rem}.editorial-actions{display:flex;flex-direction:column;gap:8px}.editorial-actions h2{margin-bottom:5px}.editorial-actions form{width:100%}.danger-zone{border-color:#f0d5d7}.danger-zone p{color:var(--muted);font-size:.68rem}.mini-timeline{display:flex;flex-direction:column}.mini-timeline article{display:grid;grid-template-columns:13px 1fr;gap:8px}.mini-timeline i{position:relative;width:8px;height:8px;margin-top:5px;border-radius:50%;background:#94a3b8}.mini-timeline i::after{position:absolute;top:10px;left:3px;width:1px;height:calc(100% + 39px);background:#dbe2ea;content:""}.mini-timeline article:last-child i::after{display:none}.mini-timeline i.info{background:var(--blue)}.mini-timeline i.warning,.mini-timeline i.orange{background:var(--orange)}.mini-timeline i.purple{background:var(--purple)}.mini-timeline i.success{background:var(--green)}.mini-timeline i.danger{background:var(--red)}.mini-timeline strong,.mini-timeline small{display:block}.mini-timeline strong{font-size:.69rem}.mini-timeline small{color:var(--muted);font-size:.56rem}.mini-timeline p{margin:.25rem 0 13px;color:#718094;font-size:.6rem}

/* Reviews, reports, profile */
.review-board { display:grid;padding:20px;grid-template-columns:repeat(3,1fr);gap:14px }.review-task { display:flex;min-height:270px;padding:20px;border:1px solid var(--line);border-radius:13px;flex-direction:column }.review-task.overdue{border-color:#efc9cd;background:#fffafb}.review-task-top{display:flex;align-items:center;justify-content:space-between}.review-task h3{margin:1.2rem 0 .4rem;font-size:.95rem}.task-meta{color:var(--muted);font-size:.65rem}.due-row{display:flex;margin-top:auto;padding:12px 0;align-items:center;justify-content:space-between;border-top:1px solid #edf1f5;color:#7b899a;font-size:.68rem}.due-row strong{color:var(--navy)}.task-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.task-actions form,.task-actions button{width:100%}
.review-layout{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);align-items:start;gap:18px}.manuscript-brief,.review-form{padding:25px}.manuscript-brief{position:sticky;top:84px}.manuscript-brief dl{margin:0}.manuscript-brief dt{margin-top:1rem;color:#8b98a8;font-size:.6rem;font-weight:850;text-transform:uppercase}.manuscript-brief dd{margin:.25rem 0;color:#4d5e70;font-size:.74rem;line-height:1.7}.manuscript-brief h3{margin-top:1.5rem}.score-row{display:flex;margin:0;padding:15px 0;align-items:center;justify-content:space-between;border:0;border-top:1px solid #edf1f5}.score-row legend{font-size:.76rem;font-weight:750}.score-row>div{display:flex;gap:6px}.score-row label input{position:absolute;opacity:0}.score-row label span{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:#64748b;cursor:pointer}.score-row label input:checked+span{border-color:var(--blue);background:var(--blue);color:#fff}.review-form>label{margin-top:1rem}.form-actions{display:flex;margin-top:1.5rem;padding-top:1.2rem;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line)}.form-actions p{margin:0;color:var(--muted);font-size:.68rem}
.report-grid{display:grid;margin-bottom:18px;grid-template-columns:1fr 1fr;gap:18px}.report-grid>.panel{min-height:350px;padding:24px}.status-chart{display:flex;flex-direction:column;gap:14px}.status-chart>div{display:grid;grid-template-columns:130px 1fr 30px;align-items:center;gap:10px;font-size:.68rem}.status-chart span{display:flex;align-items:center;gap:7px}.status-chart>div>b{height:8px;overflow:hidden;border-radius:8px;background:#edf1f5}.status-chart>div>b>i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,var(--blue),#76a4ff)}.bar-chart{display:flex;height:245px;padding-top:20px;align-items:end;justify-content:space-around;gap:7px}.bar-chart>div{display:flex;height:100%;flex:1;align-items:center;justify-content:end;flex-direction:column}.bar-chart b{position:relative;width:min(28px,70%);min-height:8px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#73a4ff,var(--blue))}.bar-chart b span{position:absolute;top:-21px;left:50%;color:var(--navy);font-size:.57rem;transform:translateX(-50%)}.bar-chart small{margin-top:6px;color:#8a97a8;font-size:.52rem}.insight-grid{display:grid;padding:24px;grid-template-columns:repeat(3,1fr);gap:14px}.insight-grid article{padding:20px;border:1px solid var(--line);border-radius:12px}.insight-grid article>span{color:var(--blue);font-size:1.3rem}.insight-grid h3{margin:1rem 0 .4rem;font-size:1.5rem}.insight-grid p{margin:0;color:var(--muted);font-size:.7rem}
.notification-list{overflow:hidden}.notification-item{border-bottom:1px solid #edf1f5}.notification-item:last-child{border:0}.notification-item>button{display:grid;width:100%;padding:17px 22px;align-items:center;border:0;background:#fff;text-align:left;grid-template-columns:40px 1fr 20px;gap:12px;cursor:pointer}.notification-item.unread>button{background:#f6f9ff}.notification-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;background:#e7f0ff;color:var(--blue)}.notification-item strong,.notification-item p,.notification-item small{display:block}.notification-item p{margin:.2rem 0;color:var(--muted);font-size:.7rem}.notification-item small{color:#9aa6b5;font-size:.6rem}.notification-item i{color:var(--blue);font-size:1.2rem}
.profile-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:start;gap:18px}.profile-grid>.panel{padding:28px}.profile-hero{display:flex;padding-bottom:24px;align-items:center;gap:16px;border-bottom:1px solid var(--line)}.profile-hero h2{margin:0}.profile-hero p{margin:.3rem 0 0;color:var(--muted);font-size:.73rem}.security-panel hr{margin:28px 0;border:0;border-top:1px solid var(--line)}.account-facts p{display:flex;margin:.7rem 0;justify-content:space-between;color:var(--muted);font-size:.72rem}.account-facts strong{color:var(--navy)}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-grid>.panel{padding:28px}.settings-grid>.form-actions{grid-column:1/-1;margin:0}

/* Dialogs, alerts, empty */
dialog { width:min(92vw,520px); max-height:90vh; padding:0; overflow:auto; border:0;border-radius:18px;background:transparent;box-shadow:0 30px 80px rgba(0,0,0,.25) }dialog::backdrop{background:rgba(8,24,42,.62);backdrop-filter:blur(3px)}.dialog-card{position:relative;display:flex;padding:30px;flex-direction:column;gap:1rem;background:#fff}.dialog-card h2,.dialog-card h3{margin:0}.dialog-card>p{color:var(--muted);font-size:.76rem}.dialog-wide{width:min(92vw,720px)}.dialog-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border:0;border-radius:50%;background:#f0f3f7;color:#6c7a8b;font-size:1.2rem;cursor:pointer}.decision-options{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.decision-options label input{position:absolute;opacity:0}.decision-options label span{display:grid;min-height:52px;padding:8px;place-items:center;border:1px solid var(--line);border-radius:9px;text-align:center;cursor:pointer}.decision-options label input:checked+span{border-color:var(--blue);background:#edf4ff;color:var(--blue)}
.alert { display:flex; padding:12px 15px; align-items:flex-start; justify-content:space-between; gap:12px; border:1px solid #cfdbea; border-radius:10px; background:#f5f9ff; color:#42566f; font-size:.75rem }.alert-info{border-color:#c9dcfa;background:#f0f6ff;color:#315f9e}.alert-warning{border-color:#f0d7b6;background:#fff8ed;color:#8b5b22}.alert-danger{border-color:#efc7cc;background:#fff4f5;color:#a03642}.alert-success{border-color:#bfe5d2;background:#effaf5;color:#237651}.flash-stack{position:fixed;z-index:100;top:80px;right:24px;display:flex;width:min(420px,calc(100vw - 40px));flex-direction:column;gap:8px}.flash-stack .alert{box-shadow:0 15px 40px rgba(17,42,70,.15);animation:slide-in .25s ease}.flash-stack button{border:0;background:transparent;color:inherit;font-size:1.1rem;cursor:pointer}.flash-stack .leaving{opacity:0;transform:translateX(20px);transition:.25s}.empty-state{display:grid;min-height:230px;padding:30px;place-items:center;align-content:center;color:var(--muted);text-align:center}.empty-state>span{display:grid;width:50px;height:50px;margin-bottom:12px;place-items:center;border-radius:50%;background:#eef3f9;color:var(--blue);font-size:1.2rem}.empty-state h3{margin:0;color:var(--navy)}.empty-state p{margin:.4rem 0;font-size:.74rem}.empty-state.small{min-height:120px;padding:15px}.empty-state.tall{min-height:65vh}.empty-state.tall>span{width:auto;height:auto;background:transparent;font-family:Georgia,serif;font-size:4rem}.empty-state.tall h1{font-family:Georgia,serif}
@keyframes slide-in{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:none}}

@media (max-width:1100px){.feature-grid{grid-template-columns:repeat(2,1fr)}.feature-main{grid-row:auto;min-height:260px}.mini-list{margin-top:25px}.workflow-grid{grid-template-columns:repeat(3,1fr)}.metric-grid{grid-template-columns:repeat(2,1fr)}.review-board{grid-template-columns:repeat(2,1fr)}.submission-layout{grid-template-columns:1fr}.submission-aside{position:static;display:grid;grid-template-columns:repeat(2,1fr)}.history-panel{grid-column:1/-1}.mock-window{inset:30px 0}.hero{gap:2vw}}
@media (max-width:850px){.public-menu-toggle{display:block}.public-nav{position:absolute;top:72px;right:0;display:none;width:220px;padding:18px;align-items:stretch;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow);flex-direction:column;gap:10px}.public-nav.open{display:flex}.hero{min-height:auto;padding-top:140px;grid-template-columns:1fr}.hero-visual{min-height:430px}.logo-strip{overflow:auto;justify-content:flex-start}.workflow-grid{grid-template-columns:repeat(2,1fr)}.security-card{padding:40px;grid-template-columns:1fr}.security-shield{width:150px;height:180px;font-size:4rem}.auth-section{grid-template-columns:1fr}.auth-aside{display:none}.auth-panel{min-height:100vh;padding:120px 25px 50px}.sidebar{transform:translateX(-100%);transition:.22s ease}.sidebar-open .sidebar{transform:none}.sidebar-open::after{position:fixed;z-index:45;inset:0;background:rgba(5,20,36,.55);content:""}.sidebar-close,.menu-toggle{display:block}.app-main{margin-left:0}.topbar{padding:0 20px}.content{padding:28px 20px 50px}.dashboard-grid,.review-layout,.report-grid,.profile-grid,.settings-grid{grid-template-columns:1fr}.manuscript-brief{position:static}.activity-list>a{grid-template-columns:42px minmax(140px,1fr) auto}.activity-list time{display:none}.upload-grid{grid-template-columns:1fr}.review-board{grid-template-columns:1fr}.submission-aside{grid-template-columns:1fr}.discussion-form{grid-template-columns:1fr}.app-footer{padding:18px 20px}.profile-chip>span:last-child{display:none}}
@media (max-width:600px){.public-header{width:calc(100% - 28px)}.hero{padding-right:20px;padding-left:20px}.hero h1{font-size:3.25rem}.hero-actions{align-items:stretch;flex-direction:column}.mock-window{inset:20px -80px 20px 0}.floating-card{display:none}.section{padding:75px 20px}.feature-grid{grid-template-columns:1fr}.workflow-grid{grid-template-columns:1fr}.security-card{padding:28px}.security-points{grid-template-columns:1fr}.public-footer{padding:45px 20px 25px;grid-template-columns:1fr 1fr}.public-footer>div:first-child{grid-column:1/-1}.metric-grid{grid-template-columns:1fr 1fr}.metric-grid article{min-height:105px;padding:15px;gap:10px}.metric-icon{width:38px;height:38px}.metric-grid strong{font-size:1.3rem}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:1.9rem}.panel-head{align-items:flex-start}.filter-bar{align-items:stretch;flex-direction:column}.filter-bar select{width:100%}.form-section{padding:20px;grid-template-columns:1fr}.form-section-number{width:35px;height:35px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.coauthor-row{grid-template-columns:1fr}.coauthor-row button{width:100%}.sticky-actions{position:static;align-items:stretch;flex-direction:column}.submission-hero{padding:20px}.submission-hero-main{flex-direction:column}.stage-row span{font-size:0}.stage-row b{font-size:.58rem}.action-panel,.revision-callout{align-items:stretch;flex-direction:column}.score-summary{grid-template-columns:repeat(2,1fr)}.review-layout{grid-template-columns:1fr}.score-row{align-items:flex-start;flex-direction:column;gap:9px}.score-row>div{width:100%;justify-content:space-between}.decision-options{grid-template-columns:repeat(2,1fr)}.form-actions{align-items:stretch;flex-direction:column}.form-actions .btn{width:100%}.insight-grid{grid-template-columns:1fr}.profile-grid>.panel{padding:20px}.app-footer{flex-direction:column;gap:5px}.auth-card{padding:28px}.auth-panel{padding-right:16px;padding-left:16px}.mock-content{padding:28px 22px}.mock-cards{grid-template-columns:repeat(2,1fr)}.mock-cards div:last-child{display:none}}
@media print{.sidebar,.topbar,.page-head .btn,.app-footer,.editorial-actions,.danger-zone,.discussion-form,.flash-stack{display:none!important}.app-main{margin:0}.content{width:100%;padding:0}.panel{break-inside:avoid;box-shadow:none}}

/* Publisher website — preserved blue/gold identity with extended public modules */
:root { --gold:#f6bd2c; --gold-dark:#dea313; --royal:#1d3b8f; --royal-dark:#10235f; --cream:#fffaf0; }
.btn-accent { background:linear-gradient(135deg,var(--gold),#ffd65b); color:#17234a; box-shadow:0 10px 28px rgba(246,189,44,.22); }
.btn-accent:hover { background:linear-gradient(135deg,#ffd45a,var(--gold)); box-shadow:0 13px 30px rgba(246,189,44,.3); }
.btn-outline-light { border-color:rgba(255,255,255,.42); background:rgba(255,255,255,.05); color:#fff; }
.btn-outline-light:hover { border-color:#fff; background:rgba(255,255,255,.12); }
.honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.publisher-container { width:min(1180px,calc(100% - 48px)); margin:0 auto; }
.publisher-header { width:min(1180px,calc(100% - 48px)); color:#fff; }
.publisher-header .brand-dark { color:#fff; }
.publisher-header .brand small { color:#bac9ee; }
.publisher-header .brand-mark { background:var(--gold); color:var(--royal-dark); box-shadow:0 8px 22px rgba(246,189,44,.25); }
.publisher-header .public-nav { color:#dbe5ff; }
.publisher-header .public-nav a:not(.btn):hover { color:var(--gold); }
.publisher-header .nav-login { padding:.45rem .8rem; border:1px solid rgba(255,255,255,.25); border-radius:8px; }
.publisher-hero { position:relative; min-height:790px; padding:145px 0 75px; overflow:hidden; background:linear-gradient(125deg,#0e205a 0%,#1d3b8f 54%,#2453b5 100%); color:#fff; }
.publisher-hero.has-image::before { position:absolute; inset:0; background:linear-gradient(125deg,rgba(8,24,75,.96),rgba(22,61,148,.77)),var(--hero-image); background-position:center; background-size:cover; content:""; }
.publisher-hero::after { position:absolute; right:-14vw; bottom:-36vw; width:70vw; height:70vw; border:1px solid rgba(255,255,255,.1); border-radius:50%; content:""; }
.publisher-hero-bg { position:absolute; inset:0; opacity:.72; }
.publisher-hero-bg::before { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:42px 42px; content:""; mask-image:linear-gradient(to right,black,transparent 70%); }
.publisher-hero-bg i { position:absolute; border:1px solid rgba(255,255,255,.1); border-radius:50%; }
.publisher-hero-bg i:nth-child(1){width:520px;height:520px;right:-80px;top:70px}.publisher-hero-bg i:nth-child(2){width:360px;height:360px;right:0;top:150px}.publisher-hero-bg i:nth-child(3){width:160px;height:160px;left:-60px;bottom:-30px}
.hero-grid { position:relative; z-index:2; display:grid; min-height:560px; grid-template-columns:minmax(0,1fr) minmax(430px,.85fr); align-items:center; gap:6vw; }
.publisher-hero-copy h1 { max-width:720px; margin:.7rem 0 1.4rem; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:clamp(3.6rem,6.5vw,6.7rem); font-weight:500; line-height:.96; letter-spacing:-.06em; }
.publisher-hero-copy>p { max-width:650px; margin-bottom:2rem; color:#c5d4f6; font-size:1.12rem; line-height:1.8; }
.publisher-kicker { display:inline-flex; align-items:center; gap:.65rem; color:#ffe28b; font-size:.73rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.publisher-kicker i { width:30px; height:2px; background:var(--gold); }
.publisher-actions { display:flex; align-items:center; gap:.8rem; }
.publisher-trust { display:flex; margin-top:2rem; flex-wrap:wrap; gap:1.25rem; color:#b9caee; font-size:.75rem; }
.publisher-trust span::first-letter { color:var(--gold); }
.book-visual { position:relative; min-height:500px; perspective:1000px; }
.book-stage { position:absolute; right:2%; bottom:2%; width:94%; height:82px; border-radius:50%; background:rgba(5,17,54,.45); filter:blur(20px); transform:rotate(-4deg); }
.book { position:absolute; display:flex; width:245px; height:360px; padding:30px 26px; flex-direction:column; border-radius:3px 12px 12px 3px; color:#fff; box-shadow:-12px 18px 38px rgba(2,9,31,.36),inset 7px 0 rgba(255,255,255,.12); transform-origin:left center; }
.book::after { position:absolute; right:-13px; bottom:-8px; width:13px; height:96%; border-radius:0 7px 7px 0; background:linear-gradient(90deg,#dfd8c9,#fff9e8); content:""; transform:skewY(-5deg); }
.book>span { font-size:.57rem; font-weight:850; letter-spacing:.18em; }
.book>strong { margin:auto 0; font-family:Georgia,serif; font-size:2.25rem; font-weight:500; line-height:1.02; }
.book>small { font-size:.52rem; letter-spacing:.14em; }
.book-one { z-index:3; right:13%; bottom:8%; background:linear-gradient(145deg,#edb526,#d8950e); color:#17245c; transform:rotate(-3deg) rotateY(-9deg); }
.book-two { z-index:2; right:36%; bottom:13%; background:linear-gradient(145deg,#193c91,#112461); transform:rotate(-12deg) rotateY(-5deg) scale(.92); }
.book-three { z-index:1; right:-4%; bottom:16%; background:linear-gradient(145deg,#f5eee1,#d8cdb7); color:#243568; transform:rotate(8deg) rotateY(-10deg) scale(.87); }
.editorial-badge { position:absolute; z-index:5; top:34px; left:2%; display:flex; width:122px; height:122px; align-items:center; justify-content:center; gap:7px; border:1px solid rgba(255,255,255,.55); border-radius:50%; background:rgba(255,255,255,.12); box-shadow:0 18px 40px rgba(2,9,31,.25); backdrop-filter:blur(9px); transform:rotate(-8deg); }
.editorial-badge b { color:var(--gold); font-family:Georgia,serif; font-size:2.4rem; }.editorial-badge span { color:#fff; font-size:.58rem; font-weight:700; line-height:1.25; text-transform:uppercase; }
.publisher-stats { position:relative; z-index:5; background:#fff; box-shadow:0 -12px 45px rgba(7,24,67,.1); }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.stats-grid article { display:flex; min-height:132px; padding:30px; align-items:center; justify-content:center; flex-direction:column; border-right:1px solid #e9edf5; text-align:center; }
.stats-grid article:last-child { border:0; }.stats-grid strong { color:var(--royal); font-family:Georgia,serif; font-size:2.2rem; }.stats-grid span { color:#78849a; font-size:.72rem; }
.publisher-section { padding:110px 0; }
.publisher-eyebrow { display:inline-flex; margin-bottom:.75rem; color:var(--royal); font-size:.68rem; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.publisher-eyebrow::before { width:25px; height:2px; margin:8px 9px 0 0; background:var(--gold); content:""; }
.publisher-eyebrow.light { color:#ffe497; }
.publisher-heading { max-width:710px; margin:0 auto 52px; text-align:center; }
.publisher-heading.left { margin-left:0; text-align:left; }.publisher-heading h2,.about-copy h2,.publisher-contact h2 { margin-bottom:1rem; color:var(--royal-dark); font-family:Georgia,serif; font-size:clamp(2.4rem,4vw,4rem); font-weight:500; }.publisher-heading p,.about-copy>p { color:#68758a; }
.publisher-heading.light h2 { color:#fff; }.publisher-heading.light p { color:#b7c8e9; }
.heading-row { display:flex; max-width:none; align-items:flex-end; justify-content:space-between; text-align:left; }
.heading-row>div { max-width:700px; }
.publisher-about { overflow:hidden; background:#fff; }
.about-grid { display:grid; grid-template-columns:minmax(380px,.9fr) minmax(0,1fr); align-items:center; gap:9vw; }
.about-visual { position:relative; min-height:580px; }
.about-visual::before { position:absolute; top:4%; left:0; width:92%; height:92%; border-radius:55% 45% 58% 42%; background:#eef2ff; content:""; transform:rotate(-7deg); }
.about-paper { position:absolute; z-index:2; inset:40px 45px 25px 35px; display:flex; padding:50px 45px; overflow:hidden; flex-direction:column; border-radius:3px 16px 16px 3px; background:linear-gradient(145deg,#172e75,#2049a6); color:#fff; box-shadow:-18px 25px 50px rgba(18,45,110,.25),inset 11px 0 rgba(255,255,255,.07); transform:rotate(-4deg); }
.about-paper::after { position:absolute; right:-65px; bottom:-70px; width:250px; height:250px; border:36px solid rgba(246,189,44,.8); border-radius:50%; content:""; }
.about-uploaded-image { position:absolute; z-index:2; inset:35px 30px 35px 25px; width:calc(100% - 55px); height:calc(100% - 70px); border:8px solid #fff; border-radius:8px 20px 20px 8px; object-fit:cover; box-shadow:-18px 25px 50px rgba(18,45,110,.25); transform:rotate(-3deg); }
.about-paper span { color:#ffdc72; font-size:.62rem; font-weight:900; letter-spacing:.2em; }.about-paper h3 { margin:auto 0; font-family:Georgia,serif; font-size:2.5rem; font-weight:500; }.about-paper i { width:65px; height:3px; margin-bottom:16px; background:var(--gold); }.about-paper small { z-index:2; font-size:.56rem; letter-spacing:.12em; }
.about-chip { position:absolute; z-index:3; right:-25px; bottom:28px; display:flex; padding:18px 22px; align-items:center; gap:12px; border-radius:14px; background:#fff; box-shadow:0 20px 45px rgba(13,37,92,.18); }.about-chip b { display:grid; width:37px; height:37px; place-items:center; border-radius:50%; background:#e5f8ee; color:var(--green); }.about-chip span { color:#293855; font-size:.72rem; font-weight:800; }.about-chip small { color:#8290a3; font-weight:500; }
.about-values { display:flex; margin:2rem 0; flex-direction:column; gap:1.2rem; }.about-values article { display:grid; grid-template-columns:42px 1fr; gap:14px; }.about-values article>span { color:var(--gold-dark); font-family:Georgia,serif; font-size:1.25rem; }.about-values strong { color:#24345d; }.about-values p { margin:.3rem 0 0; color:#7a8799; font-size:.78rem; }
.text-link { color:var(--royal); font-size:.8rem; font-weight:850; }.text-link:hover { color:var(--gold-dark); }
.publisher-flow { background:linear-gradient(145deg,#10235f,#173a86); color:#fff; }
.flow-track { display:grid; grid-template-columns:repeat(7,1fr); gap:12px; }
.flow-track article { position:relative; min-width:0; padding:22px 13px; border:1px solid rgba(255,255,255,.12); border-radius:13px; background:rgba(255,255,255,.045); }
.flow-track article>i { position:absolute; z-index:3; top:44px; right:-12px; color:#7193d4; font-style:normal; }.flow-icon { display:grid; width:44px; height:44px; place-items:center; border-radius:12px; background:rgba(246,189,44,.14); color:#ffdb70; }.flow-icon span { font-size:.65rem; font-weight:900; }.flow-track h3 { margin:1.4rem 0 .7rem; color:#fff; font-size:.88rem; }.flow-track p { margin:0; color:#afc1e1; font-size:.68rem; line-height:1.65; }
.flow-cta { display:flex; margin-top:28px; padding:22px 25px; align-items:center; justify-content:space-between; border:1px solid rgba(255,255,255,.13); border-radius:14px; background:rgba(255,255,255,.055); }.flow-cta strong,.flow-cta span { display:block; }.flow-cta span { color:#aebfe0; font-size:.72rem; }
.services-section { background:#f7f8fc; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); align-items:stretch; gap:20px; }
.service-card { position:relative; display:flex; min-height:490px; padding:34px; flex-direction:column; border:1px solid #e0e5ef; border-radius:18px; background:#fff; box-shadow:0 12px 35px rgba(24,50,106,.05); }.service-card.featured { border:2px solid var(--gold); box-shadow:0 25px 55px rgba(24,50,106,.13); transform:translateY(-10px); }.recommended { position:absolute; top:0; right:28px; padding:6px 12px; border-radius:0 0 8px 8px; background:var(--gold); color:#27345b; font-size:.59rem; font-weight:900; text-transform:uppercase; }.service-icon { display:grid; width:48px; height:48px; place-items:center; border-radius:13px; background:#e8efff; color:var(--royal); font-size:1.25rem; }.service-card.featured .service-icon { background:#fff4cb; color:#bc8510; }.service-card h3 { margin:1.5rem 0 1rem; color:#21325c; font-family:Georgia,serif; font-size:1.45rem; }.service-price small { display:block; color:#8a96a7; font-size:.63rem; }.service-price strong { color:var(--royal); font-size:1.45rem; }.service-card ul { display:flex; margin:1.5rem 0 2rem; padding:1.5rem 0 0; flex:1; flex-direction:column; gap:.68rem; border-top:1px solid #edf0f5; list-style:none; }.service-card li { color:#5f6d82; font-size:.76rem; }.service-card li::first-letter { color:var(--green); }
.catalog-section { background:#fff; }.public-book-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }.public-book-card { overflow:hidden; border:1px solid #e4e8f0; border-radius:14px; background:#fff; box-shadow:0 10px 28px rgba(25,48,101,.05); transition:.2s ease; }.public-book-card:hover { transform:translateY(-6px); box-shadow:0 20px 40px rgba(25,48,101,.13); }.book-cover { position:relative; display:flex; min-height:330px; padding:32px 25px; overflow:hidden; flex-direction:column; background-position:center; background-size:cover; color:#fff; }.book-cover::before { position:absolute; inset:0; background:linear-gradient(145deg,rgba(255,255,255,.1),transparent 55%); content:""; }.book-cover::after { position:absolute; right:-55px; bottom:-55px; width:170px; height:170px; border:22px solid rgba(255,255,255,.18); border-radius:50%; content:""; }.book-cover span,.book-cover strong,.book-cover small { position:relative; z-index:2; }.book-cover span { font-size:.54rem; font-weight:900; letter-spacing:.16em; }.book-cover strong { margin:auto 0; font-family:Georgia,serif; font-size:1.7rem; font-weight:500; line-height:1.08; }.book-cover small { font-size:.53rem; letter-spacing:.09em; }.cover-1{background:linear-gradient(145deg,#1a3d93,#10245f)}.cover-2{background:linear-gradient(145deg,#c58b16,#f2bd32);color:#172859}.cover-3{background:linear-gradient(145deg,#215d5c,#173c49)}.cover-4{background:linear-gradient(145deg,#7a3f64,#49264c)}.cover-5{background:linear-gradient(145deg,#943e37,#5c262c)}
.book-card-body { padding:21px; }.book-category { display:inline-flex; margin-bottom:.65rem; color:#b27c0c; font-size:.58rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }.book-card-body h3 { margin:0 0 .4rem; color:#21325a; font-family:Georgia,serif; font-size:1.12rem; }.book-card-body>p { margin-bottom:1rem; color:#8490a1; font-size:.7rem; }.book-card-body>div:last-child { display:flex; align-items:center; justify-content:space-between; padding-top:14px; border-top:1px solid #edf0f4; }.book-card-body>div:last-child strong { color:var(--royal); }.book-card-body>div:last-child span { color:#8995a5; font-size:.62rem; }.book-rating { display:flex; margin:-.3rem 0 .7rem; align-items:center; gap:.5rem; }.book-rating span,.detail-rating span,.stars { color:#e7aa17; letter-spacing:.05em; }.book-rating small { color:#8c98a8; font-size:.6rem; }
.testimonial-section { background:var(--cream); }.testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.testimonial-grid>article { display:flex; min-height:260px; padding:28px; flex-direction:column; border:1px solid #eee4d0; border-radius:16px; background:#fff; }.testimonial-grid>article>p { color:#58667b; font-family:Georgia,serif; font-size:1rem; line-height:1.8; }.testimonial-grid>article>div:last-child { display:flex; margin-top:auto; align-items:center; gap:10px; }.testimonial-grid strong,.testimonial-grid small { display:block; }.testimonial-grid small { color:#8a96a5; font-size:.62rem; }.testimonial-placeholder { max-width:660px; margin:auto; padding:50px; border:1px dashed #decfae; border-radius:16px; color:#7a6d58; text-align:center; }.testimonial-placeholder>span { color:#e0a822; font-size:1.4rem; letter-spacing:.15em; }
.publisher-contact { background:linear-gradient(135deg,#142e72,#1f4ca7); color:#fff; }.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:8vw; }.publisher-contact h2 { color:#fff; }.publisher-contact p { color:#b8c9ec; }.contact-list { display:flex; margin:2rem 0; padding:0; flex-direction:column; gap:1rem; list-style:none; }.contact-list li { display:flex; align-items:center; gap:12px; color:#d3def5; }.contact-list b { display:grid; width:38px; height:38px; place-items:center; border:1px solid rgba(255,255,255,.25); border-radius:10px; color:#ffdd76; font-size:.7rem; }.contact-note { display:flex; flex-direction:column; color:#fff; font-size:.74rem; }.contact-note span { color:#9fb4dc; }.contact-form { position:relative; padding:38px; border-radius:20px; background:#fff; box-shadow:0 25px 60px rgba(4,15,48,.24); }.contact-form label { color:#34435c; }.contact-form>small { display:block; margin-top:.8rem; color:#8b97a8; font-size:.58rem; text-align:center; }
.publisher-footer { grid-template-columns:1.4fr repeat(3,1fr); }.publisher-footer span { color:#91a8be; font-size:.75rem; }.wa-float { position:fixed; z-index:40; right:24px; bottom:24px; display:flex; height:50px; padding:0 16px 0 7px; align-items:center; gap:8px; border-radius:28px; background:#25d366; color:#fff; box-shadow:0 12px 30px rgba(17,117,65,.3); }.wa-float span { display:grid; width:36px; height:36px; place-items:center; border-radius:50%; background:rgba(255,255,255,.18); font-size:1.2rem; }.wa-float i { font-size:.7rem; font-style:normal; font-weight:850; }
.public-subhero { padding:155px 0 75px; background:linear-gradient(135deg,#10235f,#2451b1); color:#fff; }.public-subhero h1 { margin:.5rem 0; color:#fff; font-family:Georgia,serif; font-size:clamp(3rem,5vw,5rem); font-weight:500; }.public-subhero p { margin:0; color:#bdccef; }.catalog-page { min-height:60vh; }.catalog-filter { display:flex; margin-bottom:35px; padding:15px; align-items:center; gap:10px; border:1px solid #e1e6ef; border-radius:14px; background:#fff; box-shadow:0 12px 30px rgba(20,46,105,.07); }.catalog-filter label { position:relative; flex:1; }.catalog-filter label span { position:absolute; top:10px; left:12px; }.catalog-filter input { padding-left:38px; }.catalog-filter select { width:210px; }.catalog-full { grid-template-columns:repeat(4,1fr); }
.book-detail-hero { padding:155px 0 95px; background:linear-gradient(135deg,#f5f7fc,#fff); }.book-detail-grid { display:grid; grid-template-columns:390px minmax(0,1fr); align-items:center; gap:8vw; }.book-detail-cover { position:relative; }.book-detail-cover>.book-cover { position:relative; z-index:2; min-height:540px; border-radius:4px 16px 16px 4px; box-shadow:-16px 25px 55px rgba(20,43,99,.24),inset 10px 0 rgba(255,255,255,.1); }.book-detail-cover>i { position:absolute; right:-40px; bottom:-22px; width:90%; height:60px; border-radius:50%; background:rgba(19,45,102,.19); filter:blur(18px); }.back-link { display:block; margin-bottom:1.5rem; color:#6f7e92; font-size:.72rem; font-weight:750; }.book-detail-copy h1 { margin:.3rem 0 .65rem; color:var(--royal-dark); font-family:Georgia,serif; font-size:clamp(2.8rem,5vw,5rem); font-weight:500; }.book-author { color:#7e8999; }.detail-rating { display:flex; margin:1.3rem 0; align-items:center; gap:.8rem; }.detail-rating small { color:#798699; }.book-description { max-width:750px; color:#56657a; line-height:1.85; }.book-specs { display:grid; margin:2rem 0; grid-template-columns:repeat(4,1fr); gap:10px; }.book-specs>div { padding:13px; border-left:2px solid #e2b027; background:#faf7ef; }.book-specs dt { color:#8b96a6; font-size:.56rem; font-weight:900; text-transform:uppercase; }.book-specs dd { margin:.3rem 0 0; color:#2f3c58; font-size:.75rem; font-weight:800; }.book-buy { display:flex; padding-top:1.5rem; align-items:center; justify-content:space-between; border-top:1px solid #e2e6ed; }.book-buy>strong { color:var(--royal); font-size:1.8rem; }.book-review-section { background:#f7f8fc; }.review-public-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr); align-items:start; gap:5vw; }.public-review-list { display:flex; flex-direction:column; gap:14px; }.public-review-list>article { padding:24px; border:1px solid #e0e5ee; border-radius:14px; background:#fff; }.public-review-list>article>div { display:flex; align-items:center; gap:10px; }.public-review-list>article>div>div { flex:1; }.public-review-list strong,.public-review-list small { display:block; }.public-review-list small { color:#909aaa; font-size:.6rem; }.public-review-list i { color:#e5aa19; font-style:normal; }.public-review-list p { margin:1rem 0 0; color:#58677b; }.review-public-form { position:sticky; top:85px; padding:28px; border-radius:16px; background:#fff; box-shadow:0 18px 45px rgba(18,45,105,.11); }.review-public-form h3 { margin-bottom:.3rem; color:var(--royal); font-family:Georgia,serif; font-size:1.5rem; }.review-public-form>p { color:#7b8798; font-size:.7rem; }.review-public-form label { margin-top:.9rem; }.review-public-form .btn { margin-top:1rem; }.related-books { background:#fff; }.order-summary { display:flex; padding:14px; align-items:center; justify-content:space-between; border-radius:10px; background:#f6f8fc; }

/* CMS and commerce workspace */
.side-nav { overflow-y:auto; scrollbar-width:thin; scrollbar-color:#3c5874 transparent; }
.publisher-operations { margin-top:18px; padding:24px; }.operation-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }.operation-metrics>a { display:flex; padding:16px; align-items:center; gap:11px; border:1px solid #e4e9f0; border-radius:12px; background:#fbfcfe; }.operation-metrics strong,.operation-metrics small { display:block; }.operation-metrics strong { color:var(--navy); font-size:1.25rem; line-height:1.1; }.operation-metrics small { color:#8793a3; font-size:.62rem; }.operation-links { display:grid; margin-top:14px; grid-template-columns:repeat(4,1fr); gap:10px; }.operation-links>a { display:grid; padding:15px; border-radius:10px; background:#f3f6fb; grid-template-columns:28px 1fr; }.operation-links>a>span { grid-row:span 2; color:var(--blue); font-weight:900; }.operation-links strong,.operation-links small { display:block; }.operation-links strong { color:#33445c; font-size:.72rem; }.operation-links small { color:#8793a2; font-size:.6rem; }
.cms-content-form { display:grid; grid-template-columns:.8fr 1.2fr; gap:18px; }.cms-content-form>.form-actions { grid-column:1/-1; margin:0; }.cms-panel { padding:28px; }.cms-menu-panel { margin-top:18px; }.menu-add-row,.menu-edit-row { display:grid; grid-template-columns:1fr 1fr 1.4fr 80px 90px auto; align-items:end; gap:8px; }.menu-add-row { padding:15px; border-radius:11px; background:#f6f8fc; }.menu-manager { display:flex; margin-top:15px; flex-direction:column; }.menu-manager>article { display:flex; padding:12px 0; align-items:center; gap:8px; border-top:1px solid #edf1f5; }.menu-manager .menu-edit-row { flex:1; }.switch-label { display:flex; min-height:42px; align-items:center; flex-direction:row; gap:7px; white-space:nowrap; }.switch-label input { width:17px; min-height:auto; }.cms-split { display:grid; grid-template-columns:390px minmax(0,1fr); align-items:start; gap:18px; }.cms-editor { position:sticky; top:84px; }.check-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.admin-card-list { display:flex; flex-direction:column; }.admin-card-list>article { display:grid; padding:16px 0; align-items:center; border-top:1px solid #edf1f5; grid-template-columns:48px minmax(0,1fr) auto; gap:13px; }.admin-card-list>article:first-child { border-top:0; }.admin-card-list strong,.admin-card-list small { display:block; }.admin-card-list small { color:#8794a5; font-size:.67rem; }.admin-card-list p { max-width:720px; margin:.4rem 0 0; overflow:hidden; color:#657387; font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }.row-actions { display:flex; gap:5px; }.catalog-admin-layout { display:grid; grid-template-columns:370px minmax(0,1fr); align-items:start; gap:18px; }.catalog-table-panel { overflow:hidden; }.catalog-table-panel>.panel-head { padding:24px 24px 0; }.cover-preview { height:190px; margin-bottom:18px; overflow:hidden; border-radius:11px; background:#eef2f8; }.cover-preview img { width:100%; height:100%; object-fit:contain; }.book-admin-cell { display:flex; min-width:240px; align-items:center; gap:10px; }.mini-cover { display:grid; width:38px; height:52px; flex:0 0 auto; overflow:hidden; place-items:center; border-radius:3px 7px 7px 3px; background:var(--royal); color:#fff; font-family:Georgia,serif; }.mini-cover img { width:100%; height:100%; object-fit:cover; }.block-muted { display:block; color:#8b97a7; font-size:.62rem; }.metric-money { font-size:1rem!important; }.message-metrics { margin-bottom:18px; }.message-list { display:flex; flex-direction:column; }.message-item { padding:24px; border-bottom:1px solid #e9edf3; background:#fff; }.message-item:last-child { border:0; }.message-item.unread { border-left:3px solid var(--orange); background:#fffcf7; }.message-head { display:flex; align-items:center; gap:10px; }.message-head>div { flex:1; }.message-head strong,.message-head small { display:block; }.message-head small { color:#8995a5; font-size:.64rem; }.message-item>p { margin:1rem 0; color:#526175; line-height:1.8; }.message-contact { display:flex; align-items:center; gap:14px; }.message-contact>a { color:var(--blue); font-size:.68rem; font-weight:750; }.message-contact>form { margin-left:auto; }.review-moderation-grid { display:grid; padding:20px; grid-template-columns:repeat(3,1fr); gap:14px; }.review-moderation-grid>article { display:flex; min-height:250px; padding:22px; flex-direction:column; border:1px solid #e2e7ef; border-radius:13px; }.review-moderation-grid h3 { margin:.8rem 0 .5rem; color:var(--navy); }.review-moderation-grid>article>p { color:#627084; font-family:Georgia,serif; font-size:.92rem; line-height:1.7; }.review-meta { display:flex; margin-top:auto; padding-top:14px; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid #edf1f5; }.review-meta strong,.review-meta small { display:block; }.review-meta small { color:#8d99a8; font-size:.58rem; }
.content-asset-grid { display:grid; margin-bottom:22px; padding-bottom:22px; grid-template-columns:repeat(3,1fr); gap:10px; border-bottom:1px solid #e9edf3; }.process-editor { margin-top:26px; padding-top:24px; border-top:1px solid #e7ebf1; }.process-editor>article { display:grid; padding:13px 0; align-items:end; border-top:1px solid #edf1f5; grid-template-columns:38px 1fr 1.6fr; gap:10px; }.process-editor>article>span { color:var(--gold-dark); font-family:Georgia,serif; font-size:1.15rem; }

@media(max-width:1100px){.hero-grid{grid-template-columns:1fr 400px;gap:3vw}.flow-track{grid-template-columns:repeat(4,1fr)}.flow-track article>i{display:none}.public-book-grid,.catalog-full{grid-template-columns:repeat(3,1fr)}.cms-content-form{grid-template-columns:1fr}.cms-content-form>.form-actions{grid-column:auto}.menu-add-row,.menu-edit-row{grid-template-columns:1fr 1fr 1fr 70px}.menu-add-row .switch-label,.menu-add-row button,.menu-edit-row .switch-label,.menu-edit-row button{align-self:end}.catalog-admin-layout{grid-template-columns:320px 1fr}.review-moderation-grid{grid-template-columns:repeat(2,1fr)}.operation-metrics,.operation-links{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.publisher-header .public-menu-toggle{color:#fff}.publisher-header .public-nav{border-color:rgba(255,255,255,.16);background:#102862;color:#fff}.publisher-header .nav-login{text-align:center}.publisher-hero{padding-top:125px}.hero-grid{grid-template-columns:1fr}.book-visual{min-height:430px}.publisher-hero-copy{text-align:center}.publisher-kicker,.publisher-actions,.publisher-trust{justify-content:center}.publisher-hero-copy>p{margin-right:auto;margin-left:auto}.stats-grid{grid-template-columns:repeat(2,1fr)}.stats-grid article:nth-child(2){border-right:0}.stats-grid article:nth-child(-n+2){border-bottom:1px solid #e9edf5}.about-grid{grid-template-columns:1fr}.about-visual{width:min(100%,560px);margin:auto}.service-grid{grid-template-columns:1fr}.service-card.featured{transform:none}.public-book-grid,.catalog-full{grid-template-columns:repeat(2,1fr)}.testimonial-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.publisher-footer{grid-template-columns:repeat(3,1fr)}.publisher-footer .footer-brand{grid-column:1/-1}.book-detail-grid{grid-template-columns:290px 1fr;gap:5vw}.book-detail-cover>.book-cover{min-height:430px}.book-specs{grid-template-columns:repeat(2,1fr)}.review-public-grid{grid-template-columns:1fr}.review-public-form{position:static}.cms-split,.catalog-admin-layout{grid-template-columns:1fr}.cms-editor{position:static}.review-moderation-grid{grid-template-columns:1fr}.menu-add-row,.menu-edit-row{grid-template-columns:1fr 1fr}.message-contact{align-items:flex-start;flex-direction:column}.message-contact>form{margin-left:0}}
@media(max-width:600px){.publisher-container,.publisher-header{width:calc(100% - 32px)}.publisher-hero{min-height:800px;padding-top:120px}.publisher-hero-copy h1{font-size:3.35rem}.publisher-actions{align-items:stretch;flex-direction:column}.publisher-trust{gap:.6rem}.book-visual{min-height:360px}.book{width:180px;height:280px;padding:22px 18px}.book>strong{font-size:1.55rem}.book-one{right:15%}.book-two{right:36%}.book-three{right:-4%}.editorial-badge{top:5px;width:92px;height:92px}.editorial-badge b{font-size:1.8rem}.publisher-section{padding:76px 0}.stats-grid article{min-height:105px;padding:18px}.stats-grid strong{font-size:1.7rem}.about-visual{min-height:440px}.about-paper{inset:25px 15px;padding:35px 28px}.about-paper h3{font-size:2rem}.about-chip{right:0}.flow-track{grid-template-columns:1fr}.flow-cta{align-items:stretch;flex-direction:column;gap:14px}.public-book-grid,.catalog-full{grid-template-columns:1fr}.book-cover{min-height:390px}.heading-row{align-items:flex-start;flex-direction:column;gap:12px}.contact-form{padding:24px}.publisher-footer{grid-template-columns:1fr 1fr}.publisher-footer .footer-brand{grid-column:1/-1}.public-subhero{padding-top:130px}.catalog-filter{align-items:stretch;flex-direction:column}.catalog-filter select{width:100%}.book-detail-hero{padding:125px 0 70px}.book-detail-grid{grid-template-columns:1fr}.book-detail-cover{width:230px;margin:auto}.book-detail-cover>.book-cover{min-height:340px}.book-detail-copy{text-align:center}.book-detail-copy .book-category{justify-content:center}.detail-rating,.book-buy{justify-content:center}.book-buy{flex-direction:column;gap:15px}.book-specs{text-align:left}.cms-panel{padding:20px}.menu-add-row,.menu-edit-row{grid-template-columns:1fr}.menu-manager>article{align-items:stretch;flex-direction:column}.menu-manager .menu-edit-row{width:100%}.admin-card-list>article{grid-template-columns:42px 1fr}.admin-card-list .row-actions{grid-column:1/-1}.review-meta{align-items:stretch;flex-direction:column}.review-meta .inline-manage{align-items:stretch;flex-direction:column}.review-meta .inline-manage select{width:100%}.message-head{align-items:flex-start;flex-wrap:wrap}.metric-money{font-size:.75rem!important}.operation-metrics,.operation-links{grid-template-columns:1fr}}
@media(max-width:850px){.content-asset-grid{grid-template-columns:1fr}.process-editor>article{grid-template-columns:38px 1fr}.process-editor>article label:last-child{grid-column:2}}
@media(max-width:600px){.process-editor>article{grid-template-columns:1fr}.process-editor>article label:last-child{grid-column:auto}.about-uploaded-image{inset:20px 10px;width:calc(100% - 20px);height:calc(100% - 40px)}}

/* Public navigation must remain visible, including while an admin previews the site. */
.publisher-header { position:fixed; top:0; left:0; width:100%; height:84px; padding:0 max(24px,calc((100vw - 1180px)/2)); border-bottom:1px solid rgba(255,255,255,.1); background:rgba(15,35,95,.84); box-shadow:0 8px 28px rgba(7,20,59,.08); backdrop-filter:blur(14px); transform:none; transition:background .2s ease,box-shadow .2s ease; }
.publisher-header.scrolled { background:rgba(12,29,78,.97); box-shadow:0 14px 34px rgba(7,20,59,.2); }
.publisher-header .public-nav>a:not(.btn) { position:relative; }
.publisher-header .public-nav>a:not(.btn)::after { position:absolute; right:0; bottom:-9px; left:0; height:2px; background:var(--gold); content:""; opacity:0; transform:scaleX(.2); transition:.18s ease; }
.publisher-header .public-nav>a:not(.btn):hover::after,.publisher-header .public-nav>a.active::after { opacity:1; transform:scaleX(1); }
@media(max-width:850px){.publisher-header{height:74px;padding:0 18px}.publisher-header .public-nav{top:68px;right:18px;max-height:calc(100vh - 90px);overflow:auto}.publisher-header .public-nav>a:not(.btn)::after{display:none}}
@media(max-width:600px){.publisher-header{width:100%}}

/* Ikon SVG dan navigasi terpadu modul buku. */
.book-module-nav { display:grid; margin:-10px 0 24px; padding:8px; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 12px 35px rgba(17,42,70,.06); }
.book-module-nav>a { position:relative; display:flex; min-width:0; min-height:68px; padding:11px 12px; align-items:center; gap:10px; border:1px solid transparent; border-radius:11px; color:#65758a; transition:.18s ease; }
.book-module-nav>a:hover { border-color:#dbe6f8; background:#f6f9ff; color:var(--blue); transform:translateY(-1px); }
.book-module-nav>a.active { border-color:#bfd3fa; background:linear-gradient(135deg,#edf4ff,#f8fbff); color:var(--blue); box-shadow:inset 0 0 0 1px rgba(41,104,232,.04); }
.book-module-nav>a>span:nth-child(2) { min-width:0; }
.book-module-nav strong,.book-module-nav small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.book-module-nav strong { color:inherit; font-size:.76rem; }
.book-module-nav small { margin-top:3px; color:#94a1b2; font-size:.58rem; font-weight:600; }
.book-module-icon { display:grid; width:40px; height:40px; flex:0 0 auto; place-items:center; border-radius:10px; background:#edf3fb; color:#5f7795; }
.book-module-icon .ui-icon { width:20px; height:20px; }
.book-module-nav>a.active .book-module-icon { background:var(--blue); color:#fff; box-shadow:0 7px 18px rgba(41,104,232,.24); }
.book-module-nav .public-catalog-link { border-left-color:#edf0f5; }
.book-module-nav .public-catalog-link .book-module-icon { background:#fff5d8; color:#9a6c00; }
.book-module-nav .module-external { width:14px; height:14px; margin-left:auto; color:#9ba8b8; }
.book-row-actions { flex-wrap:wrap; }
.book-row-actions .btn { white-space:nowrap; }
.catalog-search-icon .ui-icon { width:18px; height:18px; }
.back-link { display:inline-flex; align-items:center; gap:7px; }
.back-link .ui-icon { width:16px; height:16px; }
.dialog-close { display:grid; place-items:center; }
.dialog-close .ui-icon { width:17px; height:17px; }
.empty-state>.ui-icon { width:50px; height:50px; margin-bottom:12px; padding:13px; border-radius:50%; background:#eef3f9; color:var(--blue); }
.empty-state.tall>.ui-icon { width:74px; height:74px; padding:18px; }

@media(max-width:1100px){.book-module-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.book-module-nav .public-catalog-link{border-left-color:transparent}}
@media(max-width:600px){.book-module-nav{display:flex;margin-top:-12px;padding:7px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}.book-module-nav>a{min-width:164px;scroll-snap-align:start}.book-module-nav small{font-size:.56rem}.book-module-icon{width:36px;height:36px}.book-module-icon .ui-icon{width:18px;height:18px}.book-row-actions{flex-wrap:nowrap}.book-row-actions .btn{width:38px;height:38px;padding:0}.book-row-actions .btn span{display:none}.inline-manage{flex-wrap:wrap}.catalog-filter .btn{width:100%}.back-link{justify-content:center}}

/* Homepage paripurna: tetap utuh saat data lama sedang diselaraskan. */
.publisher-assurance { position:relative; z-index:3; border-bottom:1px solid #e8ecf3; background:#fff; }
.assurance-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.assurance-grid article { display:flex; min-height:132px; padding:28px 24px; align-items:center; gap:14px; border-right:1px solid #e8ecf3; }
.assurance-grid article:last-child { border-right:0; }
.assurance-grid article>.ui-icon { width:30px; height:30px; color:var(--gold-dark); }
.assurance-grid strong,.assurance-grid span { display:block; }
.assurance-grid strong { margin-bottom:5px; color:var(--royal-dark); font-family:Georgia,serif; font-size:.95rem; }
.assurance-grid span { color:#7f8b9b; font-size:.64rem; line-height:1.55; }
.service-icon .ui-icon { width:28px; height:28px; }
.catalog-empty-showcase { display:flex; min-height:390px; padding:60px 30px; align-items:center; justify-content:center; border:1px dashed #cad7e8; border-radius:18px; background:linear-gradient(145deg,#f7f9fd,#fff); text-align:center; flex-direction:column; }
.catalog-empty-showcase>div { display:grid; width:76px; height:76px; margin-bottom:20px; place-items:center; border-radius:20px; background:#eaf1ff; color:var(--blue); transform:rotate(-4deg); }
.catalog-empty-showcase>div .ui-icon { width:35px; height:35px; }
.catalog-empty-showcase h3 { margin:.3rem 0 .6rem; color:var(--royal-dark); font-family:Georgia,serif; font-size:1.8rem; }
.catalog-empty-showcase p { max-width:560px; margin:0 0 1.3rem; color:#718095; line-height:1.7; }
.publisher-faq { background:linear-gradient(145deg,#f6f8fc,#fff); }
.faq-grid { display:grid; grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr); align-items:start; gap:7vw; }
.faq-intro { position:sticky; top:115px; }
.faq-intro h2 { margin:.6rem 0 1rem; color:var(--royal-dark); font-family:Georgia,serif; font-size:clamp(2.2rem,4vw,3.8rem); font-weight:500; }
.faq-intro p { margin-bottom:1.4rem; color:#718095; line-height:1.8; }
.faq-list { display:flex; flex-direction:column; gap:10px; }
.faq-list details { padding:0 22px; border:1px solid #e0e6ef; border-radius:13px; background:#fff; box-shadow:0 8px 25px rgba(18,45,105,.04); }
.faq-list summary { display:flex; min-height:68px; align-items:center; justify-content:space-between; gap:15px; color:#24365e; font-weight:800; cursor:pointer; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary .ui-icon { width:19px; height:19px; color:var(--blue); transition:.2s ease; }
.faq-list details[open] summary .ui-icon { transform:rotate(45deg); }
.faq-list details p { margin:0; padding:0 36px 21px 0; color:#6e7c8f; font-size:.76rem; line-height:1.75; }

@media(max-width:1100px){.assurance-grid{grid-template-columns:repeat(2,1fr)}.assurance-grid article:nth-child(2){border-right:0}.assurance-grid article:nth-child(-n+2){border-bottom:1px solid #e8ecf3}}
@media(max-width:850px){.faq-grid{grid-template-columns:1fr}.faq-intro{position:static}.faq-intro h2{max-width:650px}.cms-split{gap:24px}}
@media(max-width:600px){.assurance-grid{grid-template-columns:1fr}.assurance-grid article{min-height:105px;padding:22px 8px;border-right:0;border-bottom:1px solid #e8ecf3}.assurance-grid article:last-child{border-bottom:0}.catalog-empty-showcase{min-height:330px;padding:42px 22px}.catalog-empty-showcase h3{font-size:1.5rem}.faq-list details{padding:0 17px}.faq-list summary{min-height:62px;font-size:.8rem}.faq-list details p{padding-right:0}.publisher-faq{padding-top:70px}}
