*{box-sizing:border-box}body{margin:0;background:#f5f6f7;color:#24303b;font:15px -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}header{height:84px;background:#fff;border-bottom:1px solid #e5e8eb;display:flex;align-items:center;justify-content:space-between;padding:9px 35px}.brand{display:flex;align-items:center;gap:15px;text-decoration:none;color:#26333e;font-size:22px;letter-spacing:.5px}.brand img{width:80px;height:61px;object-fit:contain}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#8b9298;margin-top:3px}.version{font-size:11px;letter-spacing:1px;color:#81909d}.layout{display:flex;min-height:calc(100vh - 84px)}aside{width:250px;flex-shrink:0;background:#fff;border-right:1px solid #e8eaed;padding:28px 14px;position:relative}.navtitle{font-size:11px;letter-spacing:1.4px;font-weight:700;color:#9ba3aa;padding:0 12px 12px}.second{padding-top:34px}.nav,.treeitem{display:block;width:100%;text-align:left;border:0;background:transparent;color:#34434e;border-radius:9px;padding:12px;font-size:14px;cursor:pointer}.nav.active,.treeitem.active{background:#e9eef0;font-weight:700}.treeitem:hover,.nav:hover{background:#eff2f4}.asidebottom{position:absolute;bottom:30px;left:26px;font-size:12px;color:#657480;line-height:1.8}.asidebottom small{color:#9ca6ad}main{flex:1;min-width:0;padding:45px max(28px,4vw) 130px}.intro{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:40px}.eyebrow{color:#9c9084;font-size:11px;font-weight:700;letter-spacing:2px}h1{font-size:34px;letter-spacing:-1px;margin:10px 0 8px}p{color:#87939d;margin:0}h2{font-size:19px;margin:0 0 20px}.actions,.toolbar,.filters,.photohead{display:flex;align-items:center;gap:10px;flex-wrap:wrap}button{cursor:pointer;border:1px solid #dfe4e7;background:#fff;color:#2e3b46;padding:11px 15px;border-radius:9px;font-size:13px;font-weight:600}button:hover{filter:brightness(.96)}.primary,.accent{background:#273746;color:white;border-color:#273746}.outline{background:#fff}.gallerygrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px;margin-bottom:38px}.gallerycard{border:1px solid #e5e8eb;border-radius:13px;overflow:hidden;background:white;cursor:pointer;box-shadow:0 3px 12px #15202b08}.gallerycard:hover{transform:translateY(-2px);box-shadow:0 6px 18px #15202b14}.cover{height:125px;background:linear-gradient(145deg,#e8e6e1,#f7f8f9);display:flex;align-items:center;justify-content:center;color:#87919b;font-size:40px}.galleryname{padding:15px;font-weight:650}.galleryname small{display:block;font-weight:400;color:#a2abb2;margin-top:5px}.toolbar{background:white;border:1px solid #e5e8eb;border-radius:12px;padding:12px 15px;margin-bottom:30px}.toolbar label{font-size:12px;color:#78858e}select{margin-left:8px;border:1px solid #dfe4e7;border-radius:8px;padding:10px;background:white;color:#273746}.photohead{justify-content:space-between;margin-top:20px}.hint{color:#9ba4ac;font-size:12px}.photogrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px}.photo{background:white;border:2px solid transparent;border-radius:12px;overflow:hidden;cursor:pointer;position:relative;box-shadow:0 2px 12px #1423330c}.photo.selected{border-color:#4085e5;box-shadow:0 0 0 2px #4085e530}.photo img{width:100%;height:165px;object-fit:cover;background:#e7e9eb}.photo .filename{padding:11px;font-size:11px;color:#6d7983;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tick{position:absolute;top:9px;left:9px;background:#fff;border-radius:6px;padding:5px 7px;color:#667}.photo.selected .tick{background:#4085e5;color:white}.flag{position:absolute;right:9px;top:9px;background:#fff;border-radius:6px;padding:4px 6px}.empty{padding:70px 20px;text-align:center;border:2px dashed #d6dcdf;border-radius:15px;color:#95a0a8}.selectionbar{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 30px);background:#273746;color:white;display:flex;align-items:center;gap:12px;padding:12px 18px;border-radius:14px;box-shadow:0 15px 35px #0004;z-index:10;flex-wrap:wrap;justify-content:center}.selectionbar[hidden]{display:none}.selectionbar button{font-size:12px;padding:9px 11px}.selectionbar .accent{background:#d6b984;color:#26333e;border-color:#d6b984}.flagbuttons{display:flex;gap:3px}.flagbuttons button{padding:8px}.toast{position:fixed;right:25px;bottom:25px;background:#253544;color:#fff;padding:16px 22px;border-radius:12px;z-index:15}.toast[hidden]{display:none}@media(max-width:780px){aside{width:175px}main{padding:25px 15px 130px}.intro{align-items:flex-start;flex-direction:column}h1{font-size:27px}header{padding:8px 14px}.version{display:none}.selectionbar{width:95%}}
/* KUF Gallery 0.2 */
header{gap:16px;padding:8px 20px}.brand{flex-shrink:0}.brand img{width:90px;height:66px}.topnav{display:flex;align-items:center;gap:3px;flex:1;overflow-x:auto;scrollbar-width:thin}.topnav button{white-space:nowrap;border:0;background:transparent;font-size:12px;padding:10px 9px}.topnav button.topactive{background:#e9eef0;color:#253746}.version{white-space:nowrap}.dropzone{border:2px dashed #c4d0d8;border-radius:14px;background:#fff;text-align:center;padding:30px 15px;margin-bottom:24px;cursor:pointer;transition:.15s}.dropzone:hover,.dropzone.dragging{border-color:#3576bb;background:#edf6ff}.dropzone strong{display:block;font-size:16px}.dropzone small{display:block;color:#87939d;margin-top:8px}.gallerycard{position:relative}.gallerycard .dots{position:absolute;right:8px;top:8px;background:#fff;padding:5px 10px;border-radius:7px}.photo .photodots{position:absolute;right:8px;bottom:42px;padding:4px 9px}.fileicon{height:165px;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:52px;background:#e8eef2}.fileicon small{font-size:13px;color:#637480}.notice{background:white;border:1px solid #e5e8eb;border-radius:14px;padding:35px;max-width:800px}.notice p{line-height:1.7}@media(max-width:1000px){header{height:auto;flex-wrap:wrap}.topnav{order:3;flex-basis:100%}.layout{min-height:calc(100vh - 130px)}}

/* KUF Gallery 0.3 */
header{background:#202e3a;color:#fff;border-color:#202e3a}.brand{color:#fff}.brand small,.version{color:#c2cdd4}.topnav button{background:#344555;color:#f4f7f9;margin-right:3px}.topnav button.topactive{background:#fff;color:#233342}.topnav button:hover{background:#536477;color:white}.quickflags{display:flex;justify-content:center;align-items:center;gap:7px;padding:9px 5px;background:#f7f9fa;border-bottom:1px solid #e4e8eb}.quickflags button{width:22px;height:22px;min-width:22px;border-radius:50%;padding:0;border:2px solid #fff;box-shadow:0 0 0 1px #bbc4cb;font-size:18px;line-height:16px}.quickflags button:hover{transform:scale(1.13)}.quickflags button.is-active{box-shadow:0 0 0 3px #3887d5}.q-green{background:#20ac59}.q-red{background:#e13b42}.q-orange{background:#f49b27}.q-black{background:#252525}.q-clear{background:#fff;color:#666}.photo .flag{top:49px}.photo .tick{top:49px}.cover img{width:100%;height:100%;object-fit:cover}.sortline{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:15px}.sortline h2{margin:0}.sortline label{font-size:12px;color:#687782}.setspanel{background:white;border:1px solid #e5e8eb;border-radius:12px;padding:14px 16px;margin-bottom:24px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.setspanel #setlist{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.setitem{background:#e8eef2;padding:8px 12px}

/* Version 0.3.1 */
.coverpanel{display:flex;gap:18px;align-items:center;margin:0 0 20px;padding:12px 16px;background:#fff;border:1px solid #dce3e8;border-radius:12px;min-height:110px}
.coverpanel.dragging{outline:2px dashed #2276c7;background:#edf6ff}
.coverpreview{width:142px;height:90px;border:1px dashed #a9b8c5;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;background:#f5f7f9;color:#83909b;font-size:12px;text-align:center;flex-shrink:0}
.coverpreview img{width:100%;height:100%;object-fit:cover}
.coveractions{display:flex;flex-direction:column;gap:8px}
.coveractions small{color:#7a8895}
.coveractions button{margin-right:6px}
.setspanel{background:#1f303e;color:white;border-color:#1f303e}
.setspanel[hidden]{display:none!important}
.setitem,.setselect{background:#34495a;color:white;border:1px solid #536676;border-radius:7px;padding:9px;cursor:pointer}
.quickflags{display:flex;align-items:center;justify-content:center;gap:4px}
.quickdots{margin-left:auto;border:1px solid #dce2e6;border-radius:6px;background:#fff;color:#283744;cursor:pointer;min-width:24px;height:24px;font-weight:bold}
.photo .photodots{display:none}
.quickflags .quickdots{width:24px;height:24px;min-width:24px;border-radius:6px;border:1px solid #dce2e6;box-shadow:none;font-size:17px;line-height:19px;margin-left:2px;color:#263745;background:#fff}

/* Version 0.3.2: große Bildansicht, Navigation, separate Auswahl */
.photo .tick{border:1px solid #d4dce3;font-size:16px;line-height:17px;z-index:2;cursor:pointer}
.lightbox[hidden]{display:none!important}
.lightbox-open{overflow:hidden}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(9,16,24,.94);display:flex;align-items:center;justify-content:center;padding:15px}
.lightbox-panel{width:min(1400px,100%);height:min(96vh,1000px);display:flex;flex-direction:column;min-height:0;color:#fff}
.lightbox-top,.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px}
.lightbox-top #lightboxFlags .quickflags{background:#243340;border:0;border-radius:12px;padding:9px 14px;gap:12px}
.lightbox-top #lightboxFlags .quickdots{display:none}
.lightbox-top #lightboxFlags .qflag{width:30px;height:30px;min-width:30px}
.lightbox-close{font-size:20px;background:#2c3c4a;color:white;border:0}
.lightbox-stage{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-height:0}
.lightbox-stage img{max-width:calc(100% - 110px);max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 10px 35px #0006}
.lightbox-arrow{background:#263747;color:white;border:1px solid #607182;font-size:40px;padding:0;width:48px;height:64px;flex-shrink:0}
.lightbox-bottom{font-size:13px;color:#d9e1e7;overflow:hidden}
.lightbox-bottom span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lightbox-bottom button{white-space:nowrap}
@media(max-width:700px){.lightbox{padding:6px}.lightbox-stage img{max-width:calc(100% - 75px)}.lightbox-arrow{width:32px;height:50px;font-size:30px}.lightbox-top #lightboxFlags .quickflags{gap:5px;padding:8px}.lightbox-top #lightboxFlags .qflag{width:24px;height:24px;min-width:24px}}

/* Version 0.3.3: kompakter Upload und alphabetischer, aufklappbarer Baum */
.uploadrow{display:flex;align-items:stretch;gap:14px;margin:0 0 20px}
.uploadrow .coverpanel{flex:1 1 62%;min-width:0;margin:0;min-height:112px}
.uploadrow .dropzone{flex:1 1 38%;min-width:240px;margin:0;padding:18px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.uploadrow .dropzone strong{font-size:14px}
.uploadrow .dropzone small{font-size:11px}
.treerow{display:flex;align-items:center;width:100%;border-radius:9px;min-height:36px;padding-right:4px}
.treerow:hover,.treerow.active{background:#e9eef0}
.treerow.active .treelabel{font-weight:700}
.treearrow{border:0;background:transparent;padding:3px 4px;width:23px;min-width:23px;text-align:center;color:#43515d;font-size:14px}
.treearrow.placeholder{color:#b5c0c7}
.treelabel{border:0;background:transparent;flex:1;min-width:0;text-align:left;overflow-wrap:anywhere;padding:7px 2px;font-size:13px}
.photo-download{position:absolute;left:8px;bottom:38px;background:#fff;color:#243746;text-decoration:none;border:1px solid #d9e1e8;border-radius:7px;width:29px;height:29px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;box-shadow:0 1px 5px #0002;z-index:2}
.photo-download:hover{background:#e9f3ff;color:#1769b1}
@media(max-width:850px){.uploadrow{flex-direction:column}.uploadrow .dropzone{min-width:0}.uploadrow .coverpanel{flex:auto}}

.setonly{display:flex;align-items:center;gap:7px;font-size:13px;cursor:pointer}
.setonly[hidden],#updateSetBtn[hidden]{display:none!important}
.setitem.set-active{outline:2px solid #77b6ff}
.lightbox-imagewrap{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;max-width:calc(100% - 110px);height:100%}
.lightbox-imagewrap img{max-width:100%;max-height:100%;object-fit:contain}
.lightbox-flagbadge{position:absolute;top:12px;right:12px;font-size:24px;background:#ffffffeb;border-radius:50%;padding:4px;line-height:1;box-shadow:0 2px 12px #0006}
.lightbox-flagbadge[hidden]{display:none!important}
@media(max-width:700px){.lightbox-imagewrap{max-width:calc(100% - 75px)}}

/* 0.3.5: three compact panels above filters */
.uploadrow{display:grid;grid-template-columns:minmax(250px,1fr) minmax(250px,1.1fr) minmax(280px,1.1fr);gap:12px;align-items:stretch}
.uploadrow .coverpanel,.uploadrow .dropzone,.uploadrow .setspanel{min-width:0;min-height:118px;margin:0}
.uploadrow .coverpanel{gap:10px;padding:10px}
.uploadrow .coverpreview{width:95px;height:80px}
.uploadrow .coveractions{gap:5px;min-width:0}
.uploadrow .coveractions small{font-size:11px}
.uploadrow .coveractions button{padding:7px 9px;font-size:11px;margin:0 3px 3px 0}
.uploadrow .dropzone{padding:14px 10px}
.uploadrow .setspanel{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;padding:12px;background:#202f3c;color:white;border-color:#202f3c}
.uploadrow .setspanel[hidden]{display:none!important}
.uploadrow .setspanel strong{font-size:14px}
.uploadrow .setspanel #setlist{display:block}
.uploadrow .setspanel #setlist select{width:100%;margin:0;max-width:100%;font-size:12px}
.uploadrow .setspanel #setlist .setitem{max-width:100%;overflow-wrap:anywhere;text-align:left;background:#34495a;color:#fff}
.uploadrow .setspanel .outline{padding:7px 9px;font-size:11px}
.uploadrow .setspanel .setonly{font-size:11px}
@media(max-width:1180px){.uploadrow{grid-template-columns:repeat(2,minmax(0,1fr))}.uploadrow .setspanel{grid-column:1/-1}}
@media(max-width:850px){.uploadrow{grid-template-columns:1fr}.uploadrow .setspanel{grid-column:auto}}

/* 0.3.8: Favoriten, sichere Dialoge, Drag & Drop, manuelle Tags */
.favstar{border:0;background:transparent;color:#82919c;font-size:22px;cursor:pointer;line-height:1;padding:4px;flex-shrink:0}
.favstar.fav-on,.favstar:hover{color:#e5a626}
.treegroup{font-size:10px;font-weight:800;letter-spacing:1px;color:#697b8b;padding:14px 10px 5px}
.rootdrop{font-size:11px;color:#5b6d7a;border:1px dashed #a8b9c7;border-radius:8px;padding:8px;margin:7px 4px}
.folder-target{outline:2px solid #4294ca!important;background:#d9edfb!important}
.modalback{position:fixed;inset:0;z-index:3000;background:#06111cbb;display:flex;align-items:center;justify-content:center;padding:20px}
.modalback[hidden]{display:none!important}
.kufdialog{width:min(540px,100%);background:#172330;color:white;border:1px solid #41586c;border-radius:16px;padding:26px;box-shadow:0 24px 90px #0009}
.kufdialog h2{margin:0 0 12px;font-size:21px;color:white}
.kufdialog p{white-space:pre-wrap;color:#d3dfe9;line-height:1.6}
#modalDetails{color:#a8bbcc;font-size:12px;overflow-wrap:anywhere;max-height:100px;overflow:auto}
.modalbuttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.modalbuttons button{flex:1;min-width:120px;border:1px solid #4d6376;border-radius:9px;padding:13px 10px;font-weight:700;cursor:pointer}
.dialogprimary{background:#3b749c;color:white}.dialogsecondary{background:#2c4154;color:white}
.lightbox-stage .tagpanel{box-sizing:border-box;width:245px;flex:0 0 245px;align-self:stretch;background:#263748;color:#f5f9fc;border-radius:12px;padding:15px;overflow-y:auto;max-height:70vh}
.tagtitle{display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:700}
.tagtitle button{border:0;background:transparent;color:white;cursor:pointer}
.taghelp{font-size:12px;color:#b8c9d7;line-height:1.5}
#tagchips{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}
.tagchip{background:#3d5a70;border-radius:14px;padding:5px 8px;font-size:12px;color:white;overflow-wrap:anywhere}
.tagchip button{background:transparent;border:0;color:#fff;cursor:pointer;font-size:16px}
.tagform{display:flex;gap:5px}.tagform input{width:100%;min-width:0;border-radius:7px;border:1px solid #647e91;padding:8px;background:#142535;color:#fff}
.tagform button{border:0;border-radius:7px;background:#457da1;color:white;padding:6px 11px;cursor:pointer}
.tagstatus{font-size:11px;color:#8ed6a3;margin-top:8px}.tagtoggle{background:#263748;color:white;border:0;border-radius:8px;padding:12px;cursor:pointer}
@media(max-width:850px){.lightbox-stage .tagpanel{width:165px;flex-basis:165px;padding:8px}.tagtitle{font-size:12px}}

/* KUF Gallery 0.4.0 – lokale Teamprofilverwaltung */
.team-panel{max-width:920px;margin:20px auto 50px;color:#233443}.team-warning{padding:14px 18px;border:1px solid #c9a96b;border-radius:10px;background:#fff8e8;margin-bottom:20px;font-weight:600}.team-list{display:grid;gap:10px;margin:16px 0}.team-entry{display:flex;align-items:center;gap:14px;background:white;border:1px solid #dce3e8;border-radius:10px;padding:14px}.team-entry span{color:#6c7884;flex:1}.team-panel button{padding:9px 14px;border-radius:8px;border:1px solid #ccd6dc;cursor:pointer;background:white;color:#223341}.team-panel .team-primary{background:#203243;color:white;border-color:#203243}.team-panel #teamForm{background:white;border:1px solid #dce3e8;border-radius:12px;padding:20px;margin-top:20px}.team-panel #teamForm>label:not(.team-check){display:grid;gap:5px;margin-bottom:12px}.team-panel #teamForm input:not([type=checkbox]){width:100%;padding:10px;border:1px solid #cdd6dd;border-radius:7px}.team-checkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:12px 0 22px}.team-check{display:flex;align-items:center;gap:8px}.team-actions{display:flex;gap:12px;margin-top:18px}

.kuf-shortcut-hint{font-size:12px;opacity:.8;white-space:nowrap;margin:0 12px;}@media(max-width:700px){.kuf-shortcut-hint{display:none}}

#kufFaces,#kufVideos{margin:20px 0;padding:18px;border-radius:12px;background:rgba(120,120,120,.08)} .kuf-video{max-width:640px;margin:12px 0} .kuf-video video{display:block;width:100%;max-height:400px;border-radius:10px;background:#000}.kuf-video-config{margin:12px 0}

/* 0.5.3: Schlagwort-Kopierfunktion in der großen Bildansicht */
.tagcopy{display:block;width:100%;margin-top:11px;padding:11px 8px;border:1px solid #7398b0;border-radius:8px;background:#365875;color:#fff;font-weight:700;cursor:pointer;text-align:center}
.tagcopy:hover:not(:disabled){background:#46749a}
.tagcopy:disabled{opacity:.5;cursor:not-allowed}
.tagcopyfeedback{font-size:12px;color:#a8e8bd;margin-top:6px;min-height:16px}

/* KUF 0.5.4 M_TEST: grosse alphabetische Gruppen und KI-Ordnerstruktur */
.treegroup{font-size:20px;font-weight:900;letter-spacing:1.2px;padding:18px 10px 9px}
.ai-folder-tree{max-height:390px;overflow:auto;border:1px solid #d6e0e7;border-radius:12px;background:#fff;margin:10px 0 18px;padding:6px}
.ai-folder-row{display:flex;align-items:center;gap:12px;min-height:43px;border-bottom:1px solid #edf1f5;padding-right:10px}
.ai-folder-pick{flex:1;min-width:0;text-align:left;border:0;background:transparent;font-size:15px;font-weight:600;cursor:pointer;padding:9px 6px}
.ai-folder-pick:hover,.ai-folder-pick.chosen{background:#eaf2f8;border-radius:7px}
.ai-folder-count{white-space:nowrap;color:#62788a;font-size:12px}
.ai-folder-row select{width:95px;min-width:95px;padding:5px;font-size:13px}

/* 0.5.6 M_TEST: Favoriten getrennt und alphabetische Navigation */
.treeletter{font-size:29px;font-weight:900;line-height:1.15;color:#263746;padding:16px 12px 6px;text-transform:uppercase;}
.gallery-home-section{margin-bottom:34px;}
.gallery-home-section>h2{font-size:23px;font-weight:800;margin:0 0 16px;}
#gallerygrid{display:block;}
#gallerygrid>.gallery-home-section>.gallerygrid{display:grid;}

/* 0.5.7: Galerieübergreifende lokale Suche */
#searchPanel{padding:20px 0 45px}.search-warning{background:#fff3d9;border:1px solid #c5a16b;border-radius:9px;padding:12px 15px;color:#563d1c}.search-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:13px;margin:22px 0}.search-controls label{display:flex;flex-direction:column;gap:7px;font-weight:600}.search-controls select,.search-controls input{width:100%;min-width:0;padding:11px;border:1px solid #b9c8d3;border-radius:8px;background:#fff;color:#233443}.search-summary{font-weight:800;font-size:19px;margin:18px 0}.search-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}.search-hit{border:1px solid #d2dce4;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:6px;min-width:0;background:#fff}.search-hit img{height:150px;width:100%;object-fit:contain;background:#17202a;border-radius:7px}.search-hit strong,.search-hit small{overflow-wrap:anywhere}.search-hit button{margin-top:auto;padding:9px;border:1px solid #cad4de;border-radius:7px;cursor:pointer}

/* 0.5.8: Logo zur Homepage, Schriftzug zur Galerieübersicht */
.brand{display:flex;align-items:center;gap:14px}.brand>a{color:inherit;text-decoration:none;display:block}.brand>a:hover{text-decoration:underline}.brand>a:first-child:hover{text-decoration:none}

.face-group{border:1px solid #6665;border-radius:10px;padding:12px;margin:10px 0}.face-photos{display:flex;gap:8px;overflow-x:auto;margin-top:8px}.face-photos img{width:90px;height:90px;object-fit:cover;border-radius:6px}.face-group input{max-width:240px}

/* 0.5.20: compact, expandable portraits */
.face-overview{margin-top:14px}.face-overview>summary{cursor:pointer;padding:12px 14px;background:#fff;border:1px solid #d4dce3;border-radius:9px;list-style:revert}.face-hint{display:block;font-size:12px;color:#647587;margin-top:3px}.face-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:12px;margin-top:14px;align-items:start}.face-card{background:#fff;border:1px solid #d3dce4;border-radius:12px;min-width:0;overflow:hidden}.face-card>summary{cursor:pointer;display:flex;flex-direction:column;gap:5px;padding:9px;list-style:none}.face-card>summary::-webkit-details-marker{display:none}.face-card>summary img{display:block;width:100%;height:122px;object-fit:cover;object-position:center;border-radius:7px;background:#dfe5e9}.face-card>summary strong{overflow-wrap:anywhere;font-size:13px}.face-card>summary small{color:#667789}.face-card[open]{grid-column:span 2}.face-card-detail{padding:10px;border-top:1px solid #d3dce4}.face-card-detail label{display:block;font-size:12px}.face-card-detail input{width:100%;max-width:100%;margin:5px 0}.face-card-detail button{margin:4px 0}.face-card-detail .face-photos{display:flex;gap:7px;overflow-x:auto;max-height:180px}.face-card-detail .face-photos img{height:74px;width:74px;object-fit:cover}@media(max-width:600px){.face-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.face-card[open]{grid-column:span 2}}

/* 0.5.21: visible naming cue on each compact portrait card */
.face-name-hint{display:block;font-size:12px;color:#365b79;margin-top:5px;font-weight:600}
.face-card-detail select{max-width:220px;padding:6px;border:1px solid #cbd5e1;border-radius:6px}

.face-reset-btn{margin-left:8px;border-color:#a96767;color:#923e3e}

/* 0.5.23: visible per-photo progress, unambiguous merge selection, close expanded card */
.face-progress{margin:12px 0;padding:10px 14px;background:#fff;border:1px solid #cddbe6;border-radius:9px;max-width:540px}
.face-progress label{display:block;margin-bottom:7px;font-weight:600}
.face-progress progress{width:100%;height:17px;accent-color:#2475b7}
.face-card{position:relative}
.face-close{display:none;position:absolute;top:8px;right:8px;z-index:2;border:1px solid #cbd5e1;border-radius:50%;background:#fff;color:#334155;width:32px;height:32px;cursor:pointer;font-size:16px;line-height:1}
.face-card[open]>.face-close{display:block}
.face-card[open]>summary{padding-right:48px}
.face-target-preview{display:flex;align-items:center;gap:8px;margin:7px 0;font-size:12px}
.face-target-preview[hidden]{display:none}
.face-target-preview img{width:48px;height:48px;object-fit:cover;border-radius:7px}
button[data-face-action]:disabled{opacity:.5;cursor:wait}

/* Fortschrittsanzeige respektiert hidden zuverlässig. */
.face-progress[hidden]{display:none!important}

/* Face scan is the primary action; reset is intentionally subdued. */
.face-scan-primary{background:#c62828;color:#fff;border:1px solid #a91d1d;font-weight:700;box-shadow:0 2px 5px #7f1d1d24}
.face-scan-primary:hover{background:#a91d1d;color:#fff}
.face-scan-primary:focus-visible{outline:3px solid #f87171;outline-offset:2px}
.face-reset-btn{margin-left:8px;border-color:#cbd5e1;color:#64748b;background:#fff;font-weight:500}
.face-reset-btn:hover{border-color:#94a3b8;color:#334155}

/* 0.5.25: Optional drag-to-merge for person cards. Existing manual merge remains. */
.face-card>summary{cursor:grab}.face-card.face-dragging{opacity:.45}.face-card.face-drop-target{outline:3px solid #259b5d;outline-offset:2px;background:#effbf2}.face-card.face-drop-target>summary{background:#effbf2}.face-card>summary:active{cursor:grabbing}
