[hidden]{display:none!important}.admin-page{background:#f8f1f3;min-height:100vh;display:flex;flex-direction:column}.admin-header{background:var(--paper);border-bottom:1px solid var(--line)}.admin-header-inner{max-width:1440px;width:calc(100% - 80px);margin:auto;min-height:100px;display:flex;align-items:center;gap:40px}.admin-heading-label{font-size:.8125rem;letter-spacing:.15em;color:var(--muted);border-left:1px solid var(--line);padding-left:35px}.admin-header-actions{margin-left:auto;display:flex;align-items:center;gap:26px;font-size:.9375rem}.admin-header-actions>a:hover{text-decoration:underline;text-underline-offset:5px}.admin-main{width:calc(100% - 80px);max-width:1440px;margin:0 auto;flex:1;padding:48px 0 70px}.admin-page h1{font-family:var(--serif);font-size:2.875rem;font-weight:400;letter-spacing:-.04em;line-height:1.15;margin:0}.admin-page h2{font-size:1.625rem;letter-spacing:-.025em;line-height:1.3}.admin-page label{font-size:.9375rem;font-weight:600;display:block;margin-bottom:9px}.admin-page input:not([type=file]){font:inherit;font-size:1rem;line-height:1.45;border:1px solid #cbb3bc;border-radius:4px;min-height:49px;padding:12px 14px;background:white;color:var(--ink);width:100%;margin-bottom:22px}.admin-page input:focus-visible{outline:2px solid var(--wine);outline-offset:2px}.admin-page button:disabled,.admin-page input:disabled{opacity:.5;cursor:wait}.secondary-button,.danger-button{border:1px solid #c7a4b0;background:var(--paper);padding:10px 15px;min-height:43px;line-height:1.4;font-size:.875rem;color:var(--wine);border-radius:4px}.secondary-button:hover{background:var(--rose)}.danger-button{background:transparent;border-color:#d8bfc6;color:#98334b}.danger-button:hover{background:#f9dfe7}.boot-status{text-align:center;padding:40px;color:var(--muted)}.login-screen{min-height:calc(100vh - 310px);display:grid;place-items:center}.login-card{width:min(100%,465px);background:var(--paper);padding:40px;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 40px #3d202b08}.login-card .eyebrow{margin-bottom:20px}.login-intro{margin-top:20px;margin-bottom:28px;line-height:1.8;color:var(--muted)}.login-card .button{width:100%;margin-top:7px}.form-feedback{font-size:.9375rem;line-height:1.6;color:#a12345;margin-bottom:14px}.form-feedback:empty{display:none}.workspace-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:32px}.workspace-heading .eyebrow{margin-bottom:13px}.workspace-heading>p{line-height:1.7;margin-bottom:0;color:var(--muted);font-size:.9375rem}.workspace-feedback{padding:14px 18px;margin-bottom:25px;background:#f2faf5;border:1px solid #abcdb6;border-radius:4px;font-size:.9375rem;line-height:1.6;color:#265638}.workspace-feedback:empty{display:none}.workspace-feedback.error{background:#fff0f3;color:#912640;border-color:#d6a9b5}.feedback-retry{margin-left:16px}.workspace-grid{display:grid;grid-template-columns:285px minmax(0,1fr);gap:28px;align-items:start}.gallery-sidebar,.gallery-editor{background:var(--paper);border:1px solid var(--line);border-radius:7px}.gallery-sidebar{padding:24px}.gallery-sidebar>h2{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;font-size:1.4375rem}.gallery-sidebar>h2>span{font:400 .875rem var(--sans);color:var(--muted)}.admin-gallery-list{display:grid;gap:8px;margin-bottom:30px}.admin-gallery-select{border:1px solid transparent;border-radius:4px;background:#faf4f6;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;padding:13px 14px;color:var(--ink);font-size:.9375rem;line-height:1.5;width:100%;overflow-wrap:anywhere}.admin-gallery-select[aria-pressed=true]{border-color:var(--wine);background:#f3dce5;color:var(--wine)}.admin-gallery-select>span:last-child{font-size:.8125rem;color:var(--muted);flex:none}.new-gallery-form{border-top:1px solid var(--line);padding-top:22px}.new-gallery-form .button{width:100%;padding:13px;min-height:47px;font-size:.875rem}.new-gallery-form input:not([type=file]){font-size:.9375rem;margin-bottom:13px}.gallery-editor{padding:30px;min-height:560px}.gallery-editor-heading{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-bottom:24px}.gallery-editor-heading h2{font-size:1.875rem;overflow-wrap:anywhere}.gallery-editor-heading p{font-size:.875rem;color:var(--muted);margin:9px 0 0}.gallery-editor-heading>.danger-button{flex:none}.upload-zone{padding:28px 24px;text-align:center;background:#fcf8fa;border:1px dashed #c194a4;border-radius:5px;transition:background .15s,border-color .15s}.upload-zone.dragover{background:#f2d5e0;border:2px dashed var(--wine);padding:27px 23px}.upload-zone.busy{opacity:.6}.upload-zone strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.5rem}.upload-zone p{margin:10px 0 18px;color:var(--muted);font-size:.9375rem;line-height:1.6}.upload-zone .button{display:inline-flex;cursor:pointer;font-weight:400;font-size:.9375rem;min-height:47px;padding:13px 20px;margin-bottom:15px}.upload-zone:focus-within{outline:2px solid var(--wine);outline-offset:3px}.upload-hint{display:block;font-size:.8125rem;line-height:1.6;color:var(--muted)}.upload-status{font-size:.9375rem;color:var(--wine);line-height:1.7;margin:18px 0;white-space:pre-line}.upload-status:empty{display:none}.admin-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 18px;margin-top:28px}.admin-photo{min-width:0;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:white}.admin-photo>img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#f8eef2}.admin-photo-info{padding:12px}.admin-photo-info>p{font-size:.875rem;margin:0 0 12px;line-height:1.5;overflow-wrap:anywhere}.admin-photo-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-photo-actions button{min-height:37px;padding:7px 11px;font-size:.8125rem;flex:1}.empty-state{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:390px;padding:30px}.empty-state p{line-height:1.8;color:var(--muted);max-width:370px;margin:18px 0 0}.photos-empty{grid-column:1/-1;text-align:center;color:var(--muted);font-size:.9375rem;padding:20px;line-height:1.8}.admin-footer{padding:24px 40px;border-top:1px solid var(--line);display:flex;gap:25px;justify-content:space-between;color:var(--muted);font-size:.8125rem;line-height:1.6;background:var(--paper)}.confirm-dialog{width:min(calc(100% - 40px),460px);border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:30px;color:var(--ink)}.confirm-dialog::backdrop{background:#27151e99}.confirm-dialog h2{font-size:1.75rem}.confirm-dialog p{font-size:1rem;line-height:1.75;color:var(--muted);margin:20px 0 28px;overflow-wrap:anywhere}.confirm-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-actions .button{min-height:43px;padding:10px 23px;font-size:.875rem}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.admin-header-inner,.admin-main{width:calc(100% - 48px)}.workspace-grid{grid-template-columns:245px minmax(0,1fr);gap:20px}.gallery-sidebar{padding:20px}.gallery-editor{padding:23px}.admin-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-heading-label{display:none}}
@media(max-width:760px){.admin-header-inner{min-height:82px;gap:12px}.admin-header-inner .brand-logo{display:none}.admin-header-actions{gap:12px;font-size:.8125rem}.admin-header-actions .secondary-button{padding:8px 11px;min-height:38px}.admin-main{padding-top:30px}.workspace-heading{align-items:start;flex-direction:column;gap:16px}.workspace-heading>p br{display:none}.admin-page h1{font-size:2.2rem}.workspace-grid{grid-template-columns:1fr}.gallery-editor{min-height:0}.admin-gallery-list{display:flex;flex-wrap:wrap;margin-bottom:22px}.admin-gallery-select{width:auto;flex:1;min-width:140px}.new-gallery-form{display:grid;grid-template-columns:1fr auto;gap:0 12px}.new-gallery-form label{grid-column:1/-1}.new-gallery-form input:not([type=file]){margin:0}.gallery-editor-heading{gap:15px;flex-wrap:wrap}.gallery-editor-heading h2{font-size:1.65rem}.gallery-editor-heading>.danger-button{font-size:.8125rem}.login-card{padding:28px}.admin-footer{padding:22px 24px;font-size:.75rem;flex-wrap:wrap}.upload-zone{padding:24px 15px}.upload-zone.dragover{padding:23px 14px}.confirm-dialog{padding:25px}.admin-photos{gap:16px 12px}.admin-photo-info{padding:10px}}
