/* The management shell is deliberately separate from the public album styles. */
.admin-page{--ink:#363636;--muted:#858585;--line:#e7e7e7;--paper:#f6f6f6;background:var(--paper);font-size:14px;color:var(--ink)}
.admin-page .topbar{height:72px;padding:0 30px;background:#fff;border-bottom:1px solid var(--line)}
.admin-page .brand{font-size:16px}.admin-page .brand-mark{background:#363636;border-radius:10px;width:34px;height:34px}
.admin-page .admin-layout{grid-template-columns:208px minmax(0,1fr);min-height:calc(100vh - 72px)}
.admin-page .admin-sidebar{background:#333333;color:#f5f5f5;padding:28px 14px;position:sticky;top:0;height:calc(100dvh - 72px);border:0}
.admin-page .sidebar-heading{font-size:12px;color:#bababa;padding:0 15px 22px;letter-spacing:1px}
.admin-page .admin-sidebar nav{display:grid;gap:7px}.admin-page .admin-sidebar nav button{color:#d2d2d2;border-radius:9px;padding:14px 15px;background:transparent;font-size:14px;text-align:left;display:flex;align-items:center;justify-content:flex-start;gap:12px}
.admin-page .admin-sidebar nav button:hover{background:#464646}.admin-page .admin-sidebar nav button.active{background:#505050;color:#fff;font-weight:600}
.admin-page .sidebar-icon{font-size:20px;line-height:1;width:22px;text-align:center;color:#bfbfbf}.admin-page #queue-count{margin-left:auto;color:#e1e1e1}
.admin-page .sidebar-note{color:#bababa;font-size:11px;line-height:1.9;border-color:#4c4c4c;padding:18px 12px}.admin-page .sidebar-note p{color:#a3a3a3}
.admin-page .admin-main{padding:30px 34px 60px;min-width:0;max-width:none;margin:0;align-self:start}.admin-page .admin-heading{margin-bottom:24px;gap:20px}.admin-page .admin-heading h1{font-size:26px;font-weight:650;letter-spacing:-.5px}.admin-page .section-label{font-size:10px;color:#8d8d8d}
.admin-page .overview-grid{display:none}.admin-page .small{font-size:12px}.admin-page .muted{color:#8a8a8a}.admin-page .field-help{font-size:12px;line-height:1.8;color:#888888}
.admin-page .primary{background:#555555;border-radius:8px;font-size:13px;min-height:42px}.admin-page .primary:hover:not(:disabled){background:#484848}
.admin-page .secondary{background:#fff;border-color:#e1e1e1;border-radius:8px;font-size:12px;color:#6e6e6e;min-height:40px}.admin-page .text-button{font-size:12px}
.admin-page .admin-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:25px;margin-bottom:20px;box-shadow:none}
.admin-page .card-heading h2{font-size:17px;font-weight:600}.admin-page .card-heading .small{margin-top:5px}
.admin-page .stack-form{gap:18px}.admin-page .stack-form label{font-size:13px;color:#656565}.admin-page .stack-form input,.admin-page .stack-form select,.admin-page .stack-form textarea{font-size:14px;min-width:0;border-color:#e2e2e2;background:#fff;border-radius:7px;color:var(--ink)}
.admin-page .stack-form input:focus,.admin-page .stack-form select:focus,.admin-page .stack-form textarea:focus{border-color:#9e9e9e}.admin-page .settings-fieldset{border-color:#e7e7e7;padding:18px;border-radius:8px}.admin-page .settings-fieldset legend{font-size:13px}
.admin-page .album-library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;flex-wrap:wrap}.admin-page .album-library-toolbar h2{font-size:17px;font-weight:600;margin-bottom:5px}.admin-page .album-library-toolbar h2 span{margin-left:8px;font-weight:400}
.admin-page .album-library-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-page .album-library-search{display:flex;align-items:center;gap:9px;padding:0 14px;min-height:42px;background:#fff;border:1px solid #e2e2e2;border-radius:8px}.admin-page .album-library-search>span{font-size:24px;color:#8e8e8e}.admin-page .album-library-search input{border:0;outline:0;background:transparent;color:var(--ink);width:220px;font-size:13px;min-width:0}
.admin-page .event-list.album-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px;max-height:none;overflow:visible}
.admin-page .event-card{display:flex;flex-direction:column;text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 0 18px;overflow:hidden;color:var(--ink);gap:7px;min-width:0;box-shadow:0 3px 14px #36363604}
.admin-page .event-card:hover{border-color:#b7b7b7;box-shadow:0 5px 22px #3636360b}.admin-page .event-card>strong{font-size:16px;line-height:1.5;padding:8px 18px 0;overflow-wrap:anywhere}.admin-page .event-card>span:not(.event-card-cover),.admin-page .event-card>small{padding:0 18px;font-size:12px;color:#898989;overflow-wrap:anywhere}
.admin-page .event-card-cover{order:-1;display:flex;align-items:center;justify-content:center;aspect-ratio:1.9/1;width:100%;height:auto;max-height:210px;background:linear-gradient(135deg,#e6e6e6,#f1f1f1);font-size:46px;font-weight:500;color:#7e7e7e;overflow:hidden}
.admin-page .event-card-cover .image-frame{width:100%;height:100%}.admin-page .event-card-cover img{width:100%;height:100%;object-fit:cover}.admin-page .album-list-empty{grid-column:1/-1;padding:50px 20px;text-align:center;color:#8d8d8d}
.admin-page .album-detail-heading{margin-bottom:23px;padding-bottom:20px;border-bottom:1px solid var(--line)}.admin-page .album-breadcrumb{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px}.admin-page .album-breadcrumb button{padding:5px 0;color:#7d7d7d;background:transparent;font-size:14px}.admin-page .album-breadcrumb>span{color:#c0c0c0}.admin-page .album-breadcrumb strong{font-size:16px;font-weight:600}.admin-page .album-context-meta{font-size:12px;color:#939393;margin-top:9px}
.admin-page .album-detail-layout{display:grid;grid-template-columns:154px minmax(0,1fr);gap:22px;align-items:start}.admin-page .album-context-nav.settings-nav{display:grid;position:sticky;top:22px;padding:8px;margin:0;gap:5px;background:#ededed;border-radius:10px;z-index:1}
.admin-page .album-context-nav button{text-align:left;padding:13px 14px;border:0;border-radius:7px;background:transparent;color:#7b7b7b;font-size:13px;white-space:normal}.admin-page .album-context-nav button.active{background:#fff;color:#4e4e4e;font-weight:600;box-shadow:0 2px 8px #36363605}.admin-page .album-context-nav button:hover{background:#f9f9f9}
.admin-page .event-workspace{min-width:0;max-width:1200px}.admin-page .event-workspace .admin-photo-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px}
.admin-page .upload-disclosure-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;cursor:pointer;list-style:none}.admin-page .upload-disclosure-heading::-webkit-details-marker{display:none}.admin-page .upload-disclosure-heading strong{display:block;font-size:15px;font-weight:600}.admin-page .upload-disclosure-heading small{display:block;font-size:12px;color:#8f8f8f;margin-top:4px}.admin-page .upload-disclosure-action{color:#636363;font-size:12px;white-space:nowrap}
.admin-page #album-upload-disclosure[open] .stack-form{margin-top:24px}.admin-page #album-upload-disclosure:not([open]){padding:20px 24px}.admin-page .upload-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.admin-page .file-drop{min-height:200px}.admin-page .file-drop>span{font-size:12px}.admin-page .admin-photo-info{gap:5px;padding:12px}.admin-page .admin-photo-info>strong{font-size:13px}.admin-page .admin-photo-info>span{font-size:11px}.admin-page .admin-photo-info>small{font-size:10px}.admin-page .admin-photo-info>button{font-size:11px}
.admin-page .feature-panel .feature-options label{padding:17px 0;font-size:14px}.admin-page input[type=checkbox]{accent-color:#646464}.admin-page .branding-panel .stack-form{max-width:900px}.admin-page .branding-preview{height:180px;background:#f7f7f7}
.admin-page .retention-intro{font-size:12px;color:#888888}.admin-page .inline-error{font-size:12px}.admin-page .queue-notice{font-size:12px}.admin-page .admin-search input{font-size:13px;min-width:0}.admin-page .admin-search{flex-wrap:wrap}
.platform-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.platform-heading h2{font-size:17px;font-weight:600;margin-bottom:5px}.platform-columns{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:start}.platform-editor{min-width:0}.platform-field{display:flex;flex-direction:column;gap:8px}.platform-field input,.platform-field textarea{width:100%;padding:11px 13px;font:inherit;border:1px solid #e2e2e2;line-height:1.6}.platform-module-options label{display:flex!important;align-items:center;gap:8px;flex-direction:row!important}.platform-module-options input{width:16px;height:16px}
.platform-event-selection h3{font-size:14px;font-weight:600;margin-bottom:10px}.platform-event-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #f0f0f0;min-height:50px;padding:9px 0}.platform-event-label{display:flex!important;align-items:center;flex-direction:row!important;gap:9px;min-width:0;flex:1}.platform-event-label input{width:16px;height:16px;flex:none}.platform-event-label span{overflow-wrap:anywhere}.platform-order-actions{display:flex;align-items:center;gap:5px;flex:none}.platform-order-number{font-size:11px;color:#9d9d9d;padding-right:5px}.admin-page .platform-order-actions .small-button{min-height:30px;padding:0 9px;font-size:14px}
.platform-publish-meta{font-size:11px;color:#979797;border-top:1px solid #eaeaea;padding-top:15px}.platform-loading{padding:30px;color:#8f8f8f}.platform-preview{position:sticky;top:22px;min-width:0}.platform-preview-label{font-size:12px;color:#909090;margin:0 0 12px 5px}.platform-phone{background:#f5f5f5;border:6px solid #e6e6e6;border-radius:30px;overflow:hidden;box-shadow:0 10px 35px #36363608;color:#363636}
.platform-phone-header{display:flex;align-items:center;gap:8px;background:#fff;padding:17px 14px 12px}.platform-phone-header strong{font-size:13px;font-weight:600}.platform-phone-brand{display:grid;place-items:center;width:25px;height:25px;background:#363636;color:#fff;border-radius:6px;font-size:10px}.platform-phone-capsule{margin-left:auto;border:1px solid #e6e6e6;border-radius:20px;padding:0 10px;color:#606060;font-size:16px}
.platform-phone-body{padding:14px;min-height:300px}.platform-phone-body h3{font-size:15px;font-weight:600;margin:9px 0 16px}.platform-phone-hero{background:linear-gradient(135deg,#4e4e4e,#737373);color:#f5f5f5;border-radius:14px;padding:34px 18px;font-size:22px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}.platform-phone-announcement{font-size:11px;color:#828282;background:#eaeaea;padding:10px 12px;border-radius:8px;margin:12px 0;white-space:pre-wrap;overflow-wrap:anywhere}.platform-phone-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}
.platform-phone-events.one-column{grid-template-columns:minmax(0,1fr)}.platform-preview-search{margin:12px 0;padding:10px 12px;border-radius:20px;background:white;color:#9c9c9c;font-size:11px}
.platform-preview-event{display:block;min-width:0;margin-bottom:12px}.platform-preview-event .platform-preview-cover{display:block;width:100%;height:86px;border-radius:7px;overflow:hidden}.platform-preview-cover img{width:100%;height:100%;object-fit:cover}.platform-preview-placeholder{height:86px;background:#e4e4e4;border-radius:7px;display:flex;align-items:center;justify-content:center;color:#808080;font-size:12px}.platform-preview-event strong{display:block;font-size:12px;line-height:1.6;font-weight:500;margin:7px 0 4px;overflow-wrap:anywhere}.platform-preview-event>div>span{display:block;font-size:10px;color:#959595}.platform-preview-event.compact{display:flex;align-items:center;gap:10px;border-bottom:1px solid #e7e7e7;padding-bottom:12px}.platform-preview-event.compact .platform-preview-cover,.platform-preview-event.compact .platform-preview-placeholder{width:77px;height:58px;flex:none;font-size:11px}.platform-preview-event.compact strong{margin:0 0 5px}.platform-phone-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fff;padding:13px 4px 15px;border-top:1px solid #e9e9e9}.platform-phone-tabs button{font-size:10px;color:#969696;background:transparent;padding:6px 2px;min-height:32px}.platform-phone-tabs button.active{color:#5f5f5f;font-weight:600}.platform-mine-row{padding:17px 5px;border-bottom:1px solid #e7e7e7;font-size:12px;color:#7d7d7d}.platform-preview-empty{font-size:12px;color:#9b9b9b;padding:25px 5px;text-align:center}
@media(min-width:1550px){.admin-page .admin-main{padding:35px 46px 70px}.admin-page .event-list.album-card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.platform-columns{grid-template-columns:minmax(0,850px) 340px;gap:40px}}
@media(max-width:1150px){.admin-page .admin-layout{grid-template-columns:178px minmax(0,1fr)}.admin-page .admin-main{padding:26px 24px 50px}.admin-page .album-detail-layout{grid-template-columns:135px minmax(0,1fr);gap:16px}.admin-page .admin-card{padding:21px}.platform-columns{grid-template-columns:minmax(0,1fr) 265px;gap:18px}.platform-phone-hero{font-size:19px;padding:28px 15px}.platform-phone-body{padding:11px}.platform-phone-header{padding:15px 10px 10px}.platform-phone-header strong{font-size:12px}}
@media(max-width:950px){.admin-page .admin-layout{display:block}.admin-page .admin-sidebar{height:auto;position:static;padding:10px 20px}.admin-page .sidebar-heading,.admin-page .sidebar-note{display:none}.admin-page .admin-sidebar nav{display:flex;flex-wrap:wrap;gap:7px}.admin-page .admin-sidebar nav button{padding:11px 14px;font-size:12px}.admin-page .sidebar-icon{font-size:17px;width:18px}.admin-page .album-library-toolbar{align-items:flex-start}.admin-page .album-library-actions{width:100%}.admin-page .album-library-search{flex:1}.admin-page .album-library-search input{width:100%}.platform-columns{grid-template-columns:minmax(0,1fr) 280px}}
@media(max-width:680px){.admin-page .topbar{padding:0 17px;height:64px}.admin-page .brand{font-size:13px}.admin-page .topbar .desk-link{display:none}.admin-page .admin-main{padding:23px 16px 40px}.admin-page .admin-heading h1{font-size:23px}.admin-page .admin-heading{margin-bottom:22px}.admin-page .admin-sidebar{padding:9px 10px}.admin-page .admin-sidebar nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.admin-page .admin-sidebar nav button{padding:10px 4px;justify-content:center;font-size:11px;gap:4px;white-space:nowrap}.admin-page .sidebar-icon{display:none}.admin-page .event-list.album-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.admin-page .event-card>strong{font-size:13px;padding:5px 12px 0}.admin-page .event-card>span:not(.event-card-cover),.admin-page .event-card>small{font-size:11px;padding:0 12px}.admin-page .event-card{gap:6px;padding-bottom:14px}.admin-page .event-card-cover{font-size:30px;min-height:90px}.admin-page .album-library-actions{gap:9px}.admin-page .album-library-search{flex-basis:100%}.admin-page .album-library-actions>.primary{width:100%}.admin-page .album-detail-layout{display:block}.admin-page .album-context-nav.settings-nav{position:static;display:flex;flex-wrap:wrap;gap:4px;margin-bottom:17px;padding:6px}.admin-page .album-context-nav button{font-size:12px;padding:10px 12px}.admin-page .admin-card{padding:19px}.admin-page .card-heading h2{font-size:16px}.admin-page .stack-form label{font-size:12px}.admin-page .stack-form input,.admin-page .stack-form select,.admin-page .stack-form textarea{font-size:14px}.admin-page .form-grid{grid-template-columns:1fr}.admin-page .form-grid .span-2{grid-column:auto}.admin-page .upload-columns{display:block}.admin-page .upload-disclosure-heading small{font-size:11px;overflow-wrap:anywhere}.admin-page .upload-disclosure-action{font-size:11px}.admin-page .event-workspace .admin-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.admin-page .feature-panel .feature-options label{font-size:13px}.admin-page .admin-search input{width:100%;flex-basis:100%}.admin-page .retention-grid{grid-template-columns:1fr}.admin-page .branding-grid{grid-template-columns:1fr}.admin-page .branding-preview{height:175px}.admin-page .form-actions{flex-wrap:wrap}.admin-page .form-actions>*{flex:1}.platform-columns{display:flex;flex-direction:column;gap:15px}.platform-editor{width:100%}.platform-preview{position:static;width:100%;max-width:340px;align-self:center}.platform-heading{align-items:flex-start}.platform-heading h2{font-size:16px}.platform-heading .secondary{font-size:11px;padding:0 12px;flex:none}.platform-event-label{font-size:12px!important}.platform-event-row{gap:7px}.platform-phone-body{min-height:290px}.admin-page .platform-order-actions .small-button{min-height:36px;padding:0 11px}}
.admin-page .admin-search{display:flex;align-items:flex-end;gap:10px}
.admin-page #admin-search-bib{flex:1 1 190px;min-width:150px;min-height:42px}
.admin-page .admin-photo-filter{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#8f8f8f;flex:0 1 155px;min-width:0}
.admin-page .admin-photo-filter select{font:inherit;font-size:12px;min-height:42px;width:100%;padding:0 11px;border:1px solid #e2e2e2;border-radius:8px;background:#fff;color:#646464;min-width:0}
.admin-page .admin-photo-sort-note{font-size:11px;margin:-4px 0 18px}
@media(max-width:680px){.admin-page #admin-search-bib{flex-basis:100%;min-width:0}.admin-page .admin-photo-filter{flex:1 1 100px}.admin-page .admin-photo-filter select{font-size:13px}.admin-page .admin-search>.secondary,.admin-page .admin-search>.text-button{min-height:42px}.admin-page .admin-photo-sort-note{line-height:1.7;margin:0 0 17px}}
.admin-page #admin-photo-count{white-space:nowrap;flex-shrink:0;align-self:flex-start}
.admin-page .admin-heading>div{min-width:0}.admin-page #admin-heading,.admin-page .album-breadcrumb strong{overflow-wrap:anywhere}.admin-page .admin-heading>.secondary{flex:none}

/* Keep the toolbar aligned in Safari as well as Chromium. */
.admin-page .admin-search{display:grid;grid-template-columns:minmax(160px,1.4fr) minmax(120px,1fr) minmax(120px,1fr) auto auto;gap:12px;align-items:end;margin-bottom:12px}
.admin-page .admin-photo-filter{display:grid;gap:8px;font-size:12px;color:#757575;min-width:0}
.admin-page .admin-photo-filter input,.admin-page .admin-photo-filter select{box-sizing:border-box;width:100%;height:44px;min-height:44px;max-width:100%;margin:0;font:inherit;font-size:13px;color:#444444;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff;outline:0}
.admin-page .admin-photo-filter input{padding:0 13px;background:#f9f9f9}
.admin-page .admin-photo-filter select,.admin-page #opening-duration{-webkit-appearance:none;appearance:none;line-height:1.4;padding:0 35px 0 13px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23648270' stroke-width='1.6'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.admin-page .admin-search>button{height:44px;min-height:44px;white-space:nowrap;padding:0 16px}
.admin-page .admin-search{grid-template-columns:minmax(145px,1.1fr) minmax(120px,1fr) minmax(145px,1.1fr) minmax(120px,1fr) minmax(120px,1fr)}
.admin-page .photo-batch-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0 8px;padding:16px;background:#f7f7f7;border:1px solid #e7e7e7;border-radius:9px}
.admin-page .photo-select-loaded{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.5}.admin-page .photo-select-loaded input{width:16px;height:16px;flex:none}
.admin-page .photo-batch-actions{display:flex;gap:7px;flex-wrap:wrap;width:100%}.admin-page .photo-batch-actions button{font-size:11px;min-height:34px;padding:6px 10px}
.admin-page .admin-photo.selected{border-color:#6a6a6a;box-shadow:0 0 0 2px #6a6a6a20}.admin-page .admin-photo-select{display:flex;gap:7px;align-items:center;font-size:11px;color:#7c7c7c}.admin-page .admin-photo-select input{width:16px;height:16px}
.admin-page .admin-photo-badges{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 3px}.admin-page .photo-state{font-size:10px;padding:3px 6px;border-radius:4px;background:#f3f3f3;color:#646464}.admin-page .photo-state-hidden{background:#fff5dd;color:#936f23}.admin-page .photo-state-trashed{background:#f3e9e7;color:#8b6358}.admin-page .photo-pinned{background:#e5edf4;color:#4a6e90}
.admin-page .admin-photo-filename{overflow-wrap:anywhere;line-height:1.6;min-height:16px}.admin-page .admin-photo-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:7px}.admin-page .admin-photo-quick-actions button{min-height:33px;font-size:10px;padding:6px 5px;line-height:1.5}
.ops-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.ops-columns fieldset{display:grid;gap:18px;align-content:start}.ops-field{display:grid;gap:8px;min-width:0;font-size:13px}.ops-field input,.ops-field select{width:100%;min-width:0;padding:10px 12px;border:1px solid #e2e2e2;border-radius:7px;color:#444444;background:#fff;font:inherit;font-size:14px;min-height:43px}.ops-toggle{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:9px;line-height:1.7;font-size:13px!important}.ops-toggle input{width:16px;height:16px;margin-top:3px;flex:none}.ops-preview{margin-top:22px}.delivery-sample-image{max-width:600px;width:100%;border-radius:9px;overflow:hidden}.delivery-sample-image img{width:100%;height:auto;object-fit:contain}
.stats-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.stats-card{padding:18px;border:1px solid #e7e7e7;background:#f9f9f9;border-radius:9px;display:grid;gap:12px}.stats-card>span{font-size:12px;color:#898989}.stats-card>strong{font-size:27px;font-weight:600}.ops-table-wrap{max-width:100%;overflow-x:auto;border:1px solid #e7e7e7;border-radius:8px;margin:22px 0}.ops-table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.ops-table th,.ops-table td{padding:12px 14px;text-align:left;border-bottom:1px solid #ebebeb}.ops-table th{background:#f4f4f4;color:#7e7e7e;font-weight:500}.ops-table tr:last-child td{border:0}
.staff-editor-layout{display:grid;grid-template-columns:230px minmax(0,600px);gap:24px;margin-top:24px}.staff-account-list{display:grid;gap:10px;align-content:start}.staff-account{display:grid;gap:7px;text-align:left;padding:16px;border:1px solid #e5e5e5;border-radius:9px;background:#fff;color:#535353}.staff-account.active{border-color:#888888;background:#f2f2f2}.staff-account strong{font-size:14px}.staff-account span,.staff-account small{font-size:11px;color:#8a8a8a}.staff-editor h3{font-size:17px;margin:0}.staff-grants{display:grid;gap:12px}
@media(max-width:1200px){.admin-page .admin-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.admin-page .admin-bib-filter{grid-column:1/-1}.admin-page .admin-search>button{width:100%}.ops-columns{grid-template-columns:1fr}.staff-editor-layout{grid-template-columns:190px minmax(0,1fr);gap:18px}}
@media(max-width:680px){.admin-page .admin-sidebar nav{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-page .admin-sidebar nav button{font-size:10px;padding:10px 2px}.admin-page .photo-batch-toolbar{padding:12px;gap:10px}.admin-page .photo-batch-actions{display:grid;grid-template-columns:1fr 1fr}.admin-page .admin-photo-quick-actions{grid-template-columns:1fr}.stats-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats-card{padding:14px}.stats-card>strong{font-size:23px}.staff-editor-layout{display:flex;flex-direction:column}.staff-account-list{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-account-list>.secondary{grid-column:1/-1}.staff-account{padding:12px}.ops-field input,.ops-field select{font-size:14px}.ops-columns fieldset{padding:15px}}
.admin-page .admin-photo-filter input:focus,.admin-page .admin-photo-filter select:focus{border-color:#6e6e6e;box-shadow:0 0 0 3px #64646412}
.admin-page .opening-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.85fr);gap:32px;align-items:start}
.admin-page .opening-enabled{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;padding:14px;background:#f4f4f4;border-radius:8px}
.admin-page .opening-enabled input{width:16px;height:16px;flex:none}
.admin-page #opening-duration{height:44px;max-width:180px}
.admin-page .opening-image-preview{height:280px;border:1px dashed #e0e0e0;border-radius:10px;text-align:center;padding:15px;color:#8f8f8f;font-size:12px}
.admin-page .opening-image-preview .image-frame{height:100%;width:100%}
.admin-page .opening-image-preview img{object-fit:contain}
.admin-page #opening-settings .card-heading{gap:15px;align-items:flex-start}
.admin-page .album-library-toolbar{margin-bottom:14px}
.admin-page .album-date-range{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.admin-page .album-date-range label{display:grid;gap:6px;flex:0 1 175px;min-width:0;color:#757575;font-size:12px}
.admin-page .album-date-range input{box-sizing:border-box;width:100%;min-width:0;min-height:42px;padding:8px 10px;border:1px solid #e2e2e2;border-radius:8px;background:#fff;color:#444444;font:inherit;font-size:13px}
.admin-page .album-date-range input:focus-visible{outline:2px solid #9e9e9e;outline-offset:2px}
.admin-page .album-date-range .text-button{min-height:42px;white-space:nowrap}
.admin-page .album-date-error{margin:-10px 0 16px}
.admin-page .album-library-empty{grid-column:1/-1;padding:50px 20px;text-align:center;color:#8d8d8d}
@media(max-width:680px){.admin-page .album-date-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-page .album-date-range label{font-size:12px}.admin-page .album-date-range input{font-size:14px}.admin-page .album-date-range .text-button{grid-column:1/-1;justify-self:start}}
.admin-page #opening-settings .card-heading>.secondary{flex:none}
.admin-page .bib-ocr-dialog{width:min(800px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto}
.admin-page .bib-ocr-result{padding:18px 0;border-top:1px solid var(--line);display:flow-root;overflow-wrap:anywhere}
.admin-page .bib-ocr-result h3{font-size:15px;line-height:1.6;margin:0 0 12px}
.admin-page .bib-ocr-thumbnail{width:120px;max-width:35%;float:left;margin:0 18px 12px 0;border-radius:8px;overflow:hidden}
.admin-page .bib-ocr-thumbnail img{width:100%;height:auto;max-height:180px;object-fit:contain}
.admin-page .bib-ocr-candidates{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.admin-page .bib-ocr-candidate{display:flex;align-items:flex-start;gap:7px;padding:9px 11px;border:1px solid #e2e2e2;border-radius:7px;font-size:12px;line-height:1.6;background:#f9f9f9}
.admin-page .bib-ocr-candidate input{width:16px;height:16px;flex:none;margin-top:1px}
@media(max-width:1200px){.admin-page .admin-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.admin-page .admin-bib-filter{grid-column:1/-1}.admin-page .admin-search>button{width:100%}.admin-page .opening-editor-layout{grid-template-columns:minmax(0,1fr);gap:28px}}
@media(max-width:680px){.admin-page .admin-search{gap:12px 10px}.admin-page .admin-photo-filter input,.admin-page .admin-photo-filter select{font-size:14px}.admin-page .admin-search>button{padding:0 10px}.admin-page #opening-settings .card-heading{flex-wrap:wrap}.admin-page .opening-image-preview{height:230px}}
.admin-page .album-view-options{display:inline-flex;flex:none;padding:3px;border:1px solid var(--line);border-radius:9px;background:#fff}
.admin-page .album-view-options button{min-height:34px;padding:6px 12px;border:0;border-radius:6px;background:transparent;color:#6c6c6c;cursor:pointer}
.admin-page .album-view-options button[aria-pressed="true"]{background:#efefef;color:#444444;font-weight:600}
.admin-page .album-view-options button:focus-visible{outline:2px solid #4e4e4e;outline-offset:1px}
.admin-page .event-list.album-card-grid.album-list-view{grid-template-columns:minmax(0,1fr);gap:10px}
.admin-page .album-list-view .event-card{display:grid;grid-template-columns:90px minmax(130px,2fr) minmax(150px,1fr) minmax(160px,1.4fr);align-items:center;gap:16px;padding:10px 16px}
.admin-page .album-list-view .event-card-cover{order:0;grid-column:1;grid-row:1;width:90px;height:60px;min-height:0;aspect-ratio:auto;border-radius:6px}
.admin-page .album-list-view .event-card-name{grid-column:2;grid-row:1}
.admin-page .album-list-view .event-card-meta{grid-column:3;grid-row:1}
.admin-page .album-list-view .event-card-rule{grid-column:4;grid-row:1}
.admin-page .album-list-view .event-card-name,.admin-page .album-list-view .event-card-meta,.admin-page .album-list-view .event-card-rule{min-width:0;padding:0;overflow-wrap:anywhere}
@media(max-width:950px){.admin-page .album-list-view .event-card{grid-template-columns:76px minmax(0,1fr);gap:4px 12px;padding:10px}.admin-page .album-list-view .event-card-cover{grid-column:1;grid-row:1/4;width:76px;height:64px}.admin-page .album-list-view .event-card-name{grid-column:2;grid-row:1}.admin-page .album-list-view .event-card-meta{grid-column:2;grid-row:2}.admin-page .album-list-view .event-card-rule{grid-column:2;grid-row:3}}
.admin-page .share-qr-settings{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.admin-page .share-qr-controls{display:flex;align-items:end;flex-wrap:wrap;gap:12px}
.admin-page .share-qr-controls label{display:grid;gap:6px;font-size:13px}
.admin-page .share-qr-controls select{min-width:150px}
.admin-page .tag-conflict-actions{display:flex;flex-wrap:wrap;gap:8px}
.admin-page .face-index-management{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.admin-page .face-index-action{display:grid;gap:10px;margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:8px}
.admin-page .face-index-action h4,.admin-page .face-index-action p{margin:0}
.admin-page .face-index-action label{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.admin-page .face-index-action label:has(input[type=checkbox]),.admin-page #batch-labels-form label:has(#batch-labels-change-point){flex-direction:row;align-items:flex-start}
.admin-page .face-index-action input[type=checkbox],.admin-page #batch-labels-change-point{width:16px;height:16px;flex:none;margin-top:2px}
.admin-page .face-index-action input[type="number"],.admin-page .face-index-action input[type="text"],.admin-page .face-index-action input:not([type]),.admin-page .face-index-action select{width:min(100%,320px);min-width:0}
.admin-page .face-index-buttons{display:flex;flex-wrap:wrap;gap:8px}
.admin-page #collections-root{max-width:1000px}.admin-page .collection-admin-list{margin:24px 0}.admin-page .collection-admin-list h3{font-size:15px;margin:0 0 10px}.admin-page .collection-admin-row,.admin-page .collection-member{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff;margin:8px 0}.admin-page .collection-admin-row strong,.admin-page .collection-member>span{flex:1 1 200px;min-width:0;overflow-wrap:anywhere}.admin-page .collection-member-picker{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-page .collection-member-picker select{flex:1;min-width:160px}.admin-page #collections-root>.stack-form{padding:20px;background:#fff;border:1px solid var(--line);border-radius:10px}.admin-page #collections-root>.queue-notice{margin:14px 0}.admin-page #collections-root .card-heading{gap:12px;flex-wrap:wrap}

/* 首页封面保持原比例，通过拖动定位三个不同的显示区域。 */
.cover-focus-section { margin: 28px 0; padding: 22px; border: 1px solid #e6e6e6; border-radius: 12px; background: #fcfcfc; }
.cover-focus-section h3 { margin: 0 0 8px; font-size: 16px; }
.cover-focus-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); gap: 16px; margin: 18px 0; }
.cover-focus-card { min-width: 0; padding: 13px; border: 1px solid #e9e9e9; border-radius: 10px; background: #fff; }
.cover-focus-heading { display:flex; justify-content:space-between; gap:8px; margin-bottom:10px; font-size:12px; color:#404040; }
.cover-focus-heading span { color:#737373; }
.cover-focus-frame { position:relative; overflow:hidden; width:100%; border-radius:8px; background:#eeeeee; cursor:grab; touch-action:none; }
.cover-focus-frame:active { cursor:grabbing; }
.cover-focus-frame img { display:block; width:100%; height:100%; position:absolute; inset:0; object-fit:cover; user-select:none; pointer-events:none; }
.cover-focus-image-error { position:absolute; inset:0; display:grid; place-items:center; padding:10px; color:#6c5a3a; background:#fff5dd; font-size:12px; }
.cover-focus-image-error[hidden] { display:none; }
.cover-focus-ranges { display:grid; gap:8px; margin-top:12px; }
.cover-focus-range { display:flex!important; flex-direction:row!important; align-items:center; gap:10px; color:#737373; font-size:12px; }
.cover-focus-range input { flex:1; min-width:0; accent-color:#646464; }
.admin-page .admin-photo-preview-dialog{width:min(900px,calc(100vw - 32px));max-width:900px;max-height:calc(100vh - 32px);padding:22px;overflow:auto}
.admin-page .admin-photo-preview-dialog .card-heading{margin-bottom:8px}
.admin-page .admin-photo-preview-image{height:min(68vh,700px);background:#f1f1ee;border-radius:8px}
.admin-page .admin-photo-preview-image>img{object-fit:contain}
