:root{
  --paper:#f6f2ea;
  --surface:#fff;
  --ink:#181512;
  --text:#302b26;
  --muted:#766d63;
  --line:#e5ddd0;
  --line-strong:#d4c7b4;
  --gold:#a97822;
  --gold-dark:#7d5717;
  --gold-soft:#efe3cc;
  --charcoal:#181512;
  --shadow:0 18px 55px rgba(28,22,14,.11);
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:var(--gold);text-decoration:none;font-weight:700}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:30px;background:linear-gradient(180deg,#fbf8f2 0%,#f1ebe1 100%)}
.login-card{width:min(460px,100%);background:var(--surface);border:1px solid var(--line);padding:42px 40px;box-shadow:var(--shadow)}
.login-logo{width:150px;height:auto;margin-bottom:28px;filter:brightness(0) saturate(100%) invert(47%) sepia(67%) saturate(721%) hue-rotate(4deg) brightness(88%) contrast(90%)}
.eyebrow{margin:0 0 10px;color:var(--gold);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:800}
.login-card h1{margin:0 0 10px;color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-size:36px;line-height:1.08;font-weight:500}
.muted{color:var(--muted)}
.alert{background:#fff5f1;border-left:4px solid #b64933;color:#8b2d22;padding:12px 14px;margin:18px 0}
.login-form{display:grid;gap:16px;margin-top:26px}
.login-form label,.field label{display:grid;gap:7px;color:var(--ink);font-size:13px;font-weight:700}
.login-form input,.field input,.field select,.field textarea{
  width:100%;border:1px solid var(--line);background:#fbfaf7;color:var(--ink);padding:13px 14px;min-height:46px;border-radius:0;
}
.login-form input:focus,.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold-soft);border-color:var(--gold)}
.login-form button,.primary,.secondary{
  border:1px solid var(--gold);padding:13px 20px;min-height:48px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;font-size:12px;border-radius:0;
}
.login-form button,.primary{background:var(--gold);color:#fff}
.login-form button:hover,.primary:hover{background:var(--gold-dark);border-color:var(--gold-dark)}
.secondary{background:#fff;color:var(--gold-dark)}
.secondary:hover{background:var(--gold-soft)}
.app-shell{max-width:1240px;margin:0 auto;padding:28px 24px 70px}
.topbar{height:86px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:34px}
.brand-logo{display:block;width:142px;height:auto;margin-bottom:8px;filter:brightness(0) saturate(100%) invert(47%) sepia(67%) saturate(721%) hue-rotate(4deg) brightness(88%) contrast(90%)}
.topbar p{margin:0;color:var(--muted);font-size:14px}
.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.hero{display:grid;grid-template-columns:minmax(0,1fr) 410px;min-height:520px}
.hero>div:first-child{padding:70px 64px 64px}
.hero h1{margin:0 0 22px;color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:54px;line-height:1.02;max-width:760px}
.hero p:not(.eyebrow){font-size:18px;color:var(--muted);max-width:690px;margin:0 0 34px}
.hero-panel{
  background:radial-gradient(circle at 50% 45%,#fff 0%,#fbf8f2 42%,#efe6d8 100%);
  color:var(--gold);display:grid;place-items:center;padding:42px;min-height:420px;border-left:1px solid var(--line);
}
.lock-o-icon{width:min(255px,64%);height:auto;color:var(--gold);filter:drop-shadow(0 18px 34px rgba(121,84,22,.2))}
.start-choice{display:grid;grid-template-columns:1fr 1.35fr;gap:16px;max-width:760px;margin-top:10px}
.choice{border:1px solid var(--line);background:#fbfaf7;color:var(--ink);padding:22px;text-align:left;display:grid;gap:8px;min-height:136px;border-radius:0}
.choice:hover{border-color:var(--gold);box-shadow:0 12px 34px rgba(121,84,22,.12)}
.choice strong{font-family:Georgia,'Times New Roman',serif;font-size:26px;font-weight:500;line-height:1.08}
.choice span{color:var(--muted);font-size:14px}
.existing-choice input{width:100%;box-sizing:border-box;border:1px solid var(--line);background:#fff;color:var(--ink);padding:12px 13px;min-height:44px;border-radius:0}
.existing-choice input:focus{outline:2px solid var(--gold-soft);border-color:var(--gold)}
.existing-choice .primary{width:100%;margin-top:4px}
.layout{display:grid;grid-template-columns:280px 1fr;min-height:650px}
.rail{background:var(--charcoal);color:#cfc6b9;padding:30px 22px;display:flex;flex-direction:column;gap:4px}
.step{display:flex;gap:12px;align-items:center;width:100%;border:0;background:transparent;color:inherit;text-align:left;padding:11px 10px;font-size:13px}
.step b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1px solid #615847;font-size:12px;color:#d9cfbd}
.step.on{color:#fff;background:#26211b}
.step.on b{background:var(--gold);border-color:var(--gold);color:#fff}
.step.done{color:#efe6d7}
.panel{padding:42px 46px 38px}
.progress{height:3px;background:#ece4d8;overflow:hidden;margin-bottom:34px}
.progress i{display:block;height:100%;background:var(--gold);width:0}
.section-head{border-bottom:1px solid var(--line);margin-bottom:26px;padding-bottom:18px}
.section-head h2{margin:0;color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:34px}
.section-head p{margin:8px 0 0;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.field{display:grid;gap:7px;grid-column:span 12}
.field.c4{grid-column:span 4}.field.c6{grid-column:span 6}.field.c8{grid-column:span 8}
.field textarea{min-height:118px;resize:vertical}
.field input[type=checkbox]{width:auto;min-height:auto;margin-right:8px;accent-color:var(--gold)}
.req{color:var(--gold)}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chip{border:1px solid var(--line-strong);background:#fff;color:var(--text);padding:9px 12px;border-radius:0;font-size:13px}
.chip.sel{border-color:var(--gold);background:var(--gold-soft);color:var(--gold-dark)}
.nav{display:flex;justify-content:space-between;gap:14px;margin-top:34px}
.status{margin-top:20px;padding:14px 16px;border:1px solid var(--line);background:#fff}
.status.ok{border-left:4px solid #2f7c56;color:#235f43}
.status.bad{border-left:4px solid #b64933;color:#8b2d22}
.summary{display:grid;gap:0;border-top:1px solid var(--line)}
.summary-row{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding:12px 0}
.summary-row span:first-child{color:var(--muted)}
@media (max-width:900px){
  .app-shell{padding:20px 14px 50px}
  .topbar{height:auto;margin-bottom:22px}
  .hero{grid-template-columns:1fr;min-height:0}.hero>div:first-child{padding:40px 28px}.hero h1{font-size:38px}.hero-panel{min-height:260px}
  .start-choice{grid-template-columns:1fr}
  .layout{grid-template-columns:1fr}.rail{display:flex;flex-direction:row;overflow:auto;padding:12px}.step{white-space:nowrap}
  .panel{padding:28px 22px}.field.c4,.field.c6,.field.c8{grid-column:span 12}.section-head h2{font-size:30px}
}
