:root{font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;color:#302b3a;background:#faf9fc;font-synthesis:none;--accent:#756091;--light:#eee8f5;--muted:#89828f;--border:#e7e2ec}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--border);background:white;color:inherit;padding:11px 16px;border-radius:10px;font-size:13px;transition:background .16s}button:hover{background:#f2edf6}button:disabled{opacity:.38;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b6a1d0;outline-offset:3px}a{text-decoration:none;color:inherit}input:not([type=checkbox]){display:block;width:100%;padding:13px;border:1px solid var(--border);border-radius:9px;margin-top:8px;background:white;color:#302b3a}input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px}label{display:block;font-size:13px;line-height:1.5}h1,h2,h3,p{margin:0}h1{font-size:32px;letter-spacing:-1.3px;font-weight:650;line-height:1.35}h2{font-size:21px;letter-spacing:-.6px}h3{font-size:16px}.muted{color:var(--muted);font-size:14px;line-height:1.8}.eyebrow{display:block;font-size:10px;letter-spacing:2px;color:var(--accent);font-weight:650}.primary{background:var(--accent);color:white;border-color:var(--accent)}.primary:hover{background:#66517f}.quiet{background:transparent;border-color:transparent;color:var(--muted)}.danger{color:#a34558}.error{font-size:13px;color:#ad405b;min-height:18px}.wordmark{font-size:30px;font-weight:750;letter-spacing:-1.5px;white-space:nowrap}.wordmark span{font-weight:300;color:var(--accent)}[hidden]{display:none!important}.login-page{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.login-art{background:#eee8f2;padding:55px 10%;display:flex;flex-direction:column;justify-content:space-between;gap:45px}.login-art>p{font-size:13px;color:#80748c}.frame-art{border:1px solid #cfc2dc;padding:20px;max-width:430px;transform:rotate(-4deg);aspect-ratio:4/5;background:#f5eff8}.frame-inner{height:100%;background:linear-gradient(140deg,#ddd0e6,#c5c0dc 50%,#ede4e2);display:flex;flex-direction:column;justify-content:space-between;padding:28px;position:relative}.frame-inner:after{content:'';position:absolute;width:70%;height:55%;border:1px solid #ffffff80;border-radius:50% 50% 0 0;bottom:0;right:15%}.frame-inner span{font-size:28px;line-height:1.65;font-weight:350;color:#615373;z-index:1}.frame-inner small{font-size:9px;letter-spacing:2px;color:#615373;z-index:1}.login-form{width:min(370px,80%);margin:auto;display:grid;gap:24px;padding:60px 0}.login-form h1{font-size:38px;margin-top:12px}.login-form>p{margin-top:-12px}.login-form>.primary{display:flex;justify-content:space-between;padding:15px}.login-form>small{font-size:11px;margin-top:5px}#sidebar{width:260px;position:fixed;inset:0 auto 0 0;background:#f3eff7;border-right:1px solid var(--border);padding:34px 22px 20px;display:flex;flex-direction:column;z-index:20}#sidebar>.eyebrow{font-size:9px;letter-spacing:1px;margin:8px 0 34px}.nav-main{text-align:left;background:var(--accent);color:white;border:0;padding:14px}.nav-main:hover{background:#66517f}.section-label{display:flex;justify-content:space-between;margin:34px 6px 15px;color:#948a9e;font-size:9px;letter-spacing:1.5px}#albumNav{overflow-y:auto;flex:1;min-height:60px;margin:0 -6px;padding:0 6px}#albumNav button{display:block;border:0;width:100%;text-align:left;margin:0 0 8px;background:transparent;padding:13px 12px}#albumNav button.active{background:white;box-shadow:0 3px 10px #57436b08}#albumNav time{display:block;font-size:10px;color:#9a8da7;margin-bottom:6px;letter-spacing:1px}#albumNav strong{font-size:13px;font-weight:550;overflow-wrap:anywhere}.side-bottom{padding-top:20px;margin-top:15px;border-top:1px solid #ded7e6}.side-bottom>button{display:block;padding:9px 3px;border:0;background:transparent;font-size:12px;color:#786a86}.identity{display:flex;align-items:center;justify-content:space-between;margin-top:20px;font-size:12px}.identity button{font-size:10px;padding:6px 8px;background:transparent}.identity span{font-weight:650}main{margin-left:260px;padding:0 48px 80px;max-width:1800px}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}#breadcrumb{font-size:10px;color:#948a9e;letter-spacing:1.5px}.private-note{font-size:11px;color:#a197aa}.icon-button{padding:7px 12px;font-size:24px;background:transparent;border:0}#menuBtn{display:none}.page-title{padding:46px 0 28px}.page-title>.eyebrow{margin-bottom:12px}.page-title p{margin-top:12px}.title-line{display:flex;align-items:center;gap:12px}.title-line h1{overflow-wrap:anywhere}.gallery-actions{display:flex;justify-content:flex-start;align-items:center;gap:10px;flex-wrap:wrap}.gallery-actions button{font-size:11px}.filter-bar{display:flex;gap:7px;border-bottom:1px solid var(--border);padding-bottom:23px;flex-wrap:wrap}.filter-bar button{font-size:12px;padding:11px 15px;border-radius:22px;background:transparent}.filter-bar button.active{background:var(--accent);color:white;border-color:var(--accent)}.tag-toolbar{display:flex;gap:15px;align-items:center;flex-wrap:wrap;padding:18px 0;font-size:11px;color:var(--muted)}.tag-toolbar label{display:flex;align-items:center;gap:5px;font-size:11px}.tag-toolbar button{margin-left:auto;font-size:11px;padding:8px 10px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:30px 22px;margin-top:28px}.photo-card{min-width:0}.photo-open{width:100%;padding:0;background:#eeeaf1;border:0;border-radius:12px;overflow:hidden;display:block;aspect-ratio:4/5;position:relative}.photo-open img{width:100%;height:100%;object-fit:contain;display:block}.photo-open .raw-placeholder{display:grid;place-content:center;height:100%;color:#a49bab;font-size:14px;letter-spacing:2px}.card-info{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}.card-info strong{font-size:11px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-stars{font-size:12px;letter-spacing:1px;white-space:nowrap;color:#a58d6a}.card-tags{display:flex;align-items:center;gap:5px;margin-top:9px;color:var(--muted);font-size:10px;flex-wrap:wrap}.card-tags button{font-size:10px;padding:4px 8px;border:0;background:var(--light)}.load-more{display:block;margin:40px auto}.empty-state{text-align:center;padding:100px 10px;color:var(--muted)}.empty-state>span{font-size:45px;color:#c9bed5}.empty-state h2{margin:24px 0 12px;font-size:19px;color:#6f607e}.empty-state p{font-size:13px;line-height:1.6}.upload-box{border:1px dashed #c8b9d8;border-radius:18px;text-align:center;background:#f5f1f9;padding:60px 25px;max-width:850px;margin:18px auto}.upload-icon{font-size:38px;color:var(--accent);margin-bottom:24px}.upload-box h2{margin-bottom:15px}.upload-box p{font-size:13px;color:var(--muted);line-height:1.8}.upload-controls{display:flex;gap:18px;justify-content:center;align-items:flex-end;margin:35px 0}.upload-controls label{text-align:left;font-size:11px}.upload-controls button{padding:14px 18px;min-height:48px}.upload-box small{font-size:11px;color:#9d91a7;line-height:1.9}.progress-panel{position:fixed;right:24px;bottom:24px;width:min(420px,calc(100vw - 32px));padding:22px;border-radius:14px;background:white;box-shadow:0 8px 60px #302b3a25;z-index:60;border:1px solid var(--border);font-size:12px}.progress-panel>div{display:flex;justify-content:space-between}.progress-panel p{margin-top:12px;overflow-wrap:anywhere;color:var(--muted)}progress{width:100%;height:8px;accent-color:var(--accent);margin:18px 0 8px}.progress-panel button{margin-top:14px;font-size:11px}dialog{border:1px solid var(--border);border-radius:16px;padding:28px;color:inherit;max-width:min(520px,calc(100vw - 30px));max-height:90dvh;overflow:auto;background:#fff}dialog::backdrop{background:#211a2b99;backdrop-filter:blur(5px)}dialog h2{margin-bottom:14px}dialog label{margin:18px 0}dialog .dialog-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.stack{display:grid;gap:12px;margin-top:24px}.check-list{max-height:45dvh;overflow:auto;padding:5px}.check-list label{display:flex;gap:10px;align-items:center}.viewer{width:min(1200px,94vw);max-width:94vw;padding:18px;overflow:auto;background:#fbfafc}.viewer-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-bottom:15px}.viewer-head>button:first-child{font-size:12px}.variant-tabs{display:flex;gap:6px}.variant-tabs button{font-size:12px;padding:10px 16px;background:transparent}.variant-tabs button.active{background:var(--light);color:var(--accent);border-color:#c9badb}.image-stage{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:9px;background:#eeebf0;height:55dvh;scrollbar-width:thin}.image-stage .image-slide{min-width:100%;width:100%;height:100%;scroll-snap-align:center;display:flex;align-items:center;justify-content:center}.image-slide img{max-width:100%;max-height:100%;object-fit:contain}.image-caption{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted);padding:14px 0 4px}.image-caption strong{font-weight:500}.image-caption button{padding:3px 10px}.stars{text-align:center;margin:10px 0 18px}.stars button{border:0;background:transparent;font-size:29px;color:#b29a72;padding:2px 5px}.stars button.clear-stars{font-size:10px;color:var(--muted)}.viewer-footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--border);padding-top:15px}.viewer-footer>div{display:flex;gap:7px;flex-wrap:wrap}.viewer-footer button{font-size:11px}.user-list{max-height:35dvh;overflow:auto}.user-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border);padding:12px 0;font-size:13px}.user-row button{padding:6px 8px;font-size:10px}.user-row>div{display:flex;gap:5px}#newUserForm{border-top:1px solid var(--border);margin-top:24px;padding-top:24px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#44354f;color:white;border-radius:10px;max-width:calc(100vw - 30px);padding:15px 22px;z-index:200;font-size:13px;white-space:pre-line;box-shadow:0 8px 24px #302b3a30}.scrim{position:fixed;inset:0;background:#211a2b55;border:0;border-radius:0;z-index:19}
@media(min-width:1500px){.photo-grid{grid-template-columns:repeat(4,1fr)}}
.person-filter{margin:22px 4px 0;color:#786a86;font-size:11px}.person-filter select{display:block;width:100%;max-width:100%;margin-top:8px;padding:11px 9px;border:1px solid var(--border);border-radius:9px;background:white;color:#302b3a;font:inherit;font-size:13px;touch-action:manipulation}.person-filter:not([hidden])+.section-label{margin-top:22px}select:focus-visible{outline:3px solid #b6a1d0;outline-offset:3px}.album-meta{display:block;font-size:11px;line-height:1.7;color:#897997;margin-bottom:6px;overflow-wrap:anywhere}#albumNav .album-meta time{display:inline;font-size:10px;letter-spacing:0;margin:0;color:inherit}.nav-empty{font-size:12px;color:var(--muted);padding:12px;line-height:1.8}.album-date-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.album-date-row button{padding:6px 10px;font-size:11px}.viewer-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}#compareBtn{font-size:12px;white-space:nowrap}#compareBtn.active{background:var(--accent);color:white;border-color:var(--accent)}.viewer-images{display:grid;grid-template-columns:minmax(0,1fr)}.viewer-images.comparing{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.comparison-pane{min-width:0}.comparison-label{font-size:12px;font-weight:550;text-align:center;margin:0 0 10px;color:var(--accent)}.comparison-image{height:55dvh;border-radius:9px;background:#eeebf0;display:flex;align-items:center;justify-content:center;overflow:hidden}.comparison-image img{max-width:100%;max-height:100%;object-fit:contain}.viewer-images.comparing .image-stage{scroll-behavior:smooth}
@media(max-width:1000px){main{padding:0 26px 70px;margin-left:230px}#sidebar{width:230px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 15px}h1{font-size:27px}.private-note{display:none}.login-art{padding:45px 8%}}
@media(max-width:700px){.login-page{display:block;background:#f5f1f8}.login-art{padding:28px 28px 0;background:transparent}.login-art .frame-art,.login-art>p{display:none}.login-form{width:calc(100% - 56px);max-width:390px;padding:48px 0 60px}.login-form h1{font-size:34px}#sidebar{transform:translateX(-100%);transition:transform .2s;width:270px}#sidebar.open{transform:translateX(0)}main{margin-left:0;padding:0 20px 60px}.topbar{height:65px;justify-content:flex-start;gap:12px}#menuBtn{display:block;padding-left:0}.page-title{padding:28px 0 22px}h1{font-size:25px}.title-line{align-items:flex-start;gap:6px}.title-line button{font-size:10px;white-space:nowrap;padding:8px}.gallery-actions{align-items:flex-start}.gallery-actions p{font-size:11px}.gallery-actions button{padding:8px}.filter-bar{gap:5px;padding-bottom:19px}.filter-bar button{font-size:10px;padding:10px 9px}.photo-grid{gap:25px 12px;margin-top:20px}.photo-open{border-radius:8px}.card-info{flex-direction:column;align-items:flex-start;gap:6px}.card-info strong{max-width:100%}.card-stars{font-size:10px}.upload-box{padding:38px 18px}.upload-controls{flex-direction:column;align-items:stretch}.upload-controls label{width:100%}.upload-box h2{font-size:19px}.upload-box p{font-size:11px}.tag-toolbar{gap:8px}.viewer{width:96vw;max-width:96vw;padding:10px;border-radius:12px}.viewer-head{flex-wrap:wrap;gap:5px}.variant-tabs{order:3;width:100%;justify-content:center}.variant-tabs button{flex:1;font-size:11px;padding:10px 5px}.image-stage{height:48dvh}.viewer-footer button{padding:9px 10px;font-size:10px}.image-caption{font-size:10px}.stars{margin:7px 0 12px}.stars button{font-size:27px}.viewer-footer>div{gap:5px}.progress-panel{right:16px;bottom:16px}dialog{padding:22px}.empty-state h2{font-size:17px}}
@media(max-width:700px){.viewer-actions{gap:2px}.viewer-head>button:first-child{font-size:11px;padding:9px 10px}#compareBtn{font-size:11px;padding:9px 10px}.viewer-images.comparing{gap:7px}.comparison-label{font-size:11px}.comparison-image{height:48dvh}#sidebar{padding-top:24px}#sidebar>.eyebrow{margin-bottom:22px}.person-filter select{font-size:16px}.section-label{flex-shrink:0}}
.viewer-gallery{position:relative}.photo-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:48px;padding:0;border-radius:9px;background:#302b3ab8;color:white;border:1px solid #ffffff55;font-size:23px;line-height:1;z-index:2;box-shadow:0 2px 8px #0002}.photo-nav:hover{background:#302b3ae6}.photo-nav:disabled{opacity:.2}.previous-photo{left:7px}.next-photo{right:7px}.zoom-surface{touch-action:none;overflow:hidden;cursor:zoom-in;user-select:none}.zoom-surface.zoomed{cursor:grab}.zoom-surface.zoomed:active{cursor:grabbing}.zoom-surface img{transform-origin:center;pointer-events:none;user-select:none;will-change:transform}.comparison-slide{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.viewer-help{display:flex;align-items:center;justify-content:center;gap:12px;min-height:32px;font-size:10px;color:var(--muted);margin-top:6px}.viewer-help button{padding:5px 9px;font-size:10px}
@media(max-width:700px){.photo-nav{width:34px;height:42px;font-size:20px}.previous-photo{left:3px}.next-photo{right:3px}.viewer-help{font-size:9px;gap:7px}}
.progress-panel #progressFile,.progress-panel #progressMessage{white-space:pre-line}.progress-panel #progressFile{height:8em;min-height:8em;max-height:8em;line-height:1.6;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.progress-panel #progressMessage{height:4.8em;min-height:4.8em;max-height:4.8em;line-height:1.6;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}#colorPreviewDialog{width:720px;max-width:calc(100vw - 30px)}#colorPreviewList{max-height:48dvh;overflow:auto;margin-top:18px}.color-preview-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;border-bottom:1px solid var(--border);padding:15px 2px}.color-preview-row strong,.color-preview-row>span{grid-column:1/-1;overflow-wrap:anywhere;font-size:12px}.color-preview-row select{min-width:0;width:100%;font:inherit;font-size:12px;padding:9px;border:1px solid var(--border);border-radius:8px;background:white;color:inherit}.color-preview-row button{font-size:11px;padding:8px}.color-preview-row .error{color:#ad405b}#replaceColorLabel{display:flex;gap:9px;align-items:flex-start;font-size:12px}#replaceColors{flex-shrink:0}@media(max-width:700px){.color-preview-row{grid-template-columns:minmax(0,1fr)}.color-preview-row select{font-size:16px}.color-preview-row button{justify-self:end}}
.comment-filter{display:flex;align-items:center;gap:7px;margin:16px 0 0;font-size:11px;flex-shrink:0}.comment-filter input{flex-shrink:0}.comment-filter+.section-label{margin-top:22px}.comment-badge{display:inline-block;background:#eee5f7;border:1px solid #d6c5e7;color:#695080;border-radius:3px;font-size:10px;padding:2px 5px;line-height:1.4;margin-right:6px;white-space:nowrap}.card-comment{margin-top:8px}.photo-name-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.photo-badges{display:inline-flex;gap:4px;flex-wrap:wrap}.version-badge{display:inline-block;font-size:10px;line-height:1.4;white-space:nowrap;padding:2px 5px;border:1px solid #ddd7e3;border-radius:3px;font-weight:500}.badge-original{background:white;color:#6d6675}.badge-color{background:#e2f2fd;color:#3b6783;border-color:#c8e3f5}.badge-retouch{background:#fff0de;color:#946336;border-color:#f1d7b7}.card-info{flex-wrap:wrap;align-items:flex-start}.viewer-rating-row{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin:10px 0 16px}.viewer-rating-row .stars{margin:0}.viewer-tag-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.viewer-tag-tools button{padding:6px 10px;font-size:11px}.viewer-help{min-height:0;margin-top:0}.viewer-help:has(button:not([hidden])){margin-top:6px}.comments-section{border-top:1px solid var(--border);padding-top:20px;margin-top:20px}.comments-section h3{font-size:15px}.comment-list{display:grid;gap:12px;margin:15px 0;max-height:36dvh;overflow:auto}.comment-item{padding:14px;border:1px solid var(--border);border-radius:9px;background:white}.comment-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}.comment-meta time{font-size:10px;color:var(--muted)}.comment-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;margin:9px 0 12px}.comment-statuses{display:flex;gap:5px;flex-wrap:wrap}.comment-status{font-size:11px;border:1px solid var(--border);border-radius:5px;padding:6px 10px;color:#897f90;background:#faf9fc}.comment-status.active{background:#eee5f7;color:#6b4c85;border-color:#d8c6e8}.status-reviewed.active{background:#e2f2fd;color:#386583;border-color:#c8e3f5}.status-done.active{background:#e6f4ea;color:#437250;border-color:#cbe4d2}#commentForm{display:grid;gap:9px}#commentForm label{margin:0;font-size:12px}#commentBody{resize:vertical;min-height:80px;max-height:35dvh;width:100%;border:1px solid var(--border);border-radius:9px;padding:12px;font:inherit;font-size:13px;background:white;color:inherit}#commentBody:focus-visible{outline:3px solid #b6a1d0;outline-offset:2px}#commentSubmit{justify-self:end;padding:9px 16px;font-size:12px}
@media(max-width:700px){.viewer-rating-row{gap:7px;margin:8px 0 12px}.viewer-tag-tools{font-size:11px;justify-content:center}.version-badge{font-size:9px}.photo-name-row{gap:4px}.comments-section{padding-top:15px;margin-top:15px}#commentBody{font-size:16px}.comment-list{max-height:40dvh}.comment-meta{gap:6px}}
.view-options,.sort-options{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.filter-bar{align-items:center}.filter-divider{padding:0 7px;color:#b7abbe}.sort-options label{display:flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap}.upload-controls{flex-wrap:wrap}.upload-box.dragging{border-color:var(--accent);background:#e9dff5}#commentsDialog{width:620px;max-width:calc(100vw - 30px)}#commentsDialog .comments-section{border:0;margin:0;padding:0}#downloadNote{margin-top:20px}.download-link{font-size:13px;text-decoration:underline;overflow-wrap:anywhere}#foldersDialog{width:600px;max-width:calc(100vw - 30px)}@media(max-width:700px){.sort-options label{font-size:11px}.filter-divider{padding:0 2px}.sort-options{gap:4px}}
.zoom-surface img{max-width:none;max-height:none;flex:none;will-change:auto;image-rendering:auto}.viewer-help{gap:10px;margin:8px 0;font-size:11px}.viewer-help:has(#actualSize){min-height:30px}#actualSize{padding:5px 9px;font-size:11px}
.album-id{font-size:10px;color:var(--muted)}#hiddenPhotosBtn{margin-left:auto}#tagToolbar button{margin-left:0}#tagSelectedBtn{margin-left:auto!important}.trash-toolbar{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin:20px 0;font-size:12px}.trash-toolbar label{display:flex;gap:7px;align-items:center}.trash-row{display:flex;gap:14px;align-items:flex-start;padding:18px 8px;border-bottom:1px solid var(--border)}.trash-details{display:grid;gap:7px;min-width:0;overflow-wrap:anywhere}.trash-details span,.trash-details small{font-size:12px;color:var(--muted)}.restore-options{display:grid;gap:8px;margin:20px 0}.restore-options .active{background:var(--accent);color:white}#restoreAlbum{width:100%;padding:12px;border:1px solid var(--border);border-radius:9px;margin-top:8px;font:inherit}.title-line{flex-wrap:wrap}.empty-state h2{white-space:pre-line}#welcomeMessage{white-space:pre-line}@media(max-width:700px){#hiddenPhotosBtn{margin-left:0}.trash-row{gap:8px}.trash-toolbar{gap:8px}#restoreAlbum{font-size:16px}.album-id{font-size:9px}.tag-toolbar button{font-size:10px}}
/* Album-scoped people and automatic full-library loading. */
.album-person-label{gap:8px!important}.album-person-label select{font:inherit;font-size:12px;color:var(--accent);background:white;border:1px solid var(--border);border-radius:9px;padding:8px;min-width:120px;max-width:210px}.toolbar-divider{color:#c8bed2}.photo-load-status{font-size:11px;color:var(--muted);margin:10px 0 -10px}
/* Both comparison panes retain full dimensions; clipping moves only the reveal boundary. */
.comparison-modes{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px}.comparison-modes>div{display:flex;gap:7px}.comparison-modes button{font-size:12px;padding:9px 13px}.comparison-modes button.active{color:var(--accent);background:var(--light);border-color:#c9badb}#splitControl{display:flex;align-items:center;gap:9px;margin:0;font-size:11px;color:var(--muted)}#compareSplit{width:140px;padding:0;margin:0;accent-color:var(--accent);cursor:ew-resize}.viewer-images{position:relative;--split:50%}.viewer-images.overlay{grid-template-columns:minmax(0,1fr);gap:0;isolation:isolate}.viewer-images.overlay>.comparison-pane{grid-area:1/1;min-width:0}.viewer-images.overlay #comparisonBase{clip-path:inset(0 calc(100% - var(--split)) 0 0);z-index:2}.viewer-images.overlay #retouchPane{clip-path:inset(0 0 0 var(--split));z-index:1}.viewer-images.overlay::after{content:'';position:absolute;z-index:3;pointer-events:none;top:0;bottom:0;left:var(--split);width:2px;background:#fff;box-shadow:0 0 0 1px #302b3a80;transform:translateX(-1px)}.viewer-images.overlay #comparisonLabel{text-align:left;padding-left:12px}.viewer-images.overlay #retouchLabel{text-align:right;padding-right:12px}.viewer-images.overlay .image-stage{scroll-behavior:auto}.viewer-images.comparing .image-stage{scrollbar-width:none}.viewer-images.comparing .image-stage::-webkit-scrollbar{display:none}
@media(max-width:700px){.album-person-label select{font-size:16px;max-width:160px;min-width:115px}.comparison-modes{gap:8px}.comparison-modes button{font-size:11px;padding:8px 10px}#splitControl{width:100%;justify-content:center}#compareSplit{width:180px}.comparison-label{min-height:14px}}

/* Personal progress on a shared group portrait. */
.album-title{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.album-title strong{min-width:0}.retouch-badge{display:inline-flex;align-items:center;flex-shrink:0;border:1px solid #efc8a2;border-radius:4px;background:#fff0de;color:#895523;padding:3px 5px;font-size:10px;font-weight:600;line-height:1.2;white-space:nowrap}.retouch-progress{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 17px 14px}.retouch-progress button{font-size:11px;padding:7px 10px}#retouchDoneBtn{background:#fff0de;border-color:#efc8a2;color:#895523}

/* The action bar is outside the scrollable photo content. */
.viewer[open]{display:flex;flex-direction:column;overflow:hidden;max-height:94dvh;padding:0}.viewer-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px 18px 0}.viewer-footer{flex:none;position:relative;z-index:5;align-items:flex-end;background:#fbfafc;padding:12px 18px max(12px,env(safe-area-inset-bottom));box-shadow:0 -6px 16px #302b3a08}.viewer-footer>div{flex:1;min-width:0}.viewer-footer>.close-dialog{flex-shrink:0}.viewer-footer button{min-height:40px;white-space:nowrap}.viewer-info{display:flex;align-items:center;gap:12px;white-space:nowrap;overflow-x:auto;padding:10px 0;scrollbar-width:thin}.viewer-info .image-caption{flex:0 0 auto;flex-wrap:nowrap;gap:8px;padding:0}.viewer-info .photo-name-row{flex-wrap:nowrap;white-space:nowrap}.viewer-info .viewer-help{flex:0 0 auto;gap:8px;min-height:0!important;margin:0!important}.viewer-info #viewerFilename{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-info #carouselControls{display:flex;align-items:center;gap:5px}.viewer-info .viewer-help button{white-space:nowrap}.viewer-rating-row{margin-top:4px}
@media(max-width:700px){.viewer[open]{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0}.viewer-body{padding:10px 10px 0;flex:1}.viewer-footer{padding:9px 10px max(9px,env(safe-area-inset-bottom));gap:6px}.viewer-footer button{padding:9px 10px}.viewer-info{gap:9px;padding:8px 0}.viewer-info .image-caption{font-size:10px;gap:7px}.viewer-info #viewerFilename{max-width:150px}.viewer-info .viewer-help{font-size:10px}}

body:has(#viewer[open]){overflow:hidden}@media(max-width:700px){.viewer[open]{width:100%;max-width:100%}}

/* Keep the reveal control under the photo and limit its track to a compact middle region. */
#splitControl{width:60%;max-width:420px;min-width:180px;flex-direction:column;gap:4px;margin:10px auto 2px}#compareSplit{width:100%;min-width:0;margin:0;height:24px}
@media(max-width:700px){.viewer-info{flex-wrap:wrap;white-space:normal;overflow:visible;justify-content:space-between;gap:8px}.viewer-info #actualSize,.viewer-info #zoomPercent{display:none}.viewer-info .image-caption{flex:1 1 180px;min-width:0;max-width:100%;flex-wrap:wrap;justify-content:flex-start;white-space:normal;row-gap:5px}.viewer-info .photo-name-row{min-width:0;max-width:100%;flex-wrap:wrap;white-space:normal}.viewer-info #viewerFilename{max-width:100%;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.viewer-info .viewer-help{flex:0 0 auto}.viewer-info #resetZoom{min-height:36px}#splitControl{margin-top:8px}}

/* Dock file information and ratings above the action bar; let mobile photos fill the remainder. */
.viewer-details{flex:none;padding:0 18px;background:#fbfafc;min-width:0}
#mobileDownloadDialog p{line-height:1.8;font-size:14px}#mobileDownloadDialog h2{font-size:18px;line-height:1.5}.download-notice-option{display:flex;align-items:center;gap:8px;font-size:12px}#mobileDownloadDialog .dialog-footer{flex-wrap:wrap}#mobileDownloadDialog .dialog-footer button{font-size:12px}
@media(max-width:700px){
 .viewer-details{padding:0 10px}
 .viewer-body{display:flex;flex-direction:column}
 .viewer-head,.comparison-modes,#splitControl{flex:none}
 .viewer-gallery{flex:1 0 120px;min-height:120px}
 .viewer-images{height:100%;min-height:0}
 .comparison-pane{display:flex;flex-direction:column;min-height:0}
 .comparison-label{flex:none}
 .image-stage,.comparison-image{height:auto;flex:1;min-height:0}
 .viewer-info{padding:7px 0}.viewer-rating-row{margin:2px 0 8px}
}

/* People and selection precede the photo, while file details stay beneath it. */
.photo-card>.card-tags{border-top:0;border-bottom:0;margin:0;padding:11px 14px;min-height:43px;align-items:center}.card-tags button,.card-tag-names{white-space:normal;overflow-wrap:anywhere;text-align:left;line-height:1.5}.card-tags input{flex:none}.card-tag-names{font-size:12px;color:var(--muted)}.card-info>.photo-name-row{flex:1;min-width:0}.card-info .card-stars{flex:none;white-space:nowrap}

/* Compact library heading; keep the mobile menu reachable. */
#sidebar{padding-top:12px}
.library-type-actions{display:flex;align-items:stretch;gap:6px;flex-shrink:0;margin-top:10px;min-width:0}.library-type-actions>button{flex:1 1 0;min-width:0;padding:9px 4px;min-height:50px;border-radius:9px;font-size:12px;line-height:1.4;text-align:center;white-space:nowrap}.library-kind-button{background:var(--light);color:var(--accent);border-color:var(--border)}.library-kind-button:hover{background:var(--light);border-color:var(--accent)}.library-kind-button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.library-type-actions>.library-share-button{flex-grow:1.35;background:#e7f4ee;border-color:#b7d7c8;color:#28664e}.library-type-actions>.library-share-button:hover{background:#d6ecdf;border-color:#81b49c}.library-access-divider{flex:0 0 1px;background:var(--border);margin:5px 0}.side-bottom>#videoNavBtn,.side-bottom .side-button-row>#videoNavBtn{font-size:12px}
.topbar{display:none}
#galleryPage>.page-title{padding:18px 0 22px}
@media(min-width:701px){
    #tagsDialog{width:900px;max-width:calc(100vw - 48px)}
    #tagUsers{display:grid;grid-auto-flow:column;grid-template-rows:repeat(var(--tag-rows,1),minmax(36px,auto));grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 18px;max-height:60dvh;margin-top:14px}
    #tagUsers label{margin:0;padding:6px 4px;min-height:36px;overflow-wrap:anywhere}
    #tagUsers input{flex-shrink:0}
}
@media(max-width:700px){
    .topbar{display:flex;height:42px;border-bottom:0}
    #galleryPage>.page-title{padding-top:0}
}
@media(min-width:701px){
    #tagsDialog[open]{display:flex;flex-direction:column;overflow:hidden}
    #tagUsers{flex:1;min-height:0}
    #tagsDialog>.dialog-footer{flex-shrink:0;margin-top:18px}
}

.photo-list-summary{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:10px 0 -10px}
.photo-list-summary .photo-load-status{margin:0}
#missingColorLabel{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
@media(max-width:700px){.viewer-info #requestColorBtn{min-height:36px}.viewer-info .viewer-help{flex-wrap:wrap;max-width:100%}}

.gallery-actions{justify-content:flex-end}
#guideDialog{width:650px;max-width:calc(100vw - 30px)}
#guideDialog[open]{display:flex;flex-direction:column;overflow:hidden}
.guide-content{overflow-y:auto;min-height:0;padding-right:8px;font-size:14px;line-height:1.8}
.guide-content section+section{margin-top:20px}.guide-content h3{margin-bottom:6px}.guide-content p+p{margin-top:8px}
.guide-example{color:var(--muted);font-size:12px}
#guideDialog>.dialog-footer{flex-shrink:0;margin-top:18px}
@media(max-width:700px){#guideDialog{padding:20px;max-height:90dvh}.guide-content{font-size:13px}#ackGuide{min-height:42px}}

.slow-banner{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 18px;background:#eee8f5;border-bottom:1px solid #d8cde4;font-size:13px;min-height:50px}.slow-banner button{padding:7px 12px;white-space:nowrap}body.slow-mode{padding-top:50px}.viewer.slow-mode .viewer-body{padding-top:50px}#slowPrompt{max-width:min(460px,calc(100vw - 24px))}#slowPrompt h2{font-size:19px;line-height:1.5}#slowPrompt p{margin:16px 0}

body.slow-mode #sidebar{top:50px}

/* Keep version changes immediate and preserve the active controller view. */
.image-stage{overflow-x:hidden;scroll-snap-type:none;scroll-behavior:auto!important}
.viewer-info{justify-content:center;flex-wrap:wrap;text-align:center;overflow:visible;white-space:normal}
.viewer-info .image-caption{flex:0 1 auto;max-width:100%;flex-wrap:wrap;justify-content:center;text-align:center}
.viewer-info .viewer-help{justify-content:center;flex-wrap:wrap}
.viewer-info #carouselControls{flex-basis:100%;justify-content:center}
.retouch-uploader{text-align:center;font-size:12px;color:var(--muted);padding:2px 0 7px}

.viewer-info{flex-direction:column;gap:6px}.viewer-info .image-caption{flex:initial;width:100%}

/* Keep metadata and zoom tools on the same line when space permits. */
.viewer-info{display:block;padding:7px 0}.viewer-info .image-caption{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;width:100%}
.viewer-info .viewer-help{display:inline-flex;align-items:center;flex:0 0 auto;flex-wrap:nowrap;gap:7px}
.viewer-info #carouselControls{flex-basis:100%;justify-content:center}
@media(max-width:700px){.viewer-info #actualSize,.viewer-info #zoomPercent{display:inline-flex}.viewer-info .image-caption{font-size:10px;gap:5px}.viewer-info .viewer-help{gap:5px}.viewer-help button{font-size:10px;padding:6px 8px;min-height:30px}}

.side-button-row{display:flex;gap:8px}.side-button-row>button{flex:1;min-width:0;white-space:nowrap;padding:9px 5px}.photo-card .card-info{align-items:flex-start;flex-wrap:wrap;gap:7px}.photo-card .card-tags{display:inline-flex;gap:6px;padding:0;margin:0;min-height:0;border:0;align-items:center}.photo-card .card-tags button{padding:0;border:0;background:transparent;font-size:11px}.photo-card .card-tag-names{font-size:11px}.photo-card .photo-name-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.staff-hide{font-size:11px;padding:6px 10px;margin-top:8px}.zoom-surface{position:relative}.zoom-navigator{position:absolute;right:12px;bottom:12px;width:110px;max-height:150px;max-width:25%;border:1px solid #fff9;box-shadow:0 2px 12px #0005;background:#222;opacity:0;transition:opacity .45s ease;pointer-events:none;overflow:hidden;z-index:5}.zoom-navigator.visible{opacity:1;transition:none}.zoom-navigator img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;transform:none!important;object-fit:fill!important;max-width:100%!important;max-height:100%!important}.zoom-navigator-viewport{position:absolute;border:2px solid #ff3434;background:transparent;box-sizing:border-box}

.photo-badges .needs-retouch-badge{background:#c73547;color:#fff;border-color:#c73547}.card-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;margin-top:10px}.card-actions button{font-size:11px;padding:7px 10px;white-space:nowrap}.card-actions .staff-hide{margin:0}.photo-card.pending-hidden .photo-open{background:#333}.photo-card.pending-hidden .photo-open img{filter:grayscale(1) brightness(.35) blur(5px)}.photo-card.pending-hidden .raw-placeholder{filter:brightness(.35) blur(3px)}#hidePhotoDialog{width:430px;max-width:calc(100vw - 28px)}#hidePhotoDialog h2{font-size:20px}#hidePhotoDialog p{font-size:14px;line-height:1.7;margin:14px 0}#hidePhotoDialog>label{display:flex;align-items:center;gap:8px;font-size:13px}#hidePhotoDialog .dialog-footer{justify-content:flex-end}@media(max-width:700px){.card-actions{gap:5px}.card-actions button{font-size:10px;padding:7px 8px}}

.viewer-comment-actions{display:inline-flex;align-items:center;gap:5px;flex-wrap:nowrap;flex-shrink:0}

.tag-heading{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.tag-heading h2{margin:0}.tag-search{display:flex;align-items:center;gap:7px;margin:0;font-size:13px}.tag-search input{width:150px;min-width:80px;padding:8px 10px}.tag-admin-toggle{display:flex;align-items:center;gap:6px;margin:0 0 0 auto;font-size:12px;white-space:nowrap}.tag-admin-toggle input{width:auto}.users-tab-nav{display:flex;gap:8px;margin:12px 0 18px}.users-tab-nav [aria-selected=true]{background:var(--accent);color:white}.users-search{display:flex;align-items:center;gap:9px;margin:8px 0 14px}.users-search input{flex:1;min-width:0}#usersMenuToggle{display:none}#hiddenAlbumsBtn{width:100%}#hiddenAlbumsDialog{width:650px;max-width:calc(100vw - 28px)}.hidden-albums-table{overflow:auto;max-height:60dvh}.hidden-albums-table table{width:100%;border-collapse:collapse;font-size:13px}.hidden-albums-table th,.hidden-albums-table td{padding:10px 8px;border-bottom:1px solid var(--border);text-align:left;overflow-wrap:anywhere}.hidden-albums-table th:first-child,.hidden-albums-table td:first-child{white-space:nowrap}.hidden-albums-table button{white-space:nowrap;font-size:12px;padding:7px 10px}#folderActionMessage{white-space:pre-line;line-height:1.8}#renameAlbumName{width:100%}@media(max-width:700px){#usersMenuToggle{display:block;width:100%;text-align:left;margin:10px 0}#usersDialog:not(.menu-open) .users-tab-nav{display:none}.users-tab-nav{flex-direction:column}.tag-heading{gap:9px}.tag-heading h2{font-size:18px}.tag-search{order:3;width:100%}.tag-search input{flex:1;width:auto;font-size:16px}.tag-admin-toggle{font-size:11px}.users-search input{font-size:16px}.hidden-albums-table th,.hidden-albums-table td{padding:8px 5px;font-size:12px}}

.create-folder-form{display:grid;grid-template-columns:180px minmax(180px,1fr) auto;gap:14px;align-items:end;margin-top:20px}.create-folder-form button{min-height:46px}.created-folder-drop{border:2px dashed var(--border);padding:32px 16px;margin:20px 0;border-radius:12px}.created-folder-drop.dragging{border-color:var(--accent);background:var(--light)}#createdFolderUpload{margin-top:24px}@media(max-width:700px){.create-folder-form{grid-template-columns:1fr}.created-folder-drop{padding:24px 12px}}

#supplementOriginalBtn{background:#e9e9ed;border-color:#d3d3db;color:#484850}#supplementOriginalBtn:hover{background:#ddddE4}#albumUploadBtn{background:#e1f1ff;border-color:#bcdcf3;color:#315e7d}#albumUploadBtn:hover{background:#d0e8fc}

.session-loading{min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;color:var(--muted)}#progressMessage{white-space:pre-wrap;overflow-wrap:anywhere;max-height:35vh;overflow:auto}#progressOperation{display:block;font-size:12px;color:var(--muted)}#originalMatchDialog p{margin:14px 0}
.library-loading-page{min-height:50dvh;display:flex;align-items:center;justify-content:center;padding:40px 12px;color:var(--muted);text-align:center;line-height:1.8}
@media(min-width:701px){#libraryVideoFilterDialog.event-filter-dialog{width:900px;max-width:calc(100vw - 48px)}#libraryVideoFilterDialog.event-filter-dialog[open]{display:flex;flex-direction:column;overflow:hidden}#libraryVideoFilterDialog.event-filter-dialog>form{display:flex;flex-direction:column;min-height:0;max-height:100%}#libraryVideoFilterChoices.event-filter-columns{display:grid;grid-auto-flow:column;grid-template-rows:repeat(var(--event-filter-rows,1),minmax(36px,auto));grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 18px;max-height:50dvh;min-height:0;flex:1}#libraryVideoFilterChoices.event-filter-columns label{margin:0;padding:6px 4px;min-height:36px}#libraryVideoFilterDialog.event-filter-dialog .dialog-footer{flex-shrink:0}}
.library-video-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px}.library-video-filters button{min-width:0;padding:9px 3px;font-size:12px;overflow-wrap:anywhere}.library-video-filters button.active{background:var(--light);border-color:var(--accent);color:var(--accent)}.video-archive-meta-top{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 14px}.video-archive-meta-top .video-album-date-row{margin:0;flex:0 0 auto}.video-archive-meta-top .video-album-date-row>*{white-space:nowrap}.video-archive-meta-top>.video-metadata-row{margin:0;flex:1 1 auto;min-width:0}.video-metadata-row{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 14px}.video-metadata-badge{display:inline-flex;align-items:center;max-width:100%;border:1px solid var(--border);border-radius:7px;padding:7px 10px;font-size:12px;line-height:1.5;overflow-wrap:anywhere;background:var(--light);color:var(--accent)}.metadata-event{background:#e7f4fd;color:#225f86}.metadata-team{background:#ecf4ed;color:#356744}.metadata-people{background:#fff0f4;color:#9b3d61}.video-nav-taxonomy{display:flex;flex-wrap:wrap;gap:5px;margin:5px 0 7px}.video-nav-taxonomy .video-kind,.video-event-badge{max-width:100%;font-size:10px;line-height:1.5;padding:2px 5px;overflow-wrap:anywhere;white-space:normal}.video-event-badge{background:#e7f4fd;color:#225f86;border-radius:4px}#videoMetadataForm select{display:block;width:100%;min-width:0;font:inherit;padding:11px;margin-top:8px;border:1px solid var(--border);border-radius:9px;background:white;color:inherit}.video-event-create{padding:12px;background:#f6f5f8;border-radius:10px}.video-event-create summary{cursor:pointer;font-size:13px}#videoMetadataStatus,#videoEventCreateStatus,#libraryVideoFilterStatus{white-space:pre-line}#libraryVideoFilterChoices{min-width:min(330px,65vw)}#libraryVideoFilterChoices label{align-items:flex-start;overflow-wrap:anywhere}#libraryVideoFilterChoices input{flex:none}#videoMetadataDialog{width:min(520px,calc(100vw - 30px))}@media(max-width:700px){.video-metadata-badge{font-size:11px;padding:6px 8px}#videoMetadataForm input,#videoMetadataForm select{font-size:16px}.library-video-filters button{min-height:38px}}

#recentErrorsDialog{width:min(1100px,95vw);max-width:95vw}.error-tools{display:flex;gap:10px;align-items:center;margin:16px 0}.error-download{display:inline-block;border:1px solid var(--border);background:white;padding:11px 16px;border-radius:10px;font-size:13px}.recent-errors-table{overflow:auto;max-height:60vh;margin-top:12px}.recent-errors-table table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}.recent-errors-table th,.recent-errors-table td{border-bottom:1px solid var(--border);padding:12px;vertical-align:top}.recent-errors-table th{white-space:nowrap}.recent-errors-table td:nth-child(1){min-width:125px}.recent-errors-table td:nth-child(3){min-width:180px}.recent-errors-table summary{cursor:pointer;min-width:210px;color:#a74343}.recent-errors-table pre{white-space:pre-wrap;overflow-wrap:anywhere;min-width:260px;font:inherit;line-height:1.6;margin:12px 0}.error-environment{overflow-wrap:anywhere;color:var(--muted);line-height:1.6;max-width:500px}

.upload-folder-drop{border:2px dashed #a69bb4;border-radius:18px;background:#f5f2f8;margin:24px 0;padding:12px;text-align:center;transition:background .15s,border-color .15s}.upload-folder-drop button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:transparent;border:0;width:100%;min-height:210px;padding:24px 12px;font-size:16px;line-height:1.6}.upload-folder-drop .drop-icon{width:48px;height:48px;color:var(--accent)}.upload-folder-drop strong{font-size:18px}.upload-folder-drop .drop-hint{color:var(--muted);font-size:14px}.upload-folder-drop:focus-within{border-color:var(--accent)}@media(max-width:600px){.upload-folder-drop button{min-height:175px}.upload-folder-drop strong{font-size:16px}}.color-folder-drop{background:#eaf6ff;border-color:#9ec8e3}.upload-folder-drop.dragging{background:#e5daf4;border-color:var(--accent)}.upload-read-help{font-size:13px;line-height:1.7;color:#9f3939;margin:12px 0}#supplementTarget,#bulkTarget{margin-top:10px}

.progress-panel>.upload-folder-progress{display:block}.upload-folder-progress{max-height:32vh;overflow-y:auto;margin:14px 0;overscroll-behavior:contain}.upload-folder-row{padding:12px 0;border-top:1px solid var(--border)}.upload-folder-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}.upload-folder-heading strong{min-width:0;overflow-wrap:anywhere;font-size:13px}.upload-folder-status{flex-shrink:0;padding:3px 8px;border-radius:6px;background:#eeeaf4;color:#6d587f;font-size:11px}.upload-folder-status[data-status="업로드 중"]{background:#e0efff;color:#276493}.upload-folder-status[data-status="완료"]{background:#e4f3e9;color:#326b47}.upload-folder-status[data-status="오류 확인"],.upload-folder-status[data-status="중단"]{background:#fbe9e6;color:#9b4639}.upload-folder-row small{display:block;color:var(--muted);font-size:11px;line-height:1.6}.upload-folder-row progress{height:5px;margin-bottom:5px}.progress-panel{max-height:85dvh;overflow-y:auto}

.unlinked-badge{background:#fff0df;color:#975a28;border-color:#eac799}

.upload-folder-status[data-status="전송 중"]{background:#e0efff;color:#276493}.upload-folder-status[data-status="후처리 중"],.upload-folder-status[data-status="전송 완료 · 후처리 대기"]{background:#fff0df;color:#975a28}.upload-folder-heading{align-items:flex-start}.upload-folder-status{max-width:60%;white-space:normal;text-align:center}

.album-assignment{display:flex;align-items:center;gap:12px;margin:12px 0 20px}.album-assignment span{color:var(--muted)}#folderActionMessage{text-align:center;white-space:pre-line;line-height:1.8}#folderActionDialog .dialog-footer{justify-content:center}#confirmFolderAction.delete-confirm{background:transparent;color:#c32b38;border-color:#e6b7bc}.link-candidates{max-height:55vh;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px;margin-top:16px}.link-candidate{display:flex;flex-direction:column;gap:8px}.link-candidate img{width:100%;height:140px;object-fit:contain}#trashPreviewImage{display:block;max-width:100%;max-height:65vh;object-fit:contain;margin:auto}.trash-filename{display:flex;align-items:center;gap:14px;flex-wrap:wrap}#manualLinkDialog{width:min(760px,94vw)}

.assigned-people{align-self:center;color:var(--accent);font-size:13px;line-height:1.6;overflow-wrap:anywhere}.photo-card .card-tags .card-person-badge{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border:1px solid var(--border);border-radius:9px;background:var(--light);color:var(--accent);font-size:11px;line-height:1.5;text-align:left;overflow-wrap:anywhere}.photo-card .card-tags button.card-person-badge:hover{background:#e4daef;border-color:#c6b6d9}.photo-card .card-tags .card-person-badge:empty{visibility:hidden;padding-inline:0;border:0}

.album-person-badge{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border:1px solid #99c4e5;border-radius:0;background:#e3f1fc;color:#24618b;font-size:11px;line-height:1.5;overflow-wrap:anywhere}.photo-card .card-tags .card-tag-edit{padding:3px 5px;border:0;background:transparent;color:var(--muted);font-size:11px;min-height:26px}#viewerTagNames{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}#viewerTagNames .card-person-badge{padding:3px 9px;border:1px solid var(--border);border-radius:9px;background:var(--light);color:var(--accent);font-size:11px;line-height:1.5}

#albumTagsBtn{background:#d8eafa;border-color:#91bddd;color:#205c88;font-weight:700}#albumTagsBtn:hover{background:#c5dff4}#albumAssignedPeople{background:#edf6ff;border:1px solid #99c4e5;border-radius:4px;padding:9px 13px;color:#24618b;text-align:left}#albumAssignedPeople:hover{background:#d8ebfc}.photo-card .card-tags button.album-person-badge{padding:3px 9px;border:1px solid #99c4e5;border-radius:0;background:#e3f1fc;color:#24618b}.photo-card .card-tags button.album-person-badge:hover,#viewerTagNames button.album-person-badge:hover{background:#cfe6f9;border-color:#669fca}#viewerTagNames button.card-person-badge:hover{background:#e4daef;border-color:#c6b6d9}#albumTagsBtn:focus-visible,#albumAssignedPeople:focus-visible,.card-tags button:focus-visible,#viewerTagNames button:focus-visible{outline:3px solid #75628f;outline-offset:3px}

.raw-placeholder,.image-slide{white-space:pre-line}.raw-placeholder{line-height:1.8;text-align:center;padding:20px}

.progress-panel>.upload-panel-tools{justify-content:flex-end;margin:-10px -10px 8px 0}.upload-panel-tools #minimizeProgress{margin:0;padding:4px 9px;font-size:11px;background:transparent;color:var(--muted)}.progress-panel.minimized{width:auto;max-width:calc(100vw - 32px);padding:8px;border-radius:13px;overflow:visible}.progress-panel.minimized>:not(.upload-compact){display:none!important}.progress-panel>.upload-compact{display:flex;align-items:center;gap:6px;min-width:0}.upload-compact button{margin:0;padding:9px 11px;border-radius:9px;font-size:11px;white-space:nowrap}.upload-compact #compactCancelUpload{color:#a54747;background:#fff1ef;border-color:#efceca;flex-shrink:0}.upload-compact #compactUploadAlbum{max-width:180px;min-width:0;overflow:hidden;text-overflow:ellipsis;background:#f1ecf7}.upload-compact #compactUploadStatus{flex-shrink:0;background:#f1f6fc;color:#42658b}@media(max-width:700px){.upload-compact button{font-size:10px;padding:8px}.upload-compact #compactUploadAlbum{max-width:105px}.progress-panel.minimized{padding:6px}.progress-panel>.upload-compact{gap:4px}}

.viewer-equipment{margin:0 0 8px;font-size:11px;line-height:1.7;color:var(--muted);text-align:center;white-space:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:thin}#serverSettingsDialog{width:760px;max-width:calc(100vw - 24px)}#equipmentAliasTab{margin:18px 0;background:var(--light);color:var(--accent)}#equipmentSettingsList{max-height:55dvh;overflow:auto}.equipment-alias-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,1fr) 60px;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);font-size:12px}.equipment-alias-row label{overflow-wrap:anywhere;font-size:12px}.equipment-alias-row input{margin:0!important;padding:10px!important}.equipment-alias-row small{font-size:10px;color:var(--muted)}#equipmentSettingsList h3{margin-top:20px}#equipmentSettingsStatus{font-size:12px;color:var(--muted);min-height:22px}@media(max-width:700px){.viewer-info #actualSize,.viewer-info #resetZoom{height:30px;min-height:30px;padding:5px 9px;font-size:11px;line-height:18px}.viewer-equipment{font-size:10px;text-align:left}.equipment-alias-row{grid-template-columns:minmax(0,1fr) minmax(115px,1fr);gap:8px}.equipment-alias-row small{grid-column:2}}

/* Shared administrator navigation on mobile and desktop. */
.library-filter-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px 8px;margin:18px 0 0;flex-shrink:0}.library-filter-row .person-filter{min-width:0;margin:0;white-space:nowrap}.library-filter-row .comment-filter{min-width:0;margin:0;gap:4px;font-size:10px;line-height:1.5;word-break:keep-all}.library-filter-row>select{grid-column:1/-1;display:block;width:100%;min-width:0;padding:10px 9px;border:1px solid var(--border);border-radius:9px;background:white;color:inherit;font:inherit;font-size:13px}.library-filter-row+.section-label{margin-top:22px}.identity{flex-wrap:wrap;gap:8px}.identity-actions{display:flex;align-items:center;gap:5px;margin-left:auto}.identity-actions button{white-space:nowrap}.settings-management{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.settings-management button{flex:1;min-width:110px;background:var(--light);color:var(--accent)}@media(max-width:700px){.library-filter-row>select{font-size:16px}}

.created-upload-zones{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin:24px 0}.created-upload-zones>div{min-width:0}.created-upload-zones .created-upload-drop{margin:0 0 12px}.created-upload-zones .created-upload-drop>button{min-height:230px;padding:24px 16px;gap:10px}.created-upload-drop strong{font-size:20px}.created-upload-drop span{font-size:12px;line-height:1.7;word-break:keep-all}.created-upload-zones>div>button{width:100%;font-size:12px}.created-upload-zones .created-upload-drop .drop-hint{font-size:11px}@media(max-width:520px){.created-upload-zones{grid-template-columns:1fr;gap:22px}.created-upload-zones .created-upload-drop>button{min-height:190px}}

.tag-target-count{padding:5px 9px;border-radius:8px;background:var(--bg);font-size:13px;white-space:nowrap}#clearTagSelection{margin-left:auto;white-space:nowrap;font-size:12px;padding:7px 10px}.tag-admin-toggle{margin-left:0}.photo-list-summary{margin-bottom:14px}

.tag-title-row{display:flex;align-items:flex-start;gap:10px;width:100%}.tag-title-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.tag-selected-action{display:inline-flex;align-items:center;gap:8px}.tag-title-row #clearTagSelection{flex-shrink:0}.tag-heading .tag-admin-toggle{margin-left:auto}

/* Range selection follows the currently displayed order. */
.range-selection{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.range-selection label{display:flex;align-items:center;gap:5px}.range-selection input{width:70px;min-width:0;padding:7px}.range-selection small{font-size:11px;color:var(--muted)}.photo-card{position:relative}.photo-list-number{position:absolute;top:8px;left:8px;background:rgba(30,25,40,.7);color:white;padding:3px 8px;border-radius:6px;font-size:12px;pointer-events:none}
@media(max-width:760px){.range-selection{width:100%;gap:6px}.range-selection small{width:100%}.range-selection input{width:64px}}

/* Seonhee edition: sky palette; Hekaton selectors and colours are unchanged. */
html[data-site="seonhee"]{--accent:#287fb2;--light:#e7f4fd;--border:#d5e6f2;--muted:#718697;background:#f7fbff;color:#294355}
html[data-site="seonhee"] body{background:#f7fbff;color:#294355}
html[data-site="seonhee"] .sidebar,html[data-site="seonhee"] .login-art{background:#edf7ff}
html[data-site="seonhee"] .primary:hover{background:#206d9b}
html[data-site="seonhee"] button:hover{background:#edf7fd}
html[data-site="seonhee"] .primary:hover{color:white;background:#206d9b}
html[data-site="seonhee"] input:not([type=checkbox]){color:#294355}
html[data-site="seonhee"] .photo-open{background:#eaf2f8}
html[data-site="seonhee"] .login-art>p{color:#718697}
html[data-site="seonhee"] .frame-art{border-color:#bad8ec}
html[data-site="seonhee"] button.active:hover{background:#206d9b;color:white}
html[data-site="seonhee"] .frame-art{background:linear-gradient(135deg,#e7f4fd,#cce9fc)}

/* Drive settings share the per-site palette. */
.drive-settings-fields{display:grid;gap:12px;margin:18px 0}.drive-settings-fields label,#driveSettingsPanel>label{display:grid;gap:6px}.drive-actions{display:flex;gap:8px;flex-wrap:wrap}.drive-video-row{display:grid;gap:6px;border:1px solid var(--line,#ded8e8);border-radius:12px;padding:14px;margin-top:12px;overflow-wrap:anywhere}.drive-video-row span{font-weight:600}.drive-drop{display:block!important;padding:22px;border:2px dashed #9babc4;border-radius:14px;margin-top:12px}#driveSettingsPanel input,#driveSettingsPanel select{width:100%;box-sizing:border-box}#driveSettingsPanel code{display:block;overflow-wrap:anywhere;padding:12px}#driveVideoList{max-height:360px;overflow:auto}#driveStatus,#driveUploadProgress{overflow-wrap:anywhere}

#driveSettingsPanel select{font:inherit;padding:12px;border:1px solid var(--border);border-radius:9px;background:white;color:inherit;margin-top:8px}#driveSettingsPanel [role=status]{line-height:1.6}

.video-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;max-height:260px;overflow:auto;padding:12px 0}.video-people label{display:flex;gap:8px;align-items:center}#videoPlayer{width:100%;max-height:75dvh}#videoPlayerDialog{width:min(1000px,95vw)}.account-random-setting{margin:12px 0;display:flex;align-items:center;gap:10px}#videoList{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}

#serverSettingsDialog>[role=tablist]{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}#videoSettingsPanel .button{display:inline-flex;padding:12px 16px;border-radius:10px;background:var(--accent);color:white;font-size:13px;margin:8px 0}#videoSettingsPanel h3{margin:20px 0 10px}#videoScanStatus{margin:12px 0;line-height:1.6}
.video-scan-filter{min-width:0;margin:14px 0;padding:12px;border:1px solid var(--border);border-radius:10px}.video-scan-filter legend{padding:0 4px;font-size:13px;font-weight:600}.video-scan-filter label{display:flex;align-items:center;gap:8px;min-width:0}.video-scan-filter label+label{margin-top:9px}.video-scan-filter input[type=radio]{display:inline-block;flex:0 0 auto;width:16px;height:16px;margin:0;padding:0;accent-color:var(--accent)}#videoFilterModeHelp{margin-top:10px;font-size:12px;line-height:1.6}

.team-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#e2f3ff;border:1px solid #aed8f3;border-radius:14px;padding:12px 18px;margin-bottom:20px}.team-banner[hidden]{display:none}.team-label,.team-favorite{background:#e3f4ff;color:#246b98}.team-or{text-align:center;color:var(--muted);margin:12px}.new-team-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.team-management-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;padding:16px 0;border-bottom:1px solid var(--line)}.team-management-row input[readonly]{grid-column:1/4}.video-instructions textarea{width:100%;font-family:monospace;font-size:13px;resize:vertical}.video-downloads{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.video-downloads .button{padding:10px 14px}.video-nav-title{overflow-wrap:anywhere}.video-nav-kind{font-size:12px;color:var(--muted)}@media(max-width:700px){.team-management-row{grid-template-columns:1fr 1fr}.team-management-row input[readonly]{grid-column:1/3}.team-banner{align-items:flex-start;flex-direction:column}.new-team-form label{width:100%}}
.archive-video{display:block;max-width:100%;width:auto;max-height:70vh;margin:12px auto;background:#15171a}.drive-link-editor{display:flex;gap:10px;width:100%}.drive-link-editor input{flex:1;min-width:0}.video-instructions{margin-top:20px}.video-instructions summary{cursor:pointer;padding:12px;background:#e9f5fc;border-radius:10px}#albumNav .video-nav-title{display:block;white-space:normal;line-height:1.4}.video-downloads button:disabled{opacity:.5;cursor:default}

.team-management-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.team-management-row input{min-width:0;width:100%}.team-label{border-radius:6px;padding:3px 7px;font-size:12px;margin-right:6px}@media(max-width:700px){.team-management-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* Keep sidebar text readable in all editions, including active hover. */
#albumNav button:hover,#albumNav button.active:hover{background:var(--light);color:#243c53}#albumNav button:hover strong{color:#243c53}#albumNav button:hover .album-meta{color:#45647a}.video-kind{color:var(--accent);font-size:11px;margin-right:5px}.video-playback{background:#10141b;border-radius:14px;overflow:hidden;width:100%;min-width:0}.video-playback .archive-video{display:block;width:100%;max-height:72dvh;background:#000;object-fit:contain;margin:0;border-radius:0}.video-playback-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px;color:#edf4ff}.video-playback-bar button,.video-playback-bar select{background:#263244;border:1px solid #46556a;color:#fff;border-radius:8px;padding:9px 12px;font:inherit}.video-playback-bar button:hover{background:#3d526f}.video-playback-bar label{display:flex;align-items:center;gap:8px;margin-left:auto}.video-playback-notice{font-size:12px;color:#a9cfee}.video-divider{border:0;border-top:1px solid var(--border);margin:20px 0 6px;width:100%}.video-playback:fullscreen{display:flex;flex-direction:column;justify-content:center}.video-playback:fullscreen video{max-height:calc(100dvh - 80px);flex:1;min-height:0}@media(max-width:600px){.video-playback-bar{gap:5px;padding:9px}.video-playback-bar button{font-size:11px;padding:8px}.video-playback-bar label{font-size:11px}}

.tag-heading-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:auto}.tag-heading-actions button{padding:8px 10px;font-size:12px}.tag-title-row h2{margin:0}.assignment-picker{width:900px;max-width:calc(100vw - 48px)}.tag-choice-list label{display:flex;gap:10px;align-items:center;overflow-wrap:anywhere}.tag-choice-list{min-height:100px}#teamsDialog{width:760px;max-width:calc(100vw - 28px)}#teamsMenuToggle{display:none}.team-created-receipt{padding:12px;background:var(--light);border:1px solid var(--border);border-radius:9px;font-size:13px;overflow-wrap:anywhere;line-height:1.8;margin-bottom:14px}.team-management-row{border-color:var(--border)}#newTeamForm{display:grid;gap:12px;margin-top:20px}#newTeamForm>button{justify-self:start}.video-archive-heading{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.video-archive-heading h1{min-width:0;overflow-wrap:anywhere}.video-archive-heading button{flex-shrink:0}#videoRenameDialog{width:1050px;max-width:calc(100vw - 32px)}#videoRenameName{width:100%;min-height:100px;max-height:45dvh;resize:vertical;overflow:auto;box-sizing:border-box;border:1px solid var(--border);border-radius:10px;padding:14px;font:inherit;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;color:inherit}.video-download-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%}.video-download-wrap{min-width:0}.video-download-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;width:100%;height:100%;min-height:132px;background:#f0f7fd;border:1px solid #bdd6eb;border-radius:13px;color:#245477;padding:17px 10px}.video-download-card:hover:not(:disabled){background:#dceefd;border-color:#78afd5}.video-download-card:disabled{opacity:.48}.download-source{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px}.download-title{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.download-size{font-size:12px;font-variant-numeric:tabular-nums}.drive-download-icon{width:21px;height:21px;flex-shrink:0}
@media(min-width:701px){.tag-choice-list{display:grid;grid-auto-flow:column;grid-template-rows:repeat(var(--tag-rows,1),auto);grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px;max-height:55dvh}.assignment-picker[open]{display:flex;flex-direction:column;overflow:hidden}.assignment-picker>.dialog-footer{flex-shrink:0}.assignment-picker .tag-choice-list{overflow:auto}}
@media(max-width:700px){.tag-title-row{flex-wrap:wrap}.tag-heading-actions{gap:5px}.tag-heading-actions button{font-size:11px;padding:8px}.assignment-picker{max-width:calc(100vw - 28px)}#teamsMenuToggle{display:block;width:100%;text-align:left;margin:10px 0}#teamsDialog:not(.menu-open) .users-tab-nav{display:none}.video-download-grid{grid-template-columns:1fr}.video-download-card{min-height:112px}.video-archive-heading{gap:10px}.video-archive-heading h1{font-size:25px}#videoRenameName{font-size:16px}}

#videoHeaderSave:empty{display:none}#videoHeaderSave{margin:0 0 14px}.video-nav-line{display:block;min-width:0}#albumNav .video-nav-line strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-management-row{grid-template-columns:minmax(110px,1fr) minmax(130px,1fr) auto minmax(180px,1.5fr) auto;align-items:center;gap:9px}.team-management-row input{margin:0!important}.team-management-row>button{min-width:0;font-size:12px;padding:10px}.team-management-row>label{grid-column:1/-1;justify-self:end;margin:0;font-size:11px}.team-code-copy{font-family:ui-monospace,monospace;overflow-wrap:anywhere;background:var(--light)}#teamsDialog{width:1100px;max-width:calc(100vw - 28px)}@media(max-width:700px){.team-management-row{display:flex;flex-direction:column;align-items:stretch}.team-management-row>label{align-self:flex-end}.team-management-row .team-code-copy{font-size:12px;white-space:normal}}

#teamList{overflow-x:auto}.team-management-row{min-width:820px;display:grid;grid-template-columns:minmax(110px,1fr) minmax(130px,1fr) auto minmax(180px,1.5fr) auto auto}.team-management-row>label{grid-column:auto;justify-self:end;white-space:nowrap}@media(max-width:700px){.team-management-row{display:grid;grid-template-columns:120px 145px auto 250px auto auto;min-width:850px}}

.team-management-row>label{min-width:52px;display:flex;align-items:center;gap:4px}#teamsTabNav [aria-selected=true]{background:#286381;border-color:#286381;color:white}

.no-tags-badge{display:inline-block;color:#b42343!important;background:#ffe4ec;border:1px solid #f8c1d1;border-radius:8px;padding:2px 6px;font-size:11px;line-height:1.4;margin-left:5px;white-space:nowrap}#albumNav button:hover .no-tags-badge{color:#b42343}#albumNav .video-nav-line strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;white-space:normal;overflow:hidden;line-height:1.45;overflow-wrap:anywhere;color:inherit}#albumNav .video-kind{color:#3989b8!important;font-size:inherit}#albumNav button.active .video-kind{color:#26749f!important}.video-archive-heading{display:block}.video-top-actions{display:flex;flex-wrap:nowrap;gap:7px;overflow-x:auto;max-width:100%;padding:4px 0}.video-top-actions button{flex:0 0 auto;white-space:nowrap;padding:9px 12px;font-size:12px}@media(max-width:600px){.video-top-actions{gap:4px}.video-top-actions button{padding:8px 6px;font-size:10px}}

.settings-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:28px;margin-top:24px}.settings-nav{display:flex;flex-direction:column;gap:8px;align-self:start;position:sticky;top:20px}.settings-nav button{text-align:left;width:100%;white-space:normal}.settings-nav .active{background:var(--light);border-color:var(--accent);color:#245477}.settings-content{min-width:0}.settings-content>section{width:100%!important;max-width:none!important}.settings-content .user-list{max-height:none}.settings-content .user-row{flex-wrap:wrap;gap:12px}.settings-content .user-row>div{flex-wrap:wrap;align-items:center}.settings-content .user-row input{width:150px!important;margin:0!important}.settings-content .users-tab-nav{display:flex!important}#serverSettingsDialog{width:100%!important;max-width:none!important}#publicAccountDialog{width:500px;max-width:calc(100vw - 24px)}#publicAccountForm,#profileForm{display:grid;gap:15px;margin-top:20px}#publicAccountSwitch{margin-top:15px}#profileForm{max-width:650px}.side-bottom>.side-button-row{flex-wrap:wrap}.guest-view .side-bottom{display:none!important}@media(max-width:700px){.settings-layout{grid-template-columns:110px minmax(0,1fr);gap:12px}.settings-nav{gap:5px}.settings-nav button{font-size:11px;padding:9px 7px}.settings-content .user-row input{width:100%!important}.settings-content .team-management-row{min-width:0}#settingsPage{margin-left:-12px;margin-right:-12px}.settings-content h2{font-size:18px}.settings-content .equipment-alias-row{grid-template-columns:1fr}.settings-content .equipment-alias-row input{width:100%}.settings-content .dialog-footer{flex-wrap:wrap}}

.settings-content .users-tab-nav,#settingsPage #usersMenuToggle,#settingsPage #teamsMenuToggle{display:none!important}.settings-content .settings-management:empty{display:none}

#albumNav .fancam-kind,#albumNav button.active .fancam-kind{color:#165b39!important}

.account-bottom-actions{display:flex;flex-wrap:nowrap!important;gap:8px}.account-bottom-actions button{flex:1 1 0;min-width:0;white-space:nowrap;text-align:center;min-height:40px;padding:9px 6px;line-height:1.4;font-size:12px}main:has(#profilePage:not([hidden])){max-width:none}.personal-settings-layout{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;margin-top:24px}.personal-settings-content{min-width:0}.personal-settings-nav{display:flex;flex-direction:column;gap:8px}.personal-settings-nav button{text-align:left}.personal-settings-nav .active{background:var(--light);border-color:var(--accent)}#profileUsername:disabled{background:#e8ebee!important;color:#747d85;border-color:#d8dde1;cursor:not-allowed;opacity:1}.personal-settings-content>p{margin-top:8px}.personal-settings-content>#profileBack{margin-top:20px}.personal-settings-content #passwordForm{display:grid;gap:14px;margin-top:20px}.personal-settings-content #passwordForm h2{margin-bottom:5px}@media(max-width:700px){.personal-settings-layout{grid-template-columns:105px minmax(0,1fr);gap:12px}.personal-settings-nav button{font-size:11px;padding:10px 7px}}

.person-filter-actions{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) 38px;gap:7px;align-items:start;min-width:0}.person-filter-actions button{font-size:12px;line-height:1.5;padding:9px 8px;min-width:0;min-height:38px}.person-filter-actions #clearPersonFilter{white-space:nowrap}.person-filter-actions #personFilter{white-space:normal;overflow-wrap:anywhere;text-align:left;background:var(--light);color:var(--accent)}.person-filter-actions #clearPersonFilter:disabled{opacity:1;color:var(--muted);background:transparent}.person-filter-actions #libraryNameSearch{appearance:none;-webkit-appearance:none;min-width:0;width:100%;max-width:100%;height:38px;margin:0;padding:6px 8px;border:1px solid var(--border);border-radius:9px;font-size:12px;line-height:1.5;color:transparent;caret-color:transparent;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2389828f' stroke-width='1.7'%3E%3Ccircle cx='8.5' cy='8.5' r='5.5'/%3E%3Cpath d='m13 13 4 4'/%3E%3C/svg%3E") no-repeat center/17px 17px}.person-filter-actions #libraryNameSearch{background-image:none;padding-left:4px;padding-right:4px}.person-filter-actions #libraryNameSearch::placeholder{color:var(--muted);opacity:1;font-size:11px}.person-filter-actions #libraryNameSearch::-webkit-search-decoration{display:none}.person-filter-actions.name-search-open #personFilter{display:none}.person-filter-actions.name-search-open #libraryNameSearch{grid-column:2/4;color:inherit;caret-color:auto;cursor:text;background-image:none}@media(max-width:700px){.person-filter-actions #libraryNameSearch{font-size:16px}}
.video-playback-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.video-playback-left,.video-playback-right{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.video-playback-right{margin-left:auto;justify-content:flex-end}.video-playback-bar button{white-space:nowrap}.video-playback-notice{flex-basis:100%}.video-playback-notice:empty{display:none}@media(max-width:700px){.video-playback-left{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.video-playback-left button{font-size:10px;padding:10px 3px;white-space:normal}.video-playback-right{width:100%;justify-content:flex-end}}

.video-job-status{white-space:pre-line}

.stream-monitor-table{overflow-x:auto;max-width:100%}.stream-monitor-table table{width:100%;border-collapse:collapse;font-size:.88rem}.stream-monitor-table th,.stream-monitor-table td{text-align:left;padding:.8rem .65rem;border-bottom:1px solid var(--line,#e4e4ed);vertical-align:top}.stream-monitor-table td:nth-child(3){min-width:200px;overflow-wrap:anywhere;max-width:320px}.stream-monitor-table th{white-space:nowrap}.stream-monitor-table .stream-active{color:#147c52;font-weight:700}.stream-monitor-table .stream-idle{color:#888}.stream-monitor-table td:nth-child(n+4){font-variant-numeric:tabular-nums}#streamMonitorPanel{width:100%;min-width:0}

.guest-login-return{width:100%;display:block;white-space:normal;font-size:16px;font-weight:750;line-height:1.45;padding:16px 12px;margin-bottom:18px;background:#dcefff;border:2px solid #4c9ccc;color:#174f75;box-shadow:0 3px 10px #23698c14}.guest-login-return:hover{background:#c8e7fd;color:#123c58}.guest-login-return[hidden]{display:none}.guest-view .sidebar{padding-top:16px}

.guest-login-return{position:fixed;z-index:24;top:14px;left:18px;width:224px;margin:0}.guest-view #sidebar{padding-top:108px}@media(max-width:1000px)and(min-width:701px){.guest-login-return{width:196px;left:16px}}@media(max-width:700px){.guest-login-return{top:10px;left:78px;width:calc(100% - 94px);font-size:15px;padding:12px 10px}.guest-view .topbar{min-height:96px;align-items:flex-start;padding-top:18px}.guest-view #sidebar{padding-top:108px}}

.guest-login-return{min-height:64px}
.library-type-actions>#libraryCombinedBtn{flex-grow:2}.library-return-button{display:none;margin-left:auto;white-space:nowrap}.personal-settings-content>section{min-width:0}#profilePreferencesForm{display:grid;gap:14px;max-width:650px;margin-top:18px}#profilePreferencesForm>button{justify-self:start}.personal-preferences-options{min-width:0;margin:0;padding:14px;border:1px solid var(--border);border-radius:10px}.personal-preferences-options legend{padding:0 4px;font-size:13px;font-weight:600}.personal-preferences-options label{display:flex;align-items:center;gap:9px;min-width:0;line-height:1.6}.personal-preferences-options label+label{margin-top:12px}.personal-preferences-options input[type=radio]{display:inline-block;flex:0 0 auto;width:17px;height:17px;margin:0;padding:0;accent-color:var(--accent)}#profilePreferencesStatus{min-height:1.6em}.profile-account-info{max-width:650px}.profile-account-info>label{margin-top:12px}.profile-account-info>p{margin-top:8px}#profileSecurityPanel>#profileForm{margin:26px 0}#profileSecurityPanel>#passwordBtn{margin:0 0 12px}.video-album-date-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:8px}.video-album-date-row>button{font-size:12px;padding:8px 10px}
@media(max-width:700px){.library-return-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 12px;font-size:12px}.settings-open #libraryReturnBtn{position:fixed;top:17px;right:14px;z-index:80}.settings-open .settings-header{padding-right:104px}.guest-login-return{top:76px;left:20px;width:calc(100% - 40px);min-height:48px;padding:10px 12px;font-size:14px}.guest-view .topbar{min-height:140px;padding-top:18px}.guest-view #sidebar{padding-top:142px}.personal-preferences-options{padding:12px}.personal-preferences-options label{font-size:12px}}

/* Settings replaces the entire library navigation until its single close action. */
.settings-open body{overflow:hidden}.settings-open #sidebar,.settings-open #guestLoginReturn{visibility:hidden!important;pointer-events:none}.settings-open #settingsPage{position:fixed;inset:0;z-index:70;margin:0;padding:0 32px 40px;overflow:auto;background:#faf9fc;overscroll-behavior:contain}.settings-open #serverSettingsDialog{min-height:100%;padding:0}.settings-header{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:20px;min-height:82px;padding:16px 0;background:#faf9fc;border-bottom:1px solid var(--border)}.settings-header #closeServerSettings{flex:none;min-width:80px;margin:0}.settings-header h2{margin:0}.settings-open .settings-layout{margin-top:24px}.settings-open .settings-nav{top:106px}.site-feature-switch,.stream-monitor-filter{display:flex;align-items:center;gap:9px;margin:18px 0}.site-feature-switch input{width:40px;height:22px}.site-feature-switch span{font-size:15px;font-weight:600}#siteFeaturesStatus{margin-top:16px;color:var(--muted);font-size:13px}.stream-archive-link{padding:0;border:0;border-radius:3px;background:transparent;color:var(--accent);font-size:inherit;line-height:1.6;text-align:left;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.stream-archive-link:hover{background:var(--light)}
@media(max-width:700px){.settings-open #settingsPage{padding:0 14px 28px}.settings-header{min-height:72px;gap:14px;padding:12px 0}.settings-header #closeServerSettings{min-width:64px}.settings-open .settings-nav{top:92px}.settings-open .settings-layout{grid-template-columns:110px minmax(0,1fr);gap:14px;margin-top:20px}.settings-header h2{font-size:20px}}
.site-feature-switch input[role=switch]{appearance:none;-webkit-appearance:none;position:relative;flex:none;width:42px;height:24px;margin:0;border:1px solid #bdc5d0;border-radius:999px;background:#cdd3db;cursor:pointer;transition:background .16s}.site-feature-switch input[role=switch]::before{content:'';position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:white;box-shadow:0 1px 3px #0002;transition:transform .16s}.site-feature-switch input[role=switch]:checked{background:var(--accent);border-color:var(--accent)}.site-feature-switch input[role=switch]:checked::before{transform:translateX(18px)}.site-feature-switch input[role=switch]:disabled{opacity:.45;cursor:wait}

/* Settings categories and consistently aligned account actions. */
.settings-card{border:1px solid var(--border);border-radius:18px;background:#fff;padding:22px;margin:0 0 20px;min-width:0}.settings-card>h3:first-child{margin-top:0}.settings-card input[type=text],#siteDisplayName{max-width:100%}.exif-display-toggle{display:flex;align-items:center;gap:9px;margin-bottom:10px}#equipmentAliasPanel>p.muted{font-size:13px;line-height:1.5;margin:12px 0}#siteDisplayName{width:100%;max-width:560px}.user-list{display:block;overflow-x:auto}.users-table{width:100%;border-collapse:collapse;min-width:1040px;table-layout:fixed}.users-table th,.users-table td{padding:12px 9px;border-bottom:1px solid var(--border);vertical-align:middle;text-align:left}.users-table th{font-size:13px;color:var(--muted);font-weight:600}.users-table th:first-child{width:180px}.users-table th:nth-child(2),.users-table th:nth-child(3){width:160px}.users-table th:nth-child(4){width:72px}.users-table th:nth-child(5){width:130px}.users-table th:nth-child(6){width:110px}.users-table th:nth-child(7){width:86px}.users-table th:nth-child(8){width:100px}.users-table input{width:100%;min-width:0;margin:0}.users-table small{display:block;color:var(--muted);margin-top:4px}.users-table button{white-space:nowrap;margin:0;padding:8px 10px;font-size:13px}.users-table tbody tr:last-child td{border-bottom:0}.settings-content{min-width:0}@media(max-width:700px){.settings-card{padding:14px;border-radius:14px}.users-table th,.users-table td{padding:10px 7px}}
#settingsNav button{color:inherit;background:#fff}#settingsNav button.active{color:var(--accent);background:var(--light);border-color:var(--accent)}#settingsNav button:hover{color:var(--accent);background:var(--light)}.equipment-display-options>p.muted{font-size:13px;line-height:1.5;margin:12px 0 0}@media(max-width:700px){.settings-card .equipment-alias-row{grid-template-columns:minmax(0,1fr)}.settings-card .equipment-alias-row input{margin-top:6px}.settings-card .equipment-alias-row label{overflow-wrap:anywhere}}

.stream-monitor-views{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.stream-monitor-views .active{background:var(--light);border-color:var(--accent);color:var(--accent)}

.stream-monitor-views{align-items:center}

#tagUsers .tag-untagged{color:#b42343;background:#ffe4ec;border:1px solid #f8c1d1;border-radius:8px;padding:8px 10px}#personFilter.no-tags-badge{color:#b42343;background:#ffe4ec;border-color:#f8c1d1}

.video-mode.active{background:var(--light);color:var(--accent);border-color:var(--accent)}

/* Sharing and existing utility controls keep the current site layout. */
#videoSettingsPanel a.button[href^="/api/videos/client/download"]{display:inline-flex;align-items:center;margin:5px 12px 10px 0}
.upload-target-name{font-size:16px;font-weight:650;line-height:1.6;overflow-wrap:anywhere;margin:8px 0 16px}
.upload-only-tags{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0}
.upload-only-tags .assigned-people{display:flex;gap:6px;flex-wrap:wrap}
.upload-only-tags .card-person-badge{border:1px solid var(--border);border-radius:14px;padding:3px 9px;background:var(--light);font-size:12px}
#shareIssueDialog{width:650px;max-width:calc(100vw - 28px)}
#shareIssueTarget{font-weight:650;overflow-wrap:anywhere;margin-bottom:10px}
.share-copy-row{display:flex;align-items:center;gap:8px;margin-top:8px}
.share-copy-row input{margin:0!important;min-width:0;flex:1}
.share-copy-row button{flex-shrink:0}
.share-history-row{padding:18px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}
.share-history-row>strong{font-size:14px;line-height:1.6}
.share-history-row>p{margin:6px 0 10px}
.share-history-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.share-status{font-size:12px;font-weight:650;color:var(--accent);margin-right:4px}
.share-history-code{font-family:ui-monospace,monospace;overflow-wrap:anywhere}
#profileShareHistoryPanel>h2{margin:0 0 12px}
#profileShareHistoryPanel>button,#teamsDialog>button{margin:12px 0}
.video-worker-table{overflow:auto;margin-top:20px}
.video-worker-table table{width:100%;border-collapse:collapse;font-size:13px}
.video-worker-table th,.video-worker-table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--border);white-space:nowrap}
.video-worker-table th{color:var(--muted);font-size:12px}
.video-worker-table .worker-online{color:#238454;font-weight:650}
.video-worker-table .worker-offline{color:var(--muted)}
.video-worker-keys{margin-top:18px}
@media(max-width:700px){.share-copy-row{flex-wrap:wrap}.share-copy-row input{flex-basis:100%}.share-copy-row button{margin-left:auto}#inlinePersonDialog input{font-size:16px}.share-history-actions button{padding:9px 10px}.upload-only-tags{align-items:flex-start;flex-direction:column}}
.guest-view .card-actions>button:not(.team-favorite),.guest-view #hidePhotosBtn,.guest-view #unhidePhotosBtn,.guest-view #viewerHideBtn,.guest-view #commentsBtn,.guest-view #retouchDoneBtn,.guest-view #correctionBtn{display:none!important}
.trash-details .trash-kind{display:inline-flex;align-items:center;width:fit-content;border:1px solid var(--border);border-radius:7px;padding:3px 8px;background:var(--light);color:var(--accent);font-size:11px}
.trash-details .trash-deleter{font-weight:550;color:inherit}
#videoSaveDialog,.video-save-dialog{width:560px;max-width:calc(100vw - 28px)}.video-save-dialog p{font-size:13px;line-height:1.7}.video-save-target{display:block;margin:16px 0 6px;color:var(--accent)}.video-save-filename{overflow-wrap:anywhere;margin:6px 0}.video-save-size{font-variant-numeric:tabular-nums;font-weight:600}.video-save-help,.video-save-device{color:var(--muted)}.video-save-choices,.video-save-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.video-save-choices>button{flex:1;min-width:180px}.video-save-actions{justify-content:flex-end}.video-save-share-action{display:inline-flex;align-items:center;gap:8px;flex-wrap:nowrap;max-width:100%}.video-save-share-action>button{white-space:nowrap}.video-save-share-hint{flex:0 0 auto;color:#dc263d;font-size:32px;font-weight:900;line-height:1;pointer-events:none;animation:video-save-hint-pulse 2.4s ease-in-out infinite}.video-save-status{min-height:3.4em;white-space:pre-line;overflow-wrap:anywhere}.video-save-dialog progress{width:100%;height:12px;accent-color:var(--accent)}.video-save-alternate{margin:5px 0 10px;color:#245477;background:#e6f3ff;border-color:#b8d9ef}.video-save-dialog button[hidden],.video-save-dialog progress[hidden],.video-save-share-action[hidden],.video-save-share-hint[hidden]{display:none}@keyframes video-save-hint-pulse{0%,100%{opacity:1}50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.video-save-share-hint{animation:none;opacity:1}}@media(max-width:600px){.video-save-choices{flex-direction:column}.video-save-choices>button{width:100%}.video-save-dialog .video-save-actions>button,.video-save-share-action>button{padding:11px 13px}}

/* Account management keeps the existing column alignment inside role cards. */
#usersList .user-role-group{margin:0 0 18px;border:1px solid var(--border);border-radius:18px;background:#fff;overflow:hidden}
#usersList .user-group-title{display:flex;align-items:center;gap:9px;margin:0;padding:16px 18px;border-bottom:1px solid var(--border);font-size:16px}
#usersList .user-group-count{border-radius:999px;background:var(--light);color:var(--accent);padding:2px 8px;font-size:12px;font-weight:600}
#usersList .user-group-table{overflow-x:auto}
#usersList .users-table{min-width:1140px}
#usersList .users-table th:nth-child(9){width:80px}
#usersList .user-display-name{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#usersList .user-role-badge{display:inline-flex;align-items:center;border:1px solid #c7d8eb;border-radius:999px;padding:2px 7px;background:#eaf3ff;color:#315f88;font-size:11px;font-weight:600;white-space:nowrap}
#usersList .user-role-badge.highest{background:#f1ecff;border-color:#dacff3;color:#68508f}
#usersList .user-group-empty{padding:22px 18px;color:var(--muted)}
#usersList .user-delete:disabled{opacity:.45;cursor:not-allowed}
.two-line-date,.monitor-actor{white-space:pre-line;font-variant-numeric:tabular-nums;line-height:1.65}.share-history-targets>strong{display:block}.share-history-filename{margin:5px 0 12px;overflow-wrap:anywhere;color:var(--muted)}.share-history-dates{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 18px;margin:12px 0}.share-history-dates dt{color:var(--muted);font-size:13px}.share-history-dates dd{margin:0}.history-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin:20px 0}.user-model-filters{display:flex;gap:10px 16px;flex-wrap:wrap;margin-left:auto;font-size:12px;font-weight:400}.user-model-filters label{display:flex;align-items:center;gap:6px;margin:0}.user-model-filters input{width:auto;margin:0}.user-login-history{display:block;margin-top:7px!important}.users-table .two-line-date{display:block;font-size:12px}.users-table th:nth-child(8){width:145px!important}#accountLoginHistoryDialog{width:1100px;max-width:calc(100vw - 24px)}.management-history-table{overflow:auto;max-height:55dvh}.management-history-table table{min-width:940px;width:100%;border-collapse:collapse}.management-history-table td,.management-history-table th{padding:10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;font-size:12px}.management-history-table td:first-child{white-space:pre-line;min-width:130px}.monitor-remember{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.monitor-remember input{width:auto;margin:0}.stream-monitor-table td:last-child{white-space:pre-line!important}#usersList .user-group-title:has(.user-model-filters){flex-wrap:wrap}@media(max-width:700px){.user-model-filters{width:100%;margin:5px 0 0;gap:10px}.share-history-dates{gap:8px 12px}.history-pagination{gap:8px;font-size:12px}}
#albumTransferDialog{width:760px;max-width:calc(100vw - 28px)}.album-transfer-search{margin:20px 0;padding:16px;border:1px solid var(--border);border-radius:12px}.album-transfer-search h3{margin:0 0 12px}.album-search-results{display:grid;gap:8px;max-height:30dvh;overflow:auto}.album-search-result{text-align:left;white-space:normal;overflow-wrap:anywhere}.album-transfer-selected{color:var(--accent);font-weight:650;overflow-wrap:anywhere}.album-merge-confirm{padding:18px;border:1px solid #e8b4b4;border-radius:12px;background:#fff5f5}.album-merge-confirm h3{color:#a52d3b}#albumTransferStatus{overflow-wrap:anywhere}#albumTransferNewArchive{margin-top:16px}#albumTransferNewArchive summary{cursor:pointer;font-weight:650}#albumTransferNewArchive form{margin-top:14px}.tag-search-preview{background:var(--light);border-radius:8px}.photo-trash{margin-left:4px}@media(max-width:700px){#albumTransferDialog{padding:16px;max-width:calc(100vw - 18px)}.album-transfer-search{padding:12px}#albumTransferDialog .dialog-footer{flex-wrap:wrap}#albumTransferDialog .dialog-footer button{white-space:normal}#albumTransferNewArchive .create-folder-form{display:flex;flex-direction:column;align-items:stretch}}
@media(max-width:700px){#usersList .user-group-title{padding:14px;font-size:15px}#usersList .user-role-group{border-radius:14px}}
.video-scan-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}#videoScanRequestNote{margin-top:10px}#videoScanLastAdded{margin-top:6px}
#shareReturnLibrarySidebar{display:block;width:100%;margin:20px 0 8px;padding:12px 10px;white-space:normal;line-height:1.5;background:var(--light);border-color:var(--border);color:var(--accent);font-weight:650}#shareReturnLibrarySidebar:not([hidden])+.section-label{margin-top:14px}
#videoScanDialog{width:1180px;max-width:calc(100vw - 28px)}#videoScanDialog[open]{display:flex;flex-direction:column;gap:12px;max-height:92dvh;overflow:hidden}.video-scan-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.video-scan-heading button{flex:none}.video-scan-status-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 18px;margin:0;font-size:12px}.video-scan-status-grid dt{color:var(--muted)}.video-scan-status-grid dd{margin:0;overflow-wrap:anywhere}#videoScanLiveState{color:var(--accent);font-weight:650}#videoScanRunCount{font-size:13px;line-height:1.6}.video-scan-current{padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--light);font-size:12px;overflow-wrap:anywhere}.video-scan-current>*{display:block;margin:4px 0}.video-scan-current progress{width:100%;height:10px;accent-color:var(--accent)}.video-scan-log-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px}.video-scan-log-tools button{flex:none}#videoScanDialog .muted,#videoScanClearStatus,#videoScanHeartbeat{font-size:12px;line-height:1.6}.video-scan-table{overflow:auto;min-height:80px;flex:1;border:1px solid var(--border);border-radius:10px}.video-scan-table table{width:100%;min-width:1000px;border-collapse:collapse;font-size:12px}.video-scan-table th{position:sticky;top:0;background:#f4f1f8;z-index:1;text-align:left;white-space:nowrap}.video-scan-table td,.video-scan-table th{padding:11px 12px;border-bottom:1px solid var(--border);vertical-align:top}.video-scan-table td{overflow-wrap:anywhere}.video-scan-table td:nth-child(2){min-width:300px;max-width:440px}.video-scan-table td:nth-child(3){min-width:160px;max-width:280px}.video-scan-table td:nth-child(n+4){white-space:nowrap;font-variant-numeric:tabular-nums}#videoScanEmpty{font-size:13px;color:var(--muted)}body:has(#videoScanDialog[open]){overflow:hidden}@media(max-width:700px){#videoScanDialog{padding:16px;max-width:calc(100vw - 18px)}.video-scan-heading h2{font-size:18px}.video-scan-status-grid{gap:6px 10px}.video-scan-actions button{flex:1;white-space:nowrap;padding:10px}.video-scan-table table{font-size:11px}.video-scan-table td,.video-scan-table th{padding:9px}}

.stream-monitor-table td.monitor-actor{white-space:pre-line}

#albumNav{margin-top:8px}#shareReturnLibrarySidebar{margin-bottom:0}
#videoVerificationHolds{margin-top:18px;padding:18px;border:1px solid #e5bcc0;border-radius:16px;background:var(--card,#fff)}#videoVerificationHolds h3{margin-top:0;color:#a63f4b}.video-verification-table{max-width:100%;overflow-x:auto}.video-verification-table table{width:100%;border-collapse:collapse;font-size:13px}.video-verification-table th,.video-verification-table td{padding:11px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line,#e6e2ed)}.video-verification-table th{white-space:nowrap}.video-verification-table .verification-filename,.video-verification-table .verification-error{min-width:180px;max-width:360px;overflow-wrap:anywhere;white-space:pre-wrap}.video-verification-table .verification-error small{display:block;margin-top:6px}.video-verification-table button{min-width:150px;white-space:normal}.video-verification-table button:disabled{opacity:.55;cursor:default}

/* A transfer is four rows: title, value, title, value. Identity cells span all four. */
.stream-monitor-table table{min-width:1100px;table-layout:fixed}
.stream-monitor-table thead{display:none}
.stream-monitor-table col:nth-child(1){width:10%}.stream-monitor-table col:nth-child(2){width:14%}.stream-monitor-table col:nth-child(3){width:24%}.stream-monitor-table col:nth-child(n+4){width:13%}
.stream-monitor-table .monitor-identity{border-bottom:2px solid var(--line,#e4e4ed);overflow-wrap:anywhere}
.stream-monitor-table .monitor-identity-title,.stream-monitor-table .monitor-identity-value{display:block;line-height:1.65;white-space:pre-line}
.stream-monitor-table .monitor-identity-title{margin-bottom:16px;font-size:inherit}
.stream-monitor-table .monitor-field-title{white-space:normal;padding-bottom:8px;border-bottom:0;line-height:1.5}
.stream-monitor-table .monitor-field-value{padding-top:0;white-space:pre-line;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.stream-monitor-table .monitor-line-0>:nth-child(n+4){padding-top:16px}
.stream-monitor-table .monitor-line-2>*{padding-top:10px}
.stream-monitor-table .monitor-line-3>*{border-bottom:2px solid var(--line,#e4e4ed);padding-bottom:16px}

/* Individual video access discovery/review */
.discovery-search{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 16px}.discovery-search label{min-width:0}.discovery-search select{width:100%;max-width:100%}.discovery-video{border:1px solid var(--line,#d7e4ee);border-radius:16px;padding:18px;margin:12px 0;overflow-wrap:anywhere}.discovery-video p{color:var(--muted,#718391)}.discovery-table-wrap{overflow-x:auto;margin:16px 0 24px}.discovery-table{width:100%;border-collapse:collapse;min-width:680px;text-align:left}.discovery-table th,.discovery-table td{padding:12px;border-bottom:1px solid var(--line,#d7e4ee);vertical-align:top;white-space:pre-line;overflow-wrap:anywhere}.discovery-table td button{margin:3px}.discovery-user-group th{background:#eaf5fc}.discovery-actions,.discovery-pagination{display:flex;gap:12px;align-items:center;justify-content:flex-end;margin-top:20px}.video-discovery-dialog{width:min(620px,calc(100vw - 32px));max-height:90dvh;overflow:auto}.video-discovery-dialog textarea,#videoFindMemo{display:block;box-sizing:border-box;width:100%;margin-top:8px}.discovery-error{color:#be334b}.video-discovery-dialog p{overflow-wrap:anywhere}@media(max-width:720px){.discovery-search{grid-template-columns:1fr}.discovery-video{padding:14px}.discovery-actions button{flex:1}.personal-settings-content{min-width:0}}

.discovery-search select,.video-discovery-dialog textarea,#videoFindMemo{font:inherit;background:#fff;color:inherit;border:1px solid var(--border);border-radius:9px;padding:11px;min-height:42px}.discovery-search select{margin-top:8px}#profileVideoFindPanel>h2,#profileVideoApprovalPanel>h2{margin-bottom:12px}#profileVideoFindPanel h3{margin-top:22px}.discovery-video p,.video-discovery-dialog p{margin:8px 0 12px;line-height:1.65}.discovery-table td{font-size:13px}.discovery-table th{font-size:12px}#videoApprovalResults .discovery-table{min-width:1080px}#videoFindRejected .discovery-table,#videoFindHistory .discovery-table{min-width:580px}

/* Both administrator entry points share the same pending-review count. */
.approval-count{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;padding:0 6px;margin-left:6px;border-radius:999px;background:#c93d55;color:#fff;font-size:12px;font-weight:700;line-height:1;vertical-align:middle;font-variant-numeric:tabular-nums;flex:none}#nicknameBtn,#profileVideoApprovalTab{display:flex;align-items:center;justify-content:center;gap:2px}#profileVideoApprovalTab{justify-content:flex-start}.approval-count[data-stale=true]{opacity:.65}

.personal-settings-entry{position:relative;min-width:0;display:flex}.personal-settings-entry>#nicknameBtn{width:100%;height:100%;min-height:45px}.personal-settings-entry.has-approval-count>#nicknameBtn{padding-right:44px}.personal-settings-entry>.approval-count-link{position:absolute;right:8px;top:50%;transform:translateY(-50%);margin:0;border:0;min-width:23px;height:23px;padding:0 6px;background:#c93d55;color:#fff;cursor:pointer}.personal-settings-entry>.approval-count-link:hover{background:#ac2941}.personal-settings-entry>.approval-count-link:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* Video archives can be prepared before their files arrive. */
.video-collection-bind-check{grid-column:1/-1;display:flex;align-items:center;gap:.55rem}.video-collection-bind-check input{width:auto}.video-collection-folder-controls{grid-column:1/-1;display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:12px;align-items:end;width:100%}.video-collection-folder-controls label:last-child{grid-column:1/-1}.video-collection-folder-controls input,.video-collection-folder-controls select{width:100%;min-width:0}.video-collection-created-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0}.video-collection-created-actions .assigned-people{display:flex;gap:6px;flex-wrap:wrap}#videoCollectionTagsTop{background:var(--accent-soft,#e2f3ff);color:var(--ink,#294958)}.empty-video-collection{text-align:center;padding:64px 20px;background:var(--panel,#fff);border:1px solid var(--line,#dae5ef);border-radius:18px}#videoCollectionBindDialog{width:min(760px,94vw)}#createVideoCollectionForm>[role=status]{grid-column:1/-1}.video-collection-folder-controls[hidden],#videoDrop[hidden]{display:none!important}@media(max-width:700px){.video-collection-folder-controls{grid-template-columns:1fr}.video-collection-folder-controls label:last-child{grid-column:auto}.video-collection-created-actions>button{padding:10px 12px}}

/* Model-account transfer uses indexed grants; keep selection and lock actions clear. */
#openAccountMerge{margin:0 0 18px}#accountMergeDialog{width:700px;max-width:calc(100vw - 28px)}#accountMergeDialog>section{margin:20px 0;padding:16px;border:1px solid var(--border);border-radius:12px}#accountMergeDialog label{margin:0}.merge-account-results{max-height:180px;overflow:auto;margin:12px 0}.merge-account-results label{display:flex;gap:10px;align-items:center;padding:9px 4px}.merge-account-results input[type=radio]{width:17px;height:17px;flex:none;margin:0;padding:0;accent-color:var(--accent)}.merge-selected{font-weight:600;font-size:13px;margin-top:10px}.users-table th:last-child{width:200px}.users-table td:last-child button+button{margin-left:8px}@media(max-width:700px){#accountMergeDialog{padding:18px}#accountMergeDialog>section{padding:12px}}

.stream-edge-monitor{margin-top:28px;padding:20px;border:1px solid var(--border);border-radius:16px;background:var(--card,#fff);min-width:0}.stream-edge-monitor h3{margin:0 0 12px}.stream-edge-monitor p{font-size:13px;line-height:1.65;margin:10px 0}.stream-edge-table{overflow-x:auto;max-width:100%;margin-top:16px}.stream-edge-table table{width:100%;min-width:740px;border-collapse:collapse;font-size:13px}.stream-edge-table th,.stream-edge-table td{padding:12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}.stream-edge-table th{white-space:nowrap;color:var(--muted);font-size:12px}.stream-edge-table td:last-child{white-space:pre-line}.stream-edge-table td:nth-child(n+3){font-variant-numeric:tabular-nums}@media(max-width:700px){.stream-edge-monitor{padding:14px}.stream-edge-table th,.stream-edge-table td{padding:10px}}

/* A sole search result is provisional until clicked or applied. */
.tag-search-preview input[type=checkbox]:indeterminate{appearance:none;-webkit-appearance:none;border:1px solid #777;border-radius:3px;background:linear-gradient(#111,#111) center/58% 58% no-repeat #fff;width:18px;height:18px;flex-shrink:0}
.name-edit-card{padding:20px;border:1px solid var(--line,#d6e4ef);border-radius:18px;margin:16px 0}.name-edit-card label{display:block;margin:10px 0}.name-edit-card select,.name-edit-card input{width:100%}.name-edit-card form{display:flex;gap:10px;align-items:center}.name-edit-card form input{min-width:0}#videoApprovalDialog{width:min(800px,90vw)}#videoApprovalDialog .table-scroll{max-height:60vh;overflow:auto}

.user-role-group>summary{cursor:pointer;list-style:disclosure-closed}.user-role-group[open]>summary{list-style:disclosure-open}.users-table th,.users-table td{text-align:center!important;vertical-align:middle}.users-table input,.users-table textarea{text-align:left!important}.users-table .user-display-name{justify-content:center}.account-locked{display:inline-block;background:#ffe5ed;color:#bd254d;border-radius:10px;padding:3px 9px;font-weight:700}.video-approved-names{display:inline-block;color:#111;background:#e8e8e8;border:1px solid #d1d1d1;border-radius:9px;padding:7px 11px;white-space:normal;overflow-wrap:anywhere}

.sensitivity-editable{cursor:pointer;text-decoration:underline dotted;text-underline-offset:.18em}.sensitivity-editable:focus-visible{outline:2px solid var(--accent,#2680ad)}.sensitivity-active::after{content:attr(data-sensitive-label);display:inline-block;font-size:.7rem;margin-left:.6em;padding:.2em .5em;border-radius:.4em;color:#a51a3b;background:#ffe3eb;vertical-align:middle}.sensitive-dialog{width:min(94vw,640px);text-align:center}.sensitive-option{display:flex;align-items:center;justify-content:center;gap:.5em}.sensitive-dialog .dialog-actions{display:flex;gap:1em;justify-content:center;margin-top:1.5em}.sensitive-dialog p{line-height:1.8}.distribution-chart{overflow-x:auto}.distribution-chart svg{display:block;min-width:720px;width:100%;height:300px}.distribution-legend{display:flex;gap:1.2em;flex-wrap:wrap}.distribution-legend span::before{content:"";display:inline-block;width:1em;height:1em;margin-right:.4em;background:var(--series);border-radius:3px}.distribution-report{background:var(--panel,#fff);padding:1em;border:1px solid #cbdce9;border-radius:14px;margin:1em 0}.distribution-report p{margin:.4em 0}.distribution-period{display:flex;gap:.8em;align-items:center}.distribution-period select{width:auto}.distribution-note{color:#62798c;font-size:.9rem}.distribution-table-wrap{overflow:auto}.distribution-table-wrap table{width:100%}

#streamMonitorDistribution.active{background:#2788bc;color:#fff;border-color:#2788bc}

/* Document originals stay adjacent to the file name, even on narrow cards. */
.photo-card .photo-filename{display:contents}
.photo-card .photo-filename:has(.document-badge){display:inline-flex;align-items:center;gap:5px;min-width:0;max-width:100%;flex-wrap:nowrap}
.photo-filename:has(.document-badge)>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.document-badges{display:inline-flex;align-items:center;gap:4px;flex:none;white-space:nowrap}
.document-badge{display:inline-block;padding:2px 5px;border:1px solid #8bc7ed;background:#dceffc;color:#21628a;font-size:10px;line-height:1.4;border-radius:1px;white-space:nowrap}
.document-download-buttons{display:flex;gap:8px;flex-wrap:nowrap}.document-download-buttons>button{flex:1;min-width:0;white-space:nowrap}
.photo-open img,.image-slide img,#comparisonImage,.zoom-navigator img{background-color:#fff}

/* Upload actions keep their media-type colors; completion actions use the site accent. */
#albumNav .retouch-badge,.retouch-badge{background:#c73547;color:#fff;border-color:#c73547}
#albumRetouchUploadBtn{background:#fff0de;color:#946336;border-color:#f1d7b7;border-radius:10px}
#albumRetouchUploadBtn:hover{background:#ffe4c2}
.close-dialog,.close-dialog.quiet,.secondary-action,button.secondary-action.quiet{background:#fff;color:inherit;border:1px solid var(--border)}
.close-dialog:hover,.secondary-action:hover{background:var(--light)}

.photo-upload-actions{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;max-width:100%;}

@media(min-width:701px){.video-download-grid.two-downloads{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.drive-link-editor{flex-wrap:wrap}.drive-link-editor input{flex-basis:100%}}

.video-clip-editor{margin-top:1.5rem;border:1px solid var(--border,#d5e2ee);border-radius:16px;padding:16px;width:100%;background:var(--surface,#fff)}
.video-clip-editor>summary{cursor:pointer;font-weight:700}.video-clip-body{padding-top:12px}.clip-time-range,.clip-effect-controls,.clip-fades{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:16px 0}.clip-time-range label,.clip-effect-controls label,.clip-fades label{display:flex;flex-direction:column;gap:6px}.clip-time-range input{width:145px}.clip-fades input{width:140px}.clip-effect-controls label{flex:1 1 200px}.clip-effect-controls input{width:100%}.clip-frame{position:relative;width:fit-content;max-width:100%;margin:16px auto;overflow:hidden}.clip-frame img{display:block;max-width:100%;max-height:65vh;object-fit:contain}.clip-boundary{position:absolute;left:0;right:0;border-top:3px dashed #e63145;pointer-events:none}.clip-history{overflow-x:auto;margin-top:20px}.clip-history table{width:100%;min-width:650px}.clip-history th,.clip-history td{text-align:left;padding:12px}.clip-history button{margin-left:8px}#videoEditingSettings label{margin:8px;display:inline-flex;gap:8px;align-items:center}#videoEditingSettings button{margin:6px}#videoEditingSettings input[type=number]{width:100px}@media(max-width:600px){.clip-time-range{gap:8px}.clip-time-range input{width:125px}.clip-frame{width:100%}.clip-fades label{flex:1 1 125px}}

/* Browser-only blur preview; independent screen/audio fade rows. */
.clip-blur-toggle{display:flex;gap:8px;align-items:center;margin:16px 0}.clip-local-preview{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.clip-boundary{z-index:1}.clip-fade-groups{display:flex;flex-direction:column;gap:4px}.clip-fade-groups>.clip-fades{margin:6px 0}.clip-fade-groups .clip-fades label{flex:0 1 190px}.clip-fade-groups .clip-fades input{width:100%}
.clip-fade-groups>.clip-fades{display:grid;grid-template-columns:repeat(2,minmax(0,190px));gap:12px}.clip-fade-groups .clip-fades label{min-width:0}

/* Independent opt-in fades and final action. */
.clip-time-range{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;max-width:520px}.clip-time-range label{min-width:0}.clip-time-range input{width:100%;height:48px}.clip-time-separator{height:48px;display:flex;align-items:center;justify-content:center;font-size:30px;line-height:1}.clip-fade-groups{gap:12px;margin:20px 0}.clip-fade-row{display:grid;grid-template-columns:155px minmax(70px,140px) auto;align-items:center;gap:10px;width:fit-content;max-width:100%}.clip-fade-title{display:flex;align-items:center;gap:8px}.clip-fade-row input[type=number]{margin:0;width:100%}.clip-fade-row input:disabled{background:#e9e9ed;color:#8c8c94;opacity:.7}.clip-submit{display:block;width:33.333%;min-height:7.5em;margin:28px auto 0;font-size:16px;line-height:1.5}.clip-frame img{width:100%;height:auto}@media(max-width:600px){.clip-time-range{gap:8px}.clip-time-range input{width:100%}.clip-fade-row{grid-template-columns:145px minmax(60px,1fr) auto;width:100%}.clip-submit{padding:12px 5px}}

/* Preserve the existing confirmation dialog dimensions; fit only the explicit instruction lines. */
#folderActionDialog.clip-instructions-dialog #folderActionMessage{white-space:pre;word-break:normal;overflow-wrap:normal}
.clip-history h3{margin:24px 0 12px}.clip-history .clip-download{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 16px;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:white;text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap}.clip-history .clip-download:hover{filter:brightness(.94)}

#folderActionDialog.clip-instructions-dialog[open]{display:flex;flex-direction:column}#folderActionDialog.clip-instructions-dialog #folderActionMessage{flex:0 0 auto}#folderActionDialog.clip-instructions-dialog .dialog-footer{flex-shrink:0;margin-top:auto}

.clip-preview-dialog{width:min(1100px,94vw);max-width:94vw}.clip-preview-dialog .archive-video{max-height:70vh}.clip-history td .clip-preview,.clip-history td .clip-delete:not(:first-child){margin-left:8px}.clip-history td .clip-delete{color:var(--danger,#a5334d)}.clip-effect{white-space:nowrap}.clip-expiry-time{white-space:nowrap}

.distribution-rule-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.distribution-rule-form select{min-width:150px}#distributionOriginalMode{max-width:100%}.clip-guide-remember:not([hidden]){display:flex;align-items:center;gap:8px;margin:12px 0}.clip-guide-remember input{width:auto}

#distributionSettingsPanel .stream-monitor-table thead{display:table-header-group}#distributionSettingsPanel table{min-width:780px}#distributionSettingsPanel th,#distributionSettingsPanel td{text-align:center;white-space:nowrap;width:auto}#distributionSettingsPanel select{font:inherit;padding:9px 12px;min-height:42px;border:1px solid var(--line,#d8e5ee);border-radius:10px;background:var(--panel,#fff);color:inherit}

#albumTitle,.video-archive-heading h1{white-space:pre-line}

.clip-request-error-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;text-align:center}.clip-request-error-dialog h2{font-size:1.25rem}.clip-error-reason{white-space:pre-line;overflow-wrap:anywhere}.clip-request-error-dialog button{min-width:110px}
.clip-request-error-dialog{padding:24px}
.clip-request-error-dialog p{margin:14px 0;line-height:1.6}
.clip-request-error-dialog button{margin-top:6px}

.video-clip-history-panel{margin-top:12px;border:1px solid var(--line,#d6e4ef);border-radius:14px;padding:16px;background:var(--surface,#fff)}.video-clip-history-panel>summary{cursor:pointer;font-weight:700}.video-clip-history-panel .clip-history{overflow-x:auto;margin-top:14px}
/* Illustrated guide: X dismisses this visit only; acknowledgement remains server-side. */
#guideDialog.illustrated-guide{position:fixed;inset:0;width:100%;min-width:0;max-width:none;max-inline-size:none;height:100vh;height:100dvh;min-height:0;max-height:none;margin:0;padding:0;border:0;border-radius:0;box-sizing:border-box;background:var(--surface,#fff);overflow:hidden}
.illustrated-guide .guide-heading{flex:0 0 62px;width:100%;min-width:0;height:62px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:8px 20px;box-sizing:border-box;border-bottom:1px solid var(--border)}
.illustrated-guide .guide-heading h2{margin:0;font-size:20px}.illustrated-guide #guideDismiss{font-size:28px;line-height:1;min-width:44px;min-height:44px;padding:4px 12px}
#guideDialog.illustrated-guide .guide-content{flex:1 1 0;width:100%;min-width:0;min-height:0;height:auto;max-height:none;margin:0;overflow-y:auto;overscroll-behavior:contain;padding:0}
.illustrated-guide .guide-content>img{display:block;width:100%;max-width:1200px;height:auto;margin:0 auto}
.guide-ack-row{display:flex;justify-content:center;padding:32px 16px 48px}.guide-ack-row #ackGuide{min-width:min(360px,85vw);min-height:64px;font-size:22px}
.filter-search-actions{display:flex;align-items:center;gap:12px;min-width:0;width:100%}.filter-search-actions>label{flex:1;min-width:0;margin:0;order:0;width:auto}.filter-search-actions input{flex:1;width:0;min-width:0}.filter-search-actions>button{flex-shrink:0;white-space:nowrap}
.tag-selected-people{color:var(--muted);font-size:14px;overflow-wrap:anywhere}.tag-title-summary{flex-wrap:wrap;align-items:center;gap:9px}
.user-sort-heading{border:0;background:transparent;padding:3px;color:inherit;font-weight:inherit;font-size:inherit;white-space:nowrap}
.auto-approval-settings{padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--surface,#fff);margin:16px 0}.auto-approval-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.auto-approval-row label{display:flex;align-items:center;gap:8px;margin:0}.auto-approval-row input{width:90px}.auto-approval-settings p{margin:12px 0 0}
@media(max-width:700px){.filter-search-actions{gap:7px}.filter-search-actions>button{font-size:11px;padding:9px 7px}.tag-title-summary{max-width:100%}.auto-approval-row{gap:8px}}

/* The manual owns the viewport while its own content remains scrollable. */
body:has(#guideDialog[open]){overflow:hidden}

/* Independent text manual follows the illustrated manual. */
#textGuideDialog{width:650px;max-width:calc(100vw - 30px);max-height:90vh;max-height:90dvh}
#textGuideDialog[open]{display:flex;flex-direction:column;overflow:hidden}
#textGuideDialog>h2,#textGuideDialog>.dialog-footer{flex-shrink:0}
#textGuideDialog>.guide-content{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}
body:has(#textGuideDialog[open]){overflow:hidden}
@media(max-width:700px){#textGuideDialog{padding:20px}#ackTextGuide{min-height:44px}}

.video-library-drop{display:flex;align-items:center;justify-content:center;min-height:180px;width:100%;border:2px dashed var(--primary,#2b83b5);border-radius:18px;padding:24px;white-space:normal;background:var(--surface,#fff)}
.video-library-drop.dragging{background:#e5f4ff;border-style:solid}.video-library-drop.selection-locked{background:#edf0f3;color:#737d86;cursor:default}
.rolling-date{display:inline-flex;align-items:center;gap:6px;max-width:100%;flex-wrap:wrap}.rolling-date input{width:3.4em;min-width:0;text-align:center}.rolling-date input:first-child{width:5.2em}

/* Empty planned archives reserve the player area without download actions. */
.empty-video-collection{display:grid;place-content:center;white-space:pre-line;min-height:280px;line-height:1.9}

.video-watch-row{display:grid;grid-template-columns:minmax(130px,1fr) 2fr;gap:8px;padding:10px;border-bottom:1px solid var(--line)}.video-watch-row small{grid-column:1/-1}#videoWatchDialog{width:min(720px,94vw)}#videoWatchForm>label{display:block;margin:12px 0}#videoWatchForm input:not([type=checkbox]){width:100%}
/* Shooting requests share the same site colors and private dialog surfaces. */
#shootingContent{display:flex;flex-direction:column;gap:14px;max-width:1200px}#shootingContent>button{text-align:left;padding:20px}.account-bottom-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.account-bottom-actions>button,.account-bottom-actions .personal-settings-entry{min-width:0}.shooting-dialog{width:min(1000px,94vw);max-width:min(1000px,94vw);max-height:92dvh;overflow:auto}.shooting-dialog label{display:block;margin:10px 0}.shooting-dialog input:not([type=checkbox]):not([type=radio]),.shooting-dialog textarea,.shooting-dialog select{max-width:100%;box-sizing:border-box}.shooting-dialog input[type=checkbox],.shooting-dialog input[type=radio]{width:auto;margin:0 8px}.shooting-box{border:1px solid var(--line,#d6e5ef);border-radius:14px;padding:16px;margin:12px 0;background:var(--surface,#fff)}.shooting-box button,.shooting-dialog .dialog-footer button{margin:4px}.shooting-table-wrap{overflow-x:auto}.shooting-table-wrap table{width:100%;border-collapse:collapse}.shooting-table-wrap th,.shooting-table-wrap td{padding:10px;border-bottom:1px solid var(--line,#ddd);text-align:center}.shooting-stage{padding:10px 0;border-bottom:1px solid var(--line,#ddd)}.shooting-images figure{margin:12px 0}.shooting-images img{display:block;width:auto;max-width:100%;height:auto;max-height:600px}.shooting-dialog .error{white-space:pre-wrap}.library-years{display:flex;align-items:center;gap:4px}.library-years button{padding:8px;min-width:30px}.library-years output{font-weight:700}.side-bottom>.side-button-row:first-child{align-items:center}#shootingPage{width:100%}@media(max-width:700px){.shooting-dialog{width:96vw;padding:14px}.account-bottom-actions{gap:5px}.account-bottom-actions button{padding:10px 5px;font-size:.85rem}.shooting-dialog .dialog-footer{flex-wrap:wrap}}
/* Shooting dialogs: stable columns and viewport-safe controls. */
.shooting-dialog{box-sizing:border-box;padding:20px;scroll-padding-top:90px}.shooting-dialog-header{position:sticky;top:-1px;z-index:4;background:var(--surface,#fff);display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 0 16px;border-bottom:1px solid var(--line,#d6e5ef);margin-bottom:14px}.shooting-dialog-header h2{margin:0;min-width:0;font-size:1.35rem;line-height:1.45}.shooting-dialog-header>button{flex:0 0 auto;white-space:nowrap;margin:0}.shooting-dialog label>input:not([type=radio]):not([type=checkbox]),.shooting-dialog label>textarea,.shooting-dialog label>select{display:block;width:100%;margin-top:8px;min-height:40px}.shooting-dialog textarea{width:100%;resize:vertical;min-height:110px}.shooting-lineup{table-layout:fixed}.shooting-col-order{width:9%}.shooting-col-team{width:39%}.shooting-col-full,.shooting-col-fan{width:26%}.shooting-lineup thead{background:#f1f2f4}.shooting-lineup th,.shooting-lineup td{vertical-align:middle;overflow-wrap:anywhere}.shooting-slot{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:48px;box-sizing:border-box;padding:8px 6px;line-height:1.35;margin:0!important;gap:3px;white-space:normal;overflow-wrap:anywhere}.shooting-slot:disabled{opacity:1;cursor:default}.shooting-slot.slot-open{background:#e3f3ff;color:#1e638b;border-color:#c5e4fa}.shooting-slot.slot-closed{background:#ffedf0;color:#ac3c50;border-color:#f4ccd3}.shooting-slot.slot-mine{background:#e8f5eb;color:#286444;border-color:#c7e5ce}.shooting-slot small{font-size:.75em}.shooting-status{display:inline-flex;align-items:center;border-radius:9px;padding:5px 9px;margin:8px 6px 6px 0;font-size:.87em;background:#eef0f3;color:#46505c}.shooting-status.status-approved{background:#e1f0ff;color:#24618d}.shooting-status.status-rejected{background:#ffe7ed;color:#b42e4a}.shooting-status.status-pending{background:#fff0d9;color:#925b15}.shooting-status.status-cancelled{background:#eef0f3;color:#626976}.shooting-status.status-manual{background:#eee9fa;color:#645180}.shooting-request-history{margin-top:34px}.shooting-box strong{display:block;overflow-wrap:anywhere}.shooting-reason{white-space:pre-wrap;overflow-wrap:anywhere}.shooting-admin-tabs{display:flex;gap:8px;margin:24px 0 12px;scroll-margin-top:90px}.shooting-admin-tabs>button{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:6px;font-size:.9rem}.shooting-admin-tabs>button.active{background:var(--accent-soft,#e3f3ff);color:var(--accent,#247eae);border-color:var(--accent,#247eae)}
@media(max-width:700px){.shooting-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:94dvh;padding:12px;font-size:13px}.shooting-dialog-header{gap:7px;padding:8px 0 12px}.shooting-dialog-header h2{font-size:1.05rem}.shooting-dialog-header>button{padding:8px 10px;font-size:12px}.shooting-lineup th,.shooting-lineup td{padding:8px 3px;font-size:12px}.shooting-col-order{width:10%}.shooting-col-team{width:34%}.shooting-col-full,.shooting-col-fan{width:28%}.shooting-slot{font-size:11px;padding:6px 3px;min-height:48px}.shooting-admin-tabs{gap:4px}.shooting-admin-tabs>button{padding:8px 4px;font-size:11px;min-height:42px}.shooting-admin-tabs .approval-count{font-size:10px;min-width:16px;min-height:16px;padding:2px}.shooting-box{padding:12px}.shooting-dialog input,.shooting-dialog textarea,.shooting-dialog select{font-size:16px}}

.video-connection-settings{flex-basis:100%;width:100%;padding:16px;border:1px solid var(--line,#dae5ef);border-radius:14px;background:var(--surface,#fff)}.video-connection-settings h2{font-size:1rem;margin:0 0 10px}.video-connection-settings .video-collection-created-actions{margin:0}.video-connection-settings[hidden]{display:none!important}

/* Bound the grid's intrinsic media size before metadata or a large frame arrives. */
#videoPage,#videoList,.drive-video-row,.video-playback,.video-playback-bar,.video-playback-left,.video-playback-right{min-width:0;max-width:100%;box-sizing:border-box}
.drive-video-row{grid-template-columns:minmax(0,1fr)}
.drive-video-row>*,.video-playback>*,.video-download-grid,.video-download-wrap,.video-download-card{min-width:0;max-width:100%;box-sizing:border-box}
.video-playback .archive-video{width:100%;min-width:0;max-width:100%;height:auto}
.video-archive-heading,.video-archive-meta-top,.video-metadata-row{min-width:0;max-width:100%;overflow-wrap:anywhere}
.settings-menu-toggle{display:none}
@media(max-width:700px){
 .personal-settings-layout{display:flex;flex-direction:column;gap:18px;min-width:0;max-width:100%}
 .personal-settings-nav{display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;padding:3px 0 10px;align-self:stretch;-webkit-overflow-scrolling:touch}
 .personal-settings-nav>button{flex:0 0 auto;white-space:nowrap;min-height:40px;padding:10px 13px;font-size:12px;text-align:center}
 .personal-settings-content{width:100%;max-width:100%;min-width:0}
 .settings-open .settings-layout{display:block;min-width:0;margin-top:16px}
 .settings-menu-toggle{display:inline-flex;align-items:center;justify-content:center;font-size:23px;padding:7px 10px;min-width:42px}
 .settings-header{gap:8px}.settings-header h2{font-size:18px;min-width:0;overflow-wrap:anywhere}
 .settings-open .settings-nav{display:none;position:static;width:100%;padding:10px;margin:0 0 18px;border:1px solid var(--border);border-radius:12px;background:var(--surface,#fff);box-sizing:border-box}
 .settings-menu-open .settings-nav{display:flex}
 .settings-nav button{min-height:40px;font-size:13px;padding:10px 12px}
 .settings-content{width:100%;max-width:100%;min-width:0}
 #loginForm input:not([type=checkbox]):not([type=radio]),#publicAccountForm input:not([type=checkbox]):not([type=radio]){font-size:16px}
 .login-page,.login-form{min-width:0;max-width:100%;box-sizing:border-box}
 #videoPage .video-playback-right select{max-width:100%}
}

@media(max-width:700px){html{-webkit-text-size-adjust:100%;text-size-adjust:100%}main,#workspace{min-width:0}#videoArchiveTitle{overflow-wrap:anywhere}}

@media(max-width:700px){.personal-settings-nav>button.active{background:var(--accent);border-color:var(--accent);color:#fff}}

/* Filming applicant choices and public event availability use the same event UI. */
.shooting-applicant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:360px;overflow:auto;padding:4px}.shooting-applicant{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;overflow-wrap:anywhere;min-width:0}.shooting-applicant input{width:auto;flex:0 0 auto;order:-1}.shooting-public-link{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0}.shooting-public-link input{flex:1;min-width:180px}.public-shooting-page{padding:24px;max-width:100%;box-sizing:border-box}.public-shooting-page button{margin:8px}@media(max-width:700px){.shooting-applicant{font-size:12px;padding:8px 4px;gap:4px}.shooting-applicant-grid{gap:4px}}

.shooting-applicant-grid label.shooting-applicant{display:flex;flex-direction:row;align-items:center;margin:0;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;min-width:0;overflow-wrap:anywhere}.shooting-applicant-grid .shooting-applicant input[type=radio]{width:16px;height:16px;margin:0;flex:0 0 16px;order:-1}@media(max-width:700px){.shooting-applicant-grid label.shooting-applicant{padding:8px 4px;font-size:12px;gap:4px}}

.shooting-images .shooting-character-help{font-size:.8rem;line-height:1.65;overflow-wrap:anywhere;margin:.5rem 0 1rem}

.shooting-login-guidance{white-space:pre-line}

/* Security incidents use plain text, bounded tables and the existing settings page. */
#securitySettingsPanel{min-width:0;width:100%}#securitySettingsPanel .settings-group{border:1px solid var(--line,#d5e2ed);border-radius:16px;padding:20px;margin:0 0 20px}#securitySettingsPanel .table-wrap{overflow-x:auto}#securitySettingsPanel table{width:100%;border-collapse:collapse}#securitySettingsPanel th,#securitySettingsPanel td{padding:12px;text-align:left;border-bottom:1px solid var(--line,#d5e2ed);overflow-wrap:anywhere}#securitySettingsPanel .security-date,.security-warning{white-space:pre-line}#securitySettingsPanel .button-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:16px}.security-paused{color:#ba344c}.security-block-screen{max-width:850px;margin:8vh auto;padding:24px}.security-block-screen h1{font-size:24px}.security-block-dialog{max-width:min(650px,calc(100% - 32px))}.security-warning{line-height:1.8}

.nas-import-box{border:1px solid var(--border,#cbdde9);border-radius:12px;padding:14px;margin:16px 0;background:var(--surface,#fff);min-width:0}.nas-import-toggle{display:flex;align-items:center;gap:8px;font-weight:700}.nas-import-box label{display:block;margin:8px 0}.nas-import-box input:not([type=checkbox]),.nas-import-box select,#nasMatchList{font-size:16px;width:100%;max-width:100%;box-sizing:border-box}.nas-import-box .muted{font-size:.85rem;overflow-wrap:anywhere}#nasMatchDialog{max-width:min(760px,calc(100vw - 24px))}#nasMatchList{font-size:16px}

#shootingLoginDialog>button{margin:8px 16px 4px 0}#shootingGuestDialog form{display:flex;flex-direction:column;gap:10px}#shootingGuestDialog input:not([type=file]),#shootingGuestDialog textarea{width:100%;box-sizing:border-box}#shootingGuestDialog input,#shootingGuestDialog textarea{font-size:16px}#shootingGuestDialog form>button[type=submit]{align-self:flex-end;min-width:130px}

/* All tag dialogs: keep reset below the search, left aligned. */
#tagsDialog .filter-search-actions{width:100%}#tagsDialog .tag-selection-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}#tagsDialog #clearTagSelection{margin:0;padding-left:0;text-align:left}#tagsDialog .tag-admin-toggle{margin-left:auto}

/* 192: compact per-button counters and shared site settings sections. */
.clip-preview-header{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;background:var(--panel,#fff);z-index:2;padding-bottom:12px}.clip-preview-header h2{margin:0;min-width:0}.clip-preview-header button{flex:none}
#shootingBtn,#profileVideoApprovalTab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}
#personalSettingsEntry{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}#personalSettingsEntry #nicknameBtn{flex:initial;width:100%}#personalSettingsEntry .approval-count-link{position:static;transform:none;flex:none}
#shootingBtn .approval-count,#profileVideoApprovalTab .approval-count,.approval-count-link{background:#cf3e56;color:white;border-radius:999px;min-width:24px;height:24px;line-height:24px;padding:0 6px;text-align:center;font-size:13px;box-sizing:border-box}
.site-feature-group{border:0;border-top:1px solid var(--border);padding:18px 0;margin:0}.site-feature-group>summary{font-weight:700;cursor:pointer;font-size:17px;margin-bottom:15px}.site-feature-group:not([open])>summary{margin-bottom:0}.site-feature-group>section{min-width:0}.site-feature-group .settings-card{margin-top:12px}#equipmentAliasTab,#videoNamesTab{display:none!important}.registration-pending th,.registration-pending td{text-align:center}.registration-pending .two-line-date,.discovery-table td{white-space:pre-line}

#publicAccountError,#loginError{white-space:pre-line}#profileVideoApprovalTab .approval-count{margin:0}#personalSettingsEntry.has-approval-count #nicknameBtn{padding-right:inherit;height:auto}

#videoNamesPanel>h2{display:none}

#personalSettingsEntry .approval-count-link{width:24px;min-width:24px;height:24px;min-height:24px;max-height:24px;line-height:1;padding:0;margin:0;display:inline-flex;align-items:center;justify-content:center;flex:none}

.shooting-event-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:center}
.shooting-event-list-row>button:first-child{text-align:left;padding:20px}
.shooting-intake-closed:disabled{background:#eceeef;color:#151515;opacity:1}

.user-group-pagination{display:flex;justify-content:center;align-items:center;gap:.65rem;margin-top:.75rem;font-variant-numeric:tabular-nums}
.user-role-actions{display:grid;justify-content:center;gap:.35rem}
.user-role-actions .event-staff-role{background:#fff;color:#171717}
.user-role-actions .event-staff-role[aria-pressed=true]{background:#155d88;color:#d5f2ff;border-color:#155d88}

.shooting-lineup-notice h3,.shooting-lineup-received h3{margin:0 0 8px}
.shooting-lineup-notice p{margin:0;line-height:1.6}
.shooting-lineup-notice p+p{margin-top:8px}
.shooting-lineup-received{margin:12px 0}
.shooting-lineup-received p,.shooting-lineup-received ul{margin:0}
.shooting-lineup-received ul{display:flex;flex-wrap:wrap;gap:6px 20px;padding-left:1.25em}
.shooting-notes-help{display:block;margin-top:4px;line-height:1.55}

.distribution-speed-form{margin-bottom:16px}.distribution-speed-form input{width:7rem}

.monitor-admin-toolbar,#monitorAdminIpForm{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
#monitorAdminIpPanel{padding:12px;margin:8px 0 12px;border:1px solid var(--border);border-radius:10px}
#monitorAdminIpForm input{width:min(17rem,100%);margin:0}
#monitorAdminIpList{display:flex;flex-wrap:wrap;gap:6px 16px;padding:0;list-style:none;font-variant-numeric:tabular-nums}

#videoRefresh{min-height:44px;padding:8px 16px;font-weight:700;border-color:var(--accent);color:var(--accent)}

#videoPage>.page-title{padding-bottom:8px}
#videoPage .video-archive-heading{margin-bottom:0}
#videoList>.drive-video-row:first-child{margin-top:0}

.monitor-ip-country{display:block}
.monitor-ip-badge{color:#24648b;font-size:.88em;margin-inline-start:.38em;white-space:nowrap}

.video-save-prompt{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.video-save-dialog h2:focus,#folderActionMessage:focus{outline:none}
.video-save-question{min-height:0;padding:.2rem .45rem}
.video-save-tip{display:none;flex-basis:100%;font-size:.9em}
.video-save-tip:not([hidden]){display:block}
.video-save-question:focus-visible+.video-save-tip[hidden]{display:block!important}
@media(hover:hover){.video-save-question:hover+.video-save-tip[hidden]{display:block!important}}
.video-save-servers,.distribution-scope-dialog fieldset{display:flex;gap:.8rem;flex-wrap:wrap}
.video-save-servers[hidden],.video-save-prompt[hidden]{display:none}
.video-save-servers label,.distribution-scope-dialog label{display:flex;align-items:center;gap:.35rem}
.distribution-scope-dialog{width:min(40rem,calc(100% - 2rem))}
.distribution-scope-list{display:grid;gap:.45rem;max-height:48vh;overflow:auto;padding:.6rem 0}
.distribution-scope-list label:has(:disabled){opacity:.65}

.video-save-servers label{position:relative;cursor:pointer;margin:.25rem 0}
.video-save-servers input[type=radio]{position:absolute;inline-size:1px;block-size:1px;opacity:0;margin:0;padding:0}
.video-save-servers label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:4px}
.video-save-servers label:has(input:disabled){opacity:.55;cursor:default}
.video-save-prompt{position:relative}
.video-save-tip{position:absolute;inset:100% 0 auto;z-index:2;pointer-events:none;padding:.65rem .8rem;border:1px solid var(--border);border-radius:.65rem;background:#fff;box-shadow:0 4px 12px #0002}
@media(hover:none){.video-save-tip{position:static}}

.photo-album-title { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem .7rem; min-width:0; }
.photo-album-title h1 { min-width:0; overflow-wrap:anywhere; }
.version-badge.color-profile-warning { color:#9a3049; background:#ffe9ef; border:1px solid #f4a8bb; white-space:nowrap; }

.library-video-filters.has-active-filter{grid-template-columns:2fr 1fr}
.library-video-filters [hidden]{display:none}
#libraryVideoFilterSearch{display:block;width:100%;min-height:42px;font-size:16px}
#libraryVideoFilterForm .filter-search-actions{align-items:end}
#libraryVideoFilterChoices .tag-search-preview input:indeterminate{background:#111;border-color:#111}
.video-save-sizes{display:flex;gap:10px;margin:12px 0;padding:0;border:0;min-inline-size:0}
.video-save-sizes[hidden]{display:none}
.video-save-sizes label{flex:1;min-width:0;position:relative;text-align:center;border:1px solid var(--border);border-radius:9px;padding:8px;cursor:pointer}
.video-save-sizes label>span{display:block;font-size:12px}
.video-save-sizes input{position:absolute;inline-size:1px;block-size:1px;opacity:0}
.video-save-sizes label:has(input:checked){background:var(--light);border-color:var(--accent);color:var(--accent);font-weight:700}
.video-save-sizes label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.video-save-sizes label:has(input:disabled){opacity:.55;cursor:default}

[data-leedo-site="true"] .account-bottom-actions{grid-template-columns:repeat(2,minmax(0,1fr))}

.photo-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin:24px 0}
.photo-pagination button{min-width:44px}
.photo-pagination span{font-variant-numeric:tabular-nums}

/* Keep controls usable when translated labels take more space. */
.title-line,
.card-actions,
.dialog-actions,
dialog .dialog-footer,
.viewer-footer,
.document-download-buttons,
.video-downloads,
.progress-panel > div {
  flex-wrap: wrap;
  min-inline-size: 0;
}

button,
a.clip-download,
.title-line > *,
.video-downloads > *,
.dialog-actions > * {
  min-inline-size: 0;
  max-inline-size: 100%;
  overflow-wrap: anywhere;
}

.title-line > button,
.card-actions > button,
.side-button-row > button,
.document-download-buttons > button,
.clip-history .clip-download,
.video-scan-actions button {
  white-space: normal;
}

.document-download-buttons > button {
  flex: 1 1 8em;
}

.filter-search-actions input {
  inline-size: 100%;
}

.clip-instructions-dialog #folderActionMessage {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

@media (max-width: 700px) {
  .photo-grid {
    grid-template-columns: repeat(auto-fill, minmax(min(145px, 100%), 1fr));
  }

  .viewer-footer > div,
  .shooting-share-link,
  .filter-search-actions > label {
    min-inline-size: 0;
  }

  .filter-search-actions > button {
    max-inline-size: 44%;
    white-space: normal;
  }
}

#personalSettingsEntry #nicknameBtn {
  display: block;
  height: auto;
  white-space: normal;
}
