
:root{
  --bg:#ffffff;
  --bg-soft:#f7f9fc;
  --panel:#ffffff;
  --panel2:#0f1d2b;
  --text:#10233f;
  --muted:#63748a;
  --line:#dbe5f0;
  --line-strong:#cfdbea;
  --blue:#5a5fcf;
  --blue-deep:#3d428f;
  --accent:#8d6fe8;
  --accent-soft:#f0ebff;
  --radius:24px;
  --shadow:0 18px 48px rgba(16,35,63,.08);
  --shadow-soft:0 10px 28px rgba(16,35,63,.06);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Inter,Arial,sans-serif;color:var(--text)}
body.public-theme{background:#fff}
body.admin-theme{background:linear-gradient(180deg,#07101a 0%, #0a1523 100%);color:#ecf4ff;--panel:#0f1d2b;--panel2:#13263a;--text:#ecf4ff;--muted:#9db3cb;--line:rgba(255,255,255,.10);--line-strong:rgba(255,255,255,.18);--shadow:0 24px 60px rgba(0,0,0,.32);--shadow-soft:0 18px 40px rgba(0,0,0,.26)}
a{color:inherit;text-decoration:none}
.wrap{width:min(1400px, calc(100% - 32px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line)}
.site-header-public{backdrop-filter:blur(12px);background:rgba(255,255,255,.90)}
.site-header-admin{backdrop-filter:blur(12px);background:rgba(7,16,26,.82)}
.header-inner{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 0}
.brand{font-size:24px;font-weight:800}
.tagline,.muted,.small-text{color:var(--muted)}
.nav,.actions,.detail-actions,.tag-row{display:flex;gap:10px;flex-wrap:wrap}
.nav a,.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--text);transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease}
body.admin-theme .nav a,body.admin-theme .btn{background:rgba(255,255,255,.03)}
.nav a:hover,.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft);border-color:var(--line-strong)}
.btn.primary{background:linear-gradient(135deg,var(--blue),var(--blue-deep));border-color:transparent;color:#fff;font-weight:700;box-shadow:0 12px 24px rgba(61,66,143,.16)}
.btn.subtle{background:#fff}
.btn.small{padding:8px 12px;font-size:13px}
.hero-shell{padding:28px 0 26px;background:linear-gradient(180deg,#fff 0%, #fbfdff 100%)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);gap:22px;align-items:start}
.hero-copy,.assistant-panel,.content-card,.hotel-card{border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow-soft)}
.hero-copy{padding:26px}
.eyebrow,.section-kicker,.status-pill,.hotel-location-chip,.hero-selected-label{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-size:13px;line-height:1.2;border:1px solid #d7e3f2;background:#f5f8fc;color:#31527c}
.section-kicker,.hero-selected-label{margin-bottom:12px}
h1,h2,h3{margin:0 0 10px;letter-spacing:-.6px}
h1{font-size:clamp(40px, 7vw, 78px);line-height:.98}
h2{font-size:clamp(24px, 3vw, 36px)}
h3{font-size:20px}
.lead{font-size:18px;line-height:1.6;color:var(--muted);max-width:900px}
.lead.max{max-width:740px}
.hero-support{margin:0 0 18px;color:#41556f;font-size:17px;line-height:1.55}
.hero-actions{margin:18px 0 22px}
.hero-selected-card{overflow:hidden;min-height:260px}
.hero-selected-link{display:block;position:relative;min-height:260px;border-radius:24px;overflow:hidden}
.hero-selected-link img{width:100%;height:260px;object-fit:cover;display:block}
.hero-selected-overlay{position:absolute;inset:auto 0 0 0;padding:20px;background:linear-gradient(180deg,rgba(9,22,40,0) 0%, rgba(9,22,40,.82) 78%, rgba(9,22,40,.9) 100%);color:#fff}
.hero-selected-overlay h2,.hotel-top-overlay h3{color:#fff;margin:8px 0 6px}
.hero-selected-overlay p{margin:0;color:rgba(255,255,255,.88)}
.hero-selected-location{font-size:13px;opacity:.88;text-transform:uppercase;letter-spacing:.08em}
.hero-message-card{padding:24px}
.hero-message-copy h2{margin-bottom:8px}
.hero-message-copy p{margin:0 0 12px;color:var(--muted);line-height:1.65}
.assistant-panel{padding:14px}
.assistant-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 4px 14px}
.assistant-panel-head-inline{padding:0 0 14px}
.status-pill{background:linear-gradient(135deg,#f0efff,#f6f3ff);border-color:#ddd8ff;color:#5647b6;font-weight:700}
.assistant-shell{position:relative;min-height:660px;border-radius:22px;border:1px solid var(--line);overflow:hidden;background:#fff}
.assistant-shell-detail{min-height:600px}
.assistant-skeleton{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:24px;background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);transition:opacity .3s ease}
.skeleton-avatar{width:88px;height:88px;border-radius:999px;background:linear-gradient(135deg,#edf2f9,#dfe8f5)}
.skeleton-bar{width:64%;height:14px;border-radius:999px;background:linear-gradient(135deg,#edf2f9,#dfe8f5)}
.skeleton-bar-wide{width:78%}
.skeleton-bar-short{width:42%}
.concierge-frame{width:100%;height:660px;border:0;background:#fff;opacity:0;transition:opacity .28s ease}
.assistant-shell-detail .concierge-frame{height:600px}
.assistant-shell.is-ready .concierge-frame{opacity:1}
.assistant-shell.is-ready .assistant-skeleton{opacity:0;pointer-events:none}
.section{padding:26px 0 34px}
.section-head{margin-bottom:16px}
.compact-head{display:flex;justify-content:space-between;gap:18px;align-items:end}
.compact-head p{max-width:520px;color:var(--muted);margin:0}
.hotel-grid{display:grid;gap:16px}
.hotel-grid-dense{grid-template-columns:repeat(5,minmax(0,1fr))}
.hotel-card{overflow:hidden}
.hotel-top{position:relative;display:block;aspect-ratio:4/3;background:linear-gradient(135deg,#163252,#0d1b2c)}
.hotel-top img{width:100%;height:100%;object-fit:cover;display:block}
.hotel-top-overlay{position:absolute;inset:auto 0 0 0;padding:16px;background:linear-gradient(180deg,rgba(32,30,56,0) 0%, rgba(31,30,58,.74) 74%, rgba(31,30,58,.9) 100%)}
.hotel-location-chip{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.22);color:#fff;padding:7px 10px}
.hotel-placeholder{display:flex;align-items:center;justify-content:center;height:100%;font-size:22px;font-weight:700;color:#cde1f8}
.hotel-body{padding:16px}
.hotel-body.compact p{margin:0 0 12px;color:#4c5f77;font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tag{display:inline-flex;padding:7px 10px;border-radius:999px;background:#eef4ff;border:1px solid #d8e6ff;color:#33537b;font-size:12px}
.tag.special{background:#f4f1ff;border-color:#ddd8ff;color:#675ab8}
.tag.big{font-size:14px}
.small-actions{gap:8px}
.content-card{padding:24px}
.admin-grid,.detail-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}
.detail-grid-wide{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:start}
.admin-form{display:grid;gap:12px}
.admin-form label{display:grid;gap:6px;font-size:14px}
.admin-form input,.admin-form textarea{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text)}
.check{display:flex !important;align-items:center;gap:10px}
.error-box{margin:0 0 14px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,104,104,.35);background:rgba(255,104,104,.08);color:#ffd7d7}
.success-box{margin:0 0 14px;padding:12px 14px;border-radius:14px;border:1px solid rgba(73,214,179,.35);background:rgba(73,214,179,.08);color:#d8fff3}
.admin-list{display:grid;gap:10px}
.admin-list.wide{grid-template-columns:repeat(auto-fill, minmax(280px, 1fr))}
.admin-item{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--line)}
.plain-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.plain-list.bullets{list-style:disc;padding-left:20px}
.plain-list.bullets li{color:var(--text)}
.detail-hero-image{margin:16px 0 18px;border-radius:24px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.detail-hero-image img{width:100%;display:block;max-height:480px;object-fit:cover}
.title-gradient{background:linear-gradient(135deg,#ffffff 0%, #eef4ff 35%, #d9e6ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 1px 0 rgba(0,0,0,.05)}
body.public-theme .title-gradient{background:linear-gradient(135deg,#182841 0%, #4d569b 48%, #8c72d6 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.mini-gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mini-shot{overflow:hidden;border-radius:14px;background:#f8fbff;border:1px solid var(--line)}
.mini-shot img{width:100%;height:120px;object-fit:cover;display:block}
.mini-shot .small-text{padding:8px 10px}
.report-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}
.steps-list{margin:0;padding-left:20px}
.steps-list li{margin:0 0 8px;color:var(--text)}
.table-card{background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.control-table{width:100%;border-collapse:collapse}
.control-table th,.control-table td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.control-table th{background:rgba(255,255,255,.03)}
.table-pill{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px}
.table-pill.ok{background:rgba(73,214,179,.12);color:#d8fff3;border:1px solid rgba(73,214,179,.22)}
.table-pill.warn{background:rgba(255,199,94,.12);color:#fff0c7;border:1px solid rgba(255,199,94,.20)}
.action-stack{display:flex;flex-wrap:wrap;gap:8px}
.btn.danger{background:linear-gradient(135deg,#ff5d5d,#c93e3e);border-color:transparent;color:#fff}
.btn.danger-outline{border-color:rgba(255,104,104,.35);color:#ffd7d7}
.processing-overlay{position:fixed; inset:0; background:rgba(4,9,16,.72);display:none; align-items:center; justify-content:center; z-index:100;backdrop-filter:blur(6px)}
.processing-overlay.show{display:flex}
.processing-card{width:min(720px, calc(100% - 28px)); background:#0c1725; border:1px solid var(--line);border-radius:26px; padding:24px; box-shadow:0 30px 80px rgba(0,0,0,.35)}
.processing-title{font-size:28px; font-weight:800; margin-bottom:8px}
.processing-sub{color:var(--muted); margin-bottom:16px}
.progress-bar{width:100%; height:14px; border-radius:999px; overflow:hidden;background:rgba(255,255,255,.06); border:1px solid var(--line); margin-bottom:16px}
.progress-fill{width:0%; height:100%; background:linear-gradient(135deg,var(--blue),var(--accent));transition:width .35s ease}
.processing-steps{display:grid; gap:8px}
.processing-steps .step{padding:10px 12px; border-radius:12px; border:1px solid var(--line);color:var(--muted); background:rgba(255,255,255,.03)}
.processing-steps .step.active{color:#fff; border-color:rgba(73,214,179,.28); background:rgba(73,214,179,.08)}
@media (max-width:1320px){.hotel-grid-dense{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:1180px){.hero-grid,.detail-grid-wide{grid-template-columns:1fr}.assistant-shell,.concierge-frame{height:680px}.assistant-shell-detail .concierge-frame{height:660px}.assistant-shell-detail{min-height:660px}}
@media (max-width:1100px){.report-grid{grid-template-columns:1fr}.control-table{display:block;overflow-x:auto}.hotel-grid-dense{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.compact-head,.header-inner,.assistant-panel-head{display:grid;grid-template-columns:1fr}.hotel-grid-dense{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.wrap{width:min(100% - 20px, 1400px)}.hero-copy,.assistant-panel,.content-card,.hotel-card{border-radius:22px}.hero-copy{padding:20px}h1{font-size:46px}.assistant-shell,.concierge-frame{height:76vh;min-height:540px}.assistant-shell-detail .concierge-frame,.assistant-shell-detail{height:72vh;min-height:520px}.mini-gallery{grid-template-columns:1fr}.hotel-grid-dense{grid-template-columns:1fr}}

.hero-copy .lead.max{max-width:760px}
.hero-support{max-width:760px}
.hero-selected-card{margin-top:18px}
.hotel-assistant-card .assistant-shell{min-height:560px}
.hotel-assistant-card .concierge-frame{height:560px}
.detail-side{display:grid;gap:18px}
.content-card h2,.content-card h3{margin-top:0}


.detail-stack{display:grid;gap:18px}
.detail-top-grid,.detail-bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.detail-top-side,.detail-bottom-side{display:grid;gap:18px}
.detail-bottom-main,.detail-bottom-side,.detail-top-side,.detail-main{min-width:0}
.detail-top-grid .detail-hero-image img{width:100%;height:auto;display:block}
@media (max-width:1180px){.detail-top-grid,.detail-bottom-grid{grid-template-columns:1fr}}


.section-teaser-label{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-size:13px;line-height:1.2;border:1px solid #d7e3f2;background:#f5f8fc;color:#31527c;margin-bottom:12px}
.no-title-card{padding-top:14px}
.visuals-card .mini-gallery{margin-top:0}
.mini-gallery-three-up{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:860px){.mini-gallery-three-up{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.mini-gallery-three-up{grid-template-columns:1fr}}


.detail-bottom-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
@media (max-width:1180px){.header-meta{display:none}}

.detail-bottom-grid-single{grid-template-columns:1fr;}
