/* Self-contained AYL Legal Suite base */
:root{--navy:#0b234a;--blue:#1756a9;--line:#d9e2ee;--text:#202936;--muted:#687386;}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.5}
.container{width:min(1180px,calc(100% - 32px));margin:0 auto}
h1,h2,h3{line-height:1.2}
button,input,select,textarea{font:inherit}


/* Πρόσθετο UI της έκδοσης 2.0. Το κοινό design system φορτώνεται από ../assets/css/main.css */
body{background:#f6f8fc}
.header{background:linear-gradient(135deg,#0b234a,#12376b);color:#fff;padding:34px 0}
.header h1{color:#fff;font-size:clamp(2.2rem,5vw,4.2rem);margin:4px 0 10px}
.header .brand{color:#fff}.header .subtitle{max-width:850px;color:#d9e3f1}
main.container{padding-top:28px;padding-bottom:70px}
.progress-flow{display:none!important}
.preflight{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 8px 24px rgba(11,35,74,.06);margin-bottom:22px}
.wizard-top{position:sticky;top:78px;z-index:35;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:16px;padding:15px 18px;margin-bottom:22px;box-shadow:0 10px 26px rgba(11,35,74,.08)}
.wizard-top>div:first-child{display:flex;justify-content:space-between;gap:16px;align-items:center}.wizard-kicker{color:var(--blue);font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}
.wizard-progress{height:8px;background:#e8eef7;border-radius:99px;overflow:hidden;margin-top:11px}.wizard-progress span{display:block;height:100%;width:14.28%;background:linear-gradient(90deg,#1756a9,#2f80ed);transition:width .25s ease}
.autosave-status{font-size:.82rem;color:#1f7a4f;margin-top:8px;text-align:right}
.section{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 12px 32px rgba(11,35,74,.07);margin-bottom:22px}
.section-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}.section-title .step{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:800}.section-title h2{margin:0;color:var(--navy)}
.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.field{display:flex;flex-direction:column;gap:7px}.field label{font-weight:700;color:#263750}.field input,.field select,.field textarea{width:100%;padding:12px 13px;border:1px solid #cbd6e4;border-radius:10px;background:#fff;font:inherit;color:var(--text)}.field input:focus,.field select:focus{outline:3px solid rgba(23,86,169,.12);border-color:var(--blue)}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.btn-primary,.btn-secondary,.btn-danger{border:0;border-radius:11px;padding:12px 18px;font-weight:800;cursor:pointer}.btn-primary{background:var(--navy);color:#fff}.btn-secondary{background:#edf3fa;color:var(--navy);border:1px solid #cdd9e8}.btn-danger{background:#fff0f0;color:#a51d2d;border:1px solid #efc5ca}
.entry{position:relative;background:#f8fbff;border:1px solid #dce6f2;border-radius:16px;padding:20px;margin:14px 0}.entry-title{font-weight:800;color:var(--navy);margin-bottom:13px}.delete{position:absolute;right:12px;top:10px;border:0;background:transparent;color:#a51d2d;font-size:1.5rem;cursor:pointer}
.info,.notice,.diagnostic,.report,.footer-note,.consent-box,.submission-result{border-radius:12px;padding:14px 16px}.info{background:#eef5ff;border:1px solid #cbdcf6}.notice{background:#fff8e8;border:1px solid #eed9a0}.hidden{display:none!important}
.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:18px 0}.metric{background:#f7f9fc;border:1px solid var(--line);border-radius:14px;padding:15px}.metric b{display:block;color:var(--muted);font-size:.86rem}.metric strong{display:block;color:var(--navy);font-size:1.15rem;margin-top:5px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{border:1px solid #dfe7f1;padding:10px;text-align:left}th{background:#eef3fa;color:var(--navy)}
.report{white-space:pre-wrap;background:#f8fbff;border:1px solid #dce6f2;font-family:Georgia,serif;line-height:1.7}
.review-panel{margin-top:24px;border:1px solid #cbdcf6;border-radius:18px;overflow:hidden}.review-panel-head{background:linear-gradient(135deg,#0b234a,#12376b);color:#fff;padding:24px}.review-panel-head h3{margin:0 0 8px}.review-panel-body{padding:24px;background:#fff}.price-line{font-size:2rem;font-weight:900;color:var(--navy)}.review-list li{margin:7px 0}.checkline{display:flex;gap:10px;align-items:flex-start;margin:10px 0}
.wizard-nav{position:sticky;bottom:12px;z-index:40;display:flex;justify-content:space-between;gap:14px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:16px;padding:12px;box-shadow:0 12px 30px rgba(11,35,74,.13)}
.wizard-nav button{min-width:150px}.wizard-complete-note{background:#edf8f2;border:1px solid #b9dec9;color:#185d3b;border-radius:12px;padding:14px;margin-bottom:18px}
.case-error{background:#fff0f0;border:1px solid #efc5ca;color:#8f1d2c;padding:14px;border-radius:12px}.case-success{background:#edf8f2;border:1px solid #b9dec9;color:#185d3b;padding:14px;border-radius:12px}
@media(max-width:900px){.grid.two,.metrics{grid-template-columns:1fr}.wizard-top{top:8px}.wizard-top>div:first-child{display:block}.autosave-status{text-align:left}.section{padding:20px}}
@media print{.wizard-top,.wizard-nav,.header,.preflight{display:none!important}.section{display:block!important;box-shadow:none;border:0;padding:0}.review-panel{display:none!important}body{background:#fff}}

.demo-access{
  margin:18px 0;
  padding:14px 16px;
  border:1px solid #cdd9e8;
  border-radius:14px;
  background:#f7faff;
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  align-items:center;
}
.demo-access strong{display:block;color:#123b67;margin-bottom:3px}
.demo-access span{display:block;color:#617287;font-size:.92rem}
.demo-access-controls{display:flex;gap:8px;align-items:center}
.demo-access-controls input{min-width:190px}
.demo-access-message{grid-column:1/-1;font-size:.9rem}
.demo-access-message.error{color:#a22828;font-weight:700}
@media(max-width:760px){
  .demo-access{grid-template-columns:1fr}
  .demo-access-controls{flex-direction:column;align-items:stretch}
  .demo-access-controls input{min-width:0;width:100%}
}

.result-disclaimer{
  margin-bottom:16px;
  border-left:4px solid #b69343;
  background:#fffaf0;
}
.header .brand{
  letter-spacing:.04em;
  font-weight:800;
}
.hidden[aria-hidden="true"]{
  display:none!important;
}

/* Paid legal review flow */
.price-line{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.price-vat{font-size:.9rem;font-weight:800;color:#4d6178}
.price-breakdown{margin-top:4px;color:#66758a;font-weight:700}
.payment-panel{margin-top:22px;border:1px solid #c9d8ea;border-radius:18px;padding:22px;background:#f9fbfe;box-shadow:0 12px 28px rgba(11,35,74,.08)}
.payment-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid #d8e2ef;padding-bottom:14px;margin-bottom:16px}
.payment-head h3{margin:4px 0 0}.payment-kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#52708f}
.payment-amount{font-size:1.9rem;font-weight:900;color:var(--navy);white-space:nowrap}
.payment-reference{display:flex;justify-content:space-between;gap:14px;align-items:center;background:#fff;border:1px dashed #9eb4cc;border-radius:12px;padding:13px 15px;margin:14px 0}
.payment-reference span{color:#607187;font-size:.88rem}.payment-reference strong{font-size:1.1rem;letter-spacing:.04em;color:var(--navy)}
.payment-method{background:#edf8f2;border:1px solid #b9dec9;border-radius:12px;padding:14px 16px}.payment-method p{margin:6px 0 0}
.payment-confirmation{margin-top:14px;padding:12px;background:#fff;border:1px solid #d7e0eb;border-radius:12px}
@media(max-width:640px){.payment-head{display:block}.payment-amount{margin-top:10px}.payment-reference{display:block}.payment-reference strong{display:block;margin-top:5px}.price-line{font-size:1.7rem}}
