:root { --navy:#173b66; --blue:#2563a6; --ink:#172b43; --muted:#61738a; --line:#dce4ee; --bg:#f2f6fa; --white:#fff; --green:#0b7655; --red:#9d312e; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); font-family:system-ui,-apple-system,"Segoe UI",sans-serif; color:var(--ink); font-size:18px; }
header { background:var(--navy); color:white; padding:16px 22px; display:flex; justify-content:space-between; align-items:center; gap:12px; }
header strong { font-size:20px; }
header a { color:white; }
main { max-width:1120px; margin:26px auto; padding:0 16px 36px; }
body.mobile main { max-width:760px; }
.card { background:var(--white); border:1px solid var(--line); border-radius:18px; padding:26px; margin:14px 0; box-shadow:0 5px 20px rgba(25,49,78,.05); }
h1 { font-size:clamp(28px,5vw,38px); margin:4px 0 22px; text-align:left; }
body.mobile h1 { text-align:center; }
h2 { font-size:23px; margin:0 0 16px; }
p { line-height:1.5; }
.muted { color:var(--muted); font-size:16px; }
label { display:block; font-weight:700; margin:16px 0 7px; }
input,select,textarea { width:100%; padding:15px 16px; border:2px solid #bccbdc; border-radius:12px; background:white; color:var(--ink); font:inherit; }
input:focus,textarea:focus { outline:3px solid #b7d7fb; border-color:var(--blue); }
.button,button { display:inline-flex; justify-content:center; align-items:center; border:0; border-radius:13px; background:var(--blue); color:white; text-decoration:none; font:700 18px system-ui; padding:15px 22px; min-height:56px; cursor:pointer; }
.button.secondary,button.secondary { background:#e8eef5; color:var(--navy); }
.button.danger,button.danger { background:#f8e5e4; color:var(--red); }
.actions { display:flex; justify-content:space-between; gap:12px; margin-top:24px; flex-wrap:wrap; }
.choice-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px; }
.choice { position:relative; }
.choice input { position:absolute; opacity:0; pointer-events:none; }
.choice span { display:block; border:2px solid var(--line); border-radius:14px; padding:18px; text-align:center; min-height:72px; font-weight:750; background:white; cursor:pointer; }
.choice input:checked+span { border-color:var(--blue); background:#edf5ff; color:var(--navy); }
.notice { background:#fff4d8; border-left:5px solid #db9f19; border-radius:8px; padding:14px; margin:0 0 18px; }
.error { color:var(--red); font-weight:700; }
.success { color:var(--green); font-weight:700; }
.steps { color:var(--muted); font-weight:700; text-align:center; margin-bottom:12px; }
.summary { display:grid; grid-template-columns:minmax(130px,220px) 1fr; gap:10px 16px; }
.summary strong { color:var(--navy); }
.row { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 0; border-bottom:1px solid var(--line); }
.small { font-size:15px; }
.tag { display:inline-block; background:#e9f2fc; color:var(--navy); padding:5px 10px; border-radius:999px; font-weight:700; font-size:14px; }
.tiles { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:14px; }
.tile { padding:20px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.tile h3 { margin:0 0 8px; }
.annul-action { display:grid; justify-items:start; gap:14px; }
.annul-action summary { list-style:none; }
.annul-action summary::-webkit-details-marker { display:none; }
.annul-action form { width:min(100%, 440px); padding:16px; border:1px solid var(--line); border-radius:12px; background:#f8fbff; }
.annul-action fieldset { margin:14px 0; padding:12px; border:1px solid var(--line); border-radius:10px; }
.annul-action fieldset label { display:inline-flex; align-items:center; gap:8px; margin:8px 14px 4px 0; }
.annul-action input[type="radio"] { width:22px; height:22px; margin:0; }
.qr { margin:12px auto; display:block; }
.center { text-align:center; }
.open-pdf { min-height:76px; padding:22px 36px; font-size:24px; font-weight:800; }
.public-link-box { max-width:100%; margin:18px 0; overflow:hidden; }
.public-link { display:inline-block; max-width:100%; overflow-wrap:anywhere; word-break:break-all; line-height:1.45; }
.new-carrier { margin-top:18px; }
.mobile-activation-qr { width:min(240px,100%); margin:14px auto; padding:10px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.mobile-activation-qr svg { display:block; width:100%; height:auto; }
@media(max-width:600px) {
  body { font-size:19px; }
  header { padding:13px 16px; }
  main { margin:14px auto; padding:0 12px 24px; }
  .card { padding:20px 16px; border-radius:16px; }
  .actions { display:grid; grid-template-columns:1fr 1fr; }
  .actions .button,.actions button { width:100%; padding:12px; }
  .summary { grid-template-columns:1fr; gap:3px; }
  .summary strong { margin-top:10px; }
  .open-pdf { display:flex; width:100%; min-height:82px; font-size:26px; margin:18px 0; padding:24px; }
  .public-link-box { padding:0 2px; }
}
