.bulk-photo-entry{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 20px;border:1px solid #d9dfce;border-radius:14px;background:#eef0e6;margin:0 0 18px}.bulk-photo-entry p{font-size:12px;line-height:1.6;margin:7px 0 0;max-width:440px}.bulk-photo-entry .save-button{flex-shrink:0;min-height:44px;background:#fffdf8;font-size:12px}
.bulk-photo-dialog{width:min(790px,calc(100% - 28px));max-height:calc(100dvh - 28px);overflow:auto;overscroll-behavior:contain;padding:27px 28px 0;border-radius:19px}.bulk-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.bulk-dialog-heading h2{font-size:36px;margin:13px 0 9px;line-height:1.15}.bulk-dialog-heading>.save-button{min-width:44px;min-height:44px;flex-shrink:0;padding:10px}.bulk-photo-dialog>p{font-size:13px;line-height:1.7}.bulk-initial{text-align:center;border:1px dashed #becbb4;border-radius:17px;padding:26px 20px;background:#f0f1e8;margin:21px 0}.bulk-initial-symbol{font:38px var(--serif);color:#809170}.bulk-initial h3{font:normal 25px/1.2 var(--serif);margin:13px 0}.bulk-initial p{font-size:12px;line-height:1.75}.bulk-file-picker{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;min-height:46px;min-width:180px}.bulk-file-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;padding:0;cursor:pointer}.bulk-file-picker:focus-within{outline:3px solid var(--accent);outline-offset:4px}.bulk-file-picker:has(input:disabled){opacity:.45;cursor:not-allowed}.bulk-capacity{font-size:11px!important;line-height:1.6;margin-bottom:0;color:#596b52}
.bulk-status{font-size:12px;line-height:1.7;overflow-wrap:anywhere;margin:16px 0}.bulk-status:empty{display:none}.bulk-status[data-state=busy],.bulk-status[data-state=success],.bulk-status[data-state=warning],.bulk-status[data-state=error]{padding:12px 15px;border-radius:11px;background:#eef1e7;color:#405547}.bulk-status[data-state=busy]{background:#f2ece1;color:#6b5745}.bulk-status[data-state=warning],.bulk-status[data-state=error]{background:#faeae5;color:#8c3f32;border:1px solid #e8c9bf}.bulk-hint,.bulk-warning{background:#f3ecdf;padding:14px 16px;border:1px solid #e2d6bc;border-radius:12px;font-size:12px;line-height:1.6}.bulk-warning h3{font:normal 24px var(--serif);margin:0 0 10px}.bulk-warning>div{display:flex;gap:9px;flex-wrap:wrap}.bulk-warning p{font-size:12px;margin-top:0}.bulk-warning button{min-height:44px}.bulk-failures{background:#faeee5;border:1px solid #ead7c8;border-radius:12px;padding:13px 16px;font-size:12px;margin:14px 0}.bulk-failures summary{font-weight:600;line-height:1.6;min-height:30px}.bulk-failures ul{padding-left:18px;max-height:150px;overflow:auto;line-height:1.7;overflow-wrap:anywhere}.bulk-failures p{font-size:11px}
.bulk-split{display:flex;align-items:flex-end;gap:13px;margin:21px 0 12px}.bulk-split>label{flex:1;max-width:230px}.bulk-split select,.bulk-move-row select{width:100%;border:1px solid #cbd1c0;background:#fffdf8;color:var(--ink);border-radius:10px;padding:11px 12px;font:inherit;min-height:46px;margin-top:7px}.bulk-split .save-button{min-height:46px;font-size:12px}.bulk-selection-help{font-size:12px;line-height:1.65;margin-bottom:18px}.bulk-moment{padding:17px 18px 18px;border:1px solid #e1ddd2;background:#fffdf8;border-radius:15px;margin:0 0 15px}.bulk-moment-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.bulk-moment-number{font:italic 21px var(--serif);color:var(--accent)}.bulk-moment-heading>span:last-child{font-size:11px;color:var(--soft)}.bulk-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.bulk-photo{position:relative;border:2px solid transparent;border-radius:10px;background:#eeeee4;padding:0;aspect-ratio:1;overflow:hidden;min-width:0}.bulk-photo img{display:block;width:100%;height:100%;object-fit:cover}.bulk-photo.is-selected{border-color:var(--ink);box-shadow:0 0 0 2px #dbe4d2}.bulk-photo-check{position:absolute;top:7px;right:7px;display:flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;background:#faf7f1e8;color:var(--ink);font-size:15px;box-shadow:0 1px 4px #293d3525}.bulk-photo.is-selected .bulk-photo-check{background:var(--ink);color:white}.bulk-moment-fields{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:14px;margin-top:15px}.bulk-moment-fields label>span{font-size:10px;color:var(--soft);font-weight:400}.bulk-moment-fields input{margin-top:6px;background:#faf9f4}.bulk-moment-fields input[type=date]{width:100%;min-width:0;max-width:100%}
.bulk-dialog-footer{display:block;position:sticky;bottom:0;margin:22px -28px 0;padding:15px 28px max(15px,env(safe-area-inset-bottom));background:#faf7f1f7;backdrop-filter:blur(12px);border-top:1px solid #d7ddcd;font-size:12px;z-index:3}.bulk-dialog-footer #bulk-photo-normal-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.bulk-dialog-footer #bulk-photo-summary{font-size:12px;line-height:1.5;margin:0}.bulk-dialog-footer #bulk-photo-normal-actions>div{display:flex;gap:10px;flex-shrink:0}.bulk-dialog-footer button{min-height:44px}.bulk-dialog-footer .primary{font-size:12px;white-space:normal}.bulk-selection-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.bulk-selection-heading strong{font-size:12px;color:var(--ink)}.bulk-selection .text-button{min-height:40px;font-size:11px}.bulk-move-row{display:flex;align-items:center;gap:10px}.bulk-move-row select{margin:0;flex:1;min-width:0;font-size:12px}.bulk-move-row .primary{flex-shrink:0;padding:13px 18px}.bulk-selection>.text-button{display:block;margin-top:4px;text-align:left}.bulk-photo-dialog .sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.bulk-photo-entry{display:block;padding:16px 17px}.bulk-photo-entry p{margin:7px 0 13px}.bulk-photo-entry .save-button{width:100%;font-size:12px}.bulk-photo-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:22px 17px 0;border-radius:17px}.bulk-dialog-heading h2{font-size:30px;line-height:1.13}.bulk-dialog-heading{gap:10px}.bulk-photo-dialog>p{font-size:12px}.bulk-initial{padding:20px 15px}.bulk-initial h3{font-size:24px}.bulk-file-picker{width:100%}.bulk-split{gap:10px}.bulk-split select,.bulk-move-row select{font-size:16px}.bulk-moment{padding:15px 12px}.bulk-photo-grid{gap:7px}.bulk-photo-check{width:25px;height:25px;top:5px;right:5px}.bulk-moment-fields{grid-template-columns:1fr;gap:13px}.bulk-moment-fields input{font-size:16px}.bulk-dialog-footer{margin:19px -17px 0;padding:12px 17px max(12px,env(safe-area-inset-bottom))}.bulk-dialog-footer #bulk-photo-normal-actions{display:block}.bulk-dialog-footer #bulk-photo-normal-actions>div{margin-top:10px;gap:8px}.bulk-dialog-footer #bulk-photo-normal-actions>div>.primary{flex:1}.bulk-dialog-footer #bulk-photo-normal-actions>div>.save-button{font-size:12px}.bulk-dialog-footer #bulk-photo-summary{font-size:11px}.bulk-move-row .primary{padding:12px 14px}.bulk-warning>div{flex-direction:column}.bulk-warning>div button{width:100%}.bulk-status{font-size:12px}}
@media print{.bulk-photo-entry,.bulk-photo-dialog{display:none!important}}
