/* SEMHOS CLOUD V1 · shared appearance and touch controls */
.appearance-picker{display:inline-flex;align-items:center;gap:7px;min-width:0;color:#40577d}
.appearance-icon{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.6;flex-shrink:0}.appearance-icon path{fill:currentColor;stroke:none}
.appearance-picker select{min-height:40px;max-width:155px;padding:8px 10px;border:1px solid #dce5f3;border-radius:10px;background:#f7f9fe;color:#40577d;font:inherit}
.login-preferences{position:absolute;inset-block-start:24px;inset-inline-end:28px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:calc(100% - 40px)}
.login-preferences .login-language{position:static;margin:0}.login-preferences select{min-height:40px}
.viewer-keyboard-hint{text-align:center;color:#64738c;font-size:11px;margin-block:8px 16px}
.header-right,.share-header-tools{gap:12px}.account-user>div{min-width:0;flex:1}.account-user strong,.account-user small{overflow-wrap:anywhere}
.account-user button{min-height:40px}.viewer-actions,.heading-actions{flex-wrap:wrap}.viewer-actions button,.viewer-actions a{min-height:44px}
:root[data-theme=dark]{color-scheme:dark;--bg:#0c1423;--panel:#152137;--text:#e7edf7;--muted:#aab8cf;--line:#2b3b55;--accent:#82aaff;--accent-soft:#233b63;--navy:#0b1426;--shadow:0 8px 28px #0003}
html[data-theme=dark] body{background:var(--bg);color:var(--text)}
html[data-theme=dark] :is(.topbar,.stat-card,.album-mini,.library-panel,.media-card,dialog,#queue,.bulk-bar,.mobile-nav,.state-card,.share-card,.share-header,#login){background:#152137;border-color:#2b3b55;color:#e7edf7}
html[data-theme=dark] :is(input,select,.login-form input,.language-picker select,.appearance-picker select,.language-select,.account-password-field){background:#101c30;border-color:#3b4d69;color:#e7edf7}
html[data-theme=dark] :is(input::placeholder){color:#9babca}
html[data-theme=dark] :is(.secondary,.layout-switch,.tabs,.trash-tabs,.search,.trashed-album,.account-card,.account-created-note,.bulk-review,.album-delete-review,.dropzone,.selection-heading,.account-list-caption){background:#1b2b44;border-color:#344764;color:#d6e2f5}
html[data-theme=dark] :is(.secondary:hover,.account-menu button:hover,.account-links button:hover,.icon-btn:hover){background:#293e5f;border-color:#607ca5;color:#fff}
html[data-theme=dark] :is(.primary,.file-choose){background:#3969d5;color:#fff}
html[data-theme=dark] :is(.primary:hover,.file-choose:hover){background:#477be9}
html[data-theme=dark] :is(.tabs .selected,.layout-switch button.selected,.trash-tabs>button.selected,.select-mode.active){background:#2a4673;color:#dbe8ff;border-color:#5374a7}
html[data-theme=dark] :is(.intro,.account-identity,.account-avatar-draft){background:linear-gradient(120deg,#1c2e4b,#243c60);border-color:#354d70}
html[data-theme=dark] :is(.intro h2,.account-home,.account-profile,#accountUsersView,#accountCreateView,.account-avatar-editor strong,.account-draft-top strong,.breadcrumb b,.mobile-brand,.collection-heading h1,.state-card h1){color:#edf3ff}
html[data-theme=dark] :is(.intro p,.heading p,.breadcrumb,.private-badge,.eyebrow,.account-menu button,.account-links button,form label,#dialogBody>label,.bulk-review ul){color:#bccce3}
html[data-theme=dark] :is(.stat-card small,.stat-card>div>span,.album-mini small,.card-details small,#resultCount,.empty p,.account-identity small,.account-private-note,.account-menu small,.account-footnote,.account-avatar-editor small,.account-photo-hint,.account-draft-top small,.account-field-note,.account-section-intro p,.account-user small,.account-user-role,.account-create-intro,.account-created>p,.account-created-note,.queue-file span,.queue-transfer,.viewer-metadata,.viewer-info,.viewer-navigation>span,.trashed-album small,.login-note,.login-copyright,.dialog-copyright,footer,.viewer-keyboard-hint){color:#adbed7}
html[data-theme=dark] :is(.stat-icon,.album-icon,.empty-icon,.queue-icon,.bulk-check,.account-section-icon,.account-role,.account-you,.account-created-icon,.trashed-album-icon){background:#263d61;color:#a9c8ff;border-color:#3c5579}
html[data-theme=dark] .account-profile input[readonly]{background:#1b2940;color:#b9c7dc;border-color:#344764}
html[data-theme=dark] .account-password-field button{background:#243650;color:#b8d0fb}
html[data-theme=dark] :is(.media-open,.file-fallback,.album-card .album-cover){background:linear-gradient(130deg,#243a59,#1b2b44);color:#b3c8e9}
html[data-theme=dark] .is-video .file-fallback{background:linear-gradient(125deg,#182943,#34527c)}
html[data-theme=dark] .hero-lock{background:#1c2e4b;border-color:#2f476d;color:#b7d2ff}
html[data-theme=dark] :is(.form-error:not(:empty),.account-profile .avatar-error,.management-warning){background:#3b2231;border-color:#7d4157;color:#ffd1da!important}
html[data-theme=dark] :is(.danger,.album-delete-note){color:#ffacbd}
html[data-theme=dark] .danger:hover{background:#452b3b;border-color:#9b5d71}
html[data-theme=dark] .primary.danger,html[data-theme=dark] .primary.trash-confirm{background:#a63c5a;color:#fff}
html[data-theme=dark] :is(.connection-notice,.selection-warnings){background:#382e1f;color:#f2d299;border-color:#75613e}
html[data-theme=dark] .dialog-top .icon-btn{background:#293a54;color:#cedcf3}
html[data-theme=dark] .search input{background:transparent}
html[data-theme=dark] .appearance-picker{color:#aec7ef}
html[data-theme=dark] .share-header .brand{color:#e7edf7}
html[data-theme=dark] footer b{background:#293c5a;color:#c0d2ef}
html[data-theme=dark] .share-gallery article{background:#152137;border-color:#344764;color:#e7edf7}
@media(max-width:1050px){.header-right .private-badge,.header-right .header-divider{display:none}.header-right{gap:8px}.appearance-picker select{max-width:142px}}
@media(max-width:800px){.topbar{height:auto;min-height:72px;flex-wrap:wrap;row-gap:12px;padding-block:14px}.header-right{margin-inline-start:auto}.viewer-keyboard-hint{display:none}.share-header{flex-wrap:wrap;gap:14px}.share-header-tools{flex-wrap:wrap}.share-header-tools .header-note{display:none}}
@media(max-width:600px){
 .appearance-picker{gap:4px}.appearance-icon{display:none}.appearance-picker select{max-width:134px;font-size:12px;min-height:42px}
 .login-preferences{inset-block-start:16px;inset-inline-end:20px;gap:8px}.login-preferences .language-picker select{font-size:12px}
 .login-panel{padding-top:92px}.header-right{gap:6px;width:100%;justify-content:flex-end}.topbar .mobile-brand{margin-inline-end:auto}
 .heading-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}.heading-actions button{min-height:44px;padding:10px;white-space:normal}
 .account-user{display:flex;flex-wrap:wrap;gap:10px}.account-user>div{flex-basis:calc(100% - 58px)}.account-user>button{flex:1;min-height:44px}.account-user-role{flex-basis:100%;text-align:start}
 .viewer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.viewer-actions>*{justify-content:center;white-space:normal;text-align:center}
 .trashed-album{display:flex;flex-wrap:wrap}.trashed-album>div{flex:1;min-width:0}.trashed-album>button{min-height:44px;flex:1 1 44%}
 .bulk-actions{overflow-x:auto;overscroll-behavior-inline:contain}.bulk-actions button{min-height:44px;flex-shrink:0}
 dialog{max-height:calc(100dvh - 28px);overflow-y:auto;overscroll-behavior:contain}input,select{font-size:16px}
}
@media(prefers-reduced-motion:reduce){button,a,input,select{transition:none}}
