*{box-sizing:border-box}body{margin:0;background:#071017;color:#e8ecef;font-family:Inter,Segoe UI,Arial,sans-serif}.app{min-height:100vh;background:radial-gradient(circle at 50% 20%,#111c24 0,#081116 42%,#050b10 100%);padding:14px}.topbar{height:58px;display:flex;align-items:center;gap:28px;border-bottom:1px solid #1e2a32}.brand{display:flex;align-items:center;gap:10px;min-width:265px}.brand-cross{font-size:38px;color:#d9a64e;text-shadow:0 0 20px #9d6f1b55}.brand-title{font:28px Georgia,serif;letter-spacing:2px}.brand-sub{font-size:10px;letter-spacing:1.7px;color:#c7cbd0}.topbar nav{display:flex;gap:30px;flex:1;justify-content:center}.topbar a{color:#edf1f3;text-decoration:none;font-size:14px;padding:19px 0 15px;border-bottom:2px solid transparent}.topbar a.active{border-color:#d4a149}.auth{display:flex;gap:10px}.btn{border:1px solid #33424c;background:#10181e;color:#e8ecef;border-radius:6px;padding:10px 16px;cursor:pointer}.btn.gold{background:linear-gradient(#e6bd74,#c98f35);color:#17120a;border-color:#d7a653;font-weight:600}.btn.ghost:hover,.tab:hover,.view-btn:hover{border-color:#b88432}.btn.wide{width:100%}.btn.danger{border-color:#8f2b28;color:#ff5f56;background:#151517}.steps{display:flex;align-items:center;background:linear-gradient(90deg,#151e25,#10181e);border:1px solid #1c2931;border-radius:8px;margin-top:8px;padding:10px 16px;gap:12px}.step{display:flex;gap:10px;align-items:center;min-width:180px;color:#9aa4aa}.step.active{color:#fff}.step span{width:34px;height:34px;border:1px solid #46525b;border-radius:50%;display:grid;place-items:center}.step.active span{background:#e5b65f;color:#17120a;border-color:#e5b65f}.step b{display:block;font-size:14px}.step small{display:block;color:#859099;margin-top:3px}.sep{color:#59666e}.save{margin-left:auto}.layout{display:grid;grid-template-columns:355px minmax(560px,1fr) 365px;gap:10px;margin-top:10px}.panel{display:flex;flex-direction:column;gap:10px}.card{background:linear-gradient(180deg,#151f26,#10181d);border:1px solid #1d2a31;border-radius:7px;padding:14px}.card h3{font-size:13px;margin:0 0 12px;font-weight:600}.card h4{font-size:13px;margin:14px 0 7px}.tabs{display:flex;gap:4px}.tab,.view-btn,.mini-btn{background:#0f171c;border:1px solid #2c3941;color:#dde3e6;border-radius:5px;padding:9px 12px;cursor:pointer}.tab.active{border-color:#b98330;color:#f0bf62}.shapes{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:10px 0}.shape{height:86px;background:#11191f;border:1px solid #29363d;border-radius:5px;position:relative;cursor:pointer}.shape.selected{border-color:#c18a35}.shape span{position:absolute;right:5px;bottom:5px;background:#dca952;color:#19130b;width:18px;height:18px;border-radius:50%;font-size:12px}.silhouette{width:38px;height:66px;background:linear-gradient(135deg,#17191b,#050607);border:1px solid #778087;margin:10px auto 0;border-bottom:5px solid #34393c}.silhouette.classic{clip-path:polygon(0 9%,15% 0,85% 0,100% 12%,100% 100%,0 100%)}.silhouette.round{border-radius:16px 16px 2px 2px}.silhouette.wave{clip-path:polygon(0 8%,20% 0,75% 4%,100% 20%,90% 100%,0 100%)}.silhouette.soft{border-radius:9px 25px 2px 2px}.silhouette.cut{clip-path:polygon(0 12%,25% 0,100% 0,100% 100%,0 100%)}.silhouette.arch{border-radius:20px 20px 2px 2px}.silhouette.curve{clip-path:polygon(10% 0,100% 0,88% 100%,0 100%)}.silhouette.flat{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}label{font-size:11px;color:#9ea8ad;display:flex;flex-direction:column;gap:4px}input,select{width:100%;background:#0e161b;color:#e8ecef;border:1px solid #2a3840;border-radius:5px;padding:8px 9px;outline:none}input:focus,select:focus{border-color:#b98330}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.flower-title{display:flex;align-items:center;gap:8px}.flower-title h4 span{font-weight:400;color:#89939a}.info{width:16px;height:16px;border-radius:50%;border:1px solid #68737a;font-size:10px;display:grid;place-items:center;color:#a8b0b5}.flower-note{font-size:11px;color:#9ea9ae;line-height:1.4;background:#0c1318;border-left:3px solid #b98330;padding:7px 8px;border-radius:3px}.flower-block{padding:8px 0 2px;border-bottom:1px solid #223039}.flower-row-head{font-size:11px;color:#bbc3c8;margin-bottom:7px}.mini-btn{width:100%;padding:7px;margin-top:6px;font-size:11px}.stage{position:relative;background:radial-gradient(circle at 50% 35%,#18242b 0,#0a1116 55%,#070d11 100%);border:1px solid #1b2931;border-radius:7px;min-height:785px;overflow:hidden}.scene{height:700px;display:flex;align-items:center;justify-content:center;perspective:1100px}.monument{position:relative;width:460px;height:640px;transform-style:preserve-3d}.stele{position:absolute;left:125px;top:30px;width:210px;height:410px;background:linear-gradient(105deg,#24292d 0,#050708 18%,#020304 72%,#1a1d20 100%);clip-path:polygon(0 8%,12% 0,100% 0,100% 100%,0 100%);border:1px solid #555f65;box-shadow:0 18px 35px #000a}.cross{position:absolute;right:18px;top:25px;font-size:40px;color:#d9dde0;text-shadow:0 0 4px #fff7}.portrait{position:absolute;left:46px;top:53px;width:120px;height:170px;border-radius:58px 58px 25px 25px;overflow:hidden;background:radial-gradient(circle at 50% 38%,#c9c9c9 0,#6b7075 26%,#1c2023 50%,#080a0b 73%);filter:grayscale(1)}.face{width:70px;height:92px;background:linear-gradient(#c9c9c9,#73777a);border-radius:45% 45% 48% 48%;margin:25px auto 0;box-shadow:0 40px 0 25px #33383b}.inscription{position:absolute;left:18px;right:18px;bottom:20px;text-align:center;font-family:Georgia,serif;color:#e6e7e8;text-shadow:0 1px 1px #000}.surname{font-size:29px}.name{font-size:17px;margin-top:5px}.dates{font-size:14px;margin-top:6px}.ornament{font-size:28px;margin-top:7px;color:#c6c9ca}.base{position:absolute;left:95px;top:438px;width:270px;height:48px;background:linear-gradient(180deg,#282d30,#060708 65%,#161a1d);border:1px solid #4b555a;box-shadow:0 12px 18px #0008}.flowerbed-wrap{position:absolute;left:65px;top:475px;width:330px;height:150px;transform:rotateX(56deg);transform-origin:top center;transform-style:preserve-3d}.side{position:absolute;top:0;width:28px;height:155px;background:linear-gradient(90deg,#272c2f,#070809 48%,#1f2326);border:1px solid #51595f;z-index:3}.side-left{left:18px}.side-right{right:18px}.grass{position:absolute;left:46px;right:46px;top:8px;bottom:17px;background:radial-gradient(circle,#5a6c20 0 1px,transparent 1.5px),linear-gradient(#30420f,#182907);background-size:7px 7px,auto;border:1px solid #1e2b12;z-index:1}.front-bar{position:absolute;left:0;right:0;bottom:-14px;height:30px;background:linear-gradient(180deg,#2a2f32,#070809 58%,#1b1f21);border:1px solid #555e63;z-index:5;box-shadow:0 8px 12px #0008}.measure{position:absolute;color:#e7ecef;font-size:13px;z-index:8}.measure:before,.measure:after{content:"";position:absolute;background:#c5ced4}.measure.top{top:24px;left:50%;width:220px;transform:translateX(-50%);text-align:center}.measure.top:before{height:1px;width:100%;left:0;top:22px}.measure.left{left:50px;top:238px}.measure.bed-left{left:100px;bottom:165px}.measure.bed-right{right:75px;bottom:165px}.measure.bed-front{left:50%;bottom:85px;transform:translateX(-50%)}.viewbar{position:absolute;left:15px;right:15px;bottom:14px;background:#0d151a;border:1px solid #26343b;border-radius:7px;padding:8px;display:flex;align-items:center;gap:8px}.zoom{margin-left:auto;color:#bac2c7;font-size:12px;display:flex;align-items:center;gap:8px}.element-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-bottom:10px}.e-tab{background:transparent;border:0;color:#8e9aa0;padding:3px;cursor:pointer}.e-tab span{display:block;font-size:11px;margin-top:4px}.e-tab.active{color:#d5a24d}.cross-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:10px}.cross-item{height:60px;background:#11191e;border:1px solid #2b3940;border-radius:5px;color:#cdd3d6;font-size:28px}.cross-item.active{border-color:#b78231;color:#e0ae58}.summary div{display:flex;justify-content:space-between;border-bottom:1px solid #213039;padding:7px 0;gap:12px;font-size:11px}.summary span{color:#8f9ba1}.summary b{font-weight:500;text-align:right}.footerbar{display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:1px;background:#243039;border:1px solid #213039;border-radius:7px;overflow:hidden;margin-top:10px}.pay,.feature{background:#10181d;padding:12px 18px;display:flex;align-items:center;gap:12px}.pay{justify-content:space-between}.pay div,.feature{min-width:0}.pay b,.feature b{display:block;font-size:13px}.pay small,.feature small{display:block;color:#879299;margin-top:4px;font-size:10px}

@media(max-width:1250px){.layout{grid-template-columns:320px minmax(520px,1fr) 330px}.topbar nav{gap:14px}.brand{min-width:220px}.brand-title{font-size:23px}.step{min-width:150px}}


/* Confirmed desktop responsive fix */
@media (max-width: 1600px) {
  .layout { grid-template-columns: 300px minmax(0, 1fr) 310px; }
  .topbar { gap: 16px; }
  .topbar nav { gap: 14px; }
  .brand { min-width: 210px; }
  .brand-title { font-size: 22px; }
  .step { min-width: 135px; }
  .card { padding: 12px; }
  .scene { transform: scale(0.92); transform-origin: top center; }
}
@media (max-width: 1400px) {
  .layout { grid-template-columns: 275px minmax(0, 1fr) 285px; }
  .topbar nav { gap: 10px; }
  .topbar a { font-size: 12px; }
  .step { min-width: 118px; }
  .step b { font-size: 12px; }
  .step small { font-size: 10px; }
  .scene { transform: scale(0.86); }
  .footerbar { grid-template-columns: 1fr 1fr 1fr; }
  .pay { grid-column: span 3; }
}
html, body { max-width: 100%; overflow-x: hidden; }


/* Confirmed left-panel fit */
@media (min-width: 1200px) {
  .layout {
    grid-template-columns: 360px minmax(0, 1fr) 330px;
  }
  .left-panel .tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
  }
  .left-panel .tabs .tab {
    min-width: 0;
    padding: 10px 6px;
    font-size: 12px;
    white-space: normal;
  }
  .left-panel .shapes {
    grid-template-columns: repeat(4, 1fr);
    gap: 7px;
  }
  .left-panel .shape {
    min-width: 0;
  }
}
