/* Screen-only interface. The original document and print styles stay in styles.css. */
@media screen {
  :root { --ui-bg:#f4f3f9; --ui-card:#fff; --ui-text:#202035; --ui-muted:#6b6880; --ui-line:#e2dfea; --ui-accent:#6845a3; --ui-tint:#f1ebfb; --ui-shadow:0 3px 18px #30204406; }
  body { background:var(--ui-bg) !important; }
  [hidden] { display:none !important; }
  .topbar { display:block; padding:0; background:var(--ui-card) !important; border-bottom:1px solid var(--ui-line) !important; color:var(--ui-text) !important; backdrop-filter:blur(12px); }
  .topbar-inner { max-width:1552px; margin:auto; padding:14px 24px; gap:16px; justify-content:space-between; }
  .topbar .brand { display:flex; align-items:center; gap:10px; font-size:21px; letter-spacing:-.6px; white-space:nowrap; }
  .brand-mark { display:grid; place-items:center; width:31px; height:35px; border-radius:9px; background:var(--ui-tint); color:var(--ui-accent); font-size:24px; }
  .header-actions { display:flex; align-items:center; gap:8px; }
  .topbar .btn,.mobile-actions .btn { font:600 13px/1.25 system-ui,sans-serif; background:var(--ui-card) !important; color:var(--ui-text) !important; border:1px solid var(--ui-line) !important; border-radius:8px; padding:10px 15px; box-shadow:none !important; text-decoration:none; white-space:nowrap; }
  .topbar #btnPrint { background:var(--ui-card) !important; color:var(--ui-text) !important; border:1px solid var(--ui-line) !important; }
  .topbar .btn.primary,.mobile-actions .btn.primary { background:#6845a3 !important; color:white !important; border-color:#6845a3 !important; }
  .topbar .btn:hover,.mobile-actions .btn:hover { filter:brightness(.97); }
  .topbar button:disabled,.mobile-actions button:disabled { opacity:.55; cursor:wait; }
  .site-footer { width:calc(100% - 40px); max-width:1504px; margin:0 auto 24px; border-top:1px solid var(--ui-line); padding-top:8px; color:var(--ui-muted); }
  .footer-links { display:flex; align-items:center; justify-content:center; gap:4px; font-size:12px; }
  .utility-btn { appearance:none; border:0 !important; background:transparent !important; color:var(--ui-muted) !important; font:500 12px/1.4 system-ui,sans-serif; cursor:pointer; padding:6px 8px; border-radius:6px; }
  .utility-btn:hover { color:var(--ui-accent) !important; background:var(--ui-tint) !important; }
  .site-footer .utility-btn,.site-footer #btnLicense { min-height:40px; background:transparent !important; color:var(--ui-muted) !important; border:0 !important; box-shadow:none; }
  .site-footer .utility-btn:hover,.site-footer #btnLicense:hover { color:var(--ui-accent) !important; text-decoration:underline; text-underline-offset:3px; }
  .layout { display:block; width:calc(100% - 40px); max-width:1504px; margin:20px auto 32px; padding:0; border:0; }
  .main,.profile-ipad .main { display:grid; grid-template-columns:minmax(380px, .88fr) minmax(0,1fr); gap:24px; align-items:start; }
  .panel { background:transparent !important; border:0 !important; border-radius:0; overflow:visible; min-width:0; color:var(--ui-text) !important; }
  .form { display:flex; flex-direction:column; gap:10px; padding:0; }
  .form-section { background:var(--ui-card); border:1px solid var(--ui-line); border-radius:12px; padding:14px 16px; box-shadow:var(--ui-shadow); min-width:0; }
  .section-title { display:flex; align-items:center; gap:9px; margin:0 0 12px; font:650 14px/1.3 system-ui,sans-serif; color:var(--ui-text); letter-spacing:-.15px; }
  .section-number { display:grid; place-items:center; flex:0 0 25px; height:25px; border-radius:50%; background:var(--ui-tint); color:var(--ui-accent); font-size:11px; font-weight:700; }
  .field { min-width:0; }
  .field + .field { margin-top:10px; }
  .field-grid,.deadline-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px 12px; }
  .field-grid > .field,.deadline-grid > .field { margin:0; }
  .form .label { display:block; margin:0 0 5px; font:500 12px/1.4 system-ui,sans-serif; color:var(--ui-muted) !important; }
  .form .input { display:block; width:100%; min-width:0; min-height:36px; padding:8px 10px; font:400 13px/1.35 system-ui,sans-serif; color:var(--ui-text) !important; background:var(--ui-card) !important; border:1px solid var(--ui-line) !important; border-radius:7px; box-shadow:0 1px 2px #30204403; }
  .form select.input { padding-right:24px; text-overflow:ellipsis; }
  .form .input:focus { outline:2px solid var(--ui-accent) !important; outline-offset:1px !important; }
  .form .input:disabled { opacity:.55; }
  .form .input::placeholder { color:var(--ui-muted) !important; opacity:.8; }
  .form input[type="date"] { appearance:none; -webkit-appearance:none; min-width:0; }
  .form input[type="date"]::-webkit-date-and-time-value { text-align:left; min-height:18px; }
  .deadline-result output { display:block; padding:8px 10px; min-height:36px; border-radius:7px; background:var(--ui-tint); color:var(--ui-accent); font-size:14px; font-weight:650; }
  .deadline-days { margin:7px 0 0; text-align:right; font-size:11px; color:var(--ui-muted); }
  .segment-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin-bottom:12px; }
  .segment-tabs button { display:flex; align-items:center; justify-content:center; gap:6px; min-width:0; min-height:40px; padding:7px 5px; border:1px solid var(--ui-line); border-radius:7px; background:var(--ui-card); color:var(--ui-text); font:500 12px/1.2 system-ui,sans-serif; cursor:pointer; }
  .segment-tabs button[aria-pressed="true"] { background:var(--ui-tint); border-color:var(--ui-accent); color:var(--ui-accent); font-weight:700; }
  .segment-tabs button:focus-visible,.form summary:focus-visible,.btn:focus-visible,.utility-btn:focus-visible { outline:2px solid var(--ui-accent); outline-offset:3px; }
  .tab-icon { display:flex; align-items:center; flex:0 0 20px; line-height:1; }
  .insurer-row { display:flex; align-items:center; gap:8px; }
  .insurer-row select { flex:1; min-width:0; }
  .insurer-row .info-btn { flex:0 0 28px; margin:0; width:28px; height:28px; border:1px solid var(--ui-line); color:var(--ui-accent); background:var(--ui-tint); border-radius:50%; }
  .form .choice { display:flex; align-items:flex-start; gap:9px; color:var(--ui-text) !important; font-size:13px; line-height:1.4; padding:5px 0; cursor:pointer; }
  .choice input { flex:0 0 17px; width:17px; height:17px; margin:1px 0 0; accent-color:#6845a3; }
  .conditional-field { margin:7px 0 10px 26px; }
  .field-hint { display:block; font-size:11px; line-height:1.5; color:var(--ui-muted) !important; margin:5px 0 0; }
  .refund-options { margin:12px 0 0; padding:0; border:0; min-width:0; }
  .refund-options legend { padding:0 0 4px; color:var(--ui-muted) !important; font-size:12px; font-weight:600; }
  .optout-choice { margin-top:8px; padding-top:12px !important; border-top:1px solid var(--ui-line); }
  .disclosure { padding:0; overflow:hidden; }
  .disclosure summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; color:var(--ui-text); font-size:13px; font-weight:650; list-style:none; cursor:pointer; }
  .disclosure summary::-webkit-details-marker { display:none; }
  .disclosure-arrow { color:var(--ui-accent); font-size:20px; line-height:1; transition:transform .15s; }
  .disclosure[open] .disclosure-arrow { transform:rotate(180deg); }
  .disclosure-body { padding:0 16px 16px; }
  .disclosure-body .field-hint { margin:0 0 10px; }
  .form textarea.input { min-height:120px; resize:vertical; }
  .address-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr); gap:10px; }
  .address-grid .field { margin:0; }
  .address-grid .insurer-name-field { grid-column:1 / -1; }
  .address-grid .field:nth-child(5) { grid-column:span 2; }
  .paper-wrap { position:sticky; top:86px; min-width:0; border:0; border-radius:12px; overflow:hidden; background:transparent !important; }
  .paper-toolbar { display:flex; align-items:center; padding:0 0 10px; border:0 !important; background:transparent !important; color:var(--ui-text) !important; font-size:13px; font-weight:650; gap:12px; }
  .paper-caption { margin-left:auto; font-size:11px; color:var(--ui-muted); font-weight:400; }
  .paper-stage,.profile-ipad .paper-stage { position:relative; min-width:0; padding:0; overflow:hidden; background:transparent !important; }
  /* Only screen preview transforms; dimensions and all typography of .paper stay original. */
  #paper { transform-origin:top left; }
  #btnBackToForm,.mobile-actions { display:none; }
  .modal { border-color:var(--ui-line) !important; }
  .modal header { padding:16px; }
  .modal .content { padding:12px; }
  @media (min-width:1600px) { .main,.profile-ipad .main { grid-template-columns:600px minmax(0,1fr); } }
  @media (max-width:1000px) {
    .layout { width:calc(100% - 28px); margin-top:14px; }
    .site-footer { width:calc(100% - 28px); }
    .main,.profile-ipad .main { gap:16px; grid-template-columns:minmax(350px,1fr) minmax(0,1fr); }
    .topbar-inner { padding-left:14px; padding-right:14px; }
    .topbar .brand { font-size:18px; }
    .form-section { padding:12px; }
    .disclosure { padding:0; }
    .segment-tabs button { gap:4px; }
  }
  @media (max-width:820px) {
    .topbar { position:relative; }
    .topbar-inner { flex-wrap:wrap; padding-top:12px; gap:10px; }
    .topbar .brand { font-size:20px; }
    .header-actions { margin-left:auto; }
    .header-actions #btnPDF { display:none; }
    .layout { max-width:650px; margin-bottom:20px; }
    .site-footer { max-width:650px; margin-bottom:calc(88px + env(safe-area-inset-bottom)); }
    .site-footer .utility-btn,.site-footer #btnLicense { min-height:44px; }
    .main,.profile-ipad .main { grid-template-columns:minmax(0,1fr); gap:24px; }
    .paper-wrap { position:static; scroll-margin-top:15px; }
    #btnBackToForm { display:block; }
    .mobile-actions { display:flex; position:fixed; z-index:20; bottom:0; left:0; right:0; padding:10px max(14px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left)); gap:10px; background:var(--ui-card); border-top:1px solid var(--ui-line); box-shadow:0 -4px 20px #3020440a; }
    .mobile-actions .btn { flex:1; min-height:44px; font-size:14px; }
    .form .input { min-height:44px; font-size:16px; }
    .form .label { font-size:12px; }
    .segment-tabs button { min-height:44px; font-size:13px; }
    .form .choice { min-height:40px; align-items:center; padding:8px 0; font-size:14px; }
    .choice input { width:20px; height:20px; flex-basis:20px; margin:0; }
    .conditional-field { margin-left:29px; }
    .deadline-result output { min-height:44px; display:flex; align-items:center; }
    .disclosure summary { min-height:48px; }
  }
  @media (max-width:480px) {
    .topbar-inner { gap:12px; }
    .topbar .brand { width:100%; font-size:20px; }
    .header-actions { width:100%; justify-content:flex-start; }
    .header-actions .btn { padding:8px 12px; }
    .layout { width:calc(100% - 24px); margin-top:12px; }
    .site-footer { width:calc(100% - 24px); }
    .segment-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .segment-tabs button { justify-content:flex-start; padding:9px 12px; gap:8px; }
    .field-grid { column-gap:10px; }
    .section-title { font-size:14px; }
    .form-section { border-radius:10px; }
    .deadline-grid { gap:10px; }
    .deadline-grid .label { font-size:11px; }
    .deadline-grid .input { padding-left:6px; padding-right:3px; font-size:14px; }
    .deadline-result output { font-size:14px; padding:8px; }
  }
}
/* Newly added interface elements never participate in printing. */
@media print { .mobile-actions,.site-footer { display:none !important; } }
