/* Shared JPC ERP public-portal theme. Screen rules only: official A4 print layouts remain unchanged. */
@media screen {
  :root{
    --bg:#F7F4EF;
    --surface:#FFFFFF;
    --maroon:#7B1E24;
    --saffron:#E97824;
    --ink:#1F2937;
    --muted:#667085;
    --border:#E7D8CD;
    --radius:16px;
    --portal-maroon:#7B1E24;
    --portal-maroon-dark:#7B1E24;
    --portal-orange:#E97824;
    --portal-cream:#F7F4EF;
    --portal-ink:#1F2937;
    --portal-muted:#667085;
    --portal-line:#E7D8CD;
    --result-wine:#7B1E24;
    --result-deep:#7B1E24;
    --result-orange:#E97824;
    --result-line:#E7D8CD;
    --result-ink:#1F2937;
    --result-muted:#667085;
  }
  html{font-size:16px;background:var(--bg)}
  body.result-body{min-height:100vh;margin:0;background:linear-gradient(145deg,#fbf9f6 0,var(--bg) 72%,#f4ece5 100%);color:var(--ink);font:400 1rem/1.55 Poppins,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
  button,input,select,textarea{font:inherit}
  button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(233,120,36,.24);outline-offset:2px}
  .portal-shell{width:min(1200px,calc(100% - 32px));margin:24px auto 44px}
  .portal-header{position:relative;overflow:hidden;display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:20px;align-items:center;padding:22px 24px;border:1px solid var(--border);border-top:4px solid var(--maroon);border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:0 14px 38px rgba(67,38,26,.07)}
  .portal-header:after{content:"";position:absolute;right:-82px;bottom:-132px;width:260px;height:260px;border:1px solid rgba(123,30,36,.07);border-radius:50%;box-shadow:0 0 0 38px rgba(233,120,36,.035),0 0 0 76px rgba(123,30,36,.025);pointer-events:none}
  .portal-header .logo{position:relative;z-index:1;width:82px;height:82px;padding:5px;border:1px solid var(--border);border-radius:14px;background:#fff;object-fit:contain}
  .portal-header-copy{position:relative;z-index:1;min-width:0}
  .portal-header-copy h1{margin:0 0 5px;color:var(--maroon);font-size:clamp(1.7rem,3.2vw,2.35rem);line-height:1.1;letter-spacing:-.03em}
  .portal-header-copy p{margin:0 0 3px;color:var(--ink);font-size:1rem;font-weight:700}
  .portal-header-copy small{display:block;color:var(--muted);font-size:.76rem;line-height:1.55}
  .portal-tag{position:relative;z-index:1;align-self:start;padding:8px 12px;border:1px solid #e6c2ad;border-radius:999px;background:#fff4ea;color:var(--maroon);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
  .portal-status{position:relative;z-index:1;grid-column:2/-1;display:flex;align-items:center;gap:8px;margin:0;color:#157347;font-size:.72rem;font-weight:700}
  .portal-status:before{content:"";width:8px;height:8px;border-radius:50%;background:#25a263;box-shadow:0 0 0 4px rgba(37,162,99,.12)}
  .portal-status[data-state="offline"]{color:#9a5b12}
  .portal-status[data-state="offline"]:before{background:#e6a23c;box-shadow:0 0 0 4px rgba(230,162,60,.13)}
  .portal-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;margin-top:20px}
  .portal-main,.portal-side{min-width:0}
  .portal-card{padding:23px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 8px 28px rgba(67,38,26,.05)}
  .portal-card+.portal-card{margin-top:18px}
  .portal-title{display:flex;gap:13px;align-items:flex-start;margin-bottom:19px}
  .portal-step{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:11px;background:var(--maroon);color:#fff;font-size:.82rem;font-weight:800}
  .portal-title h2{margin:0;color:var(--ink);font-size:1.3rem;line-height:1.25;letter-spacing:-.015em}
  .portal-title p{margin:4px 0 0;color:var(--muted);font-size:.82rem;line-height:1.55}
  .portal-note{padding:14px 15px;border:1px solid #ecd7c7;border-left:4px solid var(--saffron);border-radius:12px;background:#fff7ef;color:#57484b;font-size:.82rem;line-height:1.6}
  .portal-note b{color:var(--maroon)}
  .portal-card .form-grid{gap:14px}
  .portal-card .field{gap:7px}
  .portal-card .field label{color:#4d3034;font-size:.78rem;font-weight:700}
  .portal-card input,.portal-card select,.portal-card textarea{min-height:48px;padding:11px 13px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--ink);font-size:.9rem;font-weight:500}
  .portal-card textarea{min-height:86px;line-height:1.5;resize:vertical}
  .portal-card input:focus,.portal-card select:focus,.portal-card textarea:focus{outline:0;border-color:var(--saffron);box-shadow:0 0 0 4px rgba(233,120,36,.12)}
  .portal-card .field small{color:var(--muted);font-size:.7rem;font-weight:500}
  .portal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:21px}
  .portal-actions .primary,.portal-actions .secondary,.status-form .secondary,.lookup-error button,.notice-error button{min-height:46px;padding:10px 17px;border:1px solid transparent;border-radius:12px;font-size:.82rem;font-weight:700}
  .portal-actions .primary{background:var(--maroon);color:#fff;box-shadow:0 8px 18px rgba(123,30,36,.14)}
  .portal-actions .primary:hover{background:#68191f}
  .portal-actions .secondary,.status-form .secondary{border-color:var(--border);background:#fff7ef;color:var(--maroon)}
  .online-copy-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px;padding:11px 12px;border:1px solid #ead0be;border-radius:12px;background:#fff7ef;color:var(--maroon);font-size:.82rem;font-weight:800}
  .online-copy-banner span{padding:5px 9px;border-radius:999px;background:var(--saffron);color:#fff;font-size:.65rem;letter-spacing:.08em}
  .portal-trust{display:grid;gap:12px}
  .portal-trust>div{display:grid;grid-template-columns:31px 1fr;gap:10px;align-items:start;padding-bottom:12px;border-bottom:1px solid #f0e5dd}
  .portal-trust>div:last-child{padding-bottom:0;border-bottom:0}
  .portal-trust i{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#fff0e4;color:var(--saffron);font-size:.78rem;font-style:normal;font-weight:800}
  .portal-trust span{color:var(--muted);font-size:.76rem;line-height:1.55}
  .portal-trust b{display:block;color:var(--ink);font-size:.8rem}
  .online-declaration{display:flex;gap:10px;align-items:flex-start;margin-top:19px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#fbf8f5;color:#554a4e;font-size:.76rem;line-height:1.55}
  .online-declaration input{flex:0 0 auto;width:18px;height:18px;margin-top:2px;accent-color:var(--maroon)}
  .admission-preview,.admission-status-result,.lookup-empty,.lookup-error,.lookup-progress{border:1px solid var(--border);border-radius:13px;background:#fdfaf7}
  .notice-list{display:grid;gap:11px}
  .notice-item{padding:14px 15px;border:1px solid var(--border);border-left:4px solid var(--saffron);border-radius:12px;background:#fdfaf7;color:var(--ink);font-size:.82rem;line-height:1.6}
  .notice-item h3,.notice-item b{color:var(--maroon)}
  .notice-top{color:var(--muted);font-size:.66rem}
  .portal-footer{margin-top:22px;color:var(--muted);font-size:.73rem;text-align:center}
  .result-output .result-sheet,.erp-online-marksheet{border-radius:var(--radius)}
  .result-actions .primary{width:auto}
  .card-subtitle{color:var(--muted);font-size:.8rem;line-height:1.6}
  @media(max-width:840px){
    .portal-shell{width:min(100% - 20px,1200px);margin:10px auto 30px}
    .portal-header{grid-template-columns:68px minmax(0,1fr);gap:14px;padding:18px}
    .portal-header .logo{width:66px;height:66px}
    .portal-tag{grid-column:1/-1;justify-self:start}
    .portal-status{grid-column:1/-1}
    .portal-grid{grid-template-columns:1fr}
    .portal-side{order:initial}
    .portal-card{padding:18px}
  }
  @media(max-width:560px){
    .portal-shell{width:min(100% - 14px,1200px)}
    .portal-header{padding:14px}
    .portal-header-copy h1{font-size:1.42rem}
    .portal-header-copy p{font-size:.82rem}
    .portal-header-copy small{font-size:.65rem}
    .portal-card{padding:15px}
    .portal-title{gap:10px}
    .portal-step{flex-basis:32px;height:32px}
    .portal-title h2{font-size:1.08rem}
    .portal-actions>*{width:100%}
    .form-grid,.form-grid.two,.form-grid.three{grid-template-columns:1fr}
    .span-2,.span-4{grid-column:span 1}
  }
}

/* v146: deeper JPC maroon identity. Screen-only so official print output is unchanged. */
@media screen {
  :root{
    --bg:#F8F2EF;
    --surface:#FFFFFF;
    --maroon:#68151B;
    --saffron:#E97824;
    --border:#E4CFC8;
    --portal-maroon:#68151B;
    --portal-maroon-dark:#4D0D12;
    --result-wine:#68151B;
    --result-deep:#4D0D12;
  }
  body.result-body{
    background:
      radial-gradient(circle at 8% 0,rgba(104,21,27,.11),transparent 26rem),
      linear-gradient(145deg,#fffaf7 0,#f8f2ef 72%,#f2e5e1 100%);
  }
  .portal-header{
    border-color:#7d252b;
    border-top-color:#E97824;
    background:
      radial-gradient(circle at 92% 5%,rgba(233,120,36,.28),transparent 18rem),
      linear-gradient(125deg,#4D0D12 0,#68151B 58%,#8F242A 100%);
    box-shadow:0 18px 42px rgba(77,13,18,.22);
  }
  .portal-header:after{border-color:rgba(255,255,255,.12);box-shadow:0 0 0 38px rgba(255,255,255,.035),0 0 0 76px rgba(233,120,36,.06)}
  .portal-header-copy h1,.portal-header-copy p{color:#fff}
  .portal-header-copy small{color:#F9DCD8}
  .portal-tag{border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.12);color:#fff}
  .portal-status{color:#C9F7D8}
  .portal-status[data-state="offline"]{color:#FFE0A3}
  .portal-card{border-color:#E4CFC8;border-top:3px solid rgba(104,21,27,.76);box-shadow:0 10px 30px rgba(77,13,18,.07)}
  .portal-step{background:linear-gradient(145deg,#68151B,#8F242A);box-shadow:0 5px 12px rgba(104,21,27,.18)}
  .portal-actions .primary{background:linear-gradient(120deg,#68151B,#8F242A);box-shadow:0 9px 20px rgba(104,21,27,.2)}
  .portal-actions .primary:hover{background:#4D0D12}
  .portal-actions .secondary,.status-form .secondary{background:#FFF5F2;border-color:#DDBDB7;color:#68151B}
  .portal-note,.notice-item{border-left-color:#68151B;background:#FFF7F4}
  .online-copy-banner{background:#FFF3EF;border-color:#DDBDB7}
  .online-copy-banner span{background:#68151B}
  .online-declaration input{accent-color:#68151B}
}
