: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; }

.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-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 span { width: 24px; color: #7792ac; text-align: center; font-size: 1rem; }
.side-nav a:hover,.side-nav a.active { background: rgba(78,139,246,.16); color: #fff; }
.side-nav a.active span { 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; }
.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 > 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.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}}
