body{background:#f8f9fa}.panel-top{display:flex;align-items:center;justify-content:space-between;padding:10px 0}.panel-top .brand{font-size:21px}.panel-top .brand img{width:85px;height:85px}.auth{max-width:520px;margin:45px auto;padding:35px;background:white;border:1px solid #ddd}.auth h1{font-size:33px}.auth form{max-width:none}.panel-welcome{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px}.panel-welcome h1{font-size:33px}.panel-tabs{display:flex;gap:10px;flex-wrap:wrap;padding:20px 0;border-bottom:1px solid #ddd}.panel-tabs button{padding:12px 15px;border:1px solid #ccd0d3;background:white;color:var(--blue);font:inherit;font-size:13px;cursor:pointer}.panel-tabs button.active{background:var(--blue);color:white}#content{padding:30px 0 65px}.panel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.panel-card{background:white;border:1px solid #ddd;padding:22px}.panel-card img{width:100%;height:180px;object-fit:cover}.panel-card h3{font-size:21px}.panel-card p{font-size:12px}.panel-card .actions{flex-wrap:wrap;gap:8px;margin:15px 0}.panel-card button{font:inherit;font-size:12px;cursor:pointer;border:1px solid #ddd;background:white;color:var(--blue);padding:8px 12px}.panel-card .actions .danger{color:#9b2020}.status{font-size:10px;padding:6px 9px;background:var(--ivory);display:inline-block}.editor-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.editor-head h2{font-size:25px}.editor-head button{background:transparent;border:1px solid #bbb;padding:8px;cursor:pointer}dialog{border:0;width:min(680px,95vw);padding:30px;max-height:90vh;overflow:auto}dialog::backdrop{background:#082541bb}dialog form{max-width:none}textarea,select{font:inherit;padding:12px;border:1px solid #bbb;width:100%}textarea{min-height:150px}.check{display:flex;align-items:center;gap:10px}.check input{width:18px}.upload-box{border:1px dashed #aaa;padding:20px}.upload-box img{width:100%;max-height:270px;object-fit:contain;background:var(--ivory)}.upload-box input[type=file]{width:100%;padding:10px 0;border:0}.photo-preview{height:260px!important;object-fit:cover!important}.hint{font-size:12px;color:var(--muted)}.tab-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px}.tab-heading h2{margin:0}.notice{padding:14px 20px;margin:18px 0;background:#eef5ee;border:1px solid #cbdcca;color:#234423}.notice.error{background:#fff0ee;color:#902929;border-color:#f0c7c1}.busy{opacity:.6;pointer-events:none}[hidden]{display:none!important}input,button{max-width:100%}footer{margin-top:40px}.location-form{background:white;padding:30px;max-width:800px}.location-form iframe{width:100%;height:300px;border:0}.delete-confirm{background:#fff4e9;padding:15px}.editor-actions{display:flex;gap:12px}.editor-actions button{cursor:pointer}@media(max-width:760px){.panel-grid{grid-template-columns:1fr}.panel-top .brand{font-size:16px}.panel-top .button{font-size:10px;padding:10px}.panel-top .brand img{width:60px;height:60px}.panel-welcome{align-items:start}.panel-welcome h1{font-size:27px}.panel-tabs button{font-size:11px}.tab-heading{align-items:start;flex-direction:column}dialog{padding:20px}}

.editor-photo-frame{width:100%;background:var(--ivory);overflow:hidden}.editor-photo-frame .framed-image{max-width:none!important;max-height:none!important}.draggable-frame{touch-action:none;cursor:grab}.draggable-frame:active{cursor:grabbing}

.frame-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.frame-form>.upload-box{grid-column:1;grid-row:1/span 10;position:sticky;top:0;padding:12px}.frame-form>label,.frame-form>.hint,.frame-form>button{grid-column:2}.frame-form label{font-size:12px}.frame-form>.upload-box input{font-size:11px}.frame-form>.upload-box .hint{font-size:10px}.frame-form>button{font-size:11px}@media(max-width:760px){.frame-form{grid-template-columns:1fr}.frame-form>.upload-box{position:relative;grid-row:auto}.frame-form>label,.frame-form>.hint,.frame-form>button{grid-column:1}.frame-form .editor-photo-frame{max-height:none}}

.zoom-buttons{display:flex;gap:10px;flex-wrap:wrap}.frame-form>.zoom-buttons{grid-column:2}.zoom-buttons .button{padding:10px 15px;font-size:12px}input[type=range]{padding:0;min-height:30px;cursor:pointer;accent-color:var(--gold)}@media(max-width:760px){.frame-form>.zoom-buttons{grid-column:1}}

.panel-card video{width:100%;height:100%;object-fit:cover}.upload-box video{display:block;width:100%;max-height:350px}.panel-tabs{flex-wrap:wrap}
