/* ============================================================
   Prompt Pay Portal — chrome for landing / auth / dashboard / admin
   (the fillable form itself uses styles.css)
   ============================================================ */
:root{
  --red:#1f6bb5; --dark:#164e82; --ink:#14213d; --soft:#5b6b7a;
  --line:#cdd6df; --bg:#eef1f4; --ok:#1a7f37;
}
*{box-sizing:border-box;}
body{margin:0;font-family:Arial,"Segoe UI",Helvetica,sans-serif;color:var(--ink);background:var(--bg);font-size:14px;line-height:1.45;}
a{color:var(--red);}

/* ---- top bar ---- */
.portalbar{position:sticky;top:0;z-index:60;background:#fff;border-bottom:3px solid var(--red);box-shadow:0 2px 6px rgba(0,0,0,.10);}
.portalbar-inner{max-width:1120px;margin:0 auto;padding:9px 18px;display:flex;align-items:center;gap:14px;}
.brand2{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);}
.logo2{width:44px;height:44px;border-radius:9px;object-fit:cover;background:#0a0f1a;border:1px solid var(--dark);display:block;}
.brand2 b{display:block;font-size:14px;} .brand2 small{display:block;color:var(--soft);font-size:11px;}
.pb-actions{margin-left:auto;display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.whoami{font-size:12.5px;color:var(--soft);}

/* ---- buttons ---- */
.pbtn{display:inline-block;border:1px solid var(--line);background:#fff;color:var(--ink);padding:8px 15px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;text-decoration:none;font-family:inherit;}
.pbtn:hover{border-color:var(--red);color:var(--red);}
.pbtn.primary{background:var(--red);color:#fff;border-color:var(--dark);}
.pbtn.primary:hover{background:var(--dark);color:#fff;}
.langsw{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;vertical-align:middle;}
.langsw-b{border:0;background:#fff;color:var(--soft);font:inherit;font-size:12px;font-weight:700;padding:7px 9px;cursor:pointer;line-height:1;}
.langsw-b:hover{background:var(--bg);}
.langsw-b.on{background:var(--red);color:#fff;}
.pbtn.ghost{background:transparent;}
.pbtn.block{width:100%;padding:11px;font-size:14px;margin-top:6px;}
.pbtn.lg{padding:12px 22px;font-size:15px;}
.pbtn.sm{padding:5px 11px;font-size:12px;}

.portalmain{min-height:70vh;}
.wrap,.authwrap{max-width:1120px;margin:0 auto;padding:22px 18px;}
.rowhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap;}
.rowhead-actions{display:flex;align-items:center;gap:8px;}
h1{font-size:22px;margin:0;} h2{font-size:15px;margin:0 0 10px;}
.muted{color:var(--soft);} .req{color:var(--red);}

/* ---- messages ---- */
.msg{padding:10px 13px;border-radius:7px;margin:0 0 14px;font-size:13px;}
.msg.err{background:#fdecec;border:1px solid #e6a9a9;color:#8a1f1f;}
.msg.ok{background:#e8f5ec;border:1px solid #a6d3b4;color:#155f2c;}

/* ---- landing / hero ---- */
.hero{max-width:820px;margin:0 auto;padding:48px 18px;text-align:center;}
.hero h1{font-size:30px;}
.hero .lead{font-size:16px;color:#33414f;max-width:640px;margin:14px auto 26px;}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:34px;}
.hero-docs{text-align:left;max-width:520px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 22px;}
.hero-docs h3{margin:0 0 10px;font-size:14px;color:var(--dark);}
.hero-docs ul{margin:0 0 8px;padding-left:20px;} .hero-docs li{margin:5px 0;}
.hero-docs small{color:var(--soft);}

/* ---- auth cards ---- */
.authwrap{max-width:440px;}
.authcard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 26px 22px;box-shadow:0 3px 14px rgba(0,0,0,.06);}
.authcard h1{font-size:20px;margin-bottom:16px;}
.field2{display:block;font-size:12.5px;font-weight:600;margin:0 0 13px;}
.field2 input,.field2 select,.field2 textarea{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:7px;padding:9px 11px;font-size:14px;font-family:inherit;font-weight:400;color:var(--ink);}
.field2 input:focus,.field2 select:focus,.field2 textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 2px rgba(184,35,47,.14);}
.field2 small{display:block;color:var(--soft);font-weight:400;margin-top:3px;}
.alt{margin-top:14px;font-size:13px;text-align:center;color:var(--soft);}

/* ---- dashboard ---- */
.empty{background:#fff;border:1px dashed var(--line);border-radius:10px;padding:30px;text-align:center;color:var(--soft);}
.cardlist{display:flex;flex-direction:column;gap:12px;}
.appcard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px 18px;display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;}
.appref{font-weight:800;font-size:15px;}
.appmeta{color:var(--soft);font-size:12px;margin-top:3px;}
.appremark{margin-top:6px;font-size:12.5px;background:#fff8e6;border:1px solid #f0d98a;border-radius:6px;padding:5px 9px;}
.appcard-side{display:flex;align-items:center;gap:12px;}

/* ---- status badges ---- */
.statusbadge{display:inline-block;padding:4px 11px;border-radius:20px;font-size:12px;font-weight:700;}
.statusbadge.big{font-size:14px;padding:6px 16px;}
.s-draft{background:#e7ebef;color:#4a5967;}
.s-submitted{background:#e3effb;color:#1f6bb5;}
.s-in_review{background:#fff2d6;color:#9a6b00;}
.s-approved{background:#e0f3e6;color:#1a7f37;}
.s-rejected{background:#fde3e3;color:#b8232f;}

/* ---- view detail ---- */
.viewgrid{display:grid;grid-template-columns:1fr 320px;gap:18px;align-items:start;}
.viewside{position:sticky;top:76px;}
.panel2{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin-bottom:16px;}
table.kv,table.doctable{width:100%;border-collapse:collapse;font-size:13px;}
table.kv th,table.doctable th{text-align:left;color:var(--soft);font-weight:600;padding:6px 10px 6px 0;vertical-align:top;width:38%;}
table.kv td,table.doctable td{padding:6px 0;vertical-align:top;border-bottom:1px solid #eef1f4;}
table.kv.small{font-size:12px;} table.kv.small th{width:44%;word-break:break-word;}
.filelink{font-weight:600;}
.sig-thumb{max-height:46px;border:1px solid var(--line);background:#fff;}
.remarkbox{background:#fff8e6;border:1px solid #f0d98a;border-radius:7px;padding:9px 11px;font-size:13px;}
.timeline{list-style:none;margin:0;padding:0;}
.timeline li{padding:8px 0;border-bottom:1px solid #eef1f4;font-size:13px;}
.statusform{margin-top:12px;border-top:1px solid var(--line);padding-top:12px;}

/* ---- admin table ---- */
.filterbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.chip{display:inline-flex;gap:6px;align-items:center;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:20px;padding:6px 13px;font-size:12.5px;font-weight:600;color:var(--ink);}
.chip.on{background:var(--red);color:#fff;border-color:var(--dark);}
.chip span{background:rgba(0,0,0,.08);border-radius:12px;padding:0 7px;font-size:11px;}
.chip.on span{background:rgba(255,255,255,.25);}
.tbl-wrap2{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:10px;}
.admintable{width:100%;border-collapse:collapse;font-size:13px;}
.admintable th,.admintable td{text-align:left;padding:10px 12px;border-bottom:1px solid #eef1f4;}
.admintable thead th{background:#f4f6f9;font-size:12px;color:var(--soft);}
.admintable td.c{text-align:center;}
.admintable tbody tr:hover{background:#f8fafc;}

/* ---- document upload widgets (on the apply form) ---- */
#doc-uploads{display:flex;flex-direction:column;gap:14px;margin:14px 0;}
.docrow{display:grid;grid-template-columns:1fr 300px;gap:16px;border:1px solid var(--line);border-radius:9px;padding:13px 15px;background:#fbfcfd;}
.docmeta b{font-size:13.5px;} .docmeta .hint{color:var(--soft);font-size:11.5px;margin-top:3px;}
.docctl .docfile{font-size:12px;}
.doclist{list-style:none;margin:8px 0 0;padding:0;}
.fileitem{display:flex;align-items:center;gap:6px;font-size:12.5px;padding:4px 0;}
.fileitem.pending{color:var(--soft);} .fileitem.error{color:#b8232f;}
.fileitem a{font-weight:600;word-break:break-all;}
.fileitem .delx{margin-left:auto;border:none;background:#f0d3d3;color:#b8232f;border-radius:5px;cursor:pointer;padding:2px 7px;font-weight:700;}

/* apply page: neutralise the form's own sticky bar so only portalbar sticks */
body.apply-page .topbar{position:static;box-shadow:none;}

@media (max-width:820px){
  .viewgrid{grid-template-columns:1fr;} .viewside{position:static;}
  .docrow{grid-template-columns:1fr;}
}
