*{box-sizing:border-box}body{margin:0;background:#f3f6f4;color:#172b26;font:14px/1.5 system-ui,Arial}a{color:#17664f}.layout{display:flex;min-height:100vh}.sidebar{width:245px;background:#0b2d27;color:#e8f2ed;padding:22px 16px;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;margin:4px 5px 30px}.brandmark{width:44px;height:44px;border:1px solid #c5a45d;border-radius:12px;display:grid;place-items:center;color:#e8ce91;font-weight:900}.brand small{display:block;color:#a9c3b7;font-size:10px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{padding:11px 13px;color:#c9d9d2;text-decoration:none;border-radius:9px}.sidebar nav a.active,.sidebar nav a:hover{background:#17483b;color:white}.sidebottom{margin-top:auto;border-top:1px solid #ffffff25;padding:15px 5px;color:#a9c3b7;font-size:11px}.main{flex:1;min-width:0}.main header{height:68px;background:#fff;border-bottom:1px solid #e1e9e4;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.main header small{display:block;color:#82918a;font-size:11px}.content{max-width:1250px;margin:auto;padding:28px}.content h1{font-size:24px}.muted{color:#71817b}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.stat,.panel{background:white;border:1px solid #e1e9e4;border-radius:14px;padding:18px;margin-bottom:16px}.stat small{display:block;color:#71817b}.stat strong{display:block;font-size:29px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.formgrid label,.loginbox label{display:grid;gap:6px;font-weight:650;font-size:12px}.formgrid input,.formgrid textarea,.formgrid select,.loginbox input,.verifybox input{padding:11px;border:1px solid #dce6df;border-radius:8px;font:inherit;width:100%}.formgrid textarea{min-height:80px}.wide{grid-column:1/-1}.btn{background:#0d5b46;color:#fff;border:0;border-radius:8px;padding:11px 16px;font-weight:700;cursor:pointer}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:620px}th,td{text-align:left;padding:11px;border-bottom:1px solid #edf1ee;font-size:12px}th{background:#f7faf8;color:#64756d}.alert{background:#fff4e2;border:1px solid #ecd8aa;padding:12px;border-radius:9px;margin:12px 0}.linkbtn{background:none;border:0;color:#17664f;text-decoration:underline;cursor:pointer}.login,.verify{min-height:100vh;display:grid;place-items:center;padding:20px}.loginbox,.verifybox{background:#fff;border:1px solid #e1e9e4;border-radius:18px;padding:30px;width:min(420px,100%);box-shadow:0 18px 60px #153d2b12}.loginbox input{margin:5px 0 14px}.loginbox .btn{width:100%;margin:10px 0}.loginbox small,.verifybox>small{display:block;color:#71817b;margin-top:14px}.verifybox{text-align:center;width:min(540px,100%)}.verifybox input{margin:10px 0}.result{padding:18px;margin-top:18px;border-radius:12px;text-align:left}.valid{background:#eaf6ef;border:1px solid #b7dec7}.invalid{background:#fff0f0;border:1px solid #e8bcbc}@media(max-width:800px){.sidebar{width:190px}.stats{grid-template-columns:repeat(2,1fr)}.content{padding:18px}.main header{padding:0 18px}}@media(max-width:600px){.layout{display:block}.sidebar{width:100%;padding:12px}.sidebar nav{grid-template-columns:repeat(2,1fr)}.brand{margin-bottom:12px}.sidebottom{display:none}.main header{height:58px}.formgrid{grid-template-columns:1fr}.wide{grid-column:auto}.stats{gap:8px}.stat{padding:12px}.stat strong{font-size:24px}}

/* V5 additions */
.template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.template-card{border:1px solid #dfe8e2;border-radius:14px;padding:14px;background:#fff}
.template-swatch{height:110px;border-radius:9px;display:grid;place-items:center;font-family:Georgia,serif;font-size:23px;font-weight:bold;margin-bottom:12px}
.field-help{font-size:12px;color:#71817b}
.portal-card{max-width:760px;width:100%;background:#fff;border:1px solid #e1e9e4;border-radius:18px;padding:26px;box-shadow:0 18px 60px #153d2b12}
.portal-list{display:grid;gap:12px;margin-top:18px}
.portal-item{border:1px solid #e1e9e4;border-radius:12px;padding:15px;display:flex;justify-content:space-between;gap:12px;align-items:center}
@media(max-width:600px){.portal-item{display:block}.portal-item .btn{margin-top:10px}}

/* Template Designer V5.1 — real certificate previews */
.formgrid input[type=color]{
  appearance:auto;-webkit-appearance:auto;
  display:block;width:100%;height:48px;min-height:48px;
  padding:5px 8px;border:1px solid #dce6df;border-radius:9px;
  background:#fff;cursor:pointer;
}
.template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:20px}
.template-card{background:#fff;border:1px solid #dce6df;border-radius:15px;padding:14px;box-shadow:0 5px 18px #173c2b0a}
.template-preview{height:175px;padding:12px;display:flex;align-items:center;justify-content:center;border-radius:8px;overflow:hidden}
.template-paper{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px;border:5px double var(--accent);outline:1px solid var(--accent);outline-offset:-9px;background:var(--paper);color:var(--primary);font-family:var(--font,Georgia,serif)}
.template-paper.single{border-style:solid}
.template-paper.geometric{border:7px double var(--accent);outline:2px dashed var(--accent);outline-offset:-13px}
.template-paper .pv-org{font-size:9px;letter-spacing:2px;text-transform:uppercase}
.template-paper .pv-title{font-size:22px;font-weight:700;margin:8px 0 3px}
.template-paper .pv-sub{font-size:9px}
.template-paper .pv-name{font-size:16px;font-weight:700;border-bottom:1px solid var(--accent);padding:4px 15px;margin:7px 0}
.template-paper .pv-event{font-size:10px;font-weight:700;margin-top:4px}
.template-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}
.template-meta strong{font-size:14px}
.template-meta code{font-size:11px;color:#71817b}
.template-help{font-size:12px;color:#71817b;margin:7px 0 0}
@media(max-width:650px){.template-grid{grid-template-columns:1fr}.template-preview{height:160px}}
