.property-page-toolbar,
.property-context-nav,
.property-readonly,
.property-flash,
.property-save-bar {
    display: flex;
    align-items: center;
    gap: 14px;
}

.property-page-toolbar {
    justify-content: space-between;
    margin-bottom: 18px;
    padding: 16px 18px;
    border: 1px solid rgba(42,37,33,.09);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 48px -44px rgba(42,37,33,.6);
}
.property-page-toolbar strong,
.property-page-toolbar span { display:block; }
.property-page-toolbar strong { font-size:14px; }
.property-page-toolbar span { margin-top:3px; color:var(--staysy-muted); font-size:12px; }
.property-page-toolbar-actions { display:flex; flex-wrap:wrap; gap:8px; }

.property-flash {
    align-items:flex-start;
    margin-bottom:18px;
    padding:15px 17px;
    border:1px solid rgba(30,78,69,.18);
    border-radius:18px;
    background:#edf6f2;
    color:#1e4e45;
}
.property-flash.is-error { background:#fff1ee; border-color:rgba(201,64,47,.2); color:#8d2f23; }
.property-flash.is-warning { background:#fff8e8; border-color:rgba(202,144,35,.25); color:#795407; }
.property-flash i { flex:0 0 auto; font-size:20px; }
.property-flash strong { display:block; }
.property-flash p { margin:3px 0 0; font-size:12px; line-height:1.5; }

.property-readonly {
    margin-bottom:16px;
    padding:12px 15px;
    border-radius:14px;
    background:#f3eee8;
    color:var(--staysy-muted);
    font-size:13px;
}

.property-management-grid { align-items:stretch; }
.property-management-card { display:flex; flex-direction:column; }
.property-management-card.is-archived { opacity:.72; }
.property-card-links {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:auto;
    padding-top:16px;
    border-top:1px solid rgba(42,37,33,.08);
}
.property-card-links a {
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:8px 10px;
    border-radius:11px;
    background:var(--staysy-canvas);
    color:var(--staysy-pine);
    text-decoration:none;
    font-size:11px;
    font-weight:800;
}
.property-card-links a:hover { background:var(--staysy-sage); }
.property-card-state-form { margin-top:10px; }

.property-context-nav {
    flex-wrap:wrap;
    margin-bottom:18px;
    padding:8px;
    border:1px solid rgba(42,37,33,.09);
    border-radius:16px;
    background:#fff;
}
.property-context-nav a {
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:9px 12px;
    border-radius:11px;
    color:var(--staysy-muted);
    text-decoration:none;
    font-size:12px;
    font-weight:800;
}
.property-context-nav a:hover { background:var(--staysy-canvas); color:var(--staysy-pine); }
.property-context-nav a.active { background:var(--staysy-pine); color:#fff; }

.property-editor { display:grid; gap:18px; }
.property-section {
    overflow:hidden;
    border:1px solid rgba(42,37,33,.09);
    border-radius:24px;
    background:#fff;
    box-shadow:0 22px 58px -48px rgba(42,37,33,.65);
}
.property-section > header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:18px 20px;
    border-bottom:1px solid rgba(42,37,33,.08);
    background:linear-gradient(135deg,#fff,var(--staysy-canvas));
}
.property-section > header > div > span {
    display:block;
    margin-bottom:4px;
    color:var(--staysy-clay);
    font-size:10px;
    font-weight:900;
    letter-spacing:.13em;
}
.property-section > header h2 { margin:0; font:600 22px/1.12 var(--font-display); }
.property-section > header p { margin:5px 0 0; color:var(--staysy-muted); font-size:12px; line-height:1.45; }
.property-section > header > i { color:var(--staysy-pine); font-size:25px; opacity:.75; }

.property-form-grid {
    display:grid;
    gap:14px;
    padding:20px;
}
.property-form-grid.cols-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.property-form-grid.cols-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.property-form-grid.cols-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.property-form-grid .span-2 { grid-column:span 2; }
.property-form-grid .span-3 { grid-column:span 3; }
.property-form-grid .span-4 { grid-column:span 4; }
.property-form-grid label,
.repeat-row label,
.translation-card label {
    display:flex;
    flex-direction:column;
    gap:6px;
    min-width:0;
}
.property-form-grid label > span,
.repeat-row label > span,
.translation-card label > span {
    color:#514942;
    font-size:11px;
    font-weight:800;
}
.property-form-grid small,
.repeat-row small { color:var(--staysy-muted); font-size:10px; line-height:1.4; }
.property-form-grid code { font-family:var(--font-mono); color:var(--staysy-pine); }
.property-color-input { min-height:42px; padding:4px; }

.secret-field { position:relative; }
.secret-field input { padding-right:42px; }
.secret-field button {
    position:absolute;
    top:50%;
    right:5px;
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    transform:translateY(-50%);
    border:0;
    border-radius:9px;
    background:transparent;
    color:var(--staysy-muted);
    cursor:pointer;
}
.secret-field button:hover { background:var(--staysy-sage); color:var(--staysy-pine); }

.repeat-list { display:grid; gap:12px; padding:20px 20px 12px; }
.property-section > .btn[data-repeat-add] { margin:0 20px 20px; }
.repeat-row {
    position:relative;
    display:grid;
    align-items:end;
    gap:10px;
    padding:14px;
    border:1px solid rgba(42,37,33,.09);
    border-radius:17px;
    background:var(--staysy-canvas);
}
.custom-variable-row { grid-template-columns:minmax(120px,.8fr) minmax(160px,1fr) minmax(240px,2fr) auto 38px; }
.season-row { grid-template-columns:repeat(3,minmax(130px,1fr)) repeat(4,minmax(100px,.7fr)) auto 38px; }
.scenario-row { grid-template-columns:repeat(5,minmax(120px,1fr)); }
.scenario-row .weekday-box { grid-column:span 2; }
.scenario-row .repeat-remove { justify-self:end; }
.repeat-row .grow { min-width:0; }
.repeat-check {
    flex-direction:row !important;
    align-items:center;
    align-self:center;
    gap:7px !important;
    padding:8px 0;
    white-space:nowrap;
}
.repeat-check input { accent-color:var(--staysy-pine); }
.repeat-remove {
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border:0;
    border-radius:11px;
    background:#fff;
    color:#9b4c3e;
    cursor:pointer;
}
.repeat-remove:hover { background:#fff0ec; }

.weekday-box {
    display:flex;
    flex-direction:column;
    gap:7px;
    min-width:0;
}
.weekday-box > span { color:#514942; font-size:11px; font-weight:800; }
.weekday-box > div { display:flex; flex-wrap:wrap; gap:5px; }
.weekday-box label {
    display:inline-flex;
    flex-direction:row;
    align-items:center;
    gap:4px;
    padding:5px 7px;
    border:1px solid rgba(42,37,33,.1);
    border-radius:9px;
    background:#fff;
    font-size:10px;
    font-weight:800;
}
.weekday-box input { accent-color:var(--staysy-pine); }

.property-save-bar {
    position:sticky;
    z-index:8;
    bottom:16px;
    justify-content:space-between;
    padding:15px 18px;
    border:1px solid rgba(30,78,69,.18);
    border-radius:18px;
    background:rgba(255,255,255,.96);
    box-shadow:var(--shadow-lg);
    backdrop-filter:blur(12px);
}
.property-save-bar strong,
.property-save-bar span { display:block; }
.property-save-bar span { margin-top:3px; color:var(--staysy-muted); font-size:11px; }

.property-danger-zone { margin-top:18px; border-color:rgba(201,64,47,.14); }
.property-dependency-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
    padding:18px 20px;
}
.property-dependency-grid span {
    padding:11px;
    border-radius:13px;
    background:var(--staysy-canvas);
    color:var(--staysy-muted);
    font-size:10px;
    text-transform:capitalize;
}
.property-dependency-grid strong { display:block; color:var(--staysy-ink); font-size:17px; }
.property-danger-actions { display:flex; flex-wrap:wrap; gap:8px; padding:0 20px 20px; }
.btn-danger { background:#b94231; color:#fff; }
.btn-danger:hover { background:#963425; }

.db-pill.is-draft { background:#fff2d8; color:#765008; }
.db-pill.is-published { background:#e7f1ec; color:#1e4e45; }
.db-pill.is-active { background:#e7f1ec; color:#1e4e45; }
.db-pill.is-archived,.db-pill.is-inactive { background:#eee9e4; color:#71675f; }

@media (max-width:1280px) {
    .property-form-grid.cols-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .property-form-grid.cols-4 .span-3,.property-form-grid.cols-4 .span-4 { grid-column:span 2; }
    .season-row { grid-template-columns:repeat(3,minmax(120px,1fr)); }
    .scenario-row { grid-template-columns:repeat(3,minmax(130px,1fr)); }
}
@media (max-width:900px) {
    .property-form-grid.cols-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .property-form-grid.cols-3 .span-3 { grid-column:span 2; }
    .custom-variable-row { grid-template-columns:1fr 1fr; }
    .custom-variable-row .grow { grid-column:span 2; }
    .season-row,.scenario-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .property-dependency-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
    .property-page-toolbar,.property-save-bar { align-items:flex-start; flex-direction:column; }
    .property-form-grid.cols-2,.property-form-grid.cols-3,.property-form-grid.cols-4,
    .custom-variable-row,.season-row,.scenario-row { grid-template-columns:1fr; }
    .property-form-grid .span-2,.property-form-grid .span-3,.property-form-grid .span-4,
    .custom-variable-row .grow,.scenario-row .weekday-box { grid-column:auto; }
    .property-section > header { align-items:flex-start; }
    .property-dependency-grid { grid-template-columns:1fr 1fr; }
}

.stay-access-panel { margin-bottom:18px; }
.stay-access-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.stay-access-head h2 { margin-top:8px; }
.stay-access-head p { margin:4px 0 0; color:var(--staysy-muted); font-size:12px; }
.stay-access-head code,.stay-access-links code { font-family:var(--font-mono); }
.stay-access-links { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:16px; }
.stay-access-links label { display:grid; gap:6px; }
.stay-access-links label > span { color:var(--staysy-muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.stay-access-links label > div { display:flex; gap:6px; }
.stay-access-links input { min-width:0; flex:1; font-family:var(--font-mono); font-size:10px; }
.stay-access-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; padding-top:14px; border-top:1px solid rgba(42,37,33,.08); }
@media(max-width:760px){.stay-access-head{flex-direction:column}.stay-access-links{grid-template-columns:1fr}.stay-access-links label>div{flex-wrap:wrap}.stay-access-links input{flex-basis:100%}}
