/* ─────────────────────────────────────────────────────────────
   Prime Consilium — Kundenbereich (portal) styles
   ───────────────────────────────────────────────────────────── */
:root{
  --slate:#1a2332; --slate2:#21334b; --navy-950:#121d2b;
  --gold:#c9a84c; --gold2:#e8c97a; --gold3:#f5eecf; --gold-deep:#9A6E2E;
  --white:#fff; --cream:#faf8f4; --cream2:#eee7dc; --gray:#f0ede8;
  --ink:#192030; --ink2:#3b414d; --muted:#8a8378;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Source Sans 3',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --good:#3f7d54; --bad:#b0452f;
}
*{box-sizing:border-box;}
body{margin:0;font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;}
a{color:var(--gold-deep);}

/* ── shared brand mark ── */
.pc-brand{display:flex;align-items:center;gap:12px;}
.pc-crown{display:inline-flex;width:44px;height:29px;}
.pc-crown svg{width:100%;height:100%;display:block;}
.pc-wm{display:flex;flex-direction:column;line-height:1;}
.pc-wm-p{font-family:var(--serif);font-weight:600;font-size:20px;letter-spacing:.02em;color:var(--slate);}
.pc-wm-p--light{color:#fff;}
.pc-wm-c{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.32em;color:var(--gold);margin-top:3px;}

.pc-eyerow{text-align:center;margin-bottom:10px;}
.pc-eyebrow{position:relative;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);padding-left:26px;display:inline-block;}
.pc-eyebrow::before{content:'';position:absolute;left:0;top:50%;width:18px;height:2px;background:var(--gold);}

/* ══ LOGIN ══ */
.pc-login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 20px;
  background:
    linear-gradient(135deg, rgba(18,29,43,.97) 0%, rgba(28,44,66,.93) 60%, rgba(45,65,93,.88) 100%),
    radial-gradient(circle at 82% 4%, rgba(232,168,102,.14), transparent 52%);}
.pc-login-wrap{width:100%;display:flex;justify-content:center;}
.pc-card{width:430px;max-width:100%;background:#fff;border-top:3px solid var(--gold);position:relative;
  box-shadow:0 30px 70px rgba(0,0,0,.34);padding:44px 46px 34px;}
