/* Component geometry. Color, surfaces and shadows use the shared theme roles. */
.landing-workspace{min-width:0}
.landing-status{display:flex;align-items:center;justify-content:space-between;gap:20px}
.landing-status p{margin:6px 0 0}
.landing-tabs{display:flex;overflow:auto;max-width:100%;margin:24px 0;gap:8px;padding-bottom:8px}
.landing-tabs .tab{flex:none;white-space:nowrap}
.landing-editor-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:24px;align-items:start}
.landing-fields,.landing-preview-panel{min-width:0}
.landing-fields>.field{margin:24px 0}
.landing-fields>.check{margin:24px 0}
.landing-collection{margin-top:28px}
.landing-item{border:1px solid var(--edge-panel);border-radius:16px;margin:12px 0;overflow:hidden}
.landing-item>summary{padding:16px;font-weight:600;cursor:pointer;overflow-wrap:anywhere}
.landing-item-content{padding:0 16px 16px;display:grid;gap:16px}
.landing-item-actions{justify-content:flex-end}
.landing-image-field{display:grid;gap:12px;margin:20px 0}
.landing-image-field>img{display:block;width:100%;max-width:220px;max-height:180px;object-fit:contain;border-radius:12px;border:1px solid var(--edge-panel)}
.landing-image-field>.btn{width:max-content;position:relative;overflow:hidden;cursor:pointer}
.landing-file{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.landing-image-field>.btn:focus-within{outline:2px solid var(--edge-focus);outline-offset:3px}
.landing-preview-panel{position:sticky;top:24px}
.landing-preview-frame{position:relative;margin-top:20px;width:100%;height:640px;overflow:hidden;border:1px solid var(--edge-control);border-radius:16px}
.landing-preview-frame iframe{display:block;position:absolute;inset:0 auto auto 0;border:0;transform-origin:top left;background:var(--panel-fill)}
.landing-savebar{margin-top:24px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.landing-history{margin-top:24px}
.landing-history>summary{font-weight:600;cursor:pointer}
.landing-history>.row{margin-top:16px;padding-top:16px;border-top:1px solid var(--edge-divider)}
#landing-message:empty{display:none}
@media(max-width:1100px){.landing-editor-grid{grid-template-columns:minmax(0,1fr)}.landing-preview-panel{position:static}.landing-preview-frame{height:560px}}
@media(max-width:700px){.landing-status{align-items:stretch;flex-direction:column}.landing-status .actions{display:grid;grid-template-columns:1fr 1fr}.landing-tabs{margin:16px 0}.landing-preview-frame{height:520px}.landing-history>.row{align-items:stretch;flex-direction:column}}
