:root{--ink: #1d2a26;--ink-soft: #3c4a45;--muted: #77817c;--paper: #f5f4f0;--card: #ffffff;--line: #e3e0d8;--accent: #234436;--accent-soft: #eef2ee;--gold: #a8894f;--gold-soft: #f7f2e7;--danger: #a33d2f;--radius: 10px;--shadow: 0 1px 2px rgba(29, 42, 38, .05), 0 8px 24px rgba(29, 42, 38, .06);--font-ui: "Inter", system-ui, -apple-system, sans-serif;--font-display: "Fraunces", Georgia, serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font-ui);background:var(--paper);color:var(--ink);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.topbar{position:sticky;top:0;z-index:20;background:#f5f4f0eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.topbar-inner{max-width:1240px;margin:0 auto;padding:14px 28px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:var(--font-display);font-size:21px;font-weight:500;letter-spacing:.01em;display:flex;align-items:baseline;gap:9px}.brand-mark{color:var(--gold);font-size:13px}.brand-tag{font-family:var(--font-ui);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.topbar-actions{display:flex;gap:10px;align-items:center}.btn-primary,.btn-secondary,.btn-ghost{font-family:var(--font-ui);font-size:13.5px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .15s ease;border:1px solid transparent;padding:9px 18px}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:#2d5847}.btn-primary:disabled{opacity:.6;cursor:wait}.btn-primary.wide,.btn-secondary.wide{width:100%;padding:12px;font-size:14px}.btn-secondary.wide{margin-bottom:8px}.btn-secondary:disabled{opacity:.6;cursor:wait}a.btn-primary{display:inline-block;text-decoration:none;text-align:center}.btn-secondary{background:var(--accent-soft);color:var(--accent)}.btn-secondary:hover{background:#e2eae2}.btn-ghost{background:transparent;color:var(--ink-soft);border-color:var(--line);padding:8px 14px}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.btn-ghost.danger:hover{border-color:var(--danger);color:var(--danger)}.layout{max-width:1240px;margin:0 auto;padding:32px 28px 80px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}.form-col{display:flex;flex-direction:column;gap:22px;min-width:0}.stepper{display:flex;gap:8px}.stepper-item{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;background:none;border:none;padding:6px 2px;cursor:pointer;font-family:var(--font-ui)}.stepper-top{display:flex;align-items:center;gap:8px;min-width:0}.stepper-num{width:23px;height:23px;flex-shrink:0;border-radius:50%;border:1.5px solid var(--line);background:var(--card);color:var(--muted);font-size:11.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}.stepper-label{font-size:12.5px;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s ease}.stepper-track{height:4px;border-radius:999px;background:var(--line);overflow:hidden}.stepper-fill{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .3s ease}.stepper-item:hover .stepper-label{color:var(--accent)}.stepper-item:hover .stepper-num{border-color:var(--accent);color:var(--accent)}.stepper-item.current .stepper-num{background:var(--accent);border-color:var(--accent);color:#fff}.stepper-item.current .stepper-label{color:var(--ink)}.stepper-item.done:not(.current) .stepper-num{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.stepper-item.done .stepper-fill{background:linear-gradient(90deg,var(--accent),#3e6b52)}.step-pane{animation:step-in .25s ease}@keyframes step-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.step-nav{display:flex;align-items:center;justify-content:space-between;gap:12px}.step-nav .btn-ghost:disabled{opacity:.4;cursor:default}.step-nav .btn-ghost:disabled:hover{border-color:var(--line);color:var(--ink-soft)}.step-nav-count{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 26px 0}.card-step{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--gold);margin-bottom:4px}.card-title{font-family:var(--font-display);font-size:22px;font-weight:500;margin:0}.card-subtitle{margin:6px 0 0;color:var(--muted);font-size:13px;max-width:56ch}.card-body{padding:20px 26px 26px;display:flex;flex-direction:column;gap:16px}.muted{color:var(--muted);margin:0}.grid{display:grid;gap:14px 16px}.grid-1{grid-template-columns:1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>:last-child{margin-top:auto}.field.span-2{grid-column:span 2}.field.span-3{grid-column:span 3}.field-label{font-size:12.5px;font-weight:600;color:var(--ink-soft);display:flex;align-items:baseline;gap:8px}.field-hint{font-style:normal;font-weight:400;color:var(--muted);font-size:11.5px}.input{font-family:var(--font-ui);font-size:14px;color:var(--ink);background:#fdfdfc;border:1px solid var(--line);border-radius:8px;padding:10px 12px;width:100%;transition:border-color .15s,box-shadow .15s}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2344361a}.input::placeholder{color:#b3b8b2}.textarea{resize:vertical;line-height:1.55}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2377817c' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.input-wrap{position:relative;display:block}.input-suffix{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:13px;pointer-events:none}.input-wrap .input{padding-right:36px}.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.check-chip{display:flex;align-items:center;gap:9px;font-family:var(--font-ui);font-size:13px;color:var(--ink-soft);background:#fdfdfc;border:1px solid var(--line);border-radius:8px;padding:9px 12px;cursor:pointer;text-align:left;transition:all .12s ease}.check-chip:hover{border-color:var(--accent)}.check-box{width:17px;height:17px;flex-shrink:0;border:1.5px solid var(--line);border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:#fff;transition:all .12s ease}.check-chip.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.check-chip.active .check-box{background:var(--accent);border-color:var(--accent)}.check-chip.accent.active{border-color:var(--gold);background:var(--gold-soft);color:#7c6335}.check-chip.accent.active .check-box{background:var(--gold);border-color:var(--gold)}.rare-block{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.rare-toggle{width:100%;display:flex;align-items:center;gap:10px;font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--ink);background:var(--gold-soft);border:none;padding:14px 18px;cursor:pointer}.rare-diamond{color:var(--gold);font-size:11px}.rare-hint{font-weight:400;font-size:12.5px;color:var(--muted)}.rare-count{margin-left:auto;background:var(--gold);color:#fff;font-size:11.5px;font-weight:700;border-radius:999px;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0 7px}.chevron{color:var(--muted);font-size:12px}.rare-count+.chevron{margin-left:0}.rare-toggle .chevron:last-child{margin-left:auto}.rare-count~.chevron{margin-left:0!important}.rare-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--line)}.custom-row{display:flex;gap:10px}.custom-row .input{flex:1}.custom-tags{display:flex;flex-wrap:wrap;gap:8px}.tag{display:inline-flex;align-items:center;gap:7px;background:var(--gold-soft);border:1px solid #e5d9c0;color:#7c6335;font-size:12.5px;font-weight:600;border-radius:999px;padding:5px 7px 5px 12px}.tag button{background:none;border:none;color:#7c6335;font-size:15px;line-height:1;cursor:pointer;padding:2px 5px;border-radius:50%}.tag button:hover{background:#e5d9c0}.toggle{display:flex;align-items:center;gap:10px;cursor:pointer;flex-shrink:0;padding-top:4px}.toggle input{display:none}.toggle-track{width:40px;height:22px;border-radius:999px;background:var(--line);position:relative;transition:background .15s;flex-shrink:0}.toggle-track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .15s}.toggle input:checked+.toggle-track{background:var(--accent)}.toggle input:checked+.toggle-track:after{transform:translate(18px)}.toggle-label{font-size:13px;font-weight:600;color:var(--ink-soft);white-space:nowrap}.subsection{border-top:1px solid var(--line);margin-top:8px;padding-top:20px;display:flex;flex-direction:column;gap:14px}.subsection.first{border-top:none;margin-top:0;padding-top:0}.subsection-head{display:flex;flex-direction:column;gap:4px}.subsection-title{font-family:var(--font-display);font-size:17px;font-weight:500;margin:0}.subsection-sub{margin:0;color:var(--muted);font-size:12.5px;max-width:60ch}.lots-list{display:flex;flex-direction:column;gap:16px}.lot-card{border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:14px;background:#fbfbf9}.lot-head{display:flex;align-items:center;gap:12px}.lot-index{font-family:var(--font-display);font-size:17px;color:var(--gold)}.lot-name{flex:1;font-family:var(--font-display);font-size:17px;font-weight:500;color:var(--ink);background:transparent;border:none;border-bottom:1px dashed transparent;padding:4px 2px}.lot-name:hover,.lot-name:focus{outline:none;border-bottom-color:var(--line)}.rooms-block{display:flex;flex-direction:column;gap:8px}.rooms-editor{display:flex;flex-direction:column;gap:10px}.revenue-title{flex:1;font-family:var(--font-display);font-size:16px;font-weight:500}.lot-add-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.inline-select{width:auto;padding-top:8px;padding-bottom:8px}.dropzone{border:1.5px dashed #c9c4b8;border-radius:var(--radius);padding:34px 20px;text-align:center;color:var(--muted);font-size:13.5px;cursor:pointer;transition:all .15s;background:#fbfbf9}.dropzone:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.photo-card{margin:0;display:flex;flex-direction:column;gap:8px}.photo-frame{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:4 / 3;background:var(--line)}.photo-frame img{width:100%;height:100%;object-fit:cover;display:block}.photo-badge{position:absolute;top:8px;left:8px;background:var(--accent);color:#fff;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:4px 9px;border-radius:5px}.photo-caption{font-size:12.5px;padding:7px 10px}.photo-actions{display:flex;gap:6px;flex-wrap:wrap}.photo-actions .btn-ghost{font-size:11.5px;padding:5px 9px}.side-col{position:sticky;top:76px}.summary{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.summary-kicker{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--gold);margin-bottom:10px}.summary-title{font-family:var(--font-display);font-size:19px;font-weight:500;line-height:1.25}.summary-sub{color:var(--muted);font-size:12.5px;margin-top:4px}.summary-price{font-size:20px;font-weight:700;color:var(--accent);margin-top:12px}.summary-facts{margin:16px 0 0;border-top:1px solid var(--line);padding-top:6px}.summary-facts>div{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #f0eee8}.summary-facts dt{color:var(--muted);font-size:12.5px}.summary-facts dd{margin:0;font-weight:600;font-size:13px;text-align:right}.fact-note{display:block;font-size:10.5px;font-weight:400;color:var(--muted)}.summary-rev{margin-top:16px;border:1px solid #e5d9c0;background:var(--gold-soft);border-radius:8px;padding:12px 14px}.summary-rev-title{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:#7c6335;margin-bottom:8px}.summary-rev-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:4px 0}.summary-rev-label{font-size:12px;font-weight:600;color:var(--ink-soft);min-width:0}.summary-rev-label em{display:block;font-style:normal;font-weight:400;font-size:10.5px;color:var(--muted)}.summary-rev-value{font-size:12.5px;font-weight:700;color:var(--accent);white-space:nowrap}.summary-rev-total{display:flex;justify-content:space-between;border-top:1px solid #e5d9c0;margin-top:6px;padding-top:8px;font-size:12.5px;font-weight:700;color:#7c6335}.revenue-estimate{font-size:12.5px;font-weight:700;color:var(--accent);white-space:nowrap}.progress{margin:18px 0}.progress-head{display:flex;justify-content:space-between;font-size:12px;font-weight:600;color:var(--ink-soft);margin-bottom:6px}.progress-track{height:6px;border-radius:999px;background:var(--line);overflow:hidden}.progress-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),#3e6b52);transition:width .3s ease}.summary-note{color:var(--muted);font-size:11.5px;text-align:center;margin:12px 0 0}.preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#1d2a268c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px}.preview-modal{width:min(920px,96vw);height:min(92vh,1100px);background:var(--card);border-radius:12px;box-shadow:0 24px 64px #00000059;display:flex;flex-direction:column;overflow:hidden}.preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line)}.preview-title{font-family:var(--font-display);font-size:18px;font-weight:500}.preview-actions{display:flex;gap:10px;align-items:center}.preview-frame{flex:1;width:100%;border:none;background:#525659}@media(max-width:560px){.preview-overlay{padding:0}.preview-modal{width:100vw;height:100vh;border-radius:0}}@media(max-width:980px){.layout{grid-template-columns:1fr}.side-col{position:static;order:-1}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr}.field.span-2,.field.span-3{grid-column:auto}}@media(max-width:720px){.stepper-label{display:none}.stepper-item.current .stepper-label{display:block}.stepper-item.current{flex:2.5}}button,a,.dropzone,.check-chip,.stepper-item{touch-action:manipulation;-webkit-tap-highlight-color:transparent}@supports (height: 100dvh){.preview-modal{height:min(92dvh,1100px)}@media(max-width:560px){.preview-modal{height:100dvh}}}@media(pointer:coarse){.input,.select,.textarea,.lot-name{font-size:16px}.btn-primary,.btn-secondary{padding-top:11px;padding-bottom:11px}.btn-ghost{padding-top:10px;padding-bottom:10px}.photo-actions .btn-ghost{font-size:12.5px;padding:9px 12px}.tag button{font-size:17px;padding:4px 8px}.stepper-item{padding-top:10px;padding-bottom:10px}.dropzone{padding:40px 20px}}@media(hover:none){.btn-primary:hover:not(:disabled){background:var(--accent)}.btn-secondary:hover{background:var(--accent-soft)}.btn-ghost:hover,.btn-ghost.danger:hover{border-color:var(--line);color:var(--ink-soft)}.check-chip:not(.active):hover{border-color:var(--line)}.dropzone:hover{border-color:#c9c4b8;color:var(--muted);background:#fbfbf9}.tag button:hover{background:none}.stepper-item:not(.current):not(.done):hover .stepper-num{border-color:var(--line);color:var(--muted)}.stepper-item:not(.current):hover .stepper-label{color:var(--muted)}}.layout{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}@media(max-width:560px){.topbar-inner{padding:12px 16px}.step-nav-count,.brand-tag{display:none}.layout{padding:20px 16px calc(60px + env(safe-area-inset-bottom,0px))}.grid-4{grid-template-columns:1fr}.card-head,.card-body{padding-left:18px;padding-right:18px}}
