:root {
  --navy-950: #061f2e;
  --navy-900: #0a3146;
  --navy-800: #10435a;
  --navy-700: #18566e;
  --teal-700: #087f83;
  --teal-600: #0b9a98;
  --teal-100: #dff5f2;
  --gold-600: #c99220;
  --gold-100: #fff4d6;
  --green-700: #19734c;
  --green-100: #e5f7ed;
  --red-700: #b83c4b;
  --red-100: #feebed;
  --amber-700: #a75e08;
  --amber-100: #fff1dc;
  --purple-700: #6945a8;
  --purple-100: #f2ebff;
  --blue-700: #2a62ab;
  --blue-100: #e9f2ff;
  --ink: #132b3a;
  --muted: #657785;
  --line: #dce5e9;
  --line-strong: #c8d5db;
  --surface: #ffffff;
  --surface-soft: #f4f7f8;
  --canvas: #edf3f5;
  --shadow: 0 14px 38px rgba(7, 45, 62, .08);
  --shadow-soft: 0 6px 18px rgba(7, 45, 62, .06);
  --radius-xl: 22px;
  --radius-lg: 16px;
  --radius-md: 12px;
  --font-ar: "Simplified Arabic", "Sakkal Majalla", Tahoma, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--canvas); font-family: var(--font-ar); font-size: 16px; line-height: 1.65; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button { cursor: pointer; }
