:root{color-scheme:dark;--bg:#06111d;--panel:#0d1d2c;--line:#24394a;--text:#f0f6fb;--muted:#a7bacb;--blue:#41b5ff;--green:#69d8b0;--red:#ff9c96}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 0,#102a43,transparent 50%),var(--bg);font:16px/1.55 system-ui,-apple-system,sans-serif;color:var(--text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:3px}img{max-width:100%;display:block}.top{height:88px;background:#06111df0;backdrop-filter:blur(16px);border-bottom:1px solid #ffffff14;display:flex;align-items:center;justify-content:space-between;padding:10px max(20px,calc((100vw - 1280px)/2));position:sticky;top:0;z-index:30}.brand{width:210px;height:64px;object-fit:contain}.top nav{display:flex;gap:24px;align-items:center;font-size:14px}.top nav a:last-child{padding:8px 18px;border:1px solid var(--line);border-radius:30px}#app{max-width:1280px;margin:auto;padding:32px 24px 120px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(28px,4.8vw,58px);line-height:1.1;letter-spacing:-.045em}h2{font-size:28px;line-height:1.25;letter-spacing:-.025em}h3{font-size:20px;line-height:1.35;margin-bottom:8px}p{color:var(--muted)}small,.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;font-size:12px;font-weight:650;letter-spacing:.16em;color:var(--blue);display:block;margin-bottom:12px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:480px;border:1px solid var(--line);border-radius:26px;overflow:hidden;background:linear-gradient(130deg,#10253a,#071827);margin-bottom:40px}.hero-content{padding:50px 40px;align-self:center}.hero h1{font-size:clamp(32px,4.2vw,58px)}.hero img{width:100%;height:100%;min-height:360px;object-fit:cover}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:18px 0}.btn,button.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #4aaee3;padding:11px 20px;background:linear-gradient(140deg,#168bd8,#1a78b8);color:white;border-radius:12px;min-height:46px;font-weight:600}.btn.alt{background:#142638;border-color:var(--line)}.btn.danger{background:#52282b;border-color:#ac5e61}.btn.small{padding:7px 12px;font-size:13px;min-height:38px}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:30px 0 18px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:linear-gradient(140deg,#102235,#0c1c2a);border:1px solid var(--line);border-radius:18px;padding:24px;margin-bottom:18px;min-width:0;overflow-wrap:anywhere}.card.photo{padding:0;overflow:hidden}.card.photo img{width:100%;height:245px;object-fit:cover}.inside{padding:24px}.price{font-size:29px;letter-spacing:-.03em;font-weight:700}.price small{font-size:13px;font-weight:400;letter-spacing:0}.pill{display:inline-block;border:1px solid #35526b;border-radius:20px;padding:4px 10px;font-size:12px;color:#b2dfff;margin:3px 4px 3px 0}.pill.good{color:var(--green);border-color:#366b5a}.pill.warn{color:#f7cb8d;border-color:#6b593c}.title-row{display:flex;align-items:start;justify-content:space-between;gap:15px}.field{display:flex;flex-direction:column;gap:7px;font-size:14px;color:var(--muted);margin-bottom:16px}.field input,.field select,.field textarea,input.search{width:100%;min-width:0;border:1px solid #365169;border-radius:10px;padding:12px;background:#071624;color:var(--text)}textarea{resize:vertical;min-height:110px}.field input[type=checkbox]{width:22px;min-height:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.wide{grid-column:1/-1}.error{border-color:#925659;color:#ffc7c2}.empty{text-align:center;padding:40px 20px}.gallery{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:18px 0}.gallery img{height:300px;width:auto;max-width:90%;object-fit:cover;border-radius:14px;scroll-snap-align:start}.detail-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:24px}.detail-panel{position:sticky;top:110px;align-self:start}.map-stage{position:relative;aspect-ratio:1.6;background:#dce4e9;border-radius:14px;overflow:hidden}.map-stage>img{width:100%;height:100%;object-fit:contain}.map-stage>svg{position:absolute;inset:0;width:100%;height:100%}.map-stage polygon{fill:#1599ff33;stroke:#1599ff;stroke-width:.25;cursor:pointer}.map-stage polygon:hover,.map-stage polygon.selected{fill:#1599ff77;stroke:white}.map-stage text{pointer-events:none;fill:#06111d;font-size:2.3px;font-weight:700}.map-stage .room{fill:#e2eaf1;stroke:#728698;stroke-width:.4}.map-stage .selected{fill:#75c4f6}.map-preview{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.mini-gallery{display:flex;overflow:auto;gap:8px;margin:14px 0}.mini-gallery img{width:120px;height:90px;border-radius:9px;object-fit:cover;flex-shrink:0}.admin{display:grid;grid-template-columns:220px minmax(0,1fr);gap:26px}.admin nav{position:sticky;top:108px;max-height:calc(100dvh - 135px);overflow:auto;align-self:start;display:flex;flex-direction:column;gap:5px;padding:5px}.admin nav a{padding:10px 14px;border-radius:10px;color:var(--muted);font-size:14px}.admin nav a.active{background:#143b5b;color:#d4edff}.admin h1{font-size:34px}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.fact{display:flex;justify-content:space-between;border-bottom:1px solid #ffffff0b;padding:8px 0;gap:12px;font-size:14px}.fact span{color:var(--muted)}.stat{font-size:32px;font-weight:650;letter-spacing:-.04em}.bottom{position:fixed;bottom:0;left:0;right:0;background:#071725f2;backdrop-filter:blur(18px);display:flex;justify-content:center;gap:40px;padding:14px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);z-index:25}.bottom a{font-size:13px;color:#b5cadd}.bottom a.active{color:var(--blue)}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);padding:14px 20px;border:1px solid #48708a;background:#142d40;max-width:90vw;border-radius:14px;z-index:100;opacity:0;pointer-events:none}#toast.show{opacity:1}.notice{border-left:3px solid var(--blue);padding:16px 20px;background:#10273b;border-radius:0 12px 12px 0;margin:18px 0}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}dialog{width:min(680px,calc(100% - 26px));max-height:90dvh;overflow:auto;border:1px solid #416481;background:#0d2032;border-radius:20px;padding:28px;color:var(--text)}dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}pre{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;color:#b8d0e3}footer{padding:25px 0;color:var(--muted);font-size:12px;border-top:1px solid var(--line);margin-top:35px}.search{margin-bottom:18px}.photo-upload{font-size:13px}.check{display:flex;gap:10px;align-items:center}.chip-nav{display:flex;gap:8px;overflow:auto;padding:8px 0;margin-bottom:18px}.chip-nav a{white-space:nowrap}.loader{animation:pulse 1.4s infinite}@keyframes pulse{50%{opacity:.5}}@media(max-width:1000px){.grid,.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.admin{grid-template-columns:180px minmax(0,1fr)}.admin-grid{grid-template-columns:1fr}.hero-content{padding:32px}.detail-layout{grid-template-columns:1.2fr 1fr}}@media(max-width:700px){.top{height:74px;padding:8px 16px}.brand{width:160px;height:54px}.top nav{gap:10px}.top nav a:not(:last-child){display:none}#app{padding:22px 16px 120px}.hero{grid-template-columns:1fr;min-height:0;border-radius:18px}.hero-content{padding:30px 24px}.hero img{min-height:220px;height:250px;grid-row:1}.grid,.grid.two,.grid.four,.form-grid{grid-template-columns:1fr}.card{padding:20px}.hero h1{font-size:38px}.detail-layout{grid-template-columns:1fr}.detail-panel{position:static}.gallery img{height:245px}.admin{display:block}.admin nav{position:relative;top:0;display:flex;flex-direction:row;max-height:none;overflow:auto;margin-bottom:20px;padding:4px 0 14px}.admin nav a{white-space:nowrap;border:1px solid var(--line)}.admin h1{font-size:29px}.bottom{gap:0;justify-content:space-around;padding-left:8px;padding-right:8px}.bottom a{font-size:12px;padding:4px}.title-row{flex-wrap:wrap}.section-head{align-items:start}.btn{width:auto}.actions>.btn{flex:1 1 auto}.map-stage text{font-size:2.5px}dialog{padding:22px}.card.photo img{height:270px}}
