:root{
  --navy:#004AAD; --navy-2:#003C8C; --paper:#F6F4EE; --gold:#C7A24A; --gold-soft:#E8D9B0;
  --ink:#1B2430; --muted:#6B7686; --green:#1F8A57; --red:#B23A3A; --line:rgba(11,27,51,0.12);
}
*{box-sizing:border-box;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Segoe UI',ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased;}
.shell{max-width:920px;margin:0 auto;padding:28px 20px 60px;}
header.top{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:22px;}
.brand{display:flex;align-items:center;gap:12px;}
.brand img.logo{height:30px;width:auto;display:block;}
.brand span.sub{display:block;font-size:11.5px;color:var(--muted);font-weight:500;text-transform:uppercase;margin-top:2px;padding-left:1px;border-left:1px solid var(--line);padding-left:12px;}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;}
h2.panel-title{font-family:Georgia,serif;font-size:22px;margin:0 0 4px;}
p.panel-desc{color:var(--muted);font-size:13.5px;margin:0 0 22px;}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:640px){.grid{grid-template-columns:1fr;}}
.field{margin-bottom:16px;}
.field label{display:block;font-size:12px;font-weight:700;color:var(--navy-2);text-transform:uppercase;margin-bottom:6px;}
.field input,.field select,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-family:inherit;background:#FCFBF8;color:var(--ink);}
.field textarea{resize:vertical;min-height:60px;}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:#fff;border:none;padding:11px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;}
.btn:hover{background:var(--navy-2);}
.btn.secondary{background:transparent;color:var(--navy);border:1px solid var(--line);}
.btn.danger{background:transparent;color:var(--red);border:1px solid rgba(178,58,58,.3);padding:6px 12px;font-size:12.5px;}
.result{margin-top:26px;padding-top:22px;border-top:1px dashed var(--line);display:none;}
.cert-block{display:flex;gap:22px;flex-wrap:wrap;align-items:flex-start;}
.qr-box{background:#fff;border:2px solid var(--navy);border-radius:12px;padding:14px;flex-shrink:0;line-height:0;}
.cert-info{flex:1;min-width:220px;}
.cert-info .id{font-family:'Courier New',monospace;font-weight:700;font-size:14px;color:var(--navy-2);background:var(--gold-soft);display:inline-block;padding:4px 10px;border-radius:6px;margin-bottom:10px;}
.cert-info dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13.5px;}
.cert-info dt{color:var(--muted);font-weight:600;}
.cert-info dd{margin:0;font-weight:600;}
.actions-row{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap;}
.status-badge{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:13px;padding:6px 14px;border-radius:999px;}
.status-badge.ok{background:rgba(31,138,87,.12);color:var(--green);}
.status-badge.bad{background:rgba(178,58,58,.12);color:var(--red);}
.verify-card{border:1px solid var(--line);border-radius:12px;padding:20px;margin-top:4px;}
.verify-card h3{font-family:Georgia,serif;font-size:19px;margin:10px 0 2px;}
.verify-card .role{color:var(--muted);font-size:13.5px;margin-bottom:14px;}
.empty{color:var(--muted);font-size:13.5px;text-align:center;padding:30px 0;}
table{width:100%;border-collapse:collapse;font-size:13.5px;}
th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;padding:8px 10px;border-bottom:1px solid var(--line);}
td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle;}
.pill{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--navy);color:#fff;display:inline-block;}
.pill.intern{background:#3B6EA5;} .pill.trainee{background:#5C8A72;} .pill.cert{background:var(--navy);}
.row-actions{display:flex;gap:8px;}
.row-actions button{background:none;border:none;color:var(--navy-2);font-size:12.5px;font-weight:600;cursor:pointer;text-decoration:underline;}
.row-actions button.del{color:var(--red);}
.verify-input{display:flex;gap:10px;margin-bottom:22px;}
.verify-input input{flex:1;}
.tabs{display:flex;gap:6px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:4px;margin-bottom:26px;}
.tabs button{flex:1;border:none;background:transparent;padding:10px 8px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;}
.tabs button.active{background:var(--navy);color:#fff;}
.panel{display:none;} .panel.active{display:block;}
.login-box{max-width:360px;margin:60px auto;}
.login-box input{margin-bottom:14px;}
.err{color:var(--red);font-size:12.5px;margin:-6px 0 12px;display:none;}