button:disabled, .button:disabled { cursor: not-allowed; opacity: .55; }
:focus-visible { outline: 3px solid rgba(11,154,152,.32); outline-offset: 2px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.skip-link { position: fixed; top: -100px; right: 18px; z-index: 9999; background: var(--navy-900); color: white; padding: 10px 16px; border-radius: 8px; }
.skip-link:focus { top: 18px; }

/* Guest and authentication */
.guest-body { min-height: 100vh; background: var(--navy-950); }
.guest-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(360px, .88fr) minmax(520px, 1.12fr); }
.guest-brand-panel { position: relative; overflow: hidden; padding: 42px 52px; color: white; background: linear-gradient(145deg, #061f2e 0%, #0a3c50 56%, #087f83 140%); display: flex; flex-direction: column; }
.guest-brand-panel::before { content: ""; position: absolute; width: 620px; height: 620px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; left: -330px; bottom: -300px; box-shadow: 0 0 0 78px rgba(255,255,255,.025), 0 0 0 158px rgba(255,255,255,.02); }
.guest-brand-panel::after { content: ""; position: absolute; width: 220px; height: 5px; right: 52px; top: 150px; background: linear-gradient(90deg, var(--gold-600), transparent); border-radius: 9px; }
.guest-brand-head { display: flex; align-items: center; gap: 14px; position: relative; z-index: 1; }
.guest-brand-head img { width: 76px; height: 76px; object-fit: contain; padding: 3px; background: white; border-radius: 13px; filter: drop-shadow(0 8px 16px rgba(0,0,0,.18)); }
.guest-brand-head div { display: grid; }
.guest-brand-head strong { font-size: 1.18rem; line-height: 1.2; }
.guest-brand-head span { color: #b9d9df; }
.guest-brand-copy { position: relative; z-index: 1; margin: auto 0; max-width: 560px; }
.year-pill { display: inline-flex; padding: 7px 13px; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.08); border-radius: 999px; color: #d9f2f2; font-size: .86rem; }
.guest-brand-copy h1 { font-size: clamp(2.65rem, 5vw, 4.8rem); line-height: 1.05; letter-spacing: -.055em; margin: 22px 0 20px; }
.guest-brand-copy h1 em { display: block; color: #67d5ce; font-style: normal; }
.guest-brand-copy > p { max-width: 520px; color: #c3d7dc; font-size: 1.08rem; line-height: 1.95; margin: 0 0 30px; }
.service-mini-list { display: grid; gap: 10px; }
.service-mini-list span { display: flex; align-items: center; gap: 12px; color: #eaf5f6; }
.service-mini-list i { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: rgba(103,213,206,.12); color: #79ddd6; font-style: normal; font-size: .76rem; border: 1px solid rgba(103,213,206,.18); }
.guest-brand-foot { position: relative; z-index: 1; display: flex; gap: 22px; flex-wrap: wrap; color: #a9c5cc; font-size: .8rem; }
.guest-brand-foot span::before { content: "✓"; color: #66d1ca; margin-left: 6px; }
.guest-form-panel { min-height: 100vh; background: #f7fafb; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 42px clamp(28px, 6vw, 92px); }
.guest-form-panel > * { width: min(100%, 610px); }
.guest-mobile-logo { display: none; }
.auth-card { width: min(100%, 520px); }
.register-card { width: min(100%, 610px); }
.compact-auth-card { width: min(100%, 460px); }
.auth-heading { margin-bottom: 25px; }
.auth-heading.centered { text-align: center; }
.auth-eyebrow, .eyebrow { display: block; color: var(--teal-700); font-weight: 800; font-size: .82rem; letter-spacing: .04em; margin-bottom: 6px; }
.auth-heading h2 { font-size: clamp(2rem, 4vw, 2.55rem); line-height: 1.15; margin: 0 0 8px; color: var(--navy-950); }
.auth-heading p { margin: 0; color: var(--muted); }
.login-hint { display: flex; gap: 12px; align-items: flex-start; background: #eef7f8; border: 1px solid #d2e9eb; padding: 14px 16px; border-radius: var(--radius-md); margin-bottom: 22px; }
.login-hint > span { flex: 0 0 24px; height: 24px; display: grid; place-items: center; background: var(--teal-700); color: white; border-radius: 50%; font: bold .8rem Arial; }
.login-hint p { margin: 0; color: #365966; font-size: .85rem; line-height: 1.8; }
.auth-form { display: grid; gap: 17px; }
.auth-options { display: flex; align-items: center; justify-content: space-between; font-size: .88rem; color: var(--muted); }
.auth-options label { display: flex; align-items: center; gap: 7px; }
.auth-options a, .back-link { color: var(--teal-700); font-weight: 800; }
.back-link { display: inline-flex; margin-bottom: 20px; font-size: .86rem; }
.auth-divider { display: flex; align-items: center; gap: 12px; margin: 24px 0 16px; color: var(--muted); font-size: .82rem; }
.auth-divider::before, .auth-divider::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.auth-note { text-align: center; color: var(--muted); font-size: .78rem; margin: 16px 0 0; }
.guest-footer { margin-top: 28px; text-align: center; color: #87959e; font-size: .72rem; }
.auth-symbol { margin: 0 auto 18px; width: 62px; height: 62px; display: grid; place-items: center; border-radius: 18px; background: var(--teal-100); color: var(--teal-700); font-size: 1.75rem; }
.two-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.consent { display: flex; align-items: flex-start; gap: 10px; font-size: .84rem; color: #425b68; }

/* Core controls */
.field { display: grid; gap: 7px; min-width: 0; }
.field > span, .choice-field legend, .issue-list legend { font-weight: 800; font-size: .88rem; color: #294654; }
.field b, .choice-field b, .issue-list b { color: var(--red-700); }
.field input, .field select, .field textarea, .filter-bar input, .filter-bar select, .statistics-filter input, .document-review-form input { width: 100%; min-height: 48px; border: 1px solid var(--line-strong); background: white; color: var(--ink); border-radius: 11px; padding: 10px 13px; transition: border-color .15s, box-shadow .15s; }
.field textarea { min-height: 118px; resize: vertical; line-height: 1.75; }
.field input:focus, .field select:focus, .field textarea:focus, .filter-bar input:focus, .filter-bar select:focus, .statistics-filter input:focus { outline: none; border-color: var(--teal-600); box-shadow: 0 0 0 4px rgba(11,154,152,.1); }
.field small { color: var(--muted); font-size: .74rem; line-height: 1.55; }
.field.readonly input { background: #f1f5f6; color: #5e6f78; }
.input-with-icon, .password-wrap { position: relative; }
.input-with-icon > i { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); color: #8aa0aa; font-style: normal; }
.input-with-icon input { padding-right: 42px; }
.password-wrap .toggle-password { position: absolute; left: 8px; top: 50%; transform: translateY(-50%); border: 0; background: transparent; color: #6f838d; padding: 8px; }
.button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 10px 18px; border: 1px solid transparent; border-radius: 11px; font-weight: 800; transition: transform .15s, box-shadow .15s, background .15s; }
.button:hover:not(:disabled) { transform: translateY(-1px); }
.button-primary { background: linear-gradient(135deg, var(--teal-700), var(--teal-600)); color: white; box-shadow: 0 8px 18px rgba(8,127,131,.2); }
.button-secondary { background: var(--navy-900); color: white; }
.button-outline { background: white; color: var(--navy-900); border-color: var(--line-strong); }
.button-ghost { background: var(--surface-soft); color: #405966; border-color: var(--line); }
.button-success { background: var(--green-700); color: white; }
.button-danger { background: var(--red-700); color: white; }
.button-warning { background: var(--amber-700); color: white; }
.full-button { width: 100%; }
.compact-button { min-height: 42px; padding: 8px 14px; }

/* App shell */
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 278px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; z-index: 100; padding: 25px 20px 18px; color: white; background: linear-gradient(180deg, var(--navy-950), var(--navy-900)); display: flex; flex-direction: column; overflow-y: auto; box-shadow: -10px 0 30px rgba(5,30,43,.12); }
.brand-lockup { display: flex; align-items: center; gap: 11px; padding: 0 5px 20px; border-bottom: 1px solid rgba(255,255,255,.1); }
.brand-lockup img { width: 60px; height: 60px; object-fit: contain; padding: 3px; background: white; border-radius: 11px; }
.brand-lockup div { display: grid; }
.brand-lockup strong { line-height: 1.2; font-size: .97rem; }
.brand-lockup span { color: #a9c8d0; font-size: .77rem; }
.academic-year { margin: 18px 4px; padding: 12px 14px; border-radius: 12px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.08); display: flex; justify-content: space-between; align-items: center; }
.academic-year span { color: #a9c8d0; font-size: .72rem; }
.academic-year strong { color: #6bd8d0; font-size: .88rem; direction: ltr; }
.side-nav { display: grid; gap: 5px; }
.nav-item { min-height: 46px; display: flex; align-items: center; gap: 12px; padding: 9px 12px; border-radius: 11px; color: #bed2d8; font-size: .91rem; font-weight: 700; transition: .16s; }
.nav-item:hover { color: white; background: rgba(255,255,255,.055); }
.nav-item.active { color: white; background: linear-gradient(90deg, rgba(10,154,152,.27), rgba(10,154,152,.12)); box-shadow: inset -3px 0 0 #61d6cf; }
.nav-icon { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; color: #80d7d2; background: rgba(255,255,255,.06); font: 700 1rem Arial; }
.nav-separator { color: #6f929e; font-size: .67rem; font-weight: 800; margin: 18px 12px 6px; letter-spacing: .08em; }
.support-card { margin-top: auto; display: flex; align-items: center; gap: 10px; padding: 13px; border-radius: 12px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.07); }
.support-card > span { width: 9px; height: 9px; border-radius: 50%; background: #61d69a; box-shadow: 0 0 0 4px rgba(97,214,154,.12); }
.support-card div { display: grid; }
.support-card strong { font-size: .8rem; }
.support-card small { color: #8eacb5; font-size: .67rem; }
.logout-form { margin-top: 10px; }
.logout-form button { width: 100%; min-height: 42px; display: flex; align-items: center; gap: 10px; border: 0; background: transparent; color: #9eb8c0; padding: 8px 12px; border-radius: 9px; }
.logout-form button:hover { background: rgba(255,255,255,.05); color: white; }
.workspace { min-width: 0; }
.topbar { height: 78px; padding: 0 clamp(20px, 3.2vw, 48px); background: rgba(255,255,255,.92); backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: flex-end; position: sticky; top: 0; z-index: 80; }
.menu-button, .mobile-title { display: none; }
.topbar-user { display: flex; align-items: center; gap: 10px; }
.topbar-user > div:last-child { display: grid; }
.topbar-user strong { font-size: .88rem; line-height: 1.3; }
.topbar-user span { color: var(--muted); font-size: .72rem; }
.avatar { flex: 0 0 auto; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: linear-gradient(135deg, var(--navy-900), var(--teal-700)); color: white; font-weight: 800; font-size: .84rem; }
.avatar.large { width: 54px; height: 54px; border-radius: 15px; font-size: 1rem; }
.notification-button { position: relative; width: 40px; height: 40px; border: 1px solid var(--line); background: white; color: var(--navy-900); border-radius: 12px; margin-left: 10px; }
.notification-button i { position: absolute; top: 8px; left: 9px; width: 7px; height: 7px; background: var(--red-700); border-radius: 50%; border: 2px solid white; }
.main-content { padding: 34px clamp(20px, 3.2vw, 48px) 60px; max-width: 1680px; margin: auto; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 25px; }
.page-heading h1 { font-size: clamp(1.8rem, 3vw, 2.55rem); line-height: 1.15; color: var(--navy-950); margin: 2px 0 6px; letter-spacing: -.025em; }
.page-heading p { color: var(--muted); margin: 0; }
.compact-heading { align-items: center; }
.window-status { display: flex; align-items: center; gap: 11px; min-width: 245px; border: 1px solid var(--line); background: white; padding: 12px 15px; border-radius: 14px; box-shadow: var(--shadow-soft); }
.window-status > span { width: 10px; height: 10px; border-radius: 50%; }
.window-status.open > span { background: #32a86a; box-shadow: 0 0 0 5px rgba(50,168,106,.11); }
.window-status.closed > span { background: #c85660; box-shadow: 0 0 0 5px rgba(200,86,96,.11); }
.window-status div { display: grid; }
.window-status strong { font-size: .83rem; }
.window-status small { color: var(--muted); font-size: .71rem; }
.sidebar-backdrop { display: none; }

/* Alerts */
.flash, .notice-bar { display: flex; align-items: center; gap: 12px; border-radius: 13px; padding: 13px 15px; margin-bottom: 20px; border: 1px solid; }
.flash > span, .notice-bar > span { flex: 0 0 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; font: bold .82rem Arial; }
.flash p, .notice-bar p { flex: 1; margin: 0; font-size: .88rem; }
.flash button { border: 0; background: transparent; font-size: 1.25rem; color: currentColor; }
.flash.success { background: var(--green-100); border-color: #bfe8d0; color: #175d40; }
.flash.success > span { color: white; background: var(--green-700); }
.flash.error, .notice-bar.error { background: var(--red-100); border-color: #f4cdd1; color: #8c2e3a; }
.flash.error > span, .notice-bar.error > span { color: white; background: var(--red-700); }
.notice-bar.warning { background: var(--amber-100); border-color: #f3d9ac; color: #80500f; }
.notice-bar.warning > span { color: white; background: var(--amber-700); }
.notice-bar .button { margin-right: auto; min-height: 38px; }

/* Cards and dashboard */
.content-card, .form-section, .dashboard-primary-card, .settings-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-xl); box-shadow: var(--shadow-soft); }
.dashboard-primary-card { padding: clamp(22px, 3vw, 34px); margin-bottom: 24px; background: linear-gradient(105deg, white 0%, white 58%, #edf9f8 100%); }
.primary-card-copy { margin-bottom: 20px; }
.section-tag, .count-pill { display: inline-flex; border-radius: 999px; background: var(--teal-100); color: var(--teal-700); font-weight: 800; font-size: .72rem; padding: 5px 11px; }
.primary-card-copy h2 { margin: 9px 0 4px; color: var(--navy-950); font-size: 1.45rem; }
.primary-card-copy p { color: var(--muted); margin: 0; }
.service-grid, .service-choice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.service-card { min-height: 112px; display: flex; align-items: center; gap: 13px; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: white; transition: .16s; }
.service-card:hover { border-color: #87d5d1; transform: translateY(-2px); box-shadow: var(--shadow-soft); }
.service-card.disabled { pointer-events: none; opacity: .55; }
.service-number { flex: 0 0 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; background: var(--navy-900); color: #70d9d3; font: 800 .78rem Arial; }
.service-card div { display: grid; flex: 1; }
.service-card strong { font-size: .91rem; }
.service-card small { color: var(--muted); font-size: .73rem; line-height: 1.5; }
.service-card > i { color: var(--teal-700); font-style: normal; font-size: 1.25rem; }
.card-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.card-heading h2 { margin: 0; font-size: 1.15rem; color: var(--navy-950); }
.card-heading p { margin: 2px 0 0; color: var(--muted); font-size: .79rem; }
.content-card { padding: 24px; }
.empty-state { text-align: center; padding: 48px 20px; color: var(--muted); }
.empty-state.small { padding: 22px; }
.empty-state > span { margin: auto; width: 52px; height: 52px; display: grid; place-items: center; background: var(--surface-soft); color: #8ba0aa; border-radius: 16px; font-size: 1.5rem; }
.empty-state h3 { color: #38515e; margin: 12px 0 3px; }
.empty-state p { margin: 0; font-size: .82rem; }
.requests-list { display: grid; }
.request-row { display: grid; grid-template-columns: 46px minmax(220px, 1.3fr) minmax(105px,.35fr) auto minmax(120px,.35fr); align-items: center; gap: 15px; padding: 16px 0; border-top: 1px solid var(--line); }
.request-row:first-child { border-top: 0; padding-top: 0; }
.request-type-mark { width: 42px; height: 42px; display: grid; place-items: center; background: var(--blue-100); color: var(--blue-700); border-radius: 12px; font-weight: 800; font-size: .76rem; }
.request-main, .request-date { display: grid; }
.request-number { font: 700 .68rem Arial; color: var(--teal-700); letter-spacing: .04em; }
.request-main strong { font-size: .91rem; }
.request-main small, .request-date span { color: var(--muted); font-size: .71rem; }
.request-date strong { font-size: .78rem; }
.row-action, .table-action { color: var(--teal-700); font-weight: 800; font-size: .79rem; white-space: nowrap; }

/* Forms */
.stepper { display: grid; grid-template-columns: repeat(5, 1fr); background: white; border: 1px solid var(--line); border-radius: 17px; padding: 15px 18px; margin-bottom: 20px; box-shadow: var(--shadow-soft); }
.step { position: relative; display: flex; align-items: center; gap: 10px; min-width: 0; }
.step:not(:last-child)::after { content: ""; position: absolute; height: 2px; width: calc(100% - 86px); left: 10px; top: 17px; background: var(--line); }
.step.active:not(:last-child)::after { background: #8cd6d2; }
.step > span { flex: 0 0 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #edf2f4; color: #7a8c95; font: 800 .76rem Arial; z-index: 1; }
.step.active > span { background: var(--teal-700); color: white; box-shadow: 0 0 0 5px var(--teal-100); }
.step div { display: grid; }
.step strong { font-size: .76rem; }
.step small { color: var(--muted); font-size: .63rem; }
.application-form { display: grid; gap: 20px; }
.form-section { padding: clamp(20px, 2.7vw, 30px); }
.section-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 22px; }
.section-heading > span { flex: 0 0 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: var(--navy-900); color: #70d9d3; font: 800 .76rem Arial; }
.section-heading > div { flex: 1; }
.section-heading h2 { margin: 0; color: var(--navy-950); font-size: 1.16rem; }
.section-heading p { margin: 1px 0 0; color: var(--muted); font-size: .78rem; }
.section-heading > em { font-style: normal; background: var(--green-100); color: var(--green-700); border-radius: 999px; padding: 5px 10px; font-size: .68rem; font-weight: 800; }
.service-choice { position: relative; min-height: 110px; display: flex; align-items: center; gap: 12px; padding: 15px; border: 1px solid var(--line); border-radius: 16px; background: #fbfcfc; cursor: pointer; transition: .16s; }
.service-choice:hover { border-color: #94d9d5; }
.service-choice.selected { border-color: var(--teal-600); background: #f2fbfa; box-shadow: 0 0 0 3px rgba(11,154,152,.08); }
.service-choice input { position: absolute; opacity: 0; }
.service-choice > span:nth-of-type(2) { display: grid; flex: 1; }
.service-choice strong { font-size: .88rem; }
.service-choice small { color: var(--muted); font-size: .7rem; }
.service-choice > i { width: 19px; height: 19px; border: 2px solid #aebdc4; border-radius: 50%; }
.service-choice.selected > i { border: 5px solid var(--teal-700); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 17px; }
.form-grid.three { grid-template-columns: repeat(3, minmax(0,1fr)); }
.field-wide { grid-column: 1 / -1; }
.choice-field, .issue-list { margin: 0; min-width: 0; border: 1px solid var(--line); border-radius: 13px; padding: 13px 15px; }
.choice-field { display: flex; align-items: center; gap: 20px; }
.choice-field legend, .issue-list legend { padding: 0 4px; }
.choice-field label, .issue-list label { display: flex; align-items: center; gap: 7px; color: #405966; font-size: .86rem; }
.issue-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; margin-bottom: 16px; }
.inline-fields { display: grid; grid-template-columns: .7fr 1fr 1.6fr; gap: 10px; }
.service-fields { display: none; }
.service-fields.active { display: block; }
.document-group { display: none; gap: 11px; }
.document-group.active { display: grid; }
.upload-card { min-height: 84px; display: flex; align-items: center; gap: 13px; border: 1px dashed #aebfc7; border-radius: 15px; padding: 13px 15px; background: #fbfcfc; cursor: pointer; transition: .16s; }
.upload-card:hover { border-color: var(--teal-600); background: #f5fbfb; }
.upload-card.has-file { border-style: solid; border-color: #b8ddca; background: #f5fbf8; }
.upload-card input { position: absolute; opacity: 0; pointer-events: none; }
.upload-icon { flex: 0 0 45px; height: 45px; display: grid; place-items: center; border-radius: 13px; background: var(--teal-100); color: var(--teal-700); font-weight: 900; }
.has-file .upload-icon { background: var(--green-100); color: var(--green-700); }
.upload-copy { flex: 1; display: grid; }
.upload-copy strong { font-size: .86rem; }
.upload-copy small { color: var(--muted); font-size: .72rem; }
.upload-card > em, .upload-card > a { font-style: normal; color: var(--teal-700); font-size: .76rem; font-weight: 800; }
.sticky-form-actions { position: sticky; bottom: 14px; z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 18px; border: 1px solid var(--line); border-radius: 17px; background: rgba(255,255,255,.94); backdrop-filter: blur(12px); box-shadow: 0 14px 40px rgba(7,45,62,.15); }
.sticky-form-actions > div:first-child { display: flex; align-items: center; gap: 10px; }
.sticky-form-actions > div:first-child > span { width: 34px; height: 34px; display: grid; place-items: center; background: var(--green-100); color: var(--green-700); border-radius: 10px; font-weight: 900; }
.sticky-form-actions p { display: grid; margin: 0; }
.sticky-form-actions p strong { font-size: .78rem; }
.sticky-form-actions p small { color: var(--muted); font-size: .67rem; }
.action-buttons { display: flex; gap: 10px; }

/* Status and tracking */
.status-badge { display: inline-flex; align-items: center; justify-content: center; gap: 5px; width: max-content; padding: 5px 10px; border-radius: 999px; font-size: .7rem; font-weight: 900; white-space: nowrap; }
.status-badge.large { font-size: .8rem; padding: 8px 14px; }
.status-draft { background: #eef2f4; color: #596d77; }
.status-submitted { background: var(--blue-100); color: var(--blue-700); }
.status-under_review { background: var(--amber-100); color: var(--amber-700); }
.status-needs_completion { background: var(--purple-100); color: var(--purple-700); }
.status-accepted { background: var(--green-100); color: var(--green-700); }
.status-rejected { background: var(--red-100); color: var(--red-700); }
.tracking-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(320px, .6fr); gap: 20px; align-items: start; }
.timeline { padding: 5px 4px; }
.timeline-item { position: relative; display: flex; gap: 14px; padding: 0 0 28px; }
.timeline-item:not(:last-child)::after { content: ""; position: absolute; right: 16px; top: 34px; bottom: 0; width: 2px; background: var(--line); }
.timeline-item > span { flex: 0 0 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #edf2f4; color: #73858e; z-index: 1; font-weight: 900; }
.timeline-item.done > span { background: var(--green-100); color: var(--green-700); }
.timeline-item.current > span { background: var(--amber-100); color: var(--amber-700); box-shadow: 0 0 0 5px #fff8ea; }
.timeline-item div { display: grid; padding-top: 3px; }
.timeline-item strong { font-size: .88rem; }
.timeline-item small { color: var(--muted); font-size: .72rem; }
.timeline-item p { margin: 6px 0 0; color: #4c626d; background: var(--surface-soft); padding: 8px 10px; border-radius: 8px; font-size: .78rem; }
.detail-list { display: grid; gap: 0; margin: 0; }
.detail-list > div { display: grid; grid-template-columns: .85fr 1.15fr; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.detail-list dt { color: var(--muted); font-size: .76rem; }
.detail-list dd { margin: 0; font-weight: 800; font-size: .8rem; }
.subheading { font-size: .9rem; margin: 22px 0 10px; }
.mini-doc-list { display: grid; gap: 8px; }
.mini-doc-list a { display: flex; align-items: center; gap: 10px; padding: 10px; border: 1px solid var(--line); border-radius: 11px; }
.mini-doc-list a > span { color: var(--red-700); font: 800 .62rem Arial; }
.mini-doc-list div { display: grid; }
.mini-doc-list strong { font-size: .72rem; }
.mini-doc-list small { color: var(--muted); font-size: .65rem; }

/* Admin table */
.kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 15px; margin-bottom: 22px; }
.kpi-card { position: relative; min-height: 138px; padding: 20px; overflow: hidden; border-radius: 18px; color: white; box-shadow: var(--shadow); }
.kpi-card::after { content: ""; position: absolute; width: 120px; height: 120px; left: -44px; bottom: -60px; border: 24px solid rgba(255,255,255,.05); border-radius: 50%; }
.kpi-card.navy { background: linear-gradient(135deg,#0a3146,#14526a); }
.kpi-card.teal { background: linear-gradient(135deg,#087f83,#0aa6a0); }
.kpi-card.amber { background: linear-gradient(135deg,#9d600b,#d79a25); }
.kpi-card.green { background: linear-gradient(135deg,#176843,#25985f); }
.kpi-card > span { display: block; color: rgba(255,255,255,.78); font-size: .78rem; }
.kpi-card > strong { display: block; font: 800 2rem Arial; margin: 5px 0 2px; }
.kpi-card > small { color: rgba(255,255,255,.68); font-size: .67rem; }
.kpi-card > i { position: absolute; left: 17px; top: 17px; width: 34px; height: 34px; display: grid; place-items: center; background: rgba(255,255,255,.12); border-radius: 10px; font-style: normal; }
.table-card { padding: 0; overflow: hidden; }
.filter-bar { display: grid; grid-template-columns: minmax(230px,1fr) minmax(170px,.45fr) minmax(150px,.4fr) auto auto; gap: 10px; padding: 18px; border-bottom: 1px solid var(--line); }
.filter-bar input, .filter-bar select { min-height: 42px; }
.search-field { position: relative; }
.search-field span { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: #82959f; }
.search-field input { padding-right: 39px; }
.table-summary { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 14px 20px; background: #f8fafb; border-bottom: 1px solid var(--line); }
.table-summary strong { font-size: .82rem; }
.table-summary span { color: var(--muted); font-size: .7rem; }
.table-wrap { width: 100%; overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; min-width: 900px; }
.data-table th { background: #f4f7f8; color: #5a6d77; padding: 12px 14px; text-align: right; font-size: .7rem; font-weight: 900; border-bottom: 1px solid var(--line); }
.data-table td { padding: 13px 14px; border-bottom: 1px solid #e8eef0; vertical-align: middle; font-size: .78rem; }
.data-table tbody tr:hover { background: #fbfdfd; }
.data-table td > small { display: block; color: var(--muted); font-size: .66rem; }
.student-cell { display: flex; align-items: center; gap: 10px; }
.student-cell > span { flex: 0 0 35px; height: 35px; display: grid; place-items: center; border-radius: 10px; background: var(--teal-100); color: var(--teal-700); font-weight: 900; font-size: .72rem; }
.student-cell > div { display: grid; }
.student-cell strong { font-size: .78rem; }
.student-cell small { color: var(--muted); font-size: .65rem; }
.mono { direction: ltr; display: inline-block; font: 700 .72rem Arial; }
.pagination { padding: 15px 20px; display: flex; align-items: center; justify-content: space-between; }
.pagination > span { color: var(--muted); font-size: .72rem; }
.pagination > div { display: flex; gap: 5px; }
.pagination a { width: 33px; height: 33px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 8px; font-size: .75rem; }
.pagination a.active { background: var(--navy-900); color: white; }

/* Application review */
.review-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(310px,.65fr); gap: 20px; align-items: start; }
.review-main, .review-sidebar { display: grid; gap: 20px; }
.review-sidebar { position: sticky; top: 98px; }
.applicant-header { display: flex; align-items: center; gap: 12px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.applicant-header > div:nth-child(2) { display: grid; flex: 1; }
.applicant-header > div:nth-child(2) > span { color: var(--teal-700); font-size: .68rem; font-weight: 800; }
.applicant-header h2 { margin: 0; font-size: 1.15rem; }
.applicant-header p { margin: 0; color: var(--muted); font-size: .72rem; }
.applicant-header > a { color: var(--teal-700); font-size: .72rem; font-weight: 800; }
.detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; }
.detail-grid > div { padding: 14px 0; border-bottom: 1px solid var(--line); }
.detail-grid > div:nth-child(odd) { padding-left: 18px; border-left: 1px solid var(--line); }
.detail-grid > div:nth-child(even) { padding-right: 18px; }
.detail-grid dt { color: var(--muted); font-size: .7rem; }
.detail-grid dd { margin: 2px 0 0; font-size: .82rem; font-weight: 800; }
.statement-box { padding: 16px; background: #f7fafb; border-right: 4px solid var(--teal-600); border-radius: 10px; }
.statement-box span { color: var(--teal-700); font-size: .72rem; font-weight: 900; }
.statement-box p { margin: 5px 0 0; line-height: 1.9; font-size: .84rem; }
.issue-tags { display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 14px; }
.issue-tags span { padding: 6px 10px; background: var(--amber-100); color: var(--amber-700); border-radius: 999px; font-size: .7rem; font-weight: 800; }
.document-review-list { display: grid; gap: 11px; }
.document-review-item { border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.document-file { display: flex; align-items: center; gap: 11px; padding: 13px; }
.document-file > span { flex: 0 0 42px; height: 42px; display: grid; place-items: center; background: var(--red-100); color: var(--red-700); border-radius: 11px; font: 800 .62rem Arial; }
.document-file > div { display: grid; flex: 1; }
.document-file strong { font-size: .8rem; }
.document-file small { color: var(--muted); font-size: .68rem; }
.document-file > i { color: var(--teal-700); font-style: normal; font-size: .7rem; font-weight: 800; }
.document-review-form { display: grid; grid-template-columns: 1fr auto auto; gap: 7px; padding: 10px 13px; background: #f7fafb; border-top: 1px solid var(--line); }
.document-review-form input { min-height: 38px; }
.doc-button { min-height: 38px; border-radius: 9px; padding: 6px 10px; background: white; font-weight: 800; border: 1px solid var(--line); }
.doc-button.accept { color: var(--green-700); }
.doc-button.reject { color: var(--red-700); }
.doc-button.accept.selected { background: var(--green-100); border-color: #aadcbc; }
.doc-button.reject.selected { background: var(--red-100); border-color: #edb7bd; }
.decision-buttons { display: grid; gap: 8px; margin-top: 13px; }
.decision-buttons .button { width: 100%; }
.mini-timeline { display: grid; }
.mini-timeline > div { position: relative; display: flex; gap: 10px; padding-bottom: 16px; }
.mini-timeline > div:not(:last-child)::after { content: ""; position: absolute; right: 5px; top: 15px; bottom: 0; width: 1px; background: var(--line); }
.mini-timeline > div > span { flex: 0 0 11px; height: 11px; margin-top: 5px; background: var(--teal-600); border-radius: 50%; z-index: 1; }
.mini-timeline p { display: grid; margin: 0; }
.mini-timeline strong { font-size: .76rem; }
.mini-timeline small { color: var(--muted); font-size: .64rem; }
.mini-timeline em { font-style: normal; color: #4a606b; background: var(--surface-soft); padding: 5px 8px; margin-top: 4px; border-radius: 6px; font-size: .68rem; }

/* Statistics */
.statistics-filter { display: flex; align-items: end; gap: 12px; padding: 16px; margin-bottom: 20px; background: white; border: 1px solid var(--line); border-radius: 16px; }
.statistics-filter .field { min-width: 190px; }
.kpi-grid.six { grid-template-columns: repeat(6,minmax(0,1fr)); }
.metric-card { padding: 17px; background: white; border: 1px solid var(--line); border-top: 4px solid var(--navy-900); border-radius: 15px; box-shadow: var(--shadow-soft); }
.metric-card > span { display: block; color: var(--muted); font-size: .72rem; }
.metric-card > strong { display: block; font: 800 1.65rem Arial; margin: 4px 0; color: var(--navy-950); }
.metric-card > small { color: #87969e; font-size: .66rem; }
.metric-card.blue { border-top-color: var(--blue-700); }.metric-card.amber { border-top-color: var(--amber-700); }.metric-card.purple { border-top-color: var(--purple-700); }.metric-card.green { border-top-color: var(--green-700); }.metric-card.red { border-top-color: var(--red-700); }
.analytics-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.wide-analytics { grid-column: 1 / -1; }
.bar-list { display: grid; gap: 18px; }
.bar-list header { display: flex; justify-content: space-between; gap: 10px; font-size: .78rem; }
.bar-list i, .rank-list p > i { display: block; height: 8px; background: #e8eff1; border-radius: 999px; overflow: hidden; margin-top: 6px; }
.bar-list i b, .rank-list p > i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--navy-800),var(--teal-600)); }
.status-breakdown { display: grid; gap: 12px; }
.status-breakdown > div { display: grid; grid-template-columns: 10px 1fr auto; gap: 10px; align-items: center; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.status-dot { width: 9px; height: 9px; border-radius: 50%; background: #899ba4; }.status-dot.status-submitted{background:var(--blue-700)}.status-dot.status-under_review{background:var(--amber-700)}.status-dot.status-needs_completion{background:var(--purple-700)}.status-dot.status-accepted{background:var(--green-700)}.status-dot.status-rejected{background:var(--red-700)}
.status-breakdown p { display: flex; justify-content: space-between; margin: 0; }.status-breakdown strong{font-size:.77rem}.status-breakdown small{color:var(--muted);font-size:.68rem}.status-breakdown > div > b{font:800 .8rem Arial}
.daily-chart { height: 240px; display: flex; align-items: end; gap: min(1vw,12px); padding: 20px 4px 0; border-bottom: 1px solid var(--line-strong); overflow-x: auto; }
.daily-chart > div { flex: 1 0 28px; height: 100%; display: flex; flex-direction: column; justify-content: end; align-items: center; gap: 6px; }
.daily-chart > div > span { width: min(25px,70%); min-height: 5px; background: linear-gradient(180deg,var(--teal-600),var(--navy-800)); border-radius: 6px 6px 2px 2px; }
.daily-chart small { color: var(--muted); font: .57rem Arial; transform: rotate(-40deg); white-space: nowrap; margin-bottom: -14px; }
.rank-list { display: grid; gap: 12px; }
.rank-list > div { display: grid; grid-template-columns: 27px 1fr 38px; align-items: center; gap: 10px; }
.rank-list > div > span { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; background: var(--surface-soft); color: var(--muted); font: 800 .65rem Arial; }
.rank-list p { margin: 0; min-width: 0; }.rank-list p strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.75rem}.rank-list p > i{height:5px}.rank-list em{font:800 .7rem Arial;text-align:left;font-style:normal}

/* Super admin */
.system-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-bottom: 18px; }
.health-pill { color: var(--green-700); font-size: .7rem; font-weight: 900; }
.health-list { display: grid; }
.health-list > div { display: grid; grid-template-columns: 38px 1fr auto; gap: 11px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); }
.health-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; font-weight: 900; }.health-icon.ok{background:var(--green-100);color:var(--green-700)}.health-icon.warning{background:var(--amber-100);color:var(--amber-700)}
.health-list p { display: grid; margin: 0; }.health-list strong{font-size:.78rem}.health-list small{color:var(--muted);font-size:.66rem}.health-list em{font-style:normal;color:var(--muted);font-size:.68rem}
.mail-overview { display: grid; grid-template-columns: .7fr 1.3fr; gap: 22px; align-items: center; min-height: 190px; }
.mail-total { aspect-ratio: 1; max-width: 150px; margin:auto; display:grid; place-content:center; text-align:center; border-radius:50%; background:radial-gradient(circle at center,white 54%,transparent 55%),conic-gradient(var(--green-700) 0 67%,var(--red-700) 67% 78%,#b8c5ca 78%); }
.mail-total strong{font:800 1.7rem Arial}.mail-total span{color:var(--muted);font-size:.65rem}
.mail-legend{display:grid;gap:11px}.mail-legend p{display:grid;grid-template-columns:9px 1fr auto;gap:8px;align-items:center;margin:0}.mail-legend i{width:8px;height:8px;border-radius:50%}.mail-legend i.green{background:var(--green-700)}.mail-legend i.red{background:var(--red-700)}.mail-legend i.gray{background:#9eacb3}.mail-legend span{font-size:.72rem;color:var(--muted)}.mail-legend strong{font:.75rem Arial}
.quick-actions > div:last-child { display:grid;grid-template-columns:repeat(4,1fr);gap:12px }.quick-actions a{display:grid;grid-template-columns:42px 1fr;column-gap:10px;padding:15px;border:1px solid var(--line);border-radius:13px}.quick-actions a>span{grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;background:var(--teal-100);color:var(--teal-700);border-radius:12px}.quick-actions strong{font-size:.8rem}.quick-actions small{color:var(--muted);font-size:.66rem}
.settings-form { display: grid; grid-template-columns: minmax(260px,.35fr) minmax(520px,.65fr); gap: 18px; }
.settings-card { padding: 22px; }
.settings-card.wide, .settings-save-bar { grid-column: 1 / -1; }
.mail-settings { grid-row: span 2; }
.settings-heading { display: flex; align-items: center; gap: 11px; margin-bottom: 20px; }
.settings-heading > span:first-child { flex:0 0 41px;height:41px;display:grid;place-items:center;border-radius:12px;background:var(--teal-100);color:var(--teal-700);font-weight:900 }
.settings-heading > div { flex: 1; }.settings-heading h2{margin:0;font-size:1rem}.settings-heading p{margin:2px 0 0;color:var(--muted);font-size:.72rem}
.switch-control { display:flex;align-items:center;gap:8px;cursor:pointer }.switch-control input{position:absolute;opacity:0}.switch-control i{width:42px;height:24px;background:#bdc9ce;border-radius:999px;position:relative;transition:.2s}.switch-control i::after{content:"";position:absolute;width:18px;height:18px;top:3px;right:3px;background:white;border-radius:50%;box-shadow:0 2px 5px rgba(0,0,0,.15);transition:.2s}.switch-control input:checked+i{background:var(--teal-600)}.switch-control input:checked+i::after{right:21px}.switch-control b{font-size:.7rem}
.settings-save-bar{display:flex;align-items:center;justify-content:space-between;background:var(--navy-900);color:white;padding:15px 18px;border-radius:15px}.settings-save-bar p{margin:0;color:#bdd1d7;font-size:.75rem}.settings-save-bar p span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.1);margin-left:6px}.settings-bottom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.connection-info{display:grid;margin:0 0 18px}.connection-info>div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line)}.connection-info dt{color:var(--muted);font-size:.72rem}.connection-info dd{margin:0;font-size:.75rem;font-weight:800}.security-note{margin:14px 0 0;padding:11px 12px;background:#f2f7f8;border-right:3px solid var(--teal-600);border-radius:8px;color:#536975;font-size:.7rem}.test-mail-form,.stack-form{display:grid;gap:14px}
.users-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.add-admin-card{position:sticky;top:98px}.source-badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.66rem;font-weight:800}.source-badge.pedagogical{background:var(--blue-100);color:var(--blue-700)}.source-badge.local{background:#eef2f4;color:#526872}

/* Error and toast */
.error-page { text-align: center; padding: 50px 20px; }
.error-page > span { display: block; font: 900 5rem Arial; color: var(--teal-700); }
.error-page h1 { margin: 0; color: var(--navy-950); }.error-page p{color:var(--muted)}
.toast { position: fixed; left: 24px; bottom: 24px; z-index: 999; min-width: 260px; display: flex; align-items: center; gap: 10px; background: var(--navy-950); color: white; border-radius: 12px; padding: 12px 15px; box-shadow: 0 15px 45px rgba(0,0,0,.24); transform: translateY(120px); opacity: 0; transition: .25s; }
.toast.show { transform: translateY(0); opacity: 1; }.toast span{width:25px;height:25px;display:grid;place-items:center;background:var(--teal-600);border-radius:50%}.toast p{margin:0;font-size:.8rem}

/* Installer */
.installer-body { min-height:100vh; padding:32px 20px 60px; background:linear-gradient(180deg,var(--navy-950) 0 270px,var(--canvas) 270px); }
.installer-shell { width:min(1120px,100%); margin:auto; }
.installer-header { display:flex;align-items:center;justify-content:space-between;color:white;margin-bottom:45px; }
.installer-brand { display:flex;align-items:center;gap:12px }.installer-brand img{width:64px;height:64px;object-fit:contain;padding:3px;background:white;border-radius:12px}.installer-brand div{display:grid}.installer-brand strong{font-size:1rem}.installer-brand span{color:#acc8d0;font-size:.75rem}.version-pill{padding:6px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);font:700 .7rem Arial}
.installer-title { color:var(--ink);margin-bottom:20px }.installer-title h1{font-size:2.2rem;margin:0 0 5px}.installer-title p{color:var(--muted);margin:0}
.requirements-card { display:grid;grid-template-columns:250px 1fr;gap:25px;align-items:center;background:white;border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:18px;box-shadow:var(--shadow) }.requirements-card h2{margin:0;font-size:1rem}.requirements-card p{margin:2px 0 0;color:var(--muted);font-size:.72rem}.requirements-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.requirements-grid span{display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:8px;background:var(--surface-soft);font-size:.68rem}.requirements-grid i{width:19px;height:19px;display:grid;place-items:center;border-radius:50%;font-style:normal;font:800 .65rem Arial}.requirements-grid .ok i{background:var(--green-100);color:var(--green-700)}.requirements-grid .failed i{background:var(--red-100);color:var(--red-700)}
.installer-form { display:grid;gap:16px }.install-section{background:white;border:1px solid var(--line);border-radius:18px;padding:23px;box-shadow:var(--shadow-soft)}.install-section-title{display:flex;align-items:center;gap:12px;margin-bottom:20px}.install-section-title>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--navy-900);color:#72d9d2;font:800 .72rem Arial}.install-section-title>div{flex:1}.install-section-title h2{margin:0;font-size:1.05rem}.install-section-title p{margin:2px 0 0;color:var(--muted);font-size:.72rem}.install-check{align-self:end;padding-bottom:7px}.install-note{margin-top:15px;padding:11px 13px;background:#f3f8f8;border-right:3px solid var(--teal-600);border-radius:9px;color:#536b76;font-size:.7rem}.install-note code{direction:ltr;display:inline-block;background:white;padding:1px 4px;border-radius:4px}.installer-submit{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border-radius:17px;background:var(--navy-900);color:white;box-shadow:var(--shadow)}.installer-submit>div{display:grid}.installer-submit strong{font-size:.88rem}.installer-submit small{color:#aec8d0;font-size:.7rem}.install-success{max-width:620px;margin:80px auto 0;text-align:center;background:white;border:1px solid var(--line);border-radius:24px;padding:42px;box-shadow:var(--shadow)}.install-success>span{width:70px;height:70px;display:grid;place-items:center;margin:auto;border-radius:20px;background:var(--green-100);color:var(--green-700);font-size:2rem;font-weight:900}.install-success h1{margin:18px 0 5px}.install-success>p{margin:0;color:var(--muted)}.post-install-list{display:grid;gap:8px;text-align:right;margin:24px 0}.post-install-list>div{display:flex;align-items:center;gap:10px;padding:10px;background:var(--surface-soft);border-radius:10px}.post-install-list b{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:var(--navy-900);color:white;font:.7rem Arial}.post-install-list span{font-size:.78rem}

@media (max-width: 1280px) {
  .kpi-grid.six { grid-template-columns: repeat(3,1fr); }
  .service-grid, .service-choice-grid { grid-template-columns: 1fr; }
  .service-card, .service-choice { min-height: 88px; }
  .quick-actions > div:last-child { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 1040px) {
  .guest-shell { grid-template-columns: minmax(330px,.75fr) minmax(440px,1.25fr); }
  .guest-brand-panel { padding: 32px; }
  .app-shell { grid-template-columns: 240px minmax(0,1fr); }
  .sidebar { padding-inline: 14px; }
  .kpi-grid { grid-template-columns: repeat(2,1fr); }
  .review-layout, .tracking-grid { grid-template-columns: 1fr; }
  .review-sidebar, .add-admin-card { position: static; }
  .users-layout { grid-template-columns: 1fr; }
  .settings-form { grid-template-columns: 1fr; }
  .mail-settings { grid-row: auto; }
  .settings-card.wide,.settings-save-bar { grid-column: auto; }
  .form-grid.three { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 820px) {
  .guest-shell { display: block; background: #f7fafb; }
  .guest-brand-panel { display: none; }
  .guest-form-panel { padding: 25px 20px; justify-content: flex-start; }
  .guest-mobile-logo { display: flex; align-items:center; gap:9px; margin-bottom:32px; }
  .guest-mobile-logo img { width: 56px; height:56px; object-fit:contain; }.guest-mobile-logo div{display:grid}.guest-mobile-logo strong{font-size:.9rem}.guest-mobile-logo span{color:var(--muted);font-size:.7rem}
  .app-shell { display: block; }
  .sidebar { position: fixed; right: 0; top: 0; width: min(310px,86vw); transform: translateX(110%); transition: transform .22s; box-shadow: -20px 0 50px rgba(0,0,0,.22); }
  .sidebar.open { transform: translateX(0); }
  .sidebar-backdrop { position: fixed; inset: 0; background: rgba(4,25,36,.48); z-index: 90; }
  .sidebar-backdrop.show { display: block; }
  .topbar { height: 68px; padding: 0 16px; justify-content: space-between; }
  .menu-button { display: grid; place-items:center; width:40px;height:40px;border:1px solid var(--line);background:white;border-radius:11px;font-size:1.2rem }
  .mobile-title { display: grid; margin-left:auto; margin-right:10px; }.mobile-title strong{font-size:.78rem}.mobile-title span{color:var(--muted);font-size:.62rem}
  .topbar-user > div:last-child, .notification-button { display: none; }
  .main-content { padding: 25px 15px 45px; }
  .page-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
  .window-status { width: 100%; }
  .stepper { grid-template-columns: repeat(5, minmax(52px,1fr)); padding: 12px 8px; overflow-x:auto; }
  .step { justify-content:center; }.step div{display:none}.step:not(:last-child)::after{width:calc(100% - 38px);left:-20px;top:16px}
  .system-grid,.settings-bottom-grid { grid-template-columns:1fr; }
  .filter-bar { grid-template-columns: 1fr 1fr; }.search-field{grid-column:1/-1}
  .statistics-filter { flex-wrap:wrap; }.statistics-filter .field{flex:1;min-width:180px}
  .requirements-card{grid-template-columns:1fr}.requirements-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width: 620px) {
  body { font-size: 15px; }
  .guest-form-panel { padding-inline: 16px; }
  .two-fields,.form-grid,.form-grid.three,.issue-list,.analytics-grid,.settings-bottom-grid { grid-template-columns:1fr; }
  .field-wide { grid-column:auto; }
  .inline-fields { grid-template-columns:1fr; }
  .choice-field { align-items:flex-start; flex-wrap:wrap; }
  .content-card,.form-section,.settings-card { padding:18px 15px; border-radius:17px; }
  .dashboard-primary-card { padding:18px 15px; }
  .kpi-grid,.kpi-grid.six { grid-template-columns:repeat(2,1fr);gap:10px}.kpi-card{min-height:124px;padding:16px}.metric-card{padding:13px}.metric-card>strong{font-size:1.35rem}
  .request-row { grid-template-columns:42px 1fr auto; gap:10px; }.request-date{display:none}.request-row>.status-badge{grid-column:2}.row-action{grid-column:3;grid-row:1/3}
  .sticky-form-actions { position:static;flex-direction:column;align-items:stretch }.sticky-form-actions>div:first-child{display:none}.action-buttons{display:grid;grid-template-columns:1fr}.action-buttons .button{width:100%}
  .filter-bar { grid-template-columns:1fr; }.search-field{grid-column:auto}
  .responsive-table { min-width:0; }.responsive-table thead{display:none}.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}.responsive-table tr{padding:12px 14px;border-bottom:8px solid var(--surface-soft)}.responsive-table td{display:grid;grid-template-columns:110px 1fr;align-items:center;padding:8px 0;border:0}.responsive-table td::before{content:attr(data-label);color:var(--muted);font-size:.68rem}.responsive-table td:last-child{display:block;text-align:left;padding-top:12px}.student-cell{justify-content:flex-start}
  .pagination{align-items:flex-start;gap:10px;flex-direction:column}
  .detail-grid { grid-template-columns:1fr }.detail-grid>div:nth-child(odd),.detail-grid>div:nth-child(even){padding:12px 0;border-left:0}
  .applicant-header{align-items:flex-start;flex-wrap:wrap}.applicant-header>a{width:100%;margin-right:66px}
  .document-review-form{grid-template-columns:1fr 1fr}.document-review-form input{grid-column:1/-1}.document-file>i{display:none}
  .statistics-filter{display:grid;grid-template-columns:1fr}.statistics-filter .field{min-width:0}
  .wide-analytics { grid-column:auto; }
  .quick-actions > div:last-child{grid-template-columns:1fr}.mail-overview{grid-template-columns:1fr}.mail-total{width:135px}
  .settings-save-bar{align-items:stretch;flex-direction:column;gap:12px}.switch-control b{display:none}
  .notice-bar{align-items:flex-start;flex-wrap:wrap}.notice-bar .button{width:100%;margin:8px 0 0}
  .installer-body{padding:20px 12px 40px;background:linear-gradient(180deg,var(--navy-950) 0 210px,var(--canvas) 210px)}.installer-header{margin-bottom:35px}.installer-brand img{width:52px;height:52px}.version-pill{display:none}.installer-title h1{font-size:1.7rem}.requirements-grid{grid-template-columns:1fr}.install-section{padding:18px 14px}.installer-submit{align-items:stretch;flex-direction:column}.installer-submit .button{width:100%}.install-success{padding:28px 18px;margin-top:40px}
}

@media (max-width: 390px) {
  .kpi-grid,.kpi-grid.six { grid-template-columns:1fr 1fr; }
  .kpi-card > i { display:none; }
  .topbar-user .avatar { width:36px;height:36px; }
}

/* v1.0.2 - diagnostics and richer settings feedback */
.diagnostic-summary { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:20px 22px; margin-bottom:20px; background:var(--surface); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); }
.diagnostic-summary > div:first-child { display:flex; align-items:center; gap:14px; }
.diagnostic-summary > div:first-child > span { width:46px; height:46px; border-radius:14px; display:grid; place-items:center; font-size:1.25rem; font-weight:900; }
.diagnostic-summary > div:first-child div { display:grid; gap:3px; }
.diagnostic-summary > div:first-child strong { font-size:.95rem; }
.diagnostic-summary > div:first-child small { color:var(--muted); font-size:.72rem; }
.diagnostic-summary.ok > div:first-child > span { background:var(--green-100); color:var(--green-700); }
.diagnostic-summary.warning > div:first-child > span { background:var(--amber-100); color:var(--amber-700); }
.diagnostic-summary.error > div:first-child > span { background:var(--red-100); color:var(--red-700); }
.diagnostic-counters { display:flex; gap:10px; flex-wrap:wrap; }
.diagnostic-counters b { display:flex; align-items:center; gap:7px; padding:8px 11px; border:1px solid var(--line); border-radius:999px; font-size:.7rem; background:var(--surface-soft); }
.diagnostic-counters i { width:8px; height:8px; border-radius:50%; }
.diagnostic-counters i.ok { background:#24945d; }
.diagnostic-counters i.warning { background:#d49420; }
.diagnostic-counters i.error { background:#c64545; }
.diagnostic-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; margin-bottom:20px; }
.diagnostic-card { display:flex; gap:14px; align-items:flex-start; padding:19px; background:var(--surface); border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow-soft); }
.diagnostic-card .diagnostic-icon { flex:0 0 38px; height:38px; display:grid; place-items:center; border-radius:12px; font-weight:900; }
.diagnostic-card h2 { margin:1px 0 6px; font-size:.86rem; }
.diagnostic-card p { margin:0; color:#536a75; line-height:1.8; font-size:.73rem; }
.diagnostic-card.ok .diagnostic-icon { background:var(--green-100); color:var(--green-700); }
.diagnostic-card.warning .diagnostic-icon { background:var(--amber-100); color:var(--amber-700); }
.diagnostic-card.error .diagnostic-icon { background:var(--red-100); color:var(--red-700); }
.diagnostic-card.error { border-color:#f0c7c7; }
.diagnostic-actions > div:last-of-type { display:flex; gap:10px; flex-wrap:wrap; }
.mail-test-result { margin-top:14px; padding:12px 14px; border-radius:12px; border:1px solid var(--line); display:grid; gap:4px; }
.mail-test-result.ok { background:var(--green-100); border-color:#b9dfca; color:var(--green-700); }
.mail-test-result.error { background:var(--red-100); border-color:#efcaca; color:var(--red-700); }
.mail-test-result strong { font-size:.76rem; }
.mail-test-result small { opacity:.8; font-size:.66rem; }
.mail-test-result p { margin:4px 0 0; font-size:.7rem; line-height:1.7; overflow-wrap:anywhere; }
.diagnostic-link { display:inline-flex; margin-top:12px; font-size:.72rem; font-weight:800; color:var(--teal-700); }

@media (max-width: 760px) {
  .diagnostic-summary { align-items:flex-start; flex-direction:column; }
  .diagnostic-grid { grid-template-columns:1fr; }
  .diagnostic-counters { width:100%; }
}

/* v1.0.2 - statistics filters */
.statistics-filter.advanced { grid-template-columns:repeat(6,minmax(130px,1fr)); align-items:end; }
.statistics-filter-actions { display:flex; gap:8px; grid-column:span 2; }
.statistics-context { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:-6px 0 16px; color:var(--muted); font-size:.72rem; }
.statistics-context strong { color:var(--ink); }
.empty-analytics { text-align:center; padding:40px 20px; margin-top:12px; }
.empty-analytics strong { display:block; margin-bottom:8px; }
.empty-analytics p { margin:0; color:var(--muted); }
@media (max-width: 1180px) { .statistics-filter.advanced { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width: 760px) { .statistics-filter.advanced { grid-template-columns:1fr 1fr; } .statistics-filter-actions { grid-column:1/-1; } }
@media (max-width: 520px) { .statistics-filter.advanced { grid-template-columns:1fr; } .statistics-filter-actions { flex-direction:column; } }

/* v1.0.3 - controlled workflow, audit trail and advanced administration */
.filter-bar.filter-bar-advanced { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.filter-bar.filter-bar-advanced .search-field { flex:2 1 310px; }
.filter-bar.filter-bar-advanced select { flex:1 1 165px; width:auto; }
.filter-bar.filter-bar-advanced .compact-button { flex:0 0 auto; }

.upload-card-wrap { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:stretch; }
.upload-delete-button { min-width:92px; border:1px solid #efc3c3; border-radius:13px; background:#fff7f7; color:var(--red-700); font:800 .72rem inherit; padding:0 12px; cursor:pointer; }
.upload-delete-button:hover { background:#feecec; border-color:#e8aaaa; }

.document-review-locked { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 13px; background:#f7fafb; border-top:1px solid var(--line); }
.document-review-locked small { color:var(--muted); font-size:.7rem; }
.workflow-gate { display:grid; gap:9px; text-align:center; padding:18px 10px 4px; }
.workflow-gate > span { width:54px; height:54px; display:grid; place-items:center; margin:auto; border-radius:16px; background:var(--navy-900); color:white; font:800 1rem Arial; }
.workflow-gate h3 { margin:3px 0 0; color:var(--navy-950); font-size:1rem; }
.workflow-gate p { margin:0; color:var(--muted); font-size:.76rem; line-height:1.8; }
.workflow-gate em { font-style:normal; text-align:right; padding:10px 12px; border-radius:10px; background:#fff8e8; color:#765718; font-size:.72rem; line-height:1.7; }
.workflow-gate small { color:var(--muted); }
.workflow-gate.waiting > span { background:#a76d0b; }
.workflow-gate.final > span { background:var(--green-700); }
.workflow-gate.final.rejected > span { background:var(--red-700); }
.full-button { width:100%; }

.audit-page-card { overflow:hidden; padding:0; }
.audit-filter { display:grid; grid-template-columns:150px 150px minmax(240px,1fr) minmax(180px,.6fr) auto; gap:10px; align-items:end; padding:18px; border-bottom:1px solid var(--line); }
.audit-filter .field { margin:0; }
.audit-filter .field input, .audit-filter .field select { min-height:42px; }
.audit-filter-actions { display:flex; gap:7px; }
.audit-action-chip { display:inline-flex; align-items:center; min-height:28px; padding:4px 9px; border-radius:999px; background:#edf5f6; color:var(--navy-900); font-size:.7rem; font-weight:800; }
.audit-request-link { display:grid; gap:2px; }
.audit-request-link strong { color:var(--teal-700); }
.audit-request-link small, .audit-table td > small, .audit-table td strong + small { display:block; color:var(--muted); margin-top:2px; }
.audit-table code { font-size:.7rem; color:#536b76; }

@media (max-width: 980px) {
  .audit-filter { grid-template-columns:1fr 1fr; }
  .audit-search { grid-column:1/-1; }
  .audit-filter-actions { grid-column:1/-1; }
}
@media (max-width: 620px) {
  .filter-bar.filter-bar-advanced { display:grid; grid-template-columns:1fr; }
  .filter-bar.filter-bar-advanced .search-field, .filter-bar.filter-bar-advanced select, .filter-bar.filter-bar-advanced .compact-button { width:100%; }
  .upload-card-wrap { grid-template-columns:1fr; }
  .upload-delete-button { min-height:40px; }
  .document-review-locked { align-items:flex-start; flex-direction:column; }
  .audit-filter { grid-template-columns:1fr; }
  .audit-search, .audit-filter-actions { grid-column:auto; }
  .audit-filter-actions { display:grid; grid-template-columns:1fr 1fr; }
}

/* v1.0.4 - administrative directory, notifications and application readiness */
.student-status-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0 0 18px; }
.student-status-grid article { background:var(--surface); border:1px solid var(--line); border-radius:15px; padding:15px 17px; box-shadow:var(--shadow-soft); display:grid; gap:3px; }
.student-status-grid article span { color:var(--muted); font-size:.7rem; font-weight:800; }
.student-status-grid article strong { color:var(--navy-950); font-size:1.45rem; line-height:1.1; }
.student-status-grid article small { color:var(--muted); font-size:.64rem; }
.student-status-grid article.attention { background:#fff9eb; border-color:#edd7a7; }
.student-status-grid article.attention strong { color:#94600a; }

.application-progress-card { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:0 0 18px; }
.application-progress-card > div { background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:14px 16px; display:grid; gap:3px; }
.application-progress-card span,.readiness-grid span { color:var(--muted); font-size:.67rem; font-weight:800; }
.application-progress-card strong,.readiness-grid strong { color:var(--navy-950); font-size:1.25rem; }
.application-progress-card small { color:var(--muted); font-size:.62rem; line-height:1.5; }
.application-progress-card .danger,.readiness-grid .danger { background:#fff5f5; border-color:#efcaca; }
.application-progress-card .danger strong,.readiness-grid .danger strong { color:var(--red-700); }
.rejected-documents-card { margin-bottom:18px; border-color:#efcaca; }
.rejected-doc-list { display:grid; gap:9px; }
.rejected-doc-list > div { padding:11px 13px; border-radius:11px; background:#fff7f7; border-right:3px solid var(--red-700); }
.rejected-doc-list strong { color:var(--red-700); font-size:.76rem; }
.rejected-doc-list p { margin:4px 0 0; color:#765353; font-size:.7rem; line-height:1.7; }

.notification-history { display:grid; gap:8px; }
.notification-history-item { display:flex; gap:9px; align-items:flex-start; padding:9px 10px; border:1px solid var(--line); border-radius:11px; background:#fafcfc; }
.notification-history-item > span { width:26px; height:26px; flex:0 0 26px; display:grid; place-items:center; border-radius:8px; background:#edf3f5; color:var(--navy-900); font-weight:900; font-size:.72rem; }
.notification-history-item p { margin:0; display:grid; gap:2px; min-width:0; }
.notification-history-item strong { font-size:.68rem; color:var(--ink); line-height:1.5; }
.notification-history-item small { font-size:.61rem; color:var(--muted); }
.notification-history-item em { margin-top:3px; color:var(--red-700); font-style:normal; font-size:.61rem; line-height:1.5; overflow-wrap:anywhere; }
.notification-history-item.status-sent > span { background:var(--green-100); color:var(--green-700); }
.notification-history-item.status-failed > span { background:var(--red-100); color:var(--red-700); }
.notification-history-item.status-logged > span,.notification-history-item.status-skipped > span { background:var(--amber-100); color:var(--amber-700); }
.notification-history.compact { margin-top:7px; }
.muted-text { color:var(--muted); font-size:.7rem; margin:0; line-height:1.7; }

.document-readiness-card { border-right:4px solid var(--teal-600); }
.readiness-badge { padding:7px 10px; border-radius:999px; font-size:.66rem; font-weight:900; }
.readiness-badge.ready { background:var(--green-100); color:var(--green-700); }
.readiness-badge.waiting { background:var(--amber-100); color:var(--amber-700); }
.readiness-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.readiness-grid > div { padding:11px; border:1px solid var(--line); border-radius:11px; background:var(--surface-soft); display:grid; gap:2px; }

.notification-settings { grid-column:1/-1; }
.notification-toggle-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.notification-toggle { position:relative; display:flex; align-items:flex-start; gap:10px; padding:13px 14px; border:1px solid var(--line); border-radius:13px; background:var(--surface-soft); cursor:pointer; }
.notification-toggle input { position:absolute; opacity:0; pointer-events:none; }
.notification-toggle span { display:grid; gap:3px; padding-left:38px; }
.notification-toggle strong { font-size:.73rem; }
.notification-toggle small { color:var(--muted); font-size:.64rem; line-height:1.6; }
.notification-toggle i { position:absolute; left:12px; top:14px; width:32px; height:19px; background:#cad5da; border-radius:999px; transition:.2s; }
.notification-toggle i::after { content:""; position:absolute; width:13px; height:13px; top:3px; left:3px; background:white; border-radius:50%; box-shadow:0 1px 3px #0002; transition:.2s; }
.notification-toggle input:checked ~ i { background:var(--teal-600); }
.notification-toggle input:checked ~ i::after { transform:translateX(13px); }
.notification-toggle:has(input:checked) { background:#f0f8f8; border-color:#b9dada; }

.admin-directory-kpis { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-bottom:14px; }
.admin-directory-kpis article { padding:14px 16px; border:1px solid var(--line); border-radius:14px; background:var(--surface); box-shadow:var(--shadow-soft); display:grid; gap:3px; }
.admin-directory-kpis span { color:var(--muted); font-size:.67rem; }
.admin-directory-kpis strong { color:var(--navy-950); font-size:1.35rem; }
.directory-sync-summary { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:14px; padding:11px 14px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.directory-sync-summary > div { display:grid; gap:2px; }
.directory-sync-summary strong { font-size:.72rem; }
.directory-sync-summary small,.directory-sync-summary p { margin:0; color:var(--muted); font-size:.65rem; }
.directory-sync-summary.ok { border-color:#bedfca; background:#f4fbf7; }
.directory-sync-summary.error { border-color:#efcaca; background:#fff6f6; }
.users-layout-v104 { align-items:start; }
.admin-directory-card { padding:0; overflow:hidden; }
.admin-directory-filter { display:grid; grid-template-columns:minmax(220px,1.7fr) repeat(5,minmax(125px,1fr)); gap:9px; align-items:end; padding:15px 16px; background:var(--surface-soft); border-bottom:1px solid var(--line); }
.admin-directory-filter .field { margin:0; }
.admin-directory-filter input,.admin-directory-filter select { min-height:41px; }
.directory-filter-actions { display:flex; gap:7px; grid-column:1/-1; justify-content:flex-end; }
.directory-table-heading { padding:16px 18px; margin:0; }
.table-action-link { border:0; background:none; color:var(--teal-700); font:800 .68rem inherit; cursor:pointer; padding:4px 0; }
.table-action-link.danger-link { color:var(--red-700); }
.managed-by-source { color:var(--muted); font-size:.62rem; }

@media (max-width:1100px) {
  .notification-toggle-grid { grid-template-columns:1fr 1fr; }
  .admin-directory-kpis { grid-template-columns:repeat(3,1fr); }
  .admin-directory-filter { grid-template-columns:repeat(3,1fr); }
  .directory-search { grid-column:1/-1; }
}
@media (max-width:760px) {
  .student-status-grid,.application-progress-card { grid-template-columns:1fr 1fr; }
  .readiness-grid { grid-template-columns:1fr 1fr; }
  .notification-toggle-grid { grid-template-columns:1fr; }
  .admin-directory-kpis { grid-template-columns:1fr 1fr; }
  .directory-sync-summary { align-items:flex-start; flex-direction:column; }
  .admin-directory-filter { grid-template-columns:1fr 1fr; }
}
@media (max-width:520px) {
  .student-status-grid,.application-progress-card,.admin-directory-kpis,.admin-directory-filter { grid-template-columns:1fr; }
  .directory-search { grid-column:auto; }
  .directory-filter-actions { display:grid; grid-template-columns:1fr 1fr; }
}
.notification-button { display:grid; place-items:center; text-decoration:none; }
.notification-button b { position:absolute; top:-6px; right:-7px; min-width:19px; height:19px; padding:0 5px; display:grid; place-items:center; border-radius:999px; background:var(--red-700); color:white; border:2px solid white; font:800 .55rem Arial,sans-serif; }
@media (max-width:820px) {
  .topbar-user .notification-button { display:grid; margin-left:4px; }
}

/* v1.0.5 - operational queue, aging, unified timeline and print actions */
.heading-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; flex-wrap:wrap; }
.kpi-grid-v105 { grid-template-columns:repeat(5,minmax(0,1fr)); }
.kpi-link { text-decoration:none; color:inherit; transition:transform .16s ease, box-shadow .16s ease; }
.kpi-link:hover { transform:translateY(-2px); box-shadow:0 12px 28px #173b4a18; }
.kpi-card.attention-card { background:linear-gradient(135deg,#fff6e4,#fffdf8); border-color:#ead1a1; }
.kpi-card.attention-card strong,.kpi-card.attention-card i { color:#9b6507; }
.filter-bar-v105 { grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(145px,.75fr)); }
.attention-filter { min-height:44px; display:flex; align-items:center; gap:9px; padding:7px 11px; border:1px solid var(--line); border-radius:10px; background:var(--surface); cursor:pointer; }
.attention-filter input { width:17px; height:17px; accent-color:var(--teal-600); }
.attention-filter span { display:grid; gap:1px; }
.attention-filter strong { font-size:.68rem; color:var(--navy-950); }
.attention-filter small { font-size:.58rem; color:var(--muted); }
.age-badge { display:inline-flex; align-items:center; justify-content:center; min-width:58px; padding:5px 8px; border-radius:999px; background:#edf4f6; color:var(--navy-900); font-size:.65rem; font-weight:900; }
.age-badge.age-warning { background:#fff0d3; color:#8b5a05; }
.unified-timeline > div.timeline-kind-document > span { background:#0c8e91; }
.unified-timeline > div.timeline-kind-status > span { background:#a56b0a; }
.unified-timeline > div.timeline-kind-submission > span { background:#1d6e47; }
.unified-timeline em { display:block; margin-top:4px; font-style:normal; color:#5e727d; font-size:.62rem; line-height:1.6; }

@media (max-width:1180px) {
  .kpi-grid-v105 { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .filter-bar-v105 { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .filter-bar-v105 .search-field { grid-column:1/-1; }
}
@media (max-width:760px) {
  .page-heading .heading-actions { width:100%; justify-content:flex-start; }
  .kpi-grid-v105 { grid-template-columns:1fr 1fr; }
  .filter-bar-v105 { grid-template-columns:1fr 1fr; }
  .filter-bar-v105 .search-field { grid-column:1/-1; }
}
@media (max-width:520px) {
  .heading-actions { display:grid; grid-template-columns:1fr; width:100%; }
  .heading-actions .button,.heading-actions .status-badge { width:100%; justify-content:center; text-align:center; }
  .kpi-grid-v105,.filter-bar-v105 { grid-template-columns:1fr; }
  .filter-bar-v105 .search-field { grid-column:auto; }
}
.error-request-id{display:block;margin:8px auto 18px;color:var(--muted);font-size:.72rem;direction:ltr;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}

/* v1.1.4 - mobile-only login refinement; desktop intentionally inherits the original layout */
.login-mobile-brand { display:none; }

@media (max-width: 820px) {
  .guest-login-page {
    min-height:100dvh;
    background:
      radial-gradient(circle at 86% 8%, rgba(255,255,255,.13) 0 90px, transparent 91px),
      linear-gradient(155deg,#0a8582 0%,#0b9b94 48%,#08746f 100%);
  }
  .guest-login-page .guest-shell {
    min-height:100dvh;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    padding:14px 0 28px;
    background:transparent;
  }
  .guest-login-page .guest-form-panel {
    width:min(calc(100% - 22px),560px);
    min-height:auto;
    margin:0 auto;
    padding:20px 22px 24px;
    justify-content:flex-start;
    background:#fff;
    border:1px solid rgba(255,255,255,.72);
    border-radius:30px;
    box-shadow:0 20px 52px rgba(3,45,55,.20);
  }
  .guest-login-page .guest-form-panel > * { width:100%; }
  .guest-login-page .guest-mobile-logo { display:none; }
  .guest-login-page .login-auth-card {
    width:100%;
    display:flex;
    flex-direction:column;
  }
  .guest-login-page .login-mobile-brand {
    order:0;
    display:grid;
    justify-items:center;
    text-align:center;
    gap:9px;
    margin:0 auto 16px;
  }
  .guest-login-page .login-mobile-brand img {
    width:112px;
    height:112px;
    object-fit:contain;
    filter:drop-shadow(0 8px 18px rgba(6,31,46,.10));
  }
  .guest-login-page .login-mobile-brand > div { display:grid; gap:2px; }
  .guest-login-page .login-mobile-brand span {
    color:#647783;
    font-size:.76rem;
    font-weight:700;
  }
  .guest-login-page .login-mobile-brand h1 {
    max-width:430px;
    margin:0;
    color:var(--navy-950);
    font-size:clamp(1.55rem,7vw,2.05rem);
    line-height:1.42;
    letter-spacing:0;
  }
  .guest-login-page .login-heading {
    order:1;
    text-align:center;
    margin-bottom:16px;
  }
  .guest-login-page .login-heading .auth-eyebrow { display:none; }
  .guest-login-page .login-heading h2 {
    margin-bottom:4px;
    font-size:1.35rem;
  }
  .guest-login-page .login-heading p {
    font-size:.78rem;
    line-height:1.65;
  }
  .guest-login-page .login-form { order:2; gap:13px; }
  .guest-login-page .field { gap:6px; }
  .guest-login-page .field > span {
    font-size:.84rem;
    color:#344d5a;
  }
  .guest-login-page .field input {
    min-height:54px;
    border-radius:15px;
    background:#f8fafb;
    border-color:#d6e0e4;
    font-size:16px;
  }
  .guest-login-page .input-with-icon > i { right:16px; }
  .guest-login-page .input-with-icon input { padding-right:44px; }
  .guest-login-page .toggle-password { left:12px; }
  .guest-login-page .auth-options {
    gap:12px;
    flex-wrap:wrap;
    justify-content:center;
    font-size:.78rem;
  }
  .guest-login-page .auth-options a { padding:2px 5px; }
  .guest-login-page .login-submit {
    min-height:56px;
    margin-top:1px;
    border-radius:15px;
    font-size:1rem;
    box-shadow:0 10px 22px rgba(8,127,131,.23);
  }
  .guest-login-page .login-hint-responsive {
    order:3;
    margin:14px 0 0;
    padding:11px 13px;
    border-radius:13px;
    background:#f2f8f8;
  }
  .guest-login-page .login-hint p {
    font-size:.72rem;
    line-height:1.7;
  }
  .guest-login-page .login-hint > span {
    flex-basis:22px;
    width:22px;
    height:22px;
  }
  .guest-login-page .auth-divider { order:4; margin:15px 0 12px; }
  .guest-login-page .button-outline {
    order:5;
    min-height:50px;
    border-radius:14px;
    background:#fff;
  }
  .guest-login-page .auth-note {
    order:6;
    margin-top:12px;
    font-size:.72rem;
    line-height:1.7;
  }
  .guest-login-page .guest-footer {
    margin-top:15px;
    padding-top:12px;
    border-top:1px solid #edf1f3;
    font-size:.66rem;
  }
}

@media (max-width: 420px) {
  .guest-login-page .guest-shell { padding-top:9px; padding-bottom:18px; }
  .guest-login-page .guest-form-panel {
    width:calc(100% - 14px);
    padding:16px 16px 20px;
    border-radius:25px;
  }
  .guest-login-page .login-mobile-brand { margin-bottom:12px; }
  .guest-login-page .login-mobile-brand img { width:94px; height:94px; }
  .guest-login-page .login-mobile-brand h1 { font-size:1.48rem; line-height:1.38; }
  .guest-login-page .login-heading { margin-bottom:13px; }
  .guest-login-page .login-heading h2 { font-size:1.22rem; }
  .guest-login-page .login-heading p { font-size:.72rem; }
  .guest-login-page .field input { min-height:52px; }
  .guest-login-page .login-submit { min-height:54px; }
  .guest-login-page .login-hint-responsive { gap:9px; }
}
