.dnid-form{max-width:680px;margin:25px auto;padding:24px;background:#fff;border-radius:14px;box-shadow:0 4px 20px #0002}.dnid-form label{display:block;font-weight:900;color:#06265d;margin-top:12px}.dnid-form input,.dnid-form textarea,.dnid-form select{width:100%;box-sizing:border-box;padding:12px;border:1px solid #ddd;border-radius:8px}.dnid-form button,.dnid-actions button{border:0;border-radius:8px;padding:12px 18px;color:#fff;background:#06265d;font-weight:900;margin:6px;cursor:pointer}.btn-png{background:#e67e22!important}.btn-pdf{background:#2c3e50!important}.dnid-success,.dnid-alert{max-width:680px;margin:20px auto;padding:16px;border-radius:10px;font-weight:900}.dnid-success{background:#e9ffe8;color:#14532d}.dnid-alert{background:#fff4e5;color:#7c2d12}.dnid-standalone{background:#eef2f7;padding:18px;overflow-x:hidden}.dnid-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dnid-admin-grid input,.dnid-admin-grid textarea{width:100%;padding:8px}.dnid-admin-grid .full{grid-column:1/-1}

/* Dignity News ID Card Final v11 */
.dnid-wrap{display:flex;flex-wrap:wrap;gap:28px;justify-content:center;width:max-content;margin:0 auto;font-family:Arial,'Noto Sans Telugu',sans-serif}
.dnid-card{width:540px;height:855px;background:#fff;border:3px solid #111;border-radius:16px;overflow:hidden;position:relative;box-shadow:0 6px 20px #0003;box-sizing:border-box}
.top{height:186px;background:linear-gradient(#061b47,#073b86 76%,#06265d);position:relative;border-bottom:6px solid #f3c234}
.logo{position:absolute;left:22px;right:22px;top:46px;width:92%;height:112px;object-fit:contain;background:#fff;border-radius:5px}
.rni{position:absolute;top:13px;left:0;right:0;text-align:center;color:#fff;font-size:17px;font-weight:900;letter-spacing:.2px}
.bar{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;color:#111;font-size:20px;font-weight:900;background:#f4bd22;border-bottom:2px solid #dba514;box-sizing:border-box}
.bar span,.bar b{white-space:nowrap}

/* FRONT */
.main{height:501px;position:relative;background:radial-gradient(circle at 50% 45%,#fff 0,#fff 56%,#f7f7f7 100%)}
.yellow-frame{position:absolute;left:-14px;right:-14px;top:0;height:118px;background:#f4c42d;border-bottom:6px solid #dba514;border-radius:0 0 50% 50%;z-index:0}
.main:after{content:"";position:absolute;left:-18px;right:-18px;bottom:-5px;height:70px;background:#fff;border-top:3px solid #e5a700;border-radius:50% 50% 0 0;z-index:0}

.photoBox{position:absolute;top:24px;left:34px;width:210px;height:240px;border:4px solid #f2c233;border-radius:12px;overflow:hidden;z-index:2;background:#fff;box-shadow:0 2px 8px #0002}
.photo{width:100%;height:100%;border-radius:8px;object-fit:cover}
.sealPhoto{position:absolute;left:185px;top:205px;width:112px;height:112px;border-radius:50%;opacity:.78;object-fit:contain;z-index:4;filter:drop-shadow(0 1px 1px rgba(0,0,0,.12))}
.idTitle{position:absolute;top:30px;left:302px;width:145px;text-align:center;background:#b40009;color:#fff;border-radius:8px;font-size:20px;line-height:1.2;font-weight:900;padding:5px 0;z-index:2}

/* Right ribbon exactly like reference: full red strip, edge aligned */
.side{position:absolute;right:0;top:0;width:62px;height:306px;background:#c6000c;color:#fff;z-index:3;display:flex;align-items:center;justify-content:center;text-align:center;box-sizing:border-box;clip-path:polygon(0 0,100% 0,100% 100%,0 88%);border-left:5px solid #f4c42d;border-bottom:5px solid #f4c42d}
.side span{display:block;color:#fff;font-size:31px;font-weight:900;line-height:1.02;letter-spacing:.8px;writing-mode:vertical-rl;transform:rotate(180deg)}
.data{position:absolute;left:258px;top:94px;width:230px;font-size:14px;font-weight:800;line-height:1.05;z-index:2}
.data p{display:flex;align-items:center;margin:5px 0;white-space:nowrap;overflow:hidden}
.data i{width:16px;color:#06265d;font-style:normal;flex:0 0 16px}
.data b{width:92px;flex:0 0 92px}
.data span{width:10px;flex:0 0 10px}
.data strong{color:#c50010;overflow:hidden;text-overflow:ellipsis}
.nameBottom{position:absolute;left:30px;bottom:100px;width:275px;color:#b40009;font-size:25px;line-height:1.08;font-weight:900;text-transform:uppercase;z-index:2}
.qr{position:absolute;right:42px;bottom:92px;width:128px;height:128px;background:#fff;padding:8px;border:1px solid #ccc;z-index:2;box-shadow:0 2px 5px #0001}
.press{position:absolute;bottom:0;left:0;right:0;height:92px;line-height:92px;background:#d60010;color:#fff;font-size:62px;text-align:center;font-weight:900;letter-spacing:12px}

/* BACK */
.back .bar{display:none}
.backMain{height:597px;padding:30px 38px 20px;position:relative;box-sizing:border-box;background:radial-gradient(circle at 72% 35%,#fff 0,#fff 62%,#fafafa 100%)}
.backMain:after{content:"";position:absolute;left:-18px;right:-18px;bottom:0;height:66px;background:#fff;border-top:3px solid #e5a700;border-radius:50% 50% 0 0;z-index:0}
.backMain>*{position:relative;z-index:1}
.backline{display:flex;align-items:flex-start;font-size:16px;line-height:1.25;font-weight:800;margin:0 0 12px}
.backline span{background:#08255f;color:#fff;border-radius:6px;width:27px;height:27px;line-height:27px;text-align:center;margin-right:10px;flex:0 0 27px}
.backline b{width:72px;flex:0 0 72px}
.backline em{font-style:normal;margin-right:8px}
.backline strong{color:#b40009}
.backMain hr{border:0;border-top:3px solid #d8aa23;margin:10px 0 12px}

/* Header like the reference pill */
.backMain h3{display:inline-block;background:#06265d;color:#fff;padding:9px 28px;border-radius:18px;margin:0 0 12px;font-size:22px;font-weight:900;box-shadow:0 2px 5px #0002}
.backMain ul{font-size:14px;font-weight:800;line-height:1.46;margin:0;padding:16px 18px 12px 36px;width:100%;box-sizing:border-box;border:1.8px solid #102b68;border-radius:10px;background:rgba(255,255,255,.72)}
.backMain li{margin-bottom:6px}
.backSeal{position:absolute!important;left:48px;bottom:66px;width:92px;height:92px;z-index:2}
.backSeal img{width:100%;height:100%;object-fit:contain}
.auth{position:absolute!important;right:38px;bottom:60px;width:200px;text-align:center;font-weight:900;color:#06265d;z-index:2}
.auth span{display:block;margin-bottom:3px}
.auth img{max-width:160px;max-height:52px;display:block;margin:0 auto 4px;object-fit:contain}
.auth b{display:block;color:#b40009;font-size:12px;line-height:1.12}
.office{position:absolute;bottom:0;left:0;right:0;height:120px;background:#06265d;color:#fff;border-top:6px solid #f3c234;padding:17px 34px;font-size:14px;font-weight:800;line-height:1.32;box-sizing:border-box}
.office b{color:#ffd13f;font-size:18px}

@media(max-width:600px){
.dnid-standalone{padding:10px 0}
.dnid-wrap{display:block;width:540px;transform:scale(.62);transform-origin:top center;margin-left:50%;translate:-50% 0}
.dnid-card{margin-bottom:28px}
}

/* === FINAL V12 HARD FIXES === */

/* 1) PRINT MEDIA: single continuous vertical ribbon, right edge aligned */
.dnid-card.front .side{
  right:0!important;
  top:22px!important;
  width:52px!important;
  height:260px!important;
  background:#c6000c!important;
  border-left:5px solid #f4c42d!important;
  border-bottom:5px solid #f4c42d!important;
  border-radius:0 0 0 16px!important;
  clip-path:polygon(0 0,100% 0,100% 100%,0 88%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  overflow:hidden!important;
  z-index:10!important;
}
.dnid-card.front .side span{
  font-size:0!important;
  line-height:1!important;
  writing-mode:horizontal-tb!important;
  transform:none!important;
}
.dnid-card.front .side span br{display:none!important;}
.dnid-card.front .side span:before{
  content:"PRINT MEDIA";
  display:block!important;
  color:#fff!important;
  font-size:28px!important;
  font-weight:900!important;
  letter-spacing:1px!important;
  line-height:1!important;
  white-space:nowrap!important;
  transform:rotate(-90deg)!important;
  transform-origin:center center!important;
}

/* keep data from touching ribbon */
.dnid-card.front .data{left:258px!important;width:220px!important;}
.dnid-card.front .idTitle{left:300px!important;width:140px!important;}
.dnid-card.front .qr{right:44px!important;bottom:92px!important;width:126px!important;height:126px!important;}

/* 2) BACK: Nibandhanalu heading clear, visible, properly placed */
.dnid-card.back .backMain h3{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:178px!important;
  height:44px!important;
  padding:0 24px!important;
  margin:2px 0 14px 0!important;
  border-radius:22px!important;
  background:#06265d!important;
  color:#ffffff!important;
  font-family:Arial,'Noto Sans Telugu',sans-serif!important;
  font-size:24px!important;
  font-weight:900!important;
  line-height:1!important;
  text-shadow:0 1px 1px rgba(0,0,0,.35)!important;
  box-shadow:0 3px 7px rgba(0,0,0,.22)!important;
  opacity:1!important;
}
.dnid-card.back .backMain ul{
  margin-top:0!important;
  padding-top:18px!important;
  clear:both!important;
}

/* mobile keeps same fixed card, only scaled */
@media(max-width:600px){
  .dnid-card.front .side{width:52px!important;height:260px!important;}
  .dnid-card.front .side span:before{font-size:28px!important;}
}
