:root { --ink:#1b3953; --blue:#00458c; --teal:#00458c; --lime:#fcc808; --paper:#f4f4f4; --line:#d9e1e8; --muted:#666666; --danger:#b83e4b; --white:#fff; --shadow:0 20px 55px rgba(27,57,83,.12); --site-font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--site-font); font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; }
body, input, select, textarea, button, h1, h2, h3, h4 { font-family:var(--site-font); }
a { color:inherit; text-decoration:none; }
button { cursor:pointer; }
.admin-shell { width:min(1180px,calc(100% - 36px)); margin-inline:auto; }
.admin-main { min-height:50vh; }
.admin-workspace-bar { position:relative; z-index:45; border-bottom:1px solid var(--line); background:var(--white); box-shadow:0 8px 22px rgba(27,57,83,.08); }
.admin-workspace-inner { display:grid; min-height:62px; align-items:center; grid-template-columns:auto minmax(0,1fr) auto; gap:24px; }
.admin-workspace-name { color:var(--blue); font-weight:820; letter-spacing:-.015em; white-space:nowrap; }
.admin-nav { display:flex; min-width:0; align-items:center; gap:4px; overflow-x:auto; }
.admin-nav a,.admin-workspace-user a { padding:8px 12px; border-radius:999px; color:var(--ink); font-size:.88rem; font-weight:720; white-space:nowrap; }
.admin-nav a:hover,.admin-nav a.active,.admin-workspace-user a:hover { color:var(--blue); background:#e8f1f9; }
.admin-workspace-user { display:flex; align-items:center; justify-content:flex-end; gap:4px; }
.admin-workspace-user .admin-view { color:var(--ink); background:var(--lime); }
.admin-workspace-user .admin-view:hover { color:var(--ink); background:#f4c000; }
.admin-section { padding:55px 0 90px; }
.admin-page-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:28px; }
.admin-page-head h1 { margin:3px 0 2px; font-size:clamp(2rem,4vw,3.3rem); line-height:1.05; letter-spacing:-.045em; }
.admin-page-head p { margin:0; color:var(--muted); }
.admin-eyebrow { color:var(--teal)!important; font-size:.74rem!important; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.admin-button { display:inline-flex; min-height:44px; align-items:center; justify-content:center; padding:10px 17px; border:1px solid transparent; border-radius:999px; color:#fff; background:var(--teal); font-weight:780; }
.admin-button:hover { background:#00366e; }
.admin-button--ghost { color:var(--ink); border-color:var(--line); background:#fff; }
.admin-button--danger { background:var(--danger); }
.admin-alert { margin-bottom:22px; padding:14px 17px; border-left:4px solid var(--teal); border-radius:0 11px 11px 0; background:#e8f1f9; }
.admin-alert--error { border-color:var(--danger); background:#f9e8ea; }
.dashboard-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:17px; }
.dashboard-card { padding:25px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 8px 25px rgba(7,27,44,.05); }
.dashboard-card span { display:block; color:var(--teal); font-size:2.7rem; font-weight:850; line-height:1; letter-spacing:-.06em; }
.dashboard-card h2 { margin:18px 0 5px; font-size:1.1rem; }
.dashboard-card p { margin:0;color:var(--muted);font-size:.9rem; }
.dashboard-card strong { display:block; margin-top:24px; color:var(--teal); font-size:.88rem; }
.admin-help { margin-top:24px; padding:24px; border-radius:18px; color:#fff; background:var(--blue); }
.admin-help .admin-eyebrow { color:var(--lime)!important; }
.admin-help div { display:flex; flex-wrap:wrap; gap:11px; margin-top:14px; }
.admin-help a { padding:9px 13px; border-radius:9px; background:rgba(255,255,255,.1); font-weight:720; }
.admin-toolbar { display:flex; gap:12px; margin-bottom:15px; }
.admin-toolbar input { width:min(100%,420px); padding:12px 15px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.admin-table { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; }
.admin-row { display:grid; grid-template-columns:minmax(300px,1.7fr) .7fr .55fr .8fr; align-items:center; gap:18px; padding:15px 18px; border-top:1px solid var(--line); }
.admin-row:first-child { border-top:0; }
.admin-row--head { color:var(--muted); background:#f9fbfb; font-size:.73rem; font-weight:820; letter-spacing:.09em; text-transform:uppercase; }
.admin-title-cell { display:flex; min-width:0; align-items:center; gap:14px; }
.admin-title-cell img,.admin-photo-placeholder { display:grid; width:70px; height:55px; flex:0 0 70px; place-items:center; border-radius:9px; object-fit:cover; color:var(--teal); background:var(--paper); font-weight:850; }
.admin-title-cell strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-title-cell small,.admin-row > span small { display:block; margin-top:3px; color:var(--muted); }
.status-pill { display:inline-flex; padding:5px 9px; border-radius:999px; color:#075f62; background:#dff2ef; font-size:.72rem; text-transform:uppercase; }
.status-pill--reserved,.status-pill--coming-soon { color:#744b08; background:#fff0cb; }
.status-pill--sold { color:#8d2732; background:#fae0e3; }
.admin-actions { display:flex; flex-wrap:wrap; gap:9px; align-items:center; }
.admin-actions a,.admin-actions button { padding:0; border:0; color:var(--teal); background:none; font-size:.83rem; font-weight:760; }
.admin-actions button { color:var(--danger); }
.admin-empty { padding:40px; text-align:center; color:var(--muted); }
.editor-form { padding:45px 0 90px; }
.admin-page-head--editor { align-items:center; }
.editor-actions { display:flex; gap:10px; }
.editor-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(290px,.65fr); gap:20px; align-items:start; }
.editor-main,.editor-side { display:grid; gap:20px; }
.editor-card { padding:25px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 8px 25px rgba(7,27,44,.04); }
.editor-card h2 { margin:0 0 18px; font-size:1.08rem; }
.editor-card label,.admin-form label { display:grid; gap:7px; margin-bottom:17px; color:var(--ink); font-size:.84rem; font-weight:760; }
.editor-card label:last-child { margin-bottom:0; }
.editor-card input,.editor-card select,.editor-card textarea,.admin-form input { width:100%; padding:11px 13px; border:1px solid #cdd9de; border-radius:10px; color:var(--ink); background:#fff; outline:0; font-size:.96rem; font-weight:450; }
.editor-card input:focus,.editor-card select:focus,.editor-card textarea:focus,.admin-form input:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(0,69,140,.12); }
.editor-card textarea { resize:vertical; }
.editor-title { font-size:1.2rem!important; font-weight:700!important; }
.editor-card small,.admin-form small { color:var(--muted); font-weight:450; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 15px; }
.switch-row { grid-template-columns:auto 1fr!important; align-items:start; gap:11px!important; }
.switch-row input { width:19px; height:19px; margin-top:2px; }
.switch-row span strong,.switch-row span small { display:block; }
.photo-grid { display:grid; grid-template-columns:1fr 1fr; gap:11px; margin-bottom:17px; }
.photo-item { position:relative; overflow:hidden; aspect-ratio:4/3; border-radius:11px; background:var(--paper); }
.photo-item img { width:100%; height:100%; object-fit:cover; }
.photo-item label { position:absolute; inset:auto 7px 7px; display:flex; align-items:center; gap:7px; margin:0; padding:7px 9px; border-radius:8px; color:#fff; background:rgba(27,57,83,.9); font-size:.72rem; }
.photo-item label input { width:16px;height:16px; }
.upload-preview { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:10px; }
.upload-preview img { width:100%; aspect-ratio:1; border-radius:9px; object-fit:cover; }
.auth-section { display:grid; min-height:calc(100vh - 118px); place-items:center; padding:60px 18px; background:linear-gradient(135deg,#e8f1f9,#f8fafb); }
.auth-card { width:min(100%,500px); padding:38px; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:var(--shadow); }
.auth-card h1 { margin:5px 0 12px; font-size:2.2rem; line-height:1.08; letter-spacing:-.04em; }
.auth-card > p { color:var(--muted); }
.admin-form { margin-top:24px; }
.admin-form .admin-button { width:100%; margin-top:5px; }
.admin-footer { padding:22px 0; border-top:1px solid var(--line); color:var(--muted); background:#fff; font-size:.8rem; }
@media(max-width:900px){.admin-workspace-inner{grid-template-columns:1fr auto; gap:6px 16px; padding:10px 0}.admin-workspace-name{grid-column:1}.admin-workspace-user{grid-column:2}.admin-nav{grid-column:1/-1; grid-row:2}.dashboard-grid{grid-template-columns:1fr 1fr}.admin-row{grid-template-columns:1fr .5fr .5fr}.admin-row>div:last-child{grid-column:1/-1}.editor-layout{grid-template-columns:1fr}}
@media(max-width:650px){.admin-workspace-name{font-size:.94rem}.admin-nav a,.admin-workspace-user a{padding:7px 9px;font-size:.79rem}.admin-page-head{display:block}.admin-page-head .admin-button{margin-top:17px}.admin-page-head--editor{display:block}.editor-actions{margin-top:17px}.dashboard-grid{grid-template-columns:1fr}.admin-row{display:block}.admin-row--head{display:none}.admin-row>*{margin-bottom:11px}.admin-title-cell{margin-bottom:15px}.form-grid{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr}.auth-card{padding:27px}}
@media(max-width:520px){.admin-workspace-inner{grid-template-columns:1fr}.admin-workspace-name,.admin-workspace-user,.admin-nav{grid-column:1}.admin-workspace-user{grid-row:2;justify-content:flex-start}.admin-nav{grid-row:3}}
