:root{
  color-scheme:dark only;
  --bg:#061022;
  --bg2:#091426;
  --panel:#0b1628;
  --panel2:#0d1a30;
  --line:#2b394e;
  --line2:#3a465b;
  --field:#302e31;
  --fieldText:#d9dce3;
  --text:#c5c9d1;
  --white:#eff1f5;
  --muted:#8d94a0;
  --gold:#e3a317;
  --gold2:#f0ae1a;
  --danger:#cf544d;
}
*{box-sizing:border-box}
body{
  margin:0;background:linear-gradient(180deg,#061022,#071224 65%,#050d1a);
  color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;
}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.page{padding:18px 10px 34px}
.shell{
  width:min(100%,980px);margin:0 auto;border:1px solid #1c293b;border-radius:22px;
  background:#071123;overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.45)
}
.header{
  display:flex;gap:14px;align-items:center;padding:20px;border-bottom:1px solid #213047;background:#071123;
}
.logo{width:56px;height:56px;object-fit:contain;border-radius:10px}
.brand{color:var(--gold);font-size:.7rem;font-weight:900;letter-spacing:.15em}
h1{margin:2px 0 0;color:var(--white);font-size:1.45rem}
.intro{padding:18px 20px 6px;line-height:1.5;color:#aab0ba}
.demo{margin:12px 20px 0;padding:10px 12px;border:1px dashed rgba(227,163,23,.45);border-radius:10px;color:#ccb978;background:rgba(227,163,23,.05);font-size:.74rem}
form{padding:0 14px 22px}
.block,.services-block{
  margin-top:14px;border:1px solid var(--line);border-radius:22px;background:#0a1528;padding:18px;
}
.block-title{display:flex;gap:10px;align-items:flex-start;margin-bottom:14px}
.block-title>span{
  display:grid;place-items:center;width:29px;height:29px;border-radius:50%;border:1px solid rgba(227,163,23,.45);
  background:rgba(227,163,23,.08);color:var(--gold);font-weight:900;font-size:.75rem
}
.block-title h2{margin:1px 0 0;color:var(--white);font-size:1.05rem}
.block-title p{margin:3px 0 0;color:var(--muted);font-size:.75rem}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
label{display:grid;gap:6px;color:#c6cad1;font-size:.75rem;font-weight:800}
label.full{grid-column:1/-1}
input,select,textarea{
  width:100%;border:1px solid #47464a;border-radius:13px;background:var(--field);color:var(--fieldText);
  padding:13px 14px;outline:none
}
input:focus,select:focus,textarea:focus{border-color:#826a32;box-shadow:0 0 0 3px rgba(227,163,23,.08)}
textarea{min-height:95px;resize:vertical}
.services-block{padding:22px}
.services-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.services-copy{display:flex;gap:14px;max-width:560px}
.services-icon{
  flex:0 0 auto;width:58px;height:58px;border-radius:18px;background:rgba(227,163,23,.10);
  color:var(--gold);display:grid;place-items:center;font-size:1.6rem
}
.services-copy h2{margin:0;color:var(--white);font-size:1.45rem}
.services-copy p{margin:5px 0 0;color:#a7acb5;line-height:1.45}
.services-buttons{display:grid;gap:10px;min-width:260px}
.btn{min-height:50px;border-radius:14px;padding:0 18px;font-weight:900;border:0}
.btn-gold{background:var(--gold);color:#fff}
.btn-gold:hover{background:var(--gold2)}
.btn-outline{background:transparent;color:#e7e9ed;border:1px solid #707887}
.empty-state{
  margin-top:20px;border:1px solid var(--line);border-radius:18px;background:#071427;padding:55px 24px;text-align:center
}
.empty-symbol{color:#d4a846;font-size:3rem}
.empty-state h3{margin:18px 0 8px;color:#d8dbe0;font-size:1.25rem}
.empty-state p{margin:0 auto;max-width:440px;color:#8e95a1;line-height:1.5}
.lines{display:grid;gap:12px;margin-top:20px}
.line-card{border:1px solid var(--line);border-radius:16px;background:#08162a;overflow:hidden}
.line-head{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #203049}
.line-head h3{margin:0;color:var(--white)}
.meta{margin-top:4px;color:#9299a4;font-size:.72rem}
.badge{padding:6px 9px;border-radius:999px;background:rgba(227,163,23,.08);border:1px solid rgba(227,163,23,.23);color:#d6b45f;font-size:.65rem;font-weight:900}
.line-body{padding:14px 16px}
.j-summary{display:grid;gap:8px}
.j-row{display:grid;grid-template-columns:70px 1fr 1fr;gap:8px;padding:9px 10px;background:#0e1d33;border-radius:10px;font-size:.75rem}
.j-row strong{color:#e7e9ed}
.line-actions{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid #203049}
.small{min-height:36px;padding:0 12px;font-size:.7rem}
.danger{border-color:rgba(207,84,77,.35);color:#ff9c95;background:rgba(207,84,77,.08)}
.confirm{margin-top:12px;display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#0c1a2d}
.confirm input{width:18px;height:18px;margin:0;accent-color:var(--gold)}
.submit{margin-top:14px;width:100%;min-height:56px}
.error{margin-top:12px;padding:12px;border-radius:10px;border:1px solid rgba(207,84,77,.35);background:rgba(207,84,77,.08);color:#ffa9a2}
.success{padding:50px 22px;text-align:center}
.success-mark{margin:0 auto 14px;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:rgba(37,139,86,.15);border:1px solid rgba(37,139,86,.35);color:#7fd1a3;font-size:1.8rem}
.success h2{color:var(--white)}
.success p{color:var(--muted)}
.success .btn{margin-top:18px}
footer{padding:15px;text-align:center;color:#6e7580;border-top:1px solid #1c293b;font-size:.7rem}
footer strong{color:#9ba1ab}

.backdrop{
  position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:14px;background:rgba(0,0,0,.58);backdrop-filter:blur(2px)
}
.modal{
  width:min(100%,720px);max-height:94vh;overflow:auto;border:1px solid #34435b;border-radius:28px;
  background:#061225;box-shadow:0 30px 100px rgba(0,0,0,.65)
}
.modal-head{display:flex;justify-content:space-between;align-items:center;padding:22px 28px;border-bottom:1px solid #233149}
.modal-head h2{margin:0;color:#dce0e7;font-size:1.55rem}
.x{border:0;background:transparent;color:#f0f1f4;font-size:2.15rem;line-height:1}
.modal-body{padding:20px 28px}
.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mfield{display:grid;gap:6px;margin-bottom:12px}
.mfield label{font-size:.76rem}
.j-title{margin:18px 0 10px;color:#dfe2e8;font-size:1.05rem;font-weight:900}
.j-list{display:grid;gap:10px}
.j-card{border:1px solid #2a3b56;border-radius:15px;background:#08172c;padding:12px}
.j-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}
.j-card-head strong{color:#d3d7de}
.j-fields{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:10px}
.j-total{margin-top:9px;color:#858d9a;font-size:.73rem}
.new-journey{margin-top:10px}
.grand-total{margin-top:10px;color:#858d9a;font-size:.78rem}
.info{
  margin-top:14px;padding:12px;border-radius:11px;border:1px solid rgba(227,163,23,.22);
  background:rgba(227,163,23,.05);color:#cdbc85;font-size:.76rem
}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 28px;border-top:1px solid #233149;background:#061225}
.modal-actions .btn{min-width:130px}
@media(max-width:720px){
  .page{padding:0}.shell{border-radius:0;border-left:0;border-right:0}
  .grid,.modal-grid,.j-fields{grid-template-columns:1fr}
  label.full{grid-column:auto}
  .services-head{flex-direction:column}
  .services-buttons{width:100%;min-width:0}
  .services-copy h2{font-size:1.2rem}
  .services-block{padding:16px}
  .modal{border-radius:22px}.modal-head{padding:18px}.modal-body{padding:16px}.modal-actions{padding:14px;display:grid;grid-template-columns:1fr 1fr}
  .modal-actions .btn{min-width:0;padding:0 8px}
  .j-row{grid-template-columns:60px 1fr}.j-row span:last-child{grid-column:2/-1}
}