:root{
  --ink:#000000;
  --muted:#5e5e5e;
  --bg:#e9e9e9;
  --card:#ffffff;
  --line:#d2d2d2;
  --green:#ED1C24;
  --green-dark:#b3000f;
  --mint:#F5CC00;
  --red:#ED1C24;
  --amber:#F5CC00;
  --shadow:0 12px 32px rgba(0,0,0,.10);
  --radius:18px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg)}
body{min-height:100vh}
button,input,textarea,select{font:inherit}
a{color:inherit}
.shell{max-width:1100px;margin:0 auto;padding:22px 18px 56px}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brandLogo{width:44px;height:44px;display:block;object-fit:contain;flex:0 0 auto}
.brandText{display:flex;flex-direction:column;line-height:1.02}
.brandName{font-weight:950;letter-spacing:.015em;font-size:17px}
.brandSub{margin-top:4px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:850;color:#8d6f00}
.toplinks{display:flex;gap:10px}
.btn{border:0;border-radius:11px;padding:11px 15px;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.btn.primary{background:var(--green);color:white}.btn.primary:hover{background:var(--green-dark)}
.btn.secondary{background:white;color:var(--ink);border:1px solid var(--line)}
.btn.danger{background:#fff0f0;color:var(--red);border:1px solid #f2caca}
.btn.small{padding:8px 11px;font-size:13px}
.hero{background:linear-gradient(135deg,#000000,#ED1C24);color:white;border-radius:26px;padding:42px;box-shadow:var(--shadow);overflow:hidden;position:relative}
.hero:after{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:#F5CC0030;right:-120px;top:-130px}
.hero h1{font-size:clamp(34px,6vw,62px);line-height:1.02;margin:0 0 16px;max-width:750px}
.hero p{font-size:18px;line-height:1.6;color:#f4f4f4;max-width:720px;margin:0 0 24px}
.hero .actions{display:flex;gap:10px;flex-wrap:wrap}
.hero .btn.secondary{background:#F5CC001A;color:white;border-color:#F5CC0070}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.card h2,.card h3{margin-top:0}
.muted{color:var(--muted)}
.kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--green);font-weight:800;font-size:12px}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
label{font-size:12px;font-weight:800;color:#44545a}
input,textarea,select{width:100%;border:1px solid #cfdad6;border-radius:10px;padding:11px 12px;background:white;color:var(--ink)}
textarea{min-height:84px;resize:vertical}
input:focus,textarea:focus,select:focus{outline:3px solid #ED1C2418;border-color:var(--green)}
.checkrow{display:flex;gap:9px;align-items:center;margin-top:7px;font-size:12px;color:#56666c}
.checkrow input{width:auto}
.dnrField{grid-column:1/-1;margin:0;border:1px solid #cfdad6;border-radius:12px;padding:14px}
.dnrField legend{padding:0 6px;font-size:13px;font-weight:900;color:var(--ink)}
.dnrField p{font-size:12px;line-height:1.45;margin:3px 0 10px}
.choiceGroup{display:flex;gap:22px;align-items:center}
.choiceGroup label{display:flex;gap:7px;align-items:center;font-size:14px;color:var(--ink);cursor:pointer}
.choiceGroup input{width:auto;margin:0}
.sectionTitle{margin:24px 0 10px;font-size:15px;font-weight:850}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.notice{padding:12px 14px;border-radius:12px;background:#fff8e6;border:1px solid #ecd9a6;color:#6e5200;font-size:13px;line-height:1.5}
.success{padding:13px 14px;border-radius:12px;background:#FFF8D6;border:1px solid #F5CC00;color:#000000;font-size:13px}
.error{padding:13px 14px;border-radius:12px;background:#fff0f0;border:1px solid #f0cccc;color:#8e2727;font-size:13px}
.list{display:flex;flex-direction:column;gap:10px}
.row{border:1px solid var(--line);border-radius:13px;padding:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:white}
.rowMain{min-width:0}.rowTitle{font-weight:800}.rowMeta{font-size:12px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}
.badge{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;background:var(--mint);color:var(--green-dark)}
.badge.red{background:#fff0f0;color:var(--red)}
.scanPage{min-height:100vh;background:linear-gradient(180deg,#000000 0,#ED1C24 28%,var(--bg) 28%);padding:22px}
.scanWrap{max-width:680px;margin:0 auto}
.scanHeader{color:white;padding:18px 4px 22px}
.scanHeader .label{font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#F5CC00}
.scanHeader h1{font-size:38px;margin:7px 0 0}
.dnrAlert{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:5px solid var(--red);border-radius:18px;padding:14px 18px;margin-bottom:15px;box-shadow:0 18px 50px #0003;color:#8e1016}
.dnrAlert strong{font-size:clamp(28px,7vw,42px);line-height:1;font-weight:950;letter-spacing:.02em}
.dnrAlert span{font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;text-align:right}
.medCard{background:white;border-radius:22px;box-shadow:0 18px 50px #0003;padding:22px;margin-bottom:15px}
.vital{border-left:5px solid var(--green);padding:2px 0 2px 14px;margin:10px 0 18px}
.vitalLabel{font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:900;color:var(--muted)}
.vitalValue{font-size:24px;font-weight:900;margin-top:3px;white-space:pre-wrap}
.medItem{padding:13px 0;border-top:1px solid var(--line)}
.medItem:first-child{border-top:0}
.medItem b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#66777d;margin-bottom:5px}
.medItem div{font-size:17px;line-height:1.45;white-space:pre-wrap}
.contactCard{background:white;border-radius:18px;padding:18px;box-shadow:var(--shadow);margin-top:12px}
.callBtn{display:flex;text-decoration:none;background:var(--green);color:white;border-radius:13px;padding:14px 16px;font-weight:900;justify-content:center;margin-top:10px}
.qrPanel{display:grid;grid-template-columns:330px 1fr;gap:20px}
.labelStage{background:#dfe5e3;border-radius:14px;padding:18px;display:grid;place-items:center}
canvas.labelCanvas{background:white;box-shadow:0 4px 14px #0002;max-width:100%;image-rendering:pixelated}
canvas.labelCanvas.circlePreview{border-radius:50%}
.payloadCode{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;background:#f5f7f6;border:1px solid var(--line);padding:10px;border-radius:10px;word-break:break-all}
.lockBox{max-width:520px;margin:50px auto}
.footerNote{font-size:12px;line-height:1.5;color:var(--muted);margin-top:22px}

.adminToolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.adminTitle{display:flex;align-items:center;gap:10px}
.adminStatus{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#f2f2f2;border:1px solid var(--line);font-size:11px;font-weight:850;color:var(--muted)}
.adminStatus.unlocked{background:#fff8d6;border-color:#F5CC00;color:#6f5600}
.adminStatusDot{width:8px;height:8px;border-radius:50%;background:#999}
.adminStatus.unlocked .adminStatusDot{background:#ED1C24}
.keyRow{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}
.keyToggle{min-width:92px}
.profileTools{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin:0 0 16px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.stat{background:#fafafa;border:1px solid var(--line);border-radius:12px;padding:12px}
.statNum{font-size:24px;font-weight:950;line-height:1}
.statLabel{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-top:5px}
.inlineLinkBox{margin-top:12px;padding:12px;border:1px solid #F5CC00;background:#fff8d6;border-radius:12px}
.inlineLinkBox code{display:block;margin:8px 0;padding:9px;background:white;border:1px solid #eadc9a;border-radius:8px;word-break:break-all;font-size:11px}
.profileEmpty{padding:22px;border:1px dashed #c9c9c9;border-radius:12px;text-align:center;color:var(--muted)}


.editorBanner{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px;padding:12px 14px;border-radius:12px;background:#fff8d6;border:1px solid #F5CC00}
.editorBanner strong{font-size:13px}
.dangerZone{border:2px solid #e0a8aa;background:#fffafa}
.dangerZone .kicker{color:#8e1016}
.dangerZone .btn.danger{background:#b83232;border-color:#b83232;color:#fff}
.dangerZone .btn.danger:hover{background:#8e1016}
.labelControls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.customSizeGrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.labelStyleHint{margin-top:10px;padding:11px 12px;border:1px solid var(--line);background:#f8faf9;border-radius:10px;font-size:12px;line-height:1.45;color:#4f5e59}
.labelStyleHint strong{color:var(--ink)}
.printMeta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.printMeta .stat{padding:10px}
.labelStage canvas{max-height:440px}
.adminProfileBack{margin-bottom:14px}
@media(max-width:800px){
  .labelControls,.customSizeGrid,.printMeta{grid-template-columns:1fr}
}

.printOnly{display:none}
@media(max-width:800px){
  .grid2,.formgrid,.qrPanel,.stats,.profileTools,.keyRow{grid-template-columns:1fr}
  .hero{padding:28px 24px}
  .toplinks{display:none}
  .scanPage{padding:14px}
  .scanHeader h1{font-size:32px}
  .row{align-items:flex-start;flex-direction:column}
}
@media print{
  body{background:white}
  .noPrint{display:none!important}
  .printOnly{display:block}
}

.buildVersion{font-size:12px;color:#6f7d78;text-align:center;padding:16px 0 4px;font-weight:700;letter-spacing:.02em}