.pc-card .pc-brand{justify-content:center;margin-bottom:28px;}
.pc-h1{font-family:var(--serif);font-weight:500;font-size:28px;color:var(--ink);text-align:center;margin:0 0 8px;letter-spacing:-.01em;}
.pc-sub{font-size:14px;line-height:1.55;color:var(--ink2);text-align:center;margin:0 auto 24px;max-width:330px;}
.pc-field{margin-bottom:18px;}
.pc-field label{display:block;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:0 0 7px;}
.pc-field input{width:100%;padding:13px 15px;border:1px solid var(--cream2);background:#fbf9f5;font-family:var(--sans);font-size:15px;color:var(--ink);}
.pc-field input:focus{outline:none;border-color:var(--gold);background:#fff;}
.pc-btn{display:inline-block;width:100%;text-align:center;padding:14px;background:var(--gold);color:var(--slate);
  font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border:none;cursor:pointer;text-decoration:none;transition:background .2s;}
.pc-btn:hover{background:var(--gold2);}
.pc-alert{background:#fbeae5;border:1px solid #e7c3b8;color:var(--bad);font-size:13.5px;padding:11px 14px;margin-bottom:18px;}
.pc-foot{margin-top:24px;padding-top:20px;border-top:1px solid #efeae0;text-align:center;font-size:12.5px;color:#9a938a;}
.pc-foot a{color:var(--gold-deep);text-decoration:none;}
.pc-cardlang{position:absolute;top:16px;right:20px;font-size:12px;letter-spacing:.04em;}
.pc-cardlang a{color:var(--muted);text-decoration:none;font-weight:700;padding:2px 3px;}
.pc-cardlang a.on{color:var(--gold-deep);}
.pc-cardlang span{color:#d8cfc0;margin:0 2px;}
.pc-back{display:inline-block;font-size:13.5px;color:var(--gold-deep);text-decoration:none;font-weight:700;}
.pc-back:hover{text-decoration:underline;}
.pc-foot-note{margin-top:10px;font-size:12px;color:#a79f93;}
.pc-foot-sep{margin:0 6px;color:#cfc7bb;}
.pc-lang{display:inline-flex;gap:9px;font-size:12px;margin-right:4px;}
.pc-lang a{color:rgba(255,255,255,.5);text-decoration:none;}
.pc-lang a.on{color:var(--gold);font-weight:700;}

/* ══ APP (dashboard) ══ */
.pc-app-body{background:var(--cream);min-height:100vh;}
.pc-appbar{background:var(--slate);position:sticky;top:0;z-index:10;}
.pc-appbar-inner{max-width:1120px;margin:0 auto;padding:0 32px;height:64px;display:flex;align-items:center;justify-content:space-between;}
.pc-brand--bar .pc-wm-p{font-size:18px;}
.pc-appbar-right{display:flex;align-items:center;gap:18px;}
.pc-user{font-size:13px;color:rgba(255,255,255,.72);}
.pc-user strong{color:#fff;font-weight:600;}
.pc-logout{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);background:#fff;padding:8px 16px;text-decoration:none;transition:background .2s;}
.pc-logout:hover{background:var(--gold3);}

.pc-app{max-width:1120px;margin:0 auto;padding:44px 32px 80px;}
.pc-app-head{margin-bottom:26px;}
.pc-app-head .pc-eyerow{text-align:left;}
.pc-app-head .pc-h1{text-align:left;font-size:30px;margin:6px 0 6px;}
.pc-app-head .pc-sub{text-align:left;margin:0;max-width:640px;}

.pc-flash{padding:13px 18px;margin-bottom:24px;font-size:14px;border-left:3px solid;}
.pc-flash--good{background:#eef5ef;border-color:var(--good);color:#2f5f40;}
.pc-flash--bad{background:#fbeae5;border-color:var(--bad);color:var(--bad);}

.pc-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;}
.pc-panel{background:#fff;border:1px solid var(--cream2);border-top:3px solid var(--gold);padding:30px 32px 26px;}
.pc-panel-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px;gap:12px;}
.pc-panel-head h2{font-family:var(--serif);font-weight:500;font-size:21px;color:var(--ink);margin:0;}
.pc-progress{font-size:12.5px;color:var(--muted);font-weight:600;}

/* docs list */
.pc-docs{list-style:none;margin:0;padding:0;}
.pc-doc{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid #f1ede5;}
.pc-doc:last-child{border-bottom:none;}
.pc-doc-main{display:flex;align-items:center;gap:13px;}
.pc-doc-check{width:26px;height:26px;flex:0 0 26px;border:1.5px solid var(--cream2);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:700;}
.pc-doc.is-done .pc-doc-check{background:var(--good);border-color:var(--good);}
.pc-doc-title{font-size:15px;font-weight:700;color:var(--ink);}
.pc-opt{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;}
.pc-doc-hint{font-size:12.5px;color:var(--muted);margin-top:2px;}
.pc-doc-action{display:flex;align-items:center;gap:14px;flex:0 0 auto;}
.pc-link{font-size:12.5px;color:var(--gold-deep);text-decoration:none;border-bottom:1px solid transparent;}
.pc-link:hover{border-bottom-color:var(--gold);}
.pc-upl{margin:0;}
.pc-upl-btn{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--slate);background:var(--cream);border:1px solid var(--cream2);padding:8px 14px;cursor:pointer;transition:background .15s,border-color .15s;}
.pc-upl-btn:hover{background:var(--gold3);border-color:var(--gold);}
.pc-upl-btn input[type=file]{display:none;}
.pc-note{font-size:12px;color:var(--muted);margin:18px 0 0;}

/* contract column */
.pc-empty{text-align:center;padding:26px 10px;color:var(--ink2);}
.pc-empty-ic{font-size:34px;color:var(--gold);margin-bottom:10px;}
.pc-empty p{font-size:14.5px;line-height:1.6;margin:0 auto;max-width:320px;}
.pc-step{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid #f1ede5;}
.pc-step:last-child{border-bottom:none;}
.pc-step-no{flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:var(--slate);color:var(--gold3);font-family:var(--serif);font-size:15px;display:flex;align-items:center;justify-content:center;}
.pc-step-title{font-size:15.5px;font-weight:700;color:var(--ink);margin-bottom:4px;}
.pc-step-txt{font-size:13.5px;line-height:1.55;color:var(--ink2);margin:0 0 14px;}
.pc-btn--gold{width:auto;padding:12px 22px;}
.pc-btn--outline{display:inline-block;width:auto;padding:11px 20px;background:transparent;color:var(--slate);border:1.5px solid var(--gold);cursor:pointer;}
.pc-btn--outline:hover{background:var(--gold3);}
.pc-signed{margin-top:14px;font-size:13.5px;color:#2f5f40;font-weight:600;}
.pc-signed .pc-link{color:#2f5f40;}

@media (max-width:820px){
  .pc-grid{grid-template-columns:1fr;}
  .pc-appbar-inner,.pc-app{padding-left:20px;padding-right:20px;}
  .pc-user{display:none;}
}

/* ─────────────────────────────────────────────────────────────
   Contract flow (right panel): download → sign → upload & send
   ───────────────────────────────────────────────────────────── */
.pc-panel--contract .pc-empty p{max-width:340px;}

.pc-flow{list-style:none;margin:0;padding:0;counter-reset:none;}
.pc-flow .pc-step{align-items:flex-start;}

/* icon nudged inside gold/outline buttons */
.pc-btn-ic{display:inline-block;font-weight:700;transform:translateY(1px);margin-right:2px;}

/* sent confirmation banner (shown above the steps once signed) */
.pc-confirm{display:flex;gap:14px;align-items:flex-start;background:#eef5ef;border-left:3px solid var(--good);padding:16px 18px;margin-bottom:24px;}
.pc-confirm-ic{flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:var(--good);color:#fff;font-weight:700;font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center;}
.pc-confirm-title{font-size:14.5px;font-weight:700;color:#2f5f40;margin-bottom:4px;}
.pc-confirm-txt{font-size:13px;line-height:1.55;color:#3a5a45;margin:0 0 8px;}
.pc-confirm-meta{font-size:12.5px;color:#4a6b54;}
.pc-confirm .pc-link{color:#2f5f40;}
.pc-confirm .pc-link:hover{border-bottom-color:var(--good);}

/* upload & send form */
.pc-send{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0;}
.pc-pick{margin:0;order:1;}
.pc-send-btn{order:2;}
.pc-send-btn:disabled{opacity:.4;cursor:not-allowed;}
.pc-send-btn:disabled:hover{background:var(--gold);}
.pc-picked{order:3;flex-basis:100%;font-size:13px;color:var(--ink2);background:var(--cream);border:1px dashed var(--cream2);padding:9px 13px;word-break:break-all;}
