/* ============================================
   iCollect Everything - Modern Design System
   Matches Mac app aesthetic (MiddleView.swift)
   ============================================ */

:root {
	--ice-accent: #2269c3;
	--ice-accent-hover: #1a5299;
	--ice-accent-dark: #4a8ad4;
	--ice-accent-dark-hover: #6aa0e0;
	--ice-accent-rgb: 34,105,195;
	--ice-accent-dark-rgb: 74,138,212;
}

*, *::before, *::after {
	box-sizing: border-box;
}

body {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
	background-color: #F2F2F7;
	margin: 0;
	padding: 0;
	color: #1c1c1e;
	-webkit-font-smoothing: antialiased;
}

a {
	text-decoration: none;
	color: var(--ice-accent);
}
a:hover {
	text-decoration: underline;
	color: var(--ice-accent-hover);
}

/* --- Top Banner --- */
.banner {
	background-color: #fff;
	width: 100%;
	padding: 10px 0;
	box-shadow: 0 1px 3px rgba(0,0,0,0.1);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	display: flex;
	justify-content: center;
	align-items: center;
}
.banner.top { top: 0; }
.banner.bottom { bottom: 0; top: auto; }
.banner img {
	max-width: calc(100% - 20px);
	max-height: 50px;
	width: auto;
	height: auto;
}

/* --- Main Content Wrapper --- */
.page-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 80px 20px 40px;
}

/* --- Skip Link (accessibility) --- */
.skip-link {
	position: absolute;
	top: -100%;
	left: 16px;
	background: var(--ice-accent);
	color: var(--ice-accent-text);
	padding: 8px 16px;
	border-radius: 0 0 8px 8px;
	font-size: 14px;
	font-weight: 600;
	z-index: 10001;
	text-decoration: none;
}
.skip-link:focus {
	top: 0;
}

/* --- Viewing Header --- */
h1.viewing,
.viewing {
	font-size: 20px;
	text-align: center;
	margin: 0 0 20px;
	padding: 0;
	font-weight: 600;
	color: #1c1c1e;
	line-height: 1.3;
}

/* --- Toolbar (dropdowns, search, view modes) --- */
.toolbar {
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.08);
	padding: 12px 16px;
	margin-bottom: 16px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: flex-end;
}
.toolbar-group {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1;
	min-width: 140px;
	position: relative;
}
.toolbar-group label {
	font-size: 11px;
	font-weight: 600;
	color: #8e8e93;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.toolbar-group select,
.toolbar-group input[type="text"] {
	padding: 8px 12px;
	border: 1px solid #d1d1d6;
	border-radius: 8px;
	font-size: 14px;
	font-family: inherit;
	background: #F2F2F7;
	color: #1c1c1e;
	width: 100%;
	min-height: 38px;
	transition: border-color 0.2s, box-shadow 0.2s;
}
.toolbar-group select {
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238e8e93' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 10px center;
	padding-right: 30px;
}
.toolbar-group select:focus,
.toolbar-group input[type="text"]:focus {
	outline: none;
	border-color: var(--ice-accent);
	box-shadow: 0 0 0 3px rgba(var(--ice-accent-rgb),0.15);
}
.toolbar-actions {
	display: flex;
	gap: 8px;
	align-items: flex-end;
}
.btn {
	padding: 8px 18px;
	border: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	font-family: inherit;
	cursor: pointer;
	transition: background-color 0.2s, transform 0.1s;
}
.btn:active {
	transform: scale(0.97);
}
.btn-primary {
	background: var(--ice-accent);
	color: var(--ice-accent-text);
}
.btn-primary:hover {
	background: var(--ice-accent-hover);
}
.btn-secondary {
	background: #E5E5EA;
	color: #1c1c1e;
}
.btn-secondary:hover {
	background: #d1d1d6;
}

/* --- View Mode Selector --- */
.view-mode-selector {
	display: flex;
	background: #E5E5EA;
	border-radius: 8px;
	padding: 2px;
	gap: 2px;
}
.view-mode-btn {
	padding: 6px 10px;
	border: none;
	border-radius: 6px;
	background: transparent;
	cursor: pointer;
	font-size: 16px;
	line-height: 1;
	color: #8e8e93;
	transition: all 0.2s;
	display: flex;
	align-items: center;
	justify-content: center;
}
.view-mode-btn.active {
	background: #fff;
	color: var(--ice-accent);
	box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.view-mode-btn:hover:not(.active) {
	color: #1c1c1e;
}

/* --- Section Headers (collapsible) --- */
.section-header {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	margin: 16px 0 8px;
	background: rgba(255,255,255,0.8);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: 7px;
	font-size: 16px;
	font-weight: 600;
	color: #1c1c1e;
	cursor: pointer;
	user-select: none;
}
.section-header .chevron {
	font-size: 12px;
	transition: transform 0.2s;
	color: #8e8e93;
}
.section-header.collapsed .chevron {
	transform: rotate(-90deg);
}
.section-header.collapsed {
	margin-bottom: 0;
}
.section-header .count-badge {
	font-size: 12px;
	font-weight: 700;
	color: #fff;
	background: #8e8e93;
	border-radius: 10px;
	padding: 2px 9px;
	min-width: 24px;
	text-align: center;
	margin-left: auto;
}
.section-header.collapsed + .itemrow,
.section-header.collapsed ~ .itemrow {
	/* Handled via JS for proper sibling scoping */
}

/* --- Rounded corners toggle --- */
.no-rounded-corners .itemrow .image img,
.no-rounded-corners .itemrow .image,
.no-rounded-corners.view-grid .itemrow .image img,
.no-rounded-corners.view-grid .itemrow .image,
.no-rounded-corners.view-bookshelf .itemrow .image img,
.no-rounded-corners.view-bookshelf .itemrow .image {
	border-radius: 0 !important;
}

/* --- Login CTA --- */
.btn-login-cta {
	background: var(--ice-accent, #2269c3);
	color: var(--ice-accent-text);
	border: none;
	border-radius: 10px;
	padding: 8px 16px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.2s;
}
.btn-login-cta:hover { background: var(--ice-accent-hover, #1a54a0); }

/* --- Add Item Modal --- */
.add-item-overlay {
	display: none;
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0,0,0,0.5);
	z-index: 2000;
	overflow-y: auto;
	padding: 40px 16px;
}
.add-item-overlay.open { display: block; }
.add-item-modal {
	background: #fff;
	max-width: 700px;
	margin: 0 auto;
	border-radius: 16px;
	padding: 24px;
	box-shadow: 0 8px 32px rgba(0,0,0,0.2);
}
.add-item-modal h2 {
	margin: 0 0 16px;
	font-size: 20px;
	font-weight: 700;
}
.add-item-modal .form-group {
	margin-bottom: 12px;
}
.add-item-modal .form-group label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: #636366;
	margin-bottom: 4px;
}
.add-item-modal .form-group input,
.add-item-modal .form-group textarea,
.add-item-modal .form-group select {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid #d1d1d6;
	border-radius: 8px;
	font-size: 14px;
	font-family: inherit;
}
.add-item-modal .form-group textarea {
	min-height: 60px;
	resize: vertical;
}
.add-item-modal .form-actions {
	display: flex;
	gap: 8px;
	justify-content: flex-end;
	margin-top: 16px;
}
.add-item-modal .form-actions button {
	padding: 8px 20px;
	border: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}
.add-item-modal .btn-save-new { background: #34C759; color: #fff; }
.add-item-modal .btn-save-new:hover { background: #28a745; }
.add-item-modal .btn-cancel-new { background: #8e8e93; color: #fff; }
.add-item-modal .btn-cancel-new:hover { background: #636366; }

/* --- Create Collection Modal --- */
.create-coll-overlay {
	display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0,0,0,0.5); z-index: 10000;
	overflow-y: auto; padding: 40px 16px;
}
.create-coll-overlay.open { display: block; }
.create-coll-modal {
	max-width: 560px; margin: 0 auto; background: #fff;
	border-radius: 16px; padding: 28px 24px;
	box-shadow: 0 8px 32px rgba(0,0,0,0.2);
}
.create-coll-modal h2 {
	margin: 0 0 20px; font-size: 20px; font-weight: 700; color: #1c1c1e; text-align: center;
}
.create-coll-modal .form-group {
	margin-bottom: 14px;
}
.create-coll-modal .form-group label {
	display: block; font-size: 13px; font-weight: 600;
	color: #636366; margin-bottom: 4px;
}
.create-coll-modal .form-group input,
.create-coll-modal .form-group select {
	width: 100%; padding: 10px 12px; border: 1px solid #d1d1d6;
	border-radius: 10px; font-size: 14px; background: #F2F2F7;
}
.create-coll-field-row {
	display: flex; gap: 8px; align-items: center; margin-bottom: 8px;
}
.create-coll-field-row input { flex: 1; }
.cc-field-name {
	padding: 10px 12px; border: 1px solid #d1d1d6; border-radius: 10px;
	font-size: 14px; background: #F2F2F7; box-sizing: border-box; color: #1c1c1e;
}
.cc-field-locked {
	background: #e8e8ed;
}
.create-coll-field-row select { flex: 0 0 140px; }
.create-coll-field-row .btn-remove-field {
	flex: 0 0 28px; width: 28px; height: 28px; border: none;
	border-radius: 6px; background: #FF3B30; color: #fff;
	font-size: 16px; cursor: pointer; display: flex;
	align-items: center; justify-content: center;
}
.btn-add-field {
	background: none; border: 1px dashed var(--ice-accent); color: var(--ice-accent);
	border-radius: 10px; padding: 8px 16px; font-size: 13px;
	font-weight: 600; cursor: pointer; width: 100%; margin: 8px 0 16px;
}
.btn-add-field:hover { background: rgba(var(--ice-accent-rgb),0.05); }
.create-coll-modal .form-actions {
	display: flex; gap: 10px; justify-content: flex-end; margin-top: 20px;
}
.create-coll-modal .form-actions button,
.create-coll-modal .form-actions-edit button {
	padding: 10px 24px; border: none; border-radius: 10px;
	font-size: 14px; font-weight: 600; cursor: pointer;
}
.create-coll-modal .btn-save-coll { background: #5856D6; color: #fff; }
.create-coll-modal .btn-save-coll:hover { background: #4a48c4; }
.create-coll-modal .btn-cancel-coll { background: #8e8e93; color: #fff; }
.create-coll-modal .btn-cancel-coll:hover { background: #636366; }

/* --- Custom Type Picker --- */
.cc-type-picker { position: relative; flex: 0 0 220px; }
.cc-type-picker-selected {
	display: flex; align-items: center; gap: 8px;
	padding: 9px 12px; border: 1px solid #d1d1d6; border-radius: 10px;
	font-size: 14px; background: #F2F2F7; cursor: pointer;
	user-select: none; width: 100%; box-sizing: border-box;
}
.cc-type-picker-selected svg { flex-shrink: 0; width: 18px; height: 18px; color: #636366; }
.cc-type-picker-selected span { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cc-type-picker-selected::after {
	content: ''; border-left: 4px solid transparent; border-right: 4px solid transparent;
	border-top: 5px solid #8e8e93; margin-left: auto; flex-shrink: 0;
}
.cc-type-picker-dropdown {
	display: none; position: absolute; top: 100%; left: 0; right: 0;
	background: #fff; border: 1px solid #d1d1d6; border-radius: 10px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.15); z-index: 100;
	max-height: 300px; overflow-y: auto; margin-top: 4px;
}
.cc-type-picker-dropdown.open { display: block; }
.cc-type-picker-option {
	display: flex; align-items: center; gap: 10px; padding: 10px 12px;
	cursor: pointer; transition: background 0.15s;
}
.cc-type-picker-option:first-child { border-radius: 10px 10px 0 0; }
.cc-type-picker-option:last-child { border-radius: 0 0 10px 10px; }
.cc-type-picker-option:hover { background: #F2F2F7; }
.cc-type-picker-option.selected { background: #EDE7F6; }
.cc-type-picker-option svg { flex-shrink: 0; width: 20px; height: 20px; color: #5856D6; }
.cc-type-picker-option .cc-tp-label { font-size: 14px; font-weight: 600; color: #1c1c1e; }
.cc-type-picker-option .cc-tp-desc { font-size: 11px; color: #8e8e93; margin-top: 1px; }

/* Type picker inside disabled title row */
.cc-type-picker-selected[disabled] {
	opacity: 0.6; cursor: default; pointer-events: none; background: #e8e8ed;
}

/* --- Edit Fields Modal extras --- */
.create-coll-modal .form-actions-edit {
	display: flex; gap: 10px; align-items: center; margin-top: 20px;
}
.create-coll-modal .form-actions-edit .btn-left { margin-right: auto; }
.create-coll-modal .btn-delete-coll {
	background: none; border: 1px solid #FF3B30; color: #FF3B30;
	padding: 10px 18px; border-radius: 10px; font-size: 13px;
	font-weight: 600; cursor: pointer;
}
.create-coll-modal .btn-delete-coll:hover { background: #FFF0F0; }

/* --- Account Options Modal --- */
.acct-opts-overlay {
	display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0,0,0,0.5); z-index: 10000;
	overflow-y: auto; padding: 40px 16px;
}
.acct-opts-overlay.open { display: block; }
.acct-opts-modal {
	max-width: 660px; margin: 0 auto; background: #fff;
	border-radius: 16px; padding: 28px 24px;
	box-shadow: 0 8px 32px rgba(0,0,0,0.2);
}
.acct-opts-modal h2 {
	margin: 0 0 20px; font-size: 20px; font-weight: 700; color: #1c1c1e; text-align: center;
}
.acct-section-title {
	font-size: 13px; font-weight: 600; color: #636366;
	text-transform: uppercase; letter-spacing: 0.5px;
	margin: 0 0 12px; padding-bottom: 6px;
	border-bottom: 1px solid #e5e5ea;
}
.acct-coll-list {
	margin: 0 0 16px; padding: 0; list-style: none;
	max-height: 320px; overflow-y: auto;
}
.acct-coll-row {
	display: flex; align-items: center; justify-content: space-between;
	padding: 5px 12px 5px 0; border-bottom: 1px solid #f2f2f7;
}
.acct-coll-row:last-child { border-bottom: none; }
.acct-coll-info { flex: 1; min-width: 0; }
.acct-coll-name {
	font-size: 13px; color: #1c1c1e; font-weight: 500;
}
.acct-coll-count {
	font-size: 11px; color: #8e8e93; margin-left: 4px;
}
.acct-coll-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.acct-rename-btn {
	font-size: 11px; font-weight: 600; font-family: inherit;
	padding: 3px 8px; border-radius: 6px; cursor: pointer;
	background: transparent; color: var(--ice-accent);
	border: 1px solid var(--ice-accent);
	transition: background 0.15s, color 0.15s;
}
.acct-rename-btn:hover { background: var(--ice-accent); color: #fff; }
/* Compact toggle switch */
.acct-toggle {
	position: relative; width: 40px; height: 24px; flex-shrink: 0; margin-left: 8px;
}
.acct-toggle input {
	opacity: 0; width: 0; height: 0; position: absolute;
}
.acct-toggle-slider {
	position: absolute; top: 0; left: 0; right: 0; bottom: 0;
	background: #e9e9eb; border-radius: 24px; cursor: pointer;
	transition: background 0.25s;
}
.acct-toggle-slider::before {
	content: ''; position: absolute; width: 20px; height: 20px;
	left: 2px; bottom: 2px; background: #fff; border-radius: 50%;
	box-shadow: 0 1px 2px rgba(0,0,0,0.2);
	transition: transform 0.25s;
}
.acct-toggle input:checked + .acct-toggle-slider {
	background: #34C759;
}
.acct-toggle input:checked + .acct-toggle-slider::before {
	transform: translateX(16px);
}
.acct-new-coll-wrap {
	text-align: center; margin-bottom: 16px;
}
.acct-new-coll-btn {
	display: inline-block; padding: 10px 20px; border: none; border-radius: 10px;
	font-size: 14px; font-weight: 600; cursor: pointer;
	background: var(--ice-accent); color: var(--ice-accent-text);
}
.acct-new-coll-btn:hover { background: var(--ice-accent-hover); }
.acct-opts-actions {
	display: flex; gap: 10px; justify-content: space-between; margin-top: 20px;
}
.acct-logout-btn {
	padding: 10px 24px; border: none; border-radius: 10px;
	font-size: 14px; font-weight: 600; cursor: pointer;
	background: #FF3B30; color: #fff;
}
.acct-logout-btn:hover { background: #E0342B; }
.acct-close-btn {
	padding: 10px 24px; border: none; border-radius: 10px;
	font-size: 14px; font-weight: 600; cursor: pointer;
	background: #8e8e93; color: #fff;
}
.acct-close-btn:hover { background: #636366; }

/* Account Options Tabs */
.acct-tabs {
	display: flex; border-bottom: 1px solid #e5e5ea; margin-bottom: 16px;
}
.acct-tab {
	flex: 1; padding: 10px 0; text-align: center; font-size: 14px;
	font-weight: 500; color: #8e8e93; background: none; border: none;
	border-bottom: 2px solid transparent; cursor: pointer;
	transition: color 0.2s, border-color 0.2s;
	white-space: nowrap;
}
.acct-tab.active {
	color: var(--ice-accent); font-weight: 700; border-bottom-color: var(--ice-accent);
}
.acct-tab:hover:not(.active) { color: #636366; }
.acct-tab-content { display: none; }
.acct-tab-content.active { display: block; }

/* Account tab dropdown (replaces tab bar on small screens) */
.acct-tab-select-wrap { display: none; text-align: center; margin-bottom: 16px; }
.acct-tab-select-label {
	font-size: 12px; color: #8e8e93; margin-bottom: 8px;
}
.acct-tab-select {
	padding: 8px 12px; border: 1px solid #d1d1d6;
	border-radius: 8px; font-size: 14px; font-family: inherit;
	background: #F2F2F7; color: #1c1c1e; min-height: 38px;
	font-weight: 600;
	max-width: 280px; width: auto;
}
.acct-tab-select-divider {
	border: none; border-top: 1px solid #e5e5ea; margin: 14px 0 0;
}
@media (max-width: 600px) {
	.acct-tabs { display: none; }
	.acct-tab-select-wrap { display: block; }
}

/* Cell Data Rows */
.acct-celldata-row {
	display: flex; align-items: center; justify-content: space-between;
	padding: 10px 0; border-bottom: 1px solid #f2f2f7;
}
.acct-celldata-row:last-child { border-bottom: none; }
.acct-celldata-label {
	font-size: 14px; font-weight: 500; color: #1c1c1e; flex-shrink: 0; margin-right: 12px;
}
.acct-celldata-select {
	flex: 1; max-width: 200px; padding: 8px 10px; border: 1px solid #d1d1d6;
	border-radius: 8px; font-size: 13px; background: #fff;
	-webkit-appearance: none; appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238e8e93' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 10px center;
	padding-right: 28px;
}
.acct-celldata-msg {
	font-size: 14px; color: #8e8e93; text-align: center; padding: 20px 0;
}

/* Account Tab */
.acct-form-group {
	margin-bottom: 14px;
}
.acct-form-group label {
	display: block; font-size: 13px; font-weight: 600; color: #636366;
	margin-bottom: 4px;
}
.acct-form-group input {
	width: 100%; padding: 9px 12px; border: 1px solid #d1d1d6;
	border-radius: 8px; font-size: 14px; box-sizing: border-box;
}
.acct-form-group input:focus {
	outline: none; border-color: var(--ice-accent); box-shadow: 0 0 0 2px rgba(var(--ice-accent-rgb),0.15);
}
.acct-form-btn {
	display: inline-block; padding: 9px 20px; border: none; border-radius: 8px;
	font-size: 14px; font-weight: 600; cursor: pointer;
	background: var(--ice-accent); color: var(--ice-accent-text);
}
.acct-form-btn:hover { background: var(--ice-accent-hover); }
.acct-form-btn:disabled { opacity: 0.5; cursor: default; }
.acct-form-msg {
	font-size: 13px; margin-top: 8px; min-height: 18px;
}
.acct-form-msg.success { color: #34C759; }
.acct-form-msg.error { color: #FF3B30; }
.acct-section-divider {
	border: none; border-top: 1px solid #e5e5ea; margin: 20px 0;
}
.acct-danger-zone-title {
	font-size: 13px; font-weight: 700; color: #FF3B30;
	text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 12px;
}
.acct-danger-btn {
	display: block; width: 100%; padding: 10px; border: 1px solid #FF3B30;
	border-radius: 8px; font-size: 14px; font-weight: 600; cursor: pointer;
	background: #fff; color: #FF3B30; margin-bottom: 8px;
	transition: background 0.2s;
}
.acct-danger-btn:hover { background: #FFF0F0; }
.acct-pro-btn {
	display: block; width: 100%; padding: 10px; border: 1px solid var(--ice-accent);
	border-radius: 8px; font-size: 14px; font-weight: 600; cursor: pointer;
	background: #fff; color: var(--ice-accent); margin-bottom: 8px;
}
.acct-pro-btn:hover { background: rgba(var(--ice-accent-rgb), 0.06); }
.acct-confirm-overlay {
	display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0,0,0,0.6); z-index: 10002;
	justify-content: center; align-items: center;
}
.acct-confirm-overlay.open { display: flex; }
.acct-confirm-box {
	background: #fff; border-radius: 14px; padding: 24px;
	max-width: 380px; width: 90%; text-align: center;
	box-shadow: 0 8px 32px rgba(0,0,0,0.25);
}
.acct-confirm-box h3 { margin: 0 0 8px; font-size: 17px; font-weight: 700; }
.acct-confirm-box p { margin: 0 0 16px; font-size: 14px; color: #636366; }
.acct-confirm-box input {
	width: 100%; padding: 9px 12px; border: 1px solid #d1d1d6;
	border-radius: 8px; font-size: 14px; box-sizing: border-box; margin-bottom: 16px;
}
.acct-confirm-box .btn-row { display: flex; gap: 10px; justify-content: center; }
.acct-confirm-box button {
	padding: 10px 24px; border: none; border-radius: 10px;
	font-size: 14px; font-weight: 600; cursor: pointer;
}
.acct-confirm-box .btn-cancel { background: #e5e5ea; color: #1c1c1e; }
.acct-confirm-box .btn-cancel:hover { background: #d1d1d6; }
.acct-confirm-box .btn-del { background: #FF3B30; color: #fff; }
.acct-confirm-box .btn-del:hover { background: #e0332b; }
.acct-confirm-box .btn-del:disabled { opacity: 0.5; }
.acct-confirm-box .acct-confirm-msg {
	font-size: 13px; color: #FF3B30; margin-bottom: 10px; min-height: 16px;
}
/* Rename dialog */
.acct-rename-desc { font-size: 13px; color: #636366; margin: 0 0 12px; text-align: left; }
.acct-rename-box .acct-form-group { margin-bottom: 10px; text-align: left; }
.acct-rename-box .acct-form-group label { display: block; font-size: 12px; font-weight: 600; color: #636366; margin-bottom: 3px; }
.acct-rename-box .acct-form-group input {
	width: 100%; padding: 8px 10px; font-size: 14px; border-radius: 8px;
	border: 1px solid #d1d1d6; font-family: inherit;
}
.acct-rename-box .btn-row { flex-wrap: wrap; }
.acct-confirm-box .btn-save-rename {
	background: var(--ice-accent); color: #fff;
}
.acct-confirm-box .btn-save-rename:hover { opacity: 0.85; }
.acct-confirm-box .btn-reset-rename {
	background: transparent; color: #636366;
	border: 1px solid #d1d1d6;
}
.acct-confirm-box .btn-reset-rename:hover { background: #f2f2f7; }
.acct-collapse-header {
	display: flex; align-items: center; justify-content: space-between;
	cursor: pointer; padding: 10px 0; user-select: none;
}
.acct-collapse-header .acct-section-title { margin: 0; }
.acct-collapse-arrow {
	font-size: 12px; color: #8e8e93; transition: transform 0.2s;
}
.acct-collapse-header.open .acct-collapse-arrow { transform: rotate(90deg); }
.acct-collapse-body {
	display: none; padding-bottom: 4px;
}
.acct-collapse-body.open { display: block; }

/* --- Default Data Tab --- */
.dd-coll-switcher { margin: 12px 0 16px; position: relative; }
.dd-coll-btn {
	width: 100%; padding: 8px 12px; border: 1px solid #d1d1d6; border-radius: 10px;
	background: #fff; font-size: 14px; cursor: pointer; display: flex;
	align-items: center; gap: 8px; font-family: inherit;
}
.dd-coll-btn img { width: 20px; height: 20px; }
.dd-coll-btn span:first-of-type { flex: 1; text-align: left; }
.dd-coll-arrow { font-size: 10px; color: #8e8e93; }
.dd-coll-dropdown {
	position: absolute; top: 100%; left: 0; right: 0; z-index: 100;
	background: #fff; border: 1px solid #d1d1d6; border-radius: 10px;
	box-shadow: 0 4px 16px rgba(0,0,0,0.12); max-height: 300px; overflow-y: auto;
	display: none; margin-top: 4px;
}
.dd-coll-dropdown.open { display: block; }
.dd-coll-scroll { padding: 4px 0; }
.dd-coll-section-header {
	font-size: 11px; font-weight: 600; color: #8e8e93; text-transform: uppercase;
	letter-spacing: 0.5px; padding: 8px 12px 4px;
}
.dd-coll-row {
	display: flex; align-items: center; gap: 8px; padding: 8px 12px;
	cursor: pointer; transition: background 0.15s;
}
.dd-coll-row:hover { background: #f2f2f7; }
.dd-coll-row.active { background: rgba(var(--ice-accent-rgb), 0.08); }
.dd-coll-row-icon { width: 20px; height: 20px; flex-shrink: 0; }
.dd-coll-row-name { flex: 1; font-size: 14px; font-weight: 500; }
.dd-coll-row.active .dd-coll-row-name { color: var(--ice-accent); font-weight: 600; }
.dd-coll-row-current {
	font-size: 11px; color: #8e8e93; font-weight: 500;
	background: #e5e5ea; border-radius: 4px; padding: 2px 6px;
}
.dd-field-row {
	margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid #f0f0f0;
}
.dd-field-row:last-child { border-bottom: none; }
.dd-field-label {
	font-size: 12px; font-weight: 600; color: #8e8e93; text-transform: uppercase;
	margin-bottom: 4px; letter-spacing: 0.3px;
}
#dd-fields-container .edit-field { margin: 0; }
#dd-fields-container input[type="text"],
#dd-fields-container input[type="number"],
#dd-fields-container input[type="date"],
#dd-fields-container textarea,
#dd-fields-container select {
	width: 100%; padding: 8px 12px; border: 1px solid #d1d1d6; border-radius: 8px;
	font-size: 14px; background: #fff; box-sizing: border-box; font-family: inherit;
	min-height: 38px;
}
#dd-fields-container select {
	-webkit-appearance: none; appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238e8e93' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 10px center;
	padding-right: 30px;
}
/* Currency: locale dropdown left of amount input */
#dd-fields-container .currency-edit {
	display: flex; gap: 8px; align-items: center;
}
#dd-fields-container .currency-edit select {
	flex: 0 0 auto; min-width: 110px; width: auto;
}
#dd-fields-container .currency-edit input {
	flex: 1; min-width: 0;
}
#dd-fields-container input:focus,
#dd-fields-container textarea:focus,
#dd-fields-container select:focus {
	outline: none; border-color: var(--ice-accent);
	box-shadow: 0 0 0 2px rgba(var(--ice-accent-rgb), 0.15);
}
#dd-fields-container textarea { min-height: 60px; resize: vertical; }
#dd-fields-container .dd-star-row {
	display: flex; align-items: center; gap: 12px;
}
#dd-fields-container .star-rating-edit { display: flex; gap: 4px; cursor: pointer; }
#dd-fields-container .star-rating-edit .star {
	font-size: 24px; color: #d1d1d6; cursor: pointer; transition: color 0.15s; user-select: none;
}
#dd-fields-container .star-rating-edit .star.filled { color: #FF9500; }
#dd-fields-container .dd-star-clear {
	background: none; border: none; color: #8e8e93; font-size: 13px;
	cursor: pointer; padding: 4px 8px; font-family: inherit;
}
#dd-fields-container .dd-star-clear:hover { color: #FF3B30; }
#dd-fields-container .toggle-edit { display: flex; align-items: center; gap: 8px; }
#dd-fields-container .toggle-edit input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--ice-accent); }
#dd-fields-container .multi-select-trigger {
	display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px;
	background: #f2f2f7; border: 1px solid #d1d1d6; border-radius: 10px;
	cursor: pointer; font-size: 13px; color: #1c1c1e; font-family: inherit;
}
#dd-fields-container .multi-select-trigger:hover { background: #e5e5ea; }
#dd-fields-container .multi-select-trigger .ms-count {
	background: var(--ice-accent); color: var(--ice-accent-text); font-size: 11px; font-weight: 700;
	padding: 1px 7px; border-radius: 10px; min-width: 18px; text-align: center;
}
#dd-fields-container .multi-select-overlay {
	display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0,0,0,0.4); z-index: 9000; justify-content: center; align-items: center;
}
#dd-fields-container .multi-select-overlay.open { display: flex; }
#dd-fields-container .multi-select-modal {
	background: #fff; border-radius: 14px; width: 90%; max-width: 400px; max-height: 70vh;
	display: flex; flex-direction: column; box-shadow: 0 8px 32px rgba(0,0,0,0.25);
}
#dd-fields-container .multi-select-modal .ms-header {
	display: flex; align-items: center; justify-content: space-between;
	padding: 14px 16px; border-bottom: 1px solid #e5e5ea; font-weight: 600; font-size: 16px;
}
#dd-fields-container .multi-select-modal .ms-header button {
	background: none; border: none; color: var(--ice-accent); font-size: 14px;
	font-weight: 600; cursor: pointer; font-family: inherit;
}
#dd-fields-container .multi-select-modal .ms-body {
	overflow-y: auto; padding: 8px 0; -webkit-overflow-scrolling: touch;
}
#dd-fields-container .multi-select-modal .ms-option {
	display: flex; align-items: center; gap: 10px; padding: 10px 16px; font-size: 14px; cursor: pointer;
}
#dd-fields-container .multi-select-modal .ms-option:hover { background: #f2f2f7; }
#dd-fields-container .multi-select-modal .ms-option input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--ice-accent); flex-shrink: 0; }
#dd-fields-container .multi-select-modal .ms-footer {
	padding: 12px 16px; border-top: 1px solid #e5e5ea; text-align: right;
}
#dd-fields-container .multi-select-modal .ms-footer button {
	background: var(--ice-accent); color: var(--ice-accent-text); border: none; border-radius: 10px;
	padding: 8px 24px; font-size: 14px; font-weight: 600; cursor: pointer; font-family: inherit;
}
#dd-fields-container .multi-select-modal .ms-footer button:hover { background: var(--ice-accent-hover); }
#dd-fields-container .ac-wrapper { position: relative; flex: 1; }
#dd-fields-container .ac-wrapper input { width: 100%; }
#dd-fields-container .ac-suggestions {
	display: none; position: absolute; top: 100%; left: 0; right: 0;
	background: #fff; border: 1px solid #d1d1d6; border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15); z-index: 9999; max-height: 200px; overflow-y: auto; margin-top: 2px;
}
#dd-fields-container .ac-suggestions.open { display: block; }
#dd-fields-container .ac-suggestions .ac-item {
	padding: 8px 12px; font-size: 13px; cursor: pointer; border-bottom: 1px solid #f0f0f0;
}
#dd-fields-container .ac-suggestions .ac-item:last-child { border-bottom: none; }
#dd-fields-container .ac-suggestions .ac-item:hover { background: var(--ice-accent); color: var(--ice-accent-text); }
#dd-fields-container .ac-suggestions .ac-hint {
	padding: 8px 12px; font-size: 12px; color: #8e8e93; font-style: italic;
}
#dd-fields-container .studio-edit { display: flex; flex-direction: column; gap: 6px; }
#dd-fields-container .studio-tags { display: flex; flex-wrap: wrap; gap: 6px; }
#dd-fields-container .studio-tag {
	display: inline-flex; align-items: center; gap: 4px;
	padding: 4px 10px; background: #E8E8ED; border-radius: 8px; font-size: 13px; color: #1c1c1e;
}
#dd-fields-container .studio-tag .tag-remove {
	background: none; border: none; color: #FF3B30; font-size: 14px; cursor: pointer; padding: 0 2px; line-height: 1;
}
.dd-status {
	font-size: 12px; color: #8e8e93; margin: 8px 0; min-height: 16px; text-align: center;
}

/* Collection Value Tab */
.acct-value-section { margin-bottom: 16px; }
.acct-value-header { font-size: 12px; font-weight: 600; color: #8e8e93; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 6px; padding: 0 4px; }
.acct-value-row { display: flex; justify-content: space-between; align-items: center; padding: 8px 4px; border-bottom: 1px solid #f2f2f7; font-size: 14px; }
.acct-value-row:last-child { border-bottom: none; }
.acct-value-amount { font-weight: 600; }
.acct-value-qty { color: #8e8e93; font-size: 12px; }
.acct-value-diff-up { color: #34c759; }
.acct-value-diff-down { color: #ff3b30; }
.acct-value-diff-zero { color: inherit; }
.acct-value-empty { color: #8e8e93; font-size: 13px; text-align: center; padding: 20px 0; }
.acct-value-desc { font-size: 13px; color: #000; line-height: 1.5; margin: 0 4px 16px; }
.acct-privacy-radios { display: flex; flex-direction: column; gap: 2px; margin: 0 0 8px; }
.acct-privacy-option { display: flex; align-items: flex-start; gap: 8px; padding: 10px 8px; border-radius: 8px; cursor: pointer; }
.acct-privacy-option:hover { background: rgba(0,0,0,0.04); }
.acct-privacy-option input[type="radio"] { margin-top: 3px; flex-shrink: 0; accent-color: var(--ice-accent, #007aff); }
.acct-privacy-text { display: flex; flex-direction: column; }
.acct-privacy-label { font-size: 14px; font-weight: 600; }
.acct-privacy-desc { font-size: 12px; color: #8e8e93; margin-top: 1px; }
.acct-editfields-note { font-size: 12px; color: #8e8e93; margin: 8px 4px 0; }
#acct-tab-editfields .dd-coll-switcher { width: 40%; margin-left: auto; margin-right: auto; }
.acct-ef-bulk-btns { display: flex; gap: 8px; margin-bottom: 12px; justify-content: center; }
.acct-ef-bulk-btns .acct-form-btn { margin: 0; width: auto; }

/* Confirm delete overlay */
.confirm-delete-overlay {
	display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0,0,0,0.6); z-index: 10001;
	justify-content: center; align-items: center;
}
.confirm-delete-overlay.open { display: flex; }
.confirm-delete-box {
	background: #fff; border-radius: 14px; padding: 24px;
	max-width: 380px; width: 90%; text-align: center;
	box-shadow: 0 8px 32px rgba(0,0,0,0.25);
}
.confirm-delete-box h3 { margin: 0 0 8px; font-size: 17px; font-weight: 700; }
.confirm-delete-box p { margin: 0 0 20px; font-size: 14px; color: #636366; }
.confirm-delete-box .btn-row { display: flex; gap: 10px; justify-content: center; }
.confirm-delete-box button {
	padding: 10px 24px; border: none; border-radius: 10px;
	font-size: 14px; font-weight: 600; cursor: pointer;
}
.confirm-delete-box .btn-confirm-del { background: #FF3B30; color: #fff; }
.confirm-delete-box .btn-confirm-del:hover { background: #e0332b; }
.confirm-delete-box .btn-confirm-cancel { background: #e5e5ea; color: #1c1c1e; }
.confirm-delete-box .btn-confirm-cancel:hover { background: #d1d1d6; }

.add-item-toast {
	position: fixed;
	bottom: 24px;
	left: 50%;
	transform: translateX(-50%);
	background: #1c1c1e;
	color: #fff;
	padding: 10px 24px;
	border-radius: 10px;
	font-size: 14px;
	z-index: 3000;
	display: none;
}
.add-item-toast.show { display: block; }

/* --- Items Container --- */
.items-container {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

/* --- Offscreen item performance --- */
.itemrow:nth-child(n+10) {
	content-visibility: auto;
	contain-intrinsic-size: 0 170px;
}

/* --- Extended List Item Row --- */
.itemrow {
	display: flex;
	align-items: center;
	cursor: pointer;
	background: #fff;
	border-radius: 14px;
	padding: 10px;
	transition: box-shadow 0.2s, transform 0.15s;
	box-shadow: 0 1px 2px rgba(0,0,0,0.04);
	text-decoration: none;
	overflow: hidden;
	min-width: 0;
	color: inherit;
}
.itemrow:hover {
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
	transform: translateY(-1px);
	text-decoration: none;
	color: inherit;
}

.itemrow .image {
	flex: 0 0 88px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 88px;
	height: 104px;
	overflow: hidden;
	margin-right: 12px;
	border-radius: 8px;
}
.itemrow .image img {
	width: 100%;
	height: 100%;
	border-radius: 8px;
	object-fit: contain;
}

.details {
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex: 1;
	min-width: 0;
	gap: 2px;
}
.details a, .details a:hover {
	color: inherit;
	text-decoration: none;
}

.row1 {
	font-size: 17px;
	font-weight: 700;
	color: var(--ice-accent);
	line-height: 1.3;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.row2 {
	font-size: 12px;
	color: #636366;
	font-style: italic;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.row3 {
	margin-top: 4px;
	display: flex;
	align-items: center;
	gap: 2px;
}
.row3 img {
	width: 14px;
	height: 14px;
}
.row4 {
	font-size: 13px;
	font-weight: 600;
	color: #1c1c1e;
	margin-top: 2px;
}
.row5 {
	font-size: 11px;
	color: #8e8e93;
	margin-top: 4px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
}
.badge-green { background: #34C759; color: #fff; }
body.dark-theme .badge-green { color: #000; }

/* --- Badges --- */
.badge {
	display: inline-block;
	font-size: 10px;
	font-weight: 700;
	padding: 2px 6px;
	border-radius: 4px;
	line-height: 1.4;
}
.badge-orange { background: #FF9500; color: #000; }
.badge-blue { background: #007AFF; color: #fff; }
.badge-neutral { background: #E5E5EA; color: #636366; }
.row-badges { display: flex; flex-wrap: wrap; gap: 3px; margin-top: 2px; }

/* --- Pagination --- */
.pagination {
	text-align: center;
	padding: 20px 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}
.pagination:empty {
	padding: 0;
}
.pagination-controls {
	display: flex;
	align-items: center;
	gap: 8px;
}
.pagination a {
	background: var(--ice-accent);
	padding: 10px 20px;
	border-radius: 10px;
	color: var(--ice-accent-text);
	text-decoration: none;
	font-weight: 600;
	font-size: 14px;
	transition: background 0.2s;
}
.pagination a:hover {
	background: var(--ice-accent-hover);
	text-decoration: none;
}
.page-size-row {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #636366;
}
.page-size-row select {
	padding: 6px 10px;
	border: 1px solid #d1d1d6;
	border-radius: 8px;
	font-size: 13px;
	background: #F2F2F7;
}

.banner-inner {
	display: flex;
	align-items: center;
	gap: 10px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 16px;
	width: 100%;
}
.banner-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	color: #1c1c1e;
	flex: 1;
	min-width: 0;
}
.banner-brand:hover { text-decoration: none; color: #1c1c1e; }
.banner-brand img {
	width: 32px;
	height: 32px;
	border-radius: 7px;
	flex-shrink: 0;
}
.banner-brand span {
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.banner-cta {
	background: var(--ice-accent);
	color: var(--ice-accent-text);
	padding: 6px 16px;
	border-radius: 16px;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	flex-shrink: 0;
	transition: background 0.2s;
}
.banner-cta:hover { background: var(--ice-accent-hover); color: var(--ice-accent-text); text-decoration: none; }

/* --- Compact List View --- */
.view-compact .itemrow {
	padding: 6px 10px;
}
.view-compact .itemrow .image {
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	margin-right: 10px;
}
.view-compact .itemrow .image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.view-compact .row1 {
	font-size: 13px;
	font-weight: 500;
}
.view-compact .row2 {
	font-size: 11px;
}
.view-compact .row3,
.view-compact .row4 {
	display: none;
}
.view-compact .row5 {
	display: flex;
	justify-content: flex-end;
}
.view-compact .row5 span:first-child {
	display: none;
}
@media (min-width: 769px) {
	.view-compact .items-container {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 6px;
	}
	.view-compact .section-header {
		grid-column: 1 / -1;
	}
	.view-extended .items-container {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}
	.view-extended .section-header {
		grid-column: 1 / -1;
	}
}
@media (min-width: 1200px) {
	.view-compact .items-container {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.view-extended .items-container {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* --- Grid View --- */
.view-grid .items-container {
	display: grid;
	grid-template-columns: repeat(var(--grid-cols, 4), 1fr);
	gap: 12px;
}
.view-grid .section-header {
	grid-column: 1 / -1;
}
.view-grid .itemrow {
	flex-direction: column;
	align-items: center;
	padding: 8px;
	background: rgba(0,0,0,0.04);
}
.view-grid .itemrow:hover {
	background: rgba(0,0,0,0.08);
}
.view-grid .itemrow .image {
	flex: none;
	width: 100%;
	height: 0;
	padding-bottom: 100%;
	position: relative;
	margin-right: 0;
	margin-bottom: 6px;
	border-radius: 8px;
	overflow: hidden;
}
.view-grid .itemrow .image img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
}
.view-grid .details {
	align-items: center;
	text-align: center;
}
.view-grid .row1 {
	font-size: clamp(10px, 1.2vw, 16px);
	white-space: normal;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-align: center;
}
.view-grid .row2,
.view-grid .row3,
.view-grid .row4,
.view-grid .row5 {
	display: none;
}

/* --- Grid: Hide Titles --- */
.view-grid.hide-titles .itemrow .details { display: none; }
.view-grid.hide-titles .itemrow { padding: 4px; }
.view-grid.hide-titles .itemrow .image { margin-bottom: 0; }
.view-grid.hide-titles .items-container { gap: 6px; }

/* --- Hide Estimated Values --- */
.hide-est-values .est-value-badge { display: none; }

/* --- Bookshelf View --- */
.view-bookshelf .toolbar {
	margin-bottom: 20px;
}
.view-bookshelf .items-container {
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 0;
	border-radius: 0;
	overflow: hidden;
	background: #3b2312;
}
.view-bookshelf .section-header {
	background: url('/mobile/web_images/bookshelf-header.png') no-repeat center;
	background-color: #4a2c17;
	background-size: 100% 100%;
	color: #fff;
	text-shadow: 0 1px 2px rgba(0,0,0,0.5);
	border-radius: 0;
	margin: 0;
	padding: 6px 16px;
	font-size: 14px;
	min-height: 36px;
}
.view-bookshelf .section-header .chevron {
	color: #fff;
}
.view-bookshelf .section-header .count-badge {
	color: #fff;
	background: rgba(255,255,255,0.2);
}
.view-bookshelf .shelf-row {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-end;
	background: url('/mobile/web_images/bookshelf.png') repeat-x bottom;
	background-size: 100% 100%;
	min-height: 210px;
	padding: 6px 8px 18px;
	gap: 4px;
}
.view-bookshelf .itemrow {
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	padding: 0;
	background: transparent;
	border-radius: 0;
	box-shadow: none !important;
	flex: 0 1 calc(100% / var(--grid-cols, 4));
	min-width: 0;
}
.view-bookshelf .itemrow:hover {
	box-shadow: none !important;
	transform: none;
}
.view-bookshelf .itemrow .image {
	flex: none;
	width: 90%;
	height: auto;
	margin: 0 auto;
	border-radius: 8px;
	box-shadow: none !important;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
.view-bookshelf .itemrow .image img {
	max-width: 100%;
	max-height: 155px;
	width: auto;
	height: auto;
	border-radius: 8px;
	box-shadow: none !important;
}
.view-bookshelf .details {
	display: none;
}

/* --- Force View controls + buttons to second line on desktop --- */
.toolbar-view-line {
	flex-basis: 100%;
	height: 0;
	margin: -2px 0;
}

/* --- View controls row (view selector + columns + rounded) --- */
.view-controls-row {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: nowrap;
	justify-content: flex-start;
}

/* --- Owner action buttons (Add Item, Edit Fields) --- */
.owner-actions-row {
	display: flex;
	gap: 6px;
	align-items: center;
	margin-left: auto;
}
.btn-edit-fields {
	background: #8E8E93;
}
.btn-add-item {
	background: var(--ice-accent, #2269c3);
}

/* --- Mobile-only Add Item button (between toolbar and collection) --- */
.mobile-add-item-row {
	display: none;
}

/* --- Grid Column Controls --- */
.grid-controls {
	display: none;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: #636366;
}
.grid-controls.visible {
	display: flex;
}
.grid-controls input[type="range"] {
	width: 80px;
	accent-color: var(--ice-accent);
}

/* --- Filter Panel --- */
.filter-panel {
	display: none;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 4px 24px rgba(0,0,0,0.15);
	padding: 20px;
	padding-bottom: 0;
	margin-bottom: 16px;
	max-height: 60vh;
	overflow-y: auto;
}
.filter-panel.open { display: block; }
.filter-group {
	margin-bottom: 16px;
	border-bottom: 1px solid #E5E5EA;
	padding-bottom: 12px;
}
.filter-group:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}
.filter-group-title {
	font-size: 13px;
	font-weight: 600;
	color: #1c1c1e;
	margin-bottom: 8px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.filter-group-title a {
	font-size: 11px;
	font-weight: 500;
	cursor: pointer;
}
.filter-options {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.filter-chip {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 10px;
	border-radius: 14px;
	border: 1px solid #d1d1d6;
	background: #fff;
	font-size: 12px;
	color: #636366;
	cursor: pointer;
	transition: all 0.15s;
	user-select: none;
}
.filter-chip.active {
	background: var(--ice-accent);
	border-color: var(--ice-accent);
	color: var(--ice-accent-text);
}
.filter-chip:hover:not(.active) {
	border-color: var(--ice-accent);
	color: var(--ice-accent);
}
.filter-actions {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	padding: 12px 0;
	border-top: 1px solid #E5E5EA;
	position: sticky;
	bottom: 0;
	background: #fff;
	margin: 0 -20px;
	padding-left: 20px;
	padding-right: 20px;
	border-radius: 0 0 14px 14px;
}
#filter-btn, #sort-btn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.filter-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 10px;
	background: #FF3B30;
	color: #fff;
	border-radius: 50%;
	width: 20px;
	height: 20px;
	font-weight: 700;
	flex-shrink: 0;
}
/* --- Sort Panel --- */
.sort-panel {
	display: none;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 4px 24px rgba(0,0,0,0.15);
	padding: 20px;
	margin-bottom: 16px;
}
.sort-panel.open { display: block; }
.sort-level {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
}
.sort-level-label {
	font-size: 13px;
	font-weight: 600;
	color: #636366;
	min-width: 80px;
	flex-shrink: 0;
}
.sort-level select {
	flex: 1;
	padding: 8px 10px;
	border: 1px solid #d1d1d6;
	border-radius: 8px;
	font-size: 13px;
	background: #f2f2f7;
	font-family: inherit;
	color: #1c1c1e;
}
.sort-level select:focus {
	outline: none;
	border-color: var(--ice-accent);
}
.sort-direction-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid #E5E5EA;
}
.sort-dir-label {
	font-size: 13px;
	font-weight: 600;
	color: #636366;
	min-width: 80px;
	flex-shrink: 0;
}
.sort-dir-toggle {
	display: flex;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid #d1d1d6;
}
.sort-dir-toggle button {
	padding: 7px 16px;
	font-size: 13px;
	font-family: inherit;
	border: none;
	background: #f2f2f7;
	color: #636366;
	cursor: pointer;
	transition: all 0.15s;
}
.sort-dir-toggle button.active {
	background: var(--ice-accent);
	color: var(--ice-accent-text);
}
.sort-actions {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid #E5E5EA;
}
.sort-divider {
	border-top: 1px solid #E5E5EA;
	margin: 6px 0 10px;
}
.sort-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 10px;
	background: var(--ice-accent);
	color: var(--ice-accent-text);
	border-radius: 50%;
	width: 20px;
	height: 20px;
	font-weight: 700;
	flex-shrink: 0;
}

.item-count-display {
	font-size: 13px;
	color: #636366;
	text-align: center;
	padding: 8px 0;
}
.itemrow.filtered-out,
.section-header.filtered-out {
	display: none !important;
}
.search-with-field {
	display: flex;
	align-items: stretch;
	gap: 6px;
}
.search-field-select {
	flex: 0 0 auto;
	width: auto;
	max-width: 130px;
	padding: 8px 6px;
	border: 1px solid #d1d1d6;
	border-radius: 8px;
	font-size: 12px;
	background: #E5E5EA;
	font-family: inherit;
	color: #1c1c1e;
}
.search-field-select:focus {
	outline: none;
	border-color: var(--ice-accent);
}
.search-with-field input[type="text"] {
	border-radius: 8px !important;
	flex: 1;
}

/* --- Options Panel Toggle Button --- */
#options-toggle-btn.active {
	background: var(--ice-accent);
	border-color: var(--ice-accent);
	color: var(--ice-accent-text);
}

/* --- Collapsible Options Panel --- */
.options-panel {
	display: none;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.08);
	margin-bottom: 16px;
	padding: 14px 16px;
}
.options-panel.open {
	display: block;
}
.options-section-title {
	font-size: 11px;
	font-weight: 600;
	color: #8e8e93;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin: 0 0 8px;
}
.options-section-title:not(:first-child) {
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid #e5e5ea;
}
.options-checkboxes {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
}
.options-checkboxes label {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 13px;
	cursor: pointer;
	white-space: nowrap;
	padding: 3px 0;
}
.ice-accent-checkbox {
	accent-color: var(--ice-accent);
}
.options-done-row {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid #e5e5ea;
}
.options-bulk-btns {
	display: flex;
	gap: 8px;
	margin-right: auto;
}
.btn-bulk-edit,
.btn-bulk-delete {
	padding: 8px 18px;
	border: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	font-family: inherit;
	transition: background 0.15s, opacity 0.15s;
}
.btn-bulk-edit {
	background: var(--ice-accent);
	color: var(--ice-accent-text);
}
.btn-bulk-edit:hover {
	background: var(--ice-accent-hover);
}
.btn-bulk-delete {
	background: #ff3b30;
	color: #fff;
}
.btn-bulk-delete:hover {
	background: #e0352b;
}

/* --- Theme Color Picker --- */
.theme-color-picker {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.theme-swatch {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 2px solid transparent;
	cursor: pointer;
	position: relative;
	transition: transform 0.15s, border-color 0.15s;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.theme-swatch:hover {
	transform: scale(1.15);
}
.theme-swatch.active {
	border-color: #1c1c1e;
}
.theme-swatch .swatch-check {
	display: none;
	width: 14px;
	height: 14px;
}
.theme-swatch.active .swatch-check {
	display: block;
}

/* Legacy class mappings */
.page-break { display: none; grid-column: 1 / -1; }

/* --- Mobile toolbar layout --- */
.toolbar-primary {
	display: contents;
}
.toolbar-secondary {
	display: contents;
}
.toolbar-toggle {
	display: none;
}

/* --- Empty collection add button (mobile only) --- */
.empty-add-btn { display: none; }

/* --- Responsive --- */
.show-mobile { display: none; }
@media (max-width: 768px) {
	.hide-mobile { display: none !important; }
	.show-mobile { display: inline !important; }
	.empty-add-btn { display: block; }
	.banner-brand img { width: 27px; height: 27px; }
	.banner-brand span { font-size: 12.6px; }
	.page-container {
		padding: 70px 12px 30px;
	}
	.toolbar {
		padding: 10px 12px;
		gap: 4px;
	}
	.toolbar-primary {
		display: flex;
		flex-wrap: nowrap;
		gap: 8px;
		width: 100%;
	}
	.toolbar-primary .toolbar-group {
		min-width: 0;
		flex: 1;
	}
	.toolbar-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 6px;
		width: 100%;
		padding: 4px 0 2px;
		background: none;
		border: none;
		border-top: 1px solid #e5e5ea;
		margin-top: 0;
		font-size: 12px;
		font-weight: 600;
		color: var(--ice-accent);
		cursor: pointer;
		font-family: inherit;
	}
	.toolbar-toggle .toggle-chevron {
		font-size: 10px;
		transition: transform 0.2s;
	}
	.toolbar-toggle.expanded .toggle-chevron {
		transform: rotate(180deg);
	}
	.toolbar-secondary {
		display: none;
		flex-wrap: wrap;
		gap: 8px;
		width: 100%;
	}
	.toolbar-secondary.open {
		display: flex;
	}
	.toolbar-secondary .toolbar-group {
		min-width: 100%;
	}
	.toolbar-sort-filter {
		order: 10;
		min-width: auto !important;
		flex: 0 0 auto !important;
	}
	.toolbar-sort-filter > div {
		justify-content: flex-start;
	}
	.toolbar-group input[type="text"],
	.toolbar-group select,
	.search-field-select {
		font-size: 16px;
	}
	.toolbar-view-line {
		display: none;
	}
	.view-controls-row {
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	.owner-actions-row {
		width: 100%;
		margin-left: 0;
	}
	.owner-actions-row .btn-add-item {
		display: none;
	}
	.mobile-add-item-row {
		display: flex;
		justify-content: flex-end;
		padding: 8px 16px 12px;
	}
	.view-mode-selector {
		width: auto;
	}
	.itemrow .image {
		flex: 0 0 64px;
		width: 64px;
		height: 80px;
	}
	.itemrow .image img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
	.row1 { font-size: 15px; }
	.row2 { font-size: 11px; }
	h1.viewing,
	.viewing { font-size: 17px; margin-top: 0; }
	.view-bookshelf .shelf-row {
		min-height: 150px;
		padding: 6px 4px 16px;
	}
	.view-bookshelf .itemrow .image {
		flex: none !important;
		width: 85% !important;
		height: auto !important;
	}
	.view-bookshelf .itemrow .image img {
		max-width: 100% !important;
		max-height: 100px;
		width: auto !important;
		height: auto !important;
	}
	.section-header {
		margin: 8px 0 4px;
	}
	.section-header.collapsed {
		margin-bottom: 0;
	}
	.create-coll-modal {
		padding: 20px 16px;
	}
	.create-coll-field-row {
		flex-wrap: wrap;
	}
	.create-coll-field-row .cc-field-name {
		width: 100%; flex: 1 1 100%;
	}
	.cc-type-picker {
		flex: 1 1 auto;
	}
}

@media (min-width: 769px) and (max-width: 1024px) {
	.page-container {
		max-width: 900px;
	}
}

/* ========== LOGIN MODAL ========== */
.login-modal-overlay {
	display: none;
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0,0,0,0.5);
	z-index: 10000;
	justify-content: center;
	align-items: center;
}
.login-modal {
	background: #fff;
	border-radius: 14px;
	padding: 24px;
	max-width: 360px;
	width: 90%;
	box-shadow: 0 8px 32px rgba(0,0,0,0.2);
}
.login-modal-title {
	margin: 0 0 16px;
	font-size: 18px;
	font-weight: 700;
	text-align: center;
	color: #1c1c1e;
}
.login-modal-error {
	display: none;
	background: #FFE5E5;
	color: #D32F2F;
	padding: 10px 12px;
	border-radius: 8px;
	font-size: 13px;
	margin-bottom: 12px;
}
.login-modal-input {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #ccc;
	border-radius: 8px;
	font-size: 16px;
	margin-bottom: 10px;
	box-sizing: border-box;
	background: #fff;
	color: #1c1c1e;
}
.login-modal-submit {
	width: 100%;
	padding: 11px;
	background: #FF9500;
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
}
.login-modal-submit:hover {
	background: #e08600;
}
.login-modal-cancel {
	width: 100%;
	padding: 10px;
	background: none;
	border: none;
	color: #666;
	font-size: 13px;
	cursor: pointer;
	margin-top: 8px;
}
.login-modal-cancel:hover {
	color: #333;
}
.login-modal-forgot {
	display: block;
	text-align: center;
	font-size: 13px;
	color: var(--ice-accent);
	margin-top: 10px;
	text-decoration: none;
}
.login-modal-forgot:hover {
	text-decoration: underline;
}
.login-modal-desc {
	font-size: 13px;
	color: #8e8e93;
	text-align: center;
	margin: 0 0 16px;
	line-height: 1.4;
}
.login-modal-success {
	display: none;
	background: #E8F5E9;
	color: #2E7D32;
	padding: 10px 12px;
	border-radius: 8px;
	font-size: 13px;
	margin-bottom: 12px;
	line-height: 1.4;
}
.login-modal-btn-row {
	display: flex;
	gap: 10px;
}
.login-modal-btn-row .login-modal-submit {
	flex: 1;
}
.login-modal-create-btn {
	background: var(--ice-accent, #2269c3) !important;
}
.login-modal-create-btn:hover {
	background: var(--ice-accent-dark, #1a54a0) !important;
}
.login-modal-hint {
	font-size: 12px;
	color: #8e8e93;
	margin: 0 0 14px;
	line-height: 1.4;
}

/* ========== THEME TOGGLE ========== */
.theme-toggle {
	background: none; border: none; cursor: pointer; padding: 6px;
	color: #636366; display: flex; align-items: center; justify-content: center;
	border-radius: 8px; transition: background 0.2s;
}
.theme-toggle:hover { background: rgba(0,0,0,0.06); }
.theme-toggle svg { width: 20px; height: 20px; }
body.dark-theme .theme-toggle { color: #aeaeb2; }
body.dark-theme .theme-toggle:hover { background: rgba(255,255,255,0.1); }

/* ========== DARK THEME ========== */
body.dark-theme { background-color: #000; color: #fff; }
body.dark-theme a { color: var(--ice-accent); }
body.dark-theme a:hover { color: var(--ice-accent-hover); }

/* Banner */
body.dark-theme .banner { background-color: #1c1c1e; box-shadow: 0 1px 3px rgba(0,0,0,0.4); }
body.dark-theme .banner-brand:hover { color: #fff; }
body.dark-theme .banner-brand span { color: #fff; }

/* Page */
body.dark-theme h1.viewing,
body.dark-theme .viewing { color: #fff; }
body.dark-theme .page-container { }

/* Toolbar */
body.dark-theme .toolbar { background: #1c1c1e; border-bottom-color: #38383a; }
body.dark-theme .toolbar-toggle { border-top-color: #38383a; }
body.dark-theme .toolbar select,
body.dark-theme .toolbar input[type="text"] {
	background-color: #2c2c2e; color: #fff; border-color: #48484a;
}
body.dark-theme select { background-color: #2c2c2e; color: #fff; border-color: #48484a; }
body.dark-theme input[type="text"],
body.dark-theme input[type="email"],
body.dark-theme input[type="password"],
body.dark-theme input[type="date"],
body.dark-theme textarea { background-color: #2c2c2e; color: #fff; border-color: #48484a; }
body.dark-theme .search-input { background: #2c2c2e; color: #fff; border-color: #48484a; }
body.dark-theme .search-input::placeholder { color: #636366; }
body.dark-theme .view-mode-selector { background: #2c2c2e; }
body.dark-theme .view-mode-btn { background: transparent; color: #aeaeb2; border-color: #48484a; }
body.dark-theme .view-mode-btn:hover:not(.active) { color: #fff; }
body.dark-theme .view-mode-btn.active { background: #48484a; color: #fff; box-shadow: 0 1px 3px rgba(0,0,0,0.3); }

/* Buttons */
body.dark-theme .btn-secondary { background: #3a3a3c; color: #fff; }
body.dark-theme .btn-secondary:hover { background: #48484a; }
body.dark-theme .btn-login-cta { background: var(--ice-accent, #2269c3); }
body.dark-theme .btn-login-cta:hover { background: var(--ice-accent-hover, #1a54a0); }
body.dark-theme .btn-edit-fields { background: #636366; }
body.dark-theme .btn-edit-fields:hover { background: #7c7c80; }

/* Items */
body.dark-theme .itemrow { background: #1c1c1e; border-bottom-color: #38383a; }
body.dark-theme .itemrow:hover { background: #2c2c2e; }
body.dark-theme .section-header { background: #2c2c2e; color: #aeaeb2; border-bottom-color: #38383a; }
body.dark-theme .row1 { color: var(--ice-accent); }
body.dark-theme .row2 { color: #aeaeb2; }
body.dark-theme .row3 { color: #aeaeb2; }
body.dark-theme .row4 { color: #8e8e93; }
body.dark-theme .row5 { color: #636366; }
body.dark-theme .badge { opacity: 0.9; }

/* Grid / Bookshelf views */
body.dark-theme .view-grid .itemrow { background: #1c1c1e; }
body.dark-theme .view-bookshelf .items-container { background: #3b2312; }
body.dark-theme .view-bookshelf .section-header {
	background: url('/mobile/web_images/bookshelf-header.png') no-repeat center;
	background-color: #4a2c17;
	background-size: 100% 100%;
	color: #fff;
	border-bottom-color: #4a2c17;
}
body.dark-theme .view-bookshelf .section-header .chevron { color: #fff; }
body.dark-theme .view-bookshelf .section-header .count-badge { color: #fff; background: rgba(255,255,255,0.2); }
body.dark-theme .view-bookshelf .shelf-row { border-color: #48484a; }
body.dark-theme .view-bookshelf .shelf-row::after { background: #48484a; }
body.dark-theme .view-bookshelf .itemrow { background: transparent; }
body.dark-theme .view-bookshelf .itemrow:hover { background: transparent; }

/* Filter panel */
body.dark-theme .filter-panel { background: #1c1c1e; border-color: #38383a; }
body.dark-theme .filter-group-title { color: #aeaeb2; border-bottom-color: #38383a; }
body.dark-theme .filter-chip { background: #2c2c2e; color: #fff; border-color: #48484a; }
body.dark-theme .filter-chip.active { background: var(--ice-accent); color: var(--ice-accent-dark-text); border-color: var(--ice-accent); }

/* Sort panel */
body.dark-theme .sort-panel { background: #1c1c1e; border-color: #38383a; }
body.dark-theme .sort-level select { background: #2c2c2e; color: #fff; border-color: #48484a; }
body.dark-theme .sort-level-label { color: #aeaeb2; }
body.dark-theme .sort-dir-label { color: #aeaeb2; }
body.dark-theme .sort-dir-toggle { border-color: #48484a; }
body.dark-theme .sort-dir-toggle button { background: #2c2c2e; color: #aeaeb2; }
body.dark-theme .sort-dir-toggle button.active { background: var(--ice-accent); color: var(--ice-accent-dark-text); }
body.dark-theme .sort-direction-row { border-top-color: #38383a; }
body.dark-theme .sort-actions { border-top-color: #38383a; }
body.dark-theme .sort-divider { border-top-color: #38383a; }

/* Grid controls */
body.dark-theme .grid-controls { color: #aeaeb2; }

/* Banner CTA buttons */
body.dark-theme .banner-cta { color: var(--ice-accent-dark-text); }
body.dark-theme .banner-cta:hover { color: var(--ice-accent-dark-text); }

/* Pagination */
body.dark-theme .pagination { color: #aeaeb2; }
body.dark-theme .pagination a { color: var(--ice-accent-dark-text); }
body.dark-theme .pagination a:hover { color: var(--ice-accent-dark-text); }
body.dark-theme .page-size-row { color: #aeaeb2; }
body.dark-theme .page-size-row select { background: #2c2c2e; color: #fff; border-color: #48484a; }

/* Filter group borders */
body.dark-theme .filter-group { border-bottom-color: #38383a; }
body.dark-theme .filter-actions { background: #1c1c1e; border-top-color: #38383a; }

/* Account Settings Modal */
body.dark-theme .acct-opts-overlay { background: rgba(0,0,0,0.7); }
body.dark-theme .acct-opts-modal { background: #1c1c1e; color: #fff; }
body.dark-theme .acct-opts-modal h2 { color: #fff; }
body.dark-theme .acct-tabs { border-bottom-color: #38383a; }
body.dark-theme .acct-tab { color: #8e8e93; }
body.dark-theme .acct-tab.active { color: var(--ice-accent); border-bottom-color: var(--ice-accent); }
body.dark-theme .acct-tab:hover:not(.active) { color: #aeaeb2; }
body.dark-theme .acct-tab-select { background: #2c2c2e; color: #fff; border-color: #48484a; }
body.dark-theme .acct-tab-select-label { color: #8e8e93; }
body.dark-theme .acct-tab-select-divider { border-top-color: #38383a; }
body.dark-theme .acct-section-title { color: #aeaeb2; }
body.dark-theme .acct-coll-name { color: #fff; }
body.dark-theme .acct-coll-count { color: #8e8e93; }
body.dark-theme .acct-coll-row { border-bottom-color: #38383a; }
body.dark-theme .acct-toggle-slider { background: #48484a; }
body.dark-theme .acct-celldata-row { border-bottom-color: #38383a; }
body.dark-theme .acct-celldata-label { color: #fff; }
body.dark-theme .acct-celldata-select { background: #2c2c2e; color: #fff; border-color: #48484a; }
body.dark-theme .acct-form-group label { color: #8e8e93; }
body.dark-theme .acct-form-group input { background: #2c2c2e; color: #fff; border-color: #48484a; }
body.dark-theme .acct-section-divider { border-top-color: #38383a; }
body.dark-theme .acct-collapse-header:hover { background: rgba(255,255,255,0.05); }
body.dark-theme .acct-collapse-arrow { color: #aeaeb2; }
body.dark-theme .acct-danger-zone-title { color: #FF453A; }
body.dark-theme .acct-danger-btn { border-color: #FF453A; color: #FF453A; background: #1c1c1e; }
body.dark-theme .acct-danger-btn:hover { background: #2c2c2e; }
body.dark-theme .acct-pro-btn { border-color: var(--ice-accent); color: var(--ice-accent); background: #1c1c1e; }
body.dark-theme .acct-pro-btn:hover { background: #2c2c2e; }
body.dark-theme .acct-close-btn { background: #48484a; color: #fff; }
body.dark-theme .acct-logout-btn { background: #FF453A; color: #fff; }
body.dark-theme .acct-new-coll-btn { color: var(--ice-accent-dark-text); }
body.dark-theme .acct-form-btn { color: var(--ice-accent-dark-text); }
body.dark-theme .acct-value-row { border-bottom-color: #38383a; }
body.dark-theme .acct-value-header { color: #8e8e93; }
body.dark-theme .acct-value-empty { color: #636366; }
body.dark-theme .acct-value-diff-up { color: #30d158; }
body.dark-theme .acct-value-diff-down { color: #ff453a; }
body.dark-theme .acct-value-desc { color: #636366; }
body.dark-theme .acct-editfields-note { color: #636366; }
body.dark-theme .acct-privacy-option:hover { background: rgba(255,255,255,0.06); }
body.dark-theme .acct-privacy-label { color: #fff; }
body.dark-theme .acct-privacy-desc { color: #636366; }
body.dark-theme .acct-privacy-option input[type="radio"] { accent-color: var(--ice-accent-dark, #0a84ff); }
/* Default Data tab dark */
body.dark-theme .dd-coll-btn { background: #2c2c2e; color: #fff; border-color: #48484a; }
body.dark-theme .dd-coll-dropdown { background: #2c2c2e; border-color: #48484a; box-shadow: 0 4px 16px rgba(0,0,0,0.4); }
body.dark-theme .dd-coll-section-header { color: #8e8e93; }
body.dark-theme .dd-coll-row:hover { background: #3a3a3c; }
body.dark-theme .dd-coll-row.active { background: rgba(var(--ice-accent-dark-rgb), 0.15); }
body.dark-theme .dd-coll-row-name { color: #fff; }
body.dark-theme .dd-coll-row.active .dd-coll-row-name { color: var(--ice-accent-dark); }
body.dark-theme .dd-coll-row-current { background: #48484a; color: #aeaeb2; }
body.dark-theme .dd-coll-row-icon { filter: invert(1); }
body.dark-theme .dd-coll-btn img { filter: invert(1); }
body.dark-theme .dd-field-row { border-bottom-color: #38383a; }
body.dark-theme .dd-field-label { color: #8e8e93; }
body.dark-theme #dd-fields-container input[type="text"],
body.dark-theme #dd-fields-container input[type="number"],
body.dark-theme #dd-fields-container input[type="date"],
body.dark-theme #dd-fields-container textarea,
body.dark-theme #dd-fields-container select { background: #2c2c2e; color: #fff; border-color: #48484a; }
body.dark-theme #dd-fields-container .star-rating-edit .star { color: #48484a; }
body.dark-theme #dd-fields-container .star-rating-edit .star.filled { color: #FF9500; }
body.dark-theme #dd-fields-container .multi-select-trigger { background: #2c2c2e; border-color: #48484a; color: #fff; }
body.dark-theme #dd-fields-container .multi-select-trigger:hover { background: #3a3a3c; }
body.dark-theme #dd-fields-container .multi-select-modal { background: #1c1c1e; color: #fff; }
body.dark-theme #dd-fields-container .multi-select-modal .ms-header { border-bottom-color: #38383a; }
body.dark-theme #dd-fields-container .multi-select-modal .ms-option:hover { background: #2c2c2e; }
body.dark-theme #dd-fields-container .multi-select-modal .ms-body { color: #fff; }
body.dark-theme #dd-fields-container .multi-select-modal .ms-footer { border-top-color: #38383a; }
body.dark-theme #dd-fields-container .ac-suggestions { background: #2c2c2e; border-color: #48484a; box-shadow: 0 4px 12px rgba(0,0,0,0.4); }
body.dark-theme #dd-fields-container .ac-suggestions .ac-item { border-bottom-color: #38383a; color: #fff; }
body.dark-theme #dd-fields-container .ac-suggestions .ac-item:hover { background: var(--ice-accent-dark); color: var(--ice-accent-dark-text); }
body.dark-theme #dd-fields-container .ac-suggestions .ac-hint { color: #8e8e93; }
body.dark-theme #dd-fields-container .studio-tag { background: #2c2c2e; color: #fff; }
body.dark-theme .badge-neutral { background: #3a3a3c; color: #ebebf5; }
body.dark-theme .badge-orange { background: #FF9F0A; color: #000; }
body.dark-theme .badge-blue { background: #0A84FF; color: #fff; }

/* Confirm overlays */
body.dark-theme .confirm-delete-box,
body.dark-theme .acct-confirm-box { background: #2c2c2e; }
body.dark-theme .confirm-delete-box h3,
body.dark-theme .acct-confirm-box h3 { color: #fff; }
body.dark-theme .confirm-delete-box p,
body.dark-theme .acct-confirm-box p { color: #aeaeb2; }
body.dark-theme .acct-confirm-box input { background: #3a3a3c; color: #fff; border-color: #48484a; }
body.dark-theme .btn-confirm-cancel,
body.dark-theme .acct-confirm-box .btn-cancel { background: #48484a; color: #fff; }
body.dark-theme .acct-confirm-box .btn-del { background: #FF453A; color: #fff; }
body.dark-theme .acct-rename-btn { color: var(--ice-accent-dark); border-color: var(--ice-accent-dark); }
body.dark-theme .acct-rename-btn:hover { background: var(--ice-accent-dark); color: #000; }
body.dark-theme .acct-rename-desc { color: #8e8e93; }
body.dark-theme .acct-rename-box .acct-form-group label { color: #8e8e93; }
body.dark-theme .acct-rename-box .acct-form-group input { background: #3a3a3c; color: #fff; border-color: #48484a; }
body.dark-theme .acct-confirm-box .btn-save-rename { background: var(--ice-accent-dark); color: #000; }
body.dark-theme .acct-confirm-box .btn-reset-rename { color: #aeaeb2; border-color: #48484a; }
body.dark-theme .acct-confirm-box .btn-reset-rename:hover { background: #3a3a3c; }

/* Add item / Edit fields modals */
body.dark-theme .add-item-modal,
body.dark-theme .edit-fields-modal,
body.dark-theme .create-coll-modal { background: #1c1c1e; color: #fff; }
body.dark-theme .add-item-modal h2,
body.dark-theme .edit-fields-modal h2,
body.dark-theme .create-coll-modal h2 { color: #fff; }
body.dark-theme .form-group label { color: #aeaeb2; }
body.dark-theme .form-group input,
body.dark-theme .form-group textarea,
body.dark-theme .form-group select { background: #2c2c2e; color: #fff; border-color: #48484a; }

/* Create/Edit collection fields */
body.dark-theme .cc-field-name { background: #2c2c2e; color: #fff; border-color: #48484a; }
body.dark-theme .cc-field-name::placeholder { color: #8e8e93; }
body.dark-theme .cc-field-locked { background: #3a3a3c; color: #8e8e93; }
body.dark-theme .cc-type-picker-selected { background: #2c2c2e; color: #fff; border-color: #48484a; }
body.dark-theme .cc-type-picker-selected svg { color: #aeaeb2; }
body.dark-theme .cc-type-picker-dropdown { background: #2c2c2e; border-color: #48484a; }
body.dark-theme .cc-type-picker-option:hover { background: #3a3a3c; }
body.dark-theme .cc-type-picker-option.selected { background: #3a3a3c; }
body.dark-theme .cc-type-picker-option .cc-tp-label { color: #fff; }
body.dark-theme .btn-add-field { border-color: var(--ice-accent-dark); color: var(--ice-accent-dark); }
body.dark-theme .btn-add-field:hover { background: rgba(var(--ice-accent-dark-rgb),0.1); }
body.dark-theme .btn-delete-coll { border-color: #FF453A; color: #FF453A; }
body.dark-theme .btn-delete-coll:hover { background: rgba(255,69,58,0.1); }
body.dark-theme .btn-save-coll { background: var(--ice-accent-dark); }
body.dark-theme .btn-cancel-coll { background: #636366; }

/* Login modal */
body.dark-theme .login-modal { background: #1c1c1e; box-shadow: 0 8px 32px rgba(0,0,0,0.5); }
body.dark-theme .login-modal-title { color: #fff; }
body.dark-theme .login-modal-error { background: #3a1a1a; color: #ff6b6b; }
body.dark-theme .login-modal-input { background: #2c2c2e; color: #fff; border-color: #48484a; }
body.dark-theme .login-modal-input::placeholder { color: #8e8e93; }
body.dark-theme .login-modal-cancel { color: #8e8e93; }
body.dark-theme .login-modal-cancel:hover { color: #aeaeb2; }
body.dark-theme .login-modal-forgot { color: var(--ice-accent-dark); }
body.dark-theme .login-modal-desc { color: #8e8e93; }
body.dark-theme .login-modal-success { background: #1a2e1a; color: #66bb6a; }
body.dark-theme .login-modal-hint { color: #636366; }

/* Toast */
body.dark-theme .add-item-toast { background: #2c2c2e; }

/* Options panel */
body.dark-theme .options-panel { background: #1c1c1e; }
body.dark-theme .options-section-title { color: #8e8e93; }
body.dark-theme .options-section-title:not(:first-child) { border-top-color: #38383a; }
body.dark-theme .options-checkboxes label { color: #fff; }
body.dark-theme .btn-primary { background: var(--ice-accent); color: var(--ice-accent-text); }
body.dark-theme .btn-primary:hover { background: var(--ice-accent-hover); }
body.dark-theme .options-done-row { border-top-color: #38383a; }
body.dark-theme #options-toggle-btn.active { background: var(--ice-accent); border-color: var(--ice-accent); color: var(--ice-accent-dark-text); }
body.dark-theme .theme-swatch.active { border-color: #fff; }

/* Scrollbar */
body.dark-theme ::-webkit-scrollbar { width: 8px; height: 8px; }
body.dark-theme ::-webkit-scrollbar-track { background: #1c1c1e; }
body.dark-theme ::-webkit-scrollbar-thumb { background: #48484a; border-radius: 4px; }
body.dark-theme .acct-opts-modal ::-webkit-scrollbar { width: 6px; }
body.dark-theme .acct-opts-modal ::-webkit-scrollbar-track { background: #2c2c2e; border-radius: 3px; }
body.dark-theme .acct-opts-modal ::-webkit-scrollbar-thumb { background: #636366; border-radius: 3px; }
body.dark-theme .acct-opts-modal { scrollbar-color: #636366 #2c2c2e; }

/* ========== COLLECTION PICKER ========== */
.collection-picker-btn {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding: 8px 12px;
	border: 1px solid #d1d1d6;
	border-radius: 8px;
	font-size: 14px;
	font-family: inherit;
	background: #F2F2F7;
	color: #1c1c1e;
	cursor: pointer;
	min-height: 38px;
	transition: border-color 0.2s, box-shadow 0.2s;
	text-align: left;
	-webkit-user-select: none;
	user-select: none;
	box-sizing: border-box;
}
.collection-picker-btn:hover {
	border-color: var(--ice-accent);
}
.collection-picker-btn.open {
	border-color: var(--ice-accent);
	box-shadow: 0 0 0 3px rgba(var(--ice-accent-rgb),0.15);
}
.coll-picker-icon {
	width: 20px;
	height: 20px;
	border-radius: 4px;
	flex-shrink: 0;
	object-fit: contain;
}
.coll-picker-name {
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-weight: 500;
}
.coll-picker-count {
	font-size: 11px;
	font-weight: 700;
	color: var(--ice-accent-text);
	background: var(--ice-accent);
	border-radius: 10px;
	padding: 0 7px;
	min-width: 20px;
	height: 20px;
	line-height: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.coll-picker-arrow {
	font-size: 10px;
	color: #8e8e93;
	flex-shrink: 0;
	transition: transform 0.2s;
}
.collection-picker-btn.open .coll-picker-arrow {
	transform: rotate(180deg);
}
.collection-picker-dropdown {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	min-width: 280px;
	background: #fff;
	border: 1px solid #d1d1d6;
	border-radius: 12px;
	box-shadow: 0 8px 32px rgba(0,0,0,0.18);
	z-index: 500;
	margin-top: 4px;
}
.collection-picker-dropdown.open {
	display: block;
}
.coll-picker-scroll {
	max-height: 400px;
	overflow-y: auto;
	padding: 6px 0;
}
.coll-section-header {
	font-size: 11px;
	font-weight: 700;
	color: #8e8e93;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 10px 14px 4px;
}
.coll-section-header:first-child {
	padding-top: 6px;
}
.coll-row {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 14px;
	cursor: pointer;
	transition: background 0.15s;
}
.coll-row:hover {
	background: #F2F2F7;
}
.coll-row.active {
	background: rgba(var(--ice-accent-rgb), 0.1);
}
.coll-row.active .coll-row-name {
	color: var(--ice-accent);
	font-weight: 600;
}
.coll-row-icon {
	width: 24px;
	height: 24px;
	border-radius: 4px;
	flex-shrink: 0;
	object-fit: contain;
}
.coll-row-name {
	flex: 1;
	font-size: 14px;
	font-weight: 500;
	color: #1c1c1e;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.coll-row-count {
	font-size: 11px;
	font-weight: 700;
	color: #fff;
	background: #8e8e93;
	border-radius: 10px;
	padding: 0 8px;
	min-width: 22px;
	height: 20px;
	line-height: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.coll-row.active .coll-row-count {
	background: var(--ice-accent);
	color: var(--ice-accent-text);
}

/* ========== TYPE PICKER (Main / Wishlist) ========== */
.type-picker-btn {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding: 8px 12px;
	border: 1px solid #d1d1d6;
	border-radius: 8px;
	font-size: 14px;
	font-family: inherit;
	background: #F2F2F7;
	color: #1c1c1e;
	cursor: pointer;
	min-height: 38px;
	transition: border-color 0.2s, box-shadow 0.2s;
	text-align: left;
	-webkit-user-select: none;
	user-select: none;
	box-sizing: border-box;
}
.type-picker-btn:hover {
	border-color: var(--ice-accent);
}
.type-picker-btn.open {
	border-color: var(--ice-accent);
	box-shadow: 0 0 0 3px rgba(var(--ice-accent-rgb),0.15);
}
.type-picker-name {
	flex: 1;
	font-weight: 500;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.type-picker-dropdown {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	min-width: 160px;
	background: #fff;
	border: 1px solid #d1d1d6;
	border-radius: 12px;
	box-shadow: 0 8px 32px rgba(0,0,0,0.18);
	z-index: 500;
	margin-top: 4px;
	padding: 4px 0;
}
.type-picker-dropdown.open {
	display: block;
}
.type-row {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	cursor: pointer;
	transition: background 0.15s;
}
.type-row:first-child { border-radius: 8px 8px 0 0; }
.type-row:last-child { border-radius: 0 0 8px 8px; }
.type-row:hover {
	background: #F2F2F7;
}
.type-row.active {
	background: rgba(var(--ice-accent-rgb), 0.1);
}
.type-row.active .type-row-name {
	color: var(--ice-accent);
	font-weight: 600;
}
.type-row-name {
	flex: 1;
	font-size: 14px;
	font-weight: 500;
	color: #1c1c1e;
}
.type-row.active .coll-row-count {
	background: var(--ice-accent);
	color: var(--ice-accent-text);
}

/* Dark theme: Type Picker */
body.dark-theme .type-picker-btn {
	background: #2c2c2e;
	color: #fff;
	border-color: #48484a;
}
body.dark-theme .type-picker-btn:hover {
	border-color: var(--ice-accent);
}
body.dark-theme .type-picker-dropdown {
	background: #2c2c2e;
	border-color: #48484a;
	box-shadow: 0 8px 32px rgba(0,0,0,0.4);
}
body.dark-theme .type-row:hover { background: #3a3a3c; }
body.dark-theme .type-row.active { background: rgba(var(--ice-accent-dark-rgb), 0.15); }
body.dark-theme .type-row-name { color: #fff; }
body.dark-theme .type-row.active .type-row-name { color: var(--ice-accent-dark); }
body.dark-theme .type-row.active .coll-row-count { background: var(--ice-accent-dark); color: var(--ice-accent-dark-text); }

/* Responsive: Type Picker */
@media (max-width: 768px) {
	.type-picker-btn {
		font-size: 16px;
	}
}

/* ========== SAVED FILTERS ========== */
.saved-filters-section {
	margin-bottom: 16px;
	padding-bottom: 14px;
	border-bottom: 1px solid #E5E5EA;
}
.saved-filters-title {
	font-size: 13px;
	font-weight: 600;
	color: #1c1c1e;
	margin-bottom: 8px;
}
.saved-filters-list {
	margin-bottom: 10px;
}
.saved-filter-row {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 0;
	border-bottom: 1px solid #f2f2f7;
}
.saved-filter-row:last-child {
	border-bottom: none;
}
.saved-filter-name {
	flex: 1;
	font-size: 13px;
	font-weight: 500;
	color: #1c1c1e;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.saved-filter-name small {
	color: #8e8e93;
	font-weight: 400;
}
.saved-filter-load {
	font-size: 12px;
	color: var(--ice-accent);
	cursor: pointer;
	font-weight: 600;
	white-space: nowrap;
}
.saved-filter-load:hover {
	text-decoration: underline;
}
.saved-filter-delete {
	font-size: 16px;
	color: #FF3B30;
	cursor: pointer;
	font-weight: 700;
	line-height: 1;
	padding: 0 2px;
}
.saved-filter-delete:hover {
	opacity: 0.7;
}
.saved-filters-empty {
	font-size: 12px;
	color: #8e8e93;
	padding: 4px 0 8px;
}
.saved-filter-save-row {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 6px;
}
.saved-filter-input {
	flex: 1;
	padding: 6px 10px;
	border: 1px solid #d1d1d6;
	border-radius: 8px;
	font-size: 13px;
	font-family: inherit;
	background: #F2F2F7;
	color: #1c1c1e;
}
.saved-filter-input:focus {
	outline: none;
	border-color: var(--ice-accent);
	box-shadow: 0 0 0 2px rgba(var(--ice-accent-rgb), 0.15);
}
.saved-filter-save-btn {
	padding: 6px 14px !important;
	font-size: 12px !important;
	white-space: nowrap;
}

/* ========== DARK THEME: Collection Picker ========== */
body.dark-theme .collection-picker-btn {
	background: #2c2c2e;
	color: #fff;
	border-color: #48484a;
}
body.dark-theme .collection-picker-btn:hover {
	border-color: var(--ice-accent);
}
body.dark-theme .coll-picker-icon,
body.dark-theme .coll-row-icon {
	filter: invert(1);
}
body.dark-theme .coll-picker-arrow { color: #aeaeb2; }
body.dark-theme .coll-picker-count { color: var(--ice-accent-dark-text); }
body.dark-theme .collection-picker-dropdown {
	background: #2c2c2e;
	border-color: #48484a;
	box-shadow: 0 8px 32px rgba(0,0,0,0.4);
}
body.dark-theme .coll-section-header { color: #8e8e93; }
body.dark-theme .coll-row:hover { background: #3a3a3c; }
body.dark-theme .coll-row.active { background: rgba(var(--ice-accent-dark-rgb), 0.15); }
body.dark-theme .coll-row-name { color: #fff; }
body.dark-theme .coll-row.active .coll-row-name { color: var(--ice-accent-dark); }
body.dark-theme .coll-row-count { background: #636366; }
body.dark-theme .coll-row.active .coll-row-count { background: var(--ice-accent-dark); color: var(--ice-accent-dark-text); }

/* ========== DARK THEME: Saved Filters ========== */
body.dark-theme .saved-filters-section { border-bottom-color: #38383a; }
body.dark-theme .saved-filters-title { color: #aeaeb2; }
body.dark-theme .saved-filter-row { border-bottom-color: #38383a; }
body.dark-theme .saved-filter-name { color: #fff; }
body.dark-theme .saved-filter-name small { color: #8e8e93; }
body.dark-theme .saved-filter-input {
	background: #3a3a3c;
	color: #fff;
	border-color: #48484a;
}
body.dark-theme .saved-filters-empty { color: #636366; }

/* ========== RESPONSIVE: Collection Picker ========== */
@media (max-width: 768px) {
	.collection-picker-btn {
		font-size: 16px;
	}
}

/* ========== VIEW TRANSITIONS ========== */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: vt-fade-out 0.15s ease-out; }
::view-transition-new(root) { animation: vt-fade-in 0.15s ease-in; }
@keyframes vt-fade-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes vt-fade-in { from { opacity: 0; } to { opacity: 1; } }

/* ========== SHARE VIEW DIALOG ========== */
.share-view-overlay {
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0,0,0,0.5);
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}
.share-view-modal {
	background: #fff;
	border-radius: 16px;
	padding: 24px;
	max-width: 520px;
	width: 100%;
	box-shadow: 0 8px 32px rgba(0,0,0,0.2);
}
.share-view-title {
	margin: 0 0 8px;
	font-size: 18px;
	font-weight: 600;
	color: #1c1c1e;
}
.share-view-desc {
	font-size: 13px;
	color: #8e8e93;
	margin: 0 0 16px;
	line-height: 1.4;
}
.share-view-option {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 16px;
	font-size: 14px;
	color: #1c1c1e;
	cursor: pointer;
}
.share-view-option input[type="checkbox"] {
	width: 16px;
	height: 16px;
	accent-color: var(--ice-accent);
}
.share-url-row {
	display: flex;
	gap: 8px;
	align-items: center;
}
.share-url-input {
	flex: 1;
	padding: 10px 12px;
	border: 1px solid #d1d1d6;
	border-radius: 8px;
	font-size: 13px;
	color: #1c1c1e;
	background: #f2f2f7;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	outline: none;
}
.share-url-input:focus {
	border-color: var(--ice-accent);
}
.share-copy-btn {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border: none;
	border-radius: 8px;
	background: var(--ice-accent);
	color: var(--ice-accent-text);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.15s;
}
.share-copy-btn:hover {
	background: var(--ice-accent-hover);
}
.share-copied-msg {
	font-size: 13px;
	color: #34c759;
	font-weight: 600;
	margin-top: 6px;
	height: 20px;
	opacity: 0;
	transition: opacity 0.2s;
}
.share-copied-msg.visible {
	opacity: 1;
}
.share-close-btn {
	display: block;
	width: 100%;
	margin-top: 12px;
	padding: 10px;
	border: none;
	border-radius: 10px;
	background: #e5e5ea;
	color: #1c1c1e;
	font-size: 15px;
	font-weight: 500;
	cursor: pointer;
	transition: background 0.15s;
}
.share-close-btn:hover {
	background: #d1d1d6;
}
.btn-share-view {
	background: var(--ice-accent) !important;
	color: var(--ice-accent-text) !important;
	font-weight: 600;
}
.btn-share-view:hover {
	background: var(--ice-accent-hover) !important;
}

/* ========== SAVED VIEWS (inside Share Dialog) ========== */
.share-saved-title {
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #8e8e93;
	margin: 16px 0 8px;
	padding-bottom: 6px;
	border-bottom: 1px solid #e5e5ea;
}
.share-saved-list {
	margin-bottom: 12px;
	max-height: 280px;
	overflow-y: auto;
}
.share-saved-item {
	padding: 10px 0;
}
.share-saved-item + .share-saved-item {
	border-top: 1px solid #e5e5ea;
}
.share-saved-header {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 6px;
}
.share-saved-name {
	flex: 1;
	min-width: 0;
	font-size: 14px;
	font-weight: 500;
	color: #1c1c1e;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.share-saved-load {
	flex-shrink: 0;
	background: none;
	border: none;
	color: var(--ice-accent);
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	padding: 4px 8px;
	border-radius: 6px;
	transition: background 0.15s;
}
.share-saved-load:hover {
	background: rgba(var(--ice-accent-rgb), 0.1);
}
.share-saved-delete {
	flex-shrink: 0;
	background: none;
	border: none;
	color: #8e8e93;
	cursor: pointer;
	padding: 4px 6px;
	border-radius: 6px;
	display: flex;
	align-items: center;
	transition: color 0.15s, background 0.15s;
}
.share-saved-delete:hover {
	color: #ff3b30;
	background: rgba(255,59,48,0.1);
}
.share-saved-url-row {
	display: flex;
	gap: 6px;
	align-items: center;
}
.share-saved-url {
	flex: 1;
	padding: 7px 10px;
	border: 1px solid #d1d1d6;
	border-radius: 8px;
	font-size: 12px;
	color: #1c1c1e;
	background: #f2f2f7;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	outline: none;
}
.share-saved-url:focus {
	border-color: var(--ice-accent);
}
.share-saved-copy {
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	border: none;
	border-radius: 8px;
	background: var(--ice-accent);
	color: var(--ice-accent-text);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.15s;
}
.share-saved-copy:hover {
	background: var(--ice-accent-hover);
}
.share-saved-copied {
	font-size: 12px;
	color: #34c759;
	font-weight: 600;
	margin-top: 4px;
	height: 16px;
	opacity: 0;
	transition: opacity 0.2s;
}
.share-saved-copied.visible {
	opacity: 1;
}
.share-saved-empty {
	font-size: 13px;
	color: #8e8e93;
	font-style: italic;
	padding: 4px 0;
}
/* Delete confirmation dialog */
.share-confirm-overlay {
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0,0,0,0.5);
	z-index: 10001;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}
.share-confirm-modal {
	background: #fff;
	border-radius: 14px;
	padding: 20px 24px;
	max-width: 320px;
	width: 100%;
	box-shadow: 0 8px 32px rgba(0,0,0,0.2);
	text-align: center;
}
.share-confirm-text {
	font-size: 15px;
	color: #1c1c1e;
	margin: 0 0 16px;
	line-height: 1.4;
}
.share-confirm-btns {
	display: flex;
	gap: 10px;
}
.share-confirm-cancel {
	flex: 1;
	padding: 10px;
	border: none;
	border-radius: 10px;
	background: #e5e5ea;
	color: #1c1c1e;
	font-size: 15px;
	font-weight: 500;
	cursor: pointer;
	transition: background 0.15s;
}
.share-confirm-cancel:hover {
	background: #d1d1d6;
}
.share-confirm-delete {
	flex: 1;
	padding: 10px;
	border: none;
	border-radius: 10px;
	background: #ff3b30;
	color: #fff;
	font-size: 15px;
	font-weight: 500;
	cursor: pointer;
	transition: background 0.15s;
}
.share-confirm-delete:hover {
	background: #e0352b;
}
.share-save-row {
	display: flex;
	gap: 8px;
	align-items: center;
	margin-bottom: 12px;
}
.share-save-input {
	flex: 1;
	padding: 8px 12px;
	border: 1px solid #d1d1d6;
	border-radius: 8px;
	font-size: 13px;
	color: #1c1c1e;
	background: #f2f2f7;
	outline: none;
}
.share-save-input:focus {
	border-color: var(--ice-accent);
}
.share-save-input::placeholder {
	color: #8e8e93;
}
.share-save-btn {
	flex-shrink: 0;
	padding: 8px 16px;
	border: none;
	border-radius: 8px;
	background: var(--ice-accent);
	color: var(--ice-accent-text);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s;
}
.share-save-btn:hover {
	background: var(--ice-accent-hover);
}

/* ========== DARK THEME: Share View Dialog ========== */
body.dark-theme .share-view-overlay {
	background: rgba(0,0,0,0.7);
}
body.dark-theme .share-view-modal {
	background: #2c2c2e;
	box-shadow: 0 8px 32px rgba(0,0,0,0.4);
}
body.dark-theme .share-view-title {
	color: #fff;
}
body.dark-theme .share-view-desc {
	color: #8e8e93;
}
body.dark-theme .share-view-option {
	color: #fff;
}
body.dark-theme .share-view-option input[type="checkbox"] {
	accent-color: var(--ice-accent);
}
body.dark-theme .share-url-input {
	background: #1c1c1e;
	border-color: #48484a;
	color: #fff;
}
body.dark-theme .share-url-input:focus {
	border-color: var(--ice-accent);
}
body.dark-theme .share-copy-btn {
	background: var(--ice-accent);
	color: var(--ice-accent-dark-text);
}
body.dark-theme .share-copy-btn:hover {
	background: var(--ice-accent-hover);
}
body.dark-theme .share-close-btn {
	background: #3a3a3c;
	color: #fff;
}
body.dark-theme .share-close-btn:hover {
	background: #48484a;
}
body.dark-theme .share-saved-title {
	color: #8e8e93;
	border-bottom-color: #48484a;
}
body.dark-theme .share-saved-item + .share-saved-item {
	border-top-color: #3a3a3c;
}
body.dark-theme .share-saved-name {
	color: #fff;
}
body.dark-theme .share-saved-load {
	color: var(--ice-accent);
}
body.dark-theme .share-saved-load:hover {
	background: rgba(var(--ice-accent-rgb), 0.15);
}
body.dark-theme .share-saved-delete {
	color: #636366;
}
body.dark-theme .share-saved-delete:hover {
	color: #ff453a;
	background: rgba(255,69,58,0.15);
}
body.dark-theme .share-saved-url {
	background: #1c1c1e;
	border-color: #48484a;
	color: #fff;
}
body.dark-theme .share-saved-url:focus {
	border-color: var(--ice-accent);
}
body.dark-theme .share-saved-copy {
	background: var(--ice-accent);
	color: var(--ice-accent-dark-text);
}
body.dark-theme .share-saved-copy:hover {
	background: var(--ice-accent-hover);
}
body.dark-theme .share-saved-empty {
	color: #636366;
}
body.dark-theme .share-confirm-overlay {
	background: rgba(0,0,0,0.7);
}
body.dark-theme .share-confirm-modal {
	background: #2c2c2e;
}
body.dark-theme .share-confirm-text {
	color: #fff;
}
body.dark-theme .share-confirm-cancel {
	background: #3a3a3c;
	color: #fff;
}
body.dark-theme .share-confirm-cancel:hover {
	background: #48484a;
}
body.dark-theme .share-confirm-delete {
	background: #ff453a;
}
body.dark-theme .share-confirm-delete:hover {
	background: #e03e35;
}
body.dark-theme .share-save-input {
	background: #1c1c1e;
	border-color: #48484a;
	color: #fff;
}
body.dark-theme .share-save-input:focus {
	border-color: var(--ice-accent);
}
body.dark-theme .share-save-input::placeholder {
	color: #636366;
}
body.dark-theme .share-save-btn {
	background: var(--ice-accent);
	color: var(--ice-accent-dark-text);
}
body.dark-theme .share-save-btn:hover {
	background: var(--ice-accent-hover);
}
body.dark-theme .btn-share-view {
	background: var(--ice-accent) !important;
	color: var(--ice-accent-dark-text) !important;
}
body.dark-theme .btn-share-view:hover {
	background: var(--ice-accent-hover) !important;
}

/* ========== Bulk Delete ========== */

/* Bulk action bar - fixed bottom */
.bulk-action-bar {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #fff;
	padding: 12px 16px;
	box-shadow: 0 -2px 12px rgba(0,0,0,0.12);
	z-index: 9999;
	gap: 12px;
}
.bulk-action-left {
	display: flex;
	align-items: center;
	gap: 14px;
}
.bulk-action-right {
	display: flex;
	align-items: center;
	gap: 8px;
}
.bulk-action-count {
	font-size: 15px;
	font-weight: 600;
	color: #1c1c1e;
	white-space: nowrap;
}
.bulk-action-select-all {
	font-size: 14px;
	color: var(--ice-accent);
	text-decoration: none;
	font-weight: 500;
	white-space: nowrap;
}
.bulk-action-select-all:hover {
	text-decoration: underline;
}
.bulk-action-cancel {
	padding: 8px 18px;
	border: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	background: #e5e5ea;
	color: #1c1c1e;
	cursor: pointer;
	transition: background 0.15s;
}
.bulk-action-cancel:hover {
	background: #d1d1d6;
}
.bulk-action-delete {
	padding: 8px 18px;
	border: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	background: #ff3b30;
	color: #fff;
	cursor: pointer;
	transition: background 0.15s, opacity 0.15s;
}
.bulk-action-delete:hover:not(:disabled) {
	background: #e0352b;
}
.bulk-action-delete:disabled {
	opacity: 0.4;
	cursor: default;
}

/* Body padding when bulk action bar is visible */
body.bulk-mode-active {
	padding-bottom: 60px;
}
body.bulk-mode-active .mobile-add-item-row {
	display: none !important;
}

/* Selection indicators for item rows */

/* List / compact view: selection circle on the left */
.bulk-select-mode .itemrow {
	position: relative;
	cursor: pointer;
	padding-left: 40px !important;
}
.bulk-select-mode .itemrow::before {
	content: '';
	position: absolute;
	left: 8px;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	border-radius: 50%;
	border: 2px solid #c7c7cc;
	background: #fff;
	z-index: 2;
	transition: border-color 0.15s, background 0.15s;
	box-sizing: border-box;
}
.bulk-select-mode .itemrow::after {
	content: '';
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%) scale(0);
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--ice-accent);
	z-index: 3;
	transition: transform 0.15s ease;
}
.bulk-select-mode .itemrow.bulk-selected::before {
	border-color: var(--ice-accent);
	background: #fff;
}
.bulk-select-mode .itemrow.bulk-selected::after {
	transform: translateY(-50%) scale(1);
}

/* Grid view: overlay circle in top-left corner */
.bulk-select-mode.view-grid .itemrow,
.bulk-select-mode.view-bookshelf .itemrow {
	padding-left: 0 !important;
}
.bulk-select-mode.view-grid .itemrow::before,
.bulk-select-mode.view-bookshelf .itemrow::before {
	left: 6px;
	top: 6px;
	transform: none;
	width: 22px;
	height: 22px;
	box-shadow: 0 1px 4px rgba(0,0,0,0.3);
}
.bulk-select-mode.view-grid .itemrow::after,
.bulk-select-mode.view-bookshelf .itemrow::after {
	left: 11px;
	top: 11px;
	transform: scale(0);
	width: 12px;
	height: 12px;
}
.bulk-select-mode.view-grid .itemrow.bulk-selected::after,
.bulk-select-mode.view-bookshelf .itemrow.bulk-selected::after {
	transform: scale(1);
}

/* Subtle highlight on selected rows */
.bulk-select-mode .itemrow.bulk-selected {
	background: rgba(var(--ice-accent-rgb), 0.08);
}

/* ---- Dark theme overrides for bulk delete ---- */
body.dark-theme .bulk-action-bar {
	background: #1c1c1e;
	box-shadow: 0 -2px 12px rgba(0,0,0,0.4);
}
body.dark-theme .bulk-action-count {
	color: #fff;
}
body.dark-theme .bulk-action-select-all {
	color: var(--ice-accent-dark);
}
body.dark-theme .bulk-action-cancel {
	background: #3a3a3c;
	color: #fff;
}
body.dark-theme .bulk-action-cancel:hover {
	background: #48484a;
}
body.dark-theme .bulk-action-delete {
	background: #ff453a;
}
body.dark-theme .bulk-action-delete:hover:not(:disabled) {
	background: #e03e35;
}
body.dark-theme .bulk-select-mode .itemrow::before {
	border-color: #48484a;
	background: #2c2c2e;
}
body.dark-theme .bulk-select-mode .itemrow.bulk-selected::before {
	border-color: var(--ice-accent-dark);
	background: #2c2c2e;
}
body.dark-theme .bulk-select-mode .itemrow.bulk-selected::after {
	background: var(--ice-accent-dark);
}
body.dark-theme .bulk-select-mode .itemrow.bulk-selected {
	background: rgba(var(--ice-accent-dark-rgb), 0.12);
}
body.dark-theme .btn-bulk-edit {
	background: var(--ice-accent);
	color: var(--ice-accent-dark-text);
}
body.dark-theme .btn-bulk-edit:hover {
	background: var(--ice-accent-hover);
}
body.dark-theme .btn-bulk-delete {
	background: #ff453a;
}
body.dark-theme .btn-bulk-delete:hover {
	background: #e03e35;
}

/* ---- Bulk action bar: edit button ---- */
.bulk-action-edit-btn {
	background: var(--ice-accent);
	color: var(--ice-accent-text);
	border: none;
	border-radius: 10px;
	padding: 8px 18px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	font-family: inherit;
	transition: background 0.15s;
}
.bulk-action-edit-btn:hover:not(:disabled) {
	background: var(--ice-accent-hover);
}
.bulk-action-edit-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}
body.dark-theme .bulk-action-edit-btn {
	background: var(--ice-accent);
	color: var(--ice-accent-dark-text);
}
body.dark-theme .bulk-action-edit-btn:hover:not(:disabled) {
	background: var(--ice-accent-hover);
}

/* ============================================
   BULK EDIT MODAL
   ============================================ */

/* ---- Overlay ---- */
.bulk-edit-overlay {
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0,0,0,0.5);
	z-index: 10002;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* ---- Modal ---- */
.bulk-edit-modal {
	background: #fff;
	border-radius: 14px;
	width: 94%;
	max-width: 560px;
	max-height: 85vh;
	display: flex;
	flex-direction: column;
	box-shadow: 0 8px 40px rgba(0,0,0,0.3);
	overflow: hidden;
}

/* ---- Header ---- */
.bulk-edit-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 20px;
	border-bottom: 1px solid #e5e5ea;
	flex-shrink: 0;
}
.bulk-edit-title {
	font-size: 17px;
	font-weight: 700;
	color: #1c1c1e;
}
.bulk-edit-close {
	background: none;
	border: none;
	font-size: 24px;
	color: #8e8e93;
	cursor: pointer;
	padding: 0 4px;
	line-height: 1;
	font-family: inherit;
}
.bulk-edit-close:hover { color: #1c1c1e; }

/* ---- Body ---- */
.bulk-edit-body {
	flex: 1;
	overflow-y: auto;
	padding: 16px 20px;
	-webkit-overflow-scrolling: touch;
}

/* ---- Footer ---- */
.bulk-edit-footer {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	padding: 14px 20px;
	border-top: 1px solid #e5e5ea;
	flex-shrink: 0;
}
.bulk-edit-cancel {
	background: #e5e5ea;
	color: #1c1c1e;
	border: none;
	border-radius: 10px;
	padding: 10px 20px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	font-family: inherit;
}
.bulk-edit-cancel:hover { background: #d1d1d6; }
.bulk-edit-apply {
	background: var(--ice-accent);
	color: var(--ice-accent-text);
	border: none;
	border-radius: 10px;
	padding: 10px 24px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	font-family: inherit;
	transition: background 0.15s;
}
.bulk-edit-apply:hover { background: var(--ice-accent-hover); }

/* ---- Field groups ---- */
.bulk-edit-field-group {
	margin-bottom: 16px;
}
.bulk-edit-field-label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #6e6e73;
	margin-bottom: 6px;
	text-transform: uppercase;
	letter-spacing: 0.3px;
}
.bulk-edit-field-row {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}
.bulk-edit-field-row .bulk-edit-control {
	flex: 1;
	min-width: 0;
}
.bulk-edit-field-row .edit-field {
	width: 100%;
}
.bulk-edit-field-row input[type="text"],
.bulk-edit-field-row input[type="number"],
.bulk-edit-field-row input[type="date"],
.bulk-edit-field-row textarea,
.bulk-edit-field-row select {
	width: 100%;
	padding: 10px 12px;
	border: 1.5px solid #d1d1d6;
	border-radius: 8px;
	font-size: 15px;
	font-family: inherit;
	background: #fff;
	color: #1c1c1e;
	box-sizing: border-box;
	min-height: 42px;
	transition: border-color 0.2s;
}
.bulk-edit-field-row select {
	height: 42px;
}
.bulk-edit-field-row textarea {
	min-height: 60px;
	resize: vertical;
}
.bulk-edit-field-row input:focus,
.bulk-edit-field-row textarea:focus,
.bulk-edit-field-row select:focus {
	outline: none;
	border-color: var(--ice-accent);
	box-shadow: 0 0 0 3px rgba(var(--ice-accent-rgb), 0.15);
}

/* ---- Clear button ---- */
.bulk-edit-clear-btn {
	background: none;
	border: 1px solid #d1d1d6;
	border-radius: 8px;
	padding: 8px 12px;
	font-size: 12px;
	font-weight: 600;
	color: #8e8e93;
	cursor: pointer;
	font-family: inherit;
	white-space: nowrap;
	flex-shrink: 0;
	transition: all 0.15s;
	margin-top: 1px;
}
.bulk-edit-clear-btn:hover { border-color: #ff3b30; color: #ff3b30; }

/* ---- Cleared state ---- */
.bulk-edit-field-group.cleared .bulk-edit-field-row .bulk-edit-control {
	opacity: 0.3;
	pointer-events: none;
}
.bulk-edit-field-group.cleared .bulk-edit-clear-btn {
	background: #ff3b30;
	color: #fff;
	border-color: #ff3b30;
}
.bulk-edit-field-group.cleared .bulk-edit-field-label::after {
	content: " — will be cleared";
	font-weight: 400;
	font-style: italic;
	color: #ff3b30;
	text-transform: none;
	letter-spacing: 0;
}

/* ---- Confirmation overlay (must be above bulk-edit-overlay at 10002) ---- */
.bulk-edit-confirm-overlay {
	z-index: 10003;
}

/* ---- Confirmation detail ---- */
.bulk-edit-confirm-detail {
	font-size: 13px;
	color: #6e6e73;
	margin: 8px 0 0;
	line-height: 1.5;
}
.bulk-edit-confirm-detail:last-of-type {
	margin-bottom: 16px;
}

/* ---- Progress overlay ---- */
.bulk-edit-progress {
	background: #fff;
	border-radius: 14px;
	padding: 40px;
	text-align: center;
	box-shadow: 0 8px 40px rgba(0,0,0,0.3);
	min-width: 280px;
}
.bulk-edit-progress-spinner {
	width: 36px;
	height: 36px;
	border: 3px solid #e5e5ea;
	border-top-color: var(--ice-accent);
	border-radius: 50%;
	animation: bulkEditSpin 0.7s linear infinite;
	margin: 0 auto 16px;
}
@keyframes bulkEditSpin { to { transform: rotate(360deg); } }
.bulk-edit-progress-text {
	font-size: 15px;
	font-weight: 600;
	color: #1c1c1e;
}

/* ---- Multi-select overlay scoping for bulk edit ---- */
.bulk-edit-overlay .multi-select-overlay {
	display: none;
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0,0,0,0.4);
	z-index: 10100;
	justify-content: center;
	align-items: center;
}
.bulk-edit-overlay .multi-select-overlay.open { display: flex; }
.bulk-edit-overlay .multi-select-modal {
	background: #fff;
	border-radius: 14px;
	width: 90%;
	max-width: 400px;
	max-height: 70vh;
	display: flex;
	flex-direction: column;
	box-shadow: 0 8px 32px rgba(0,0,0,0.25);
}
.bulk-edit-overlay .multi-select-modal .ms-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px;
	border-bottom: 1px solid #e5e5ea;
	font-weight: 600;
	font-size: 16px;
}
.bulk-edit-overlay .multi-select-modal .ms-header button {
	background: none; border: none;
	color: var(--ice-accent);
	font-size: 14px; font-weight: 600;
	cursor: pointer; font-family: inherit;
}
.bulk-edit-overlay .multi-select-modal .ms-body {
	overflow-y: auto;
	padding: 8px 0;
	-webkit-overflow-scrolling: touch;
}
.bulk-edit-overlay .multi-select-modal .ms-option {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 16px;
	font-size: 14px;
	cursor: pointer;
}
.bulk-edit-overlay .multi-select-modal .ms-option:hover { background: #f2f2f7; }
.bulk-edit-overlay .multi-select-modal .ms-option input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--ice-accent); flex-shrink: 0; }
.bulk-edit-overlay .multi-select-modal .ms-footer {
	padding: 12px 16px;
	border-top: 1px solid #e5e5ea;
	text-align: right;
}
.bulk-edit-overlay .multi-select-modal .ms-footer button {
	background: var(--ice-accent);
	color: var(--ice-accent-text); border: none; border-radius: 10px;
	padding: 8px 24px; font-size: 14px; font-weight: 600;
	cursor: pointer; font-family: inherit;
}
.bulk-edit-overlay .multi-select-modal .ms-footer button:hover { opacity: 0.9; }

/* ---- Edit field internal styles (reuse add-item patterns) ---- */
.bulk-edit-body .star-rating-edit { font-size: 22px; cursor: pointer; }
.bulk-edit-body .star-rating-edit .star { color: #d1d1d6; transition: color 0.1s; }
.bulk-edit-body .star-rating-edit .star.filled { color: #ff9500; }
.bulk-edit-body .toggle-edit { display: flex; align-items: center; gap: 8px; }
.bulk-edit-body .toggle-edit input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--ice-accent); }
.bulk-edit-body .currency-edit { display: flex; gap: 8px; }
.bulk-edit-body .currency-edit .currency-locale { flex: 0 0 120px; }
.bulk-edit-body .currency-edit .currency-amount { flex: 1; }
.bulk-edit-body .multi-select-trigger {
	display: flex; align-items: center; justify-content: space-between;
	width: 100%; padding: 9px 12px; border: 1px solid #d1d1d6; border-radius: 8px;
	font-size: 14px; font-family: inherit; background: #fff; color: #1c1c1e; cursor: pointer;
}
.bulk-edit-body .multi-select-trigger .ms-count {
	background: var(--ice-accent); color: var(--ice-accent-text); border-radius: 10px;
	padding: 1px 8px; font-size: 12px; font-weight: 600; min-width: 20px; text-align: center;
}
.bulk-edit-body .studio-edit .studio-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 6px; }
.bulk-edit-body .studio-edit .studio-tag {
	display: inline-flex; align-items: center; gap: 4px; background: #e5e5ea;
	border-radius: 6px; padding: 4px 8px; font-size: 13px;
}
.bulk-edit-body .studio-edit .tag-remove { background: none; border: none; cursor: pointer; font-size: 14px; color: #8e8e93; padding: 0 2px; }
.bulk-edit-body .person-list { display: flex; flex-direction: column; gap: 6px; }
.bulk-edit-body .person-row { display: flex; gap: 6px; align-items: center; }
.bulk-edit-body .person-row input { flex: 1; min-width: 0; }
.bulk-edit-body .btn-remove-person,
.bulk-edit-body .btn-remove-drilldown { background: none; border: none; cursor: pointer; font-size: 18px; color: #ff3b30; padding: 0 4px; }
.bulk-edit-body .btn-add-person,
.bulk-edit-body .btn-add-drilldown { background: none; border: none; color: var(--ice-accent); font-size: 13px; font-weight: 600; cursor: pointer; padding: 4px 0; font-family: inherit; }
.bulk-edit-body .drilldown-edit { display: flex; flex-direction: column; gap: 6px; }
.bulk-edit-body .drilldown-row { display: flex; gap: 6px; align-items: center; }
.bulk-edit-body .drilldown-row select { flex: 1; min-width: 0; }
.bulk-edit-body .ac-wrapper { position: relative; }
.bulk-edit-body .ac-suggestions {
	position: absolute; top: 100%; left: 0; right: 0; background: #fff;
	border: 1px solid #d1d1d6; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1);
	max-height: 200px; overflow-y: auto; z-index: 10;
	display: none;
}
.bulk-edit-body .readonly-field {
	padding: 9px 12px; background: #f2f2f7; border-radius: 8px; font-size: 14px; color: #8e8e93;
}

/* ============================================
   DARK THEME — Bulk Edit
   ============================================ */
body.dark-theme .bulk-edit-modal {
	background: #1c1c1e;
}
body.dark-theme .bulk-edit-header {
	border-bottom-color: #38383a;
}
body.dark-theme .bulk-edit-title {
	color: #fff;
}
body.dark-theme .bulk-edit-close {
	color: #8e8e93;
}
body.dark-theme .bulk-edit-close:hover { color: #fff; }
body.dark-theme .bulk-edit-body {
	color: #fff;
}
body.dark-theme .bulk-edit-footer {
	border-top-color: #38383a;
}
body.dark-theme .bulk-edit-cancel {
	background: #3a3a3c;
	color: #fff;
}
body.dark-theme .bulk-edit-cancel:hover { background: #48484a; }
body.dark-theme .bulk-edit-apply {
	background: var(--ice-accent);
	color: var(--ice-accent-dark-text);
}
body.dark-theme .bulk-edit-apply:hover { background: var(--ice-accent-hover); }
body.dark-theme .bulk-edit-field-label {
	color: #98989d;
}
body.dark-theme .bulk-edit-field-row input[type="text"],
body.dark-theme .bulk-edit-field-row input[type="number"],
body.dark-theme .bulk-edit-field-row input[type="date"],
body.dark-theme .bulk-edit-field-row textarea,
body.dark-theme .bulk-edit-field-row select {
	background: #2c2c2e;
	border-color: #48484a;
	color: #fff;
}
body.dark-theme .bulk-edit-field-row input:focus,
body.dark-theme .bulk-edit-field-row textarea:focus,
body.dark-theme .bulk-edit-field-row select:focus {
	border-color: var(--ice-accent-dark);
	box-shadow: 0 0 0 3px rgba(var(--ice-accent-dark-rgb), 0.2);
}
body.dark-theme .bulk-edit-clear-btn {
	border-color: #48484a;
	color: #98989d;
}
body.dark-theme .bulk-edit-clear-btn:hover { border-color: #ff453a; color: #ff453a; }
body.dark-theme .bulk-edit-field-group.cleared .bulk-edit-clear-btn {
	background: #ff453a;
	border-color: #ff453a;
}
body.dark-theme .bulk-edit-field-group.cleared .bulk-edit-field-label::after {
	color: #ff453a;
}
body.dark-theme .bulk-edit-confirm-detail {
	color: #98989d;
}
body.dark-theme .bulk-edit-progress {
	background: #1c1c1e;
}
body.dark-theme .bulk-edit-progress-spinner {
	border-color: #48484a;
	border-top-color: var(--ice-accent-dark);
}
body.dark-theme .bulk-edit-progress-text {
	color: #fff;
}
body.dark-theme .bulk-edit-overlay .multi-select-modal {
	background: #1c1c1e;
}
body.dark-theme .bulk-edit-overlay .multi-select-modal .ms-header {
	border-bottom-color: #38383a;
	color: #fff;
}
body.dark-theme .bulk-edit-overlay .multi-select-modal .ms-header button {
	color: var(--ice-accent-dark);
}
body.dark-theme .bulk-edit-overlay .multi-select-modal .ms-option { color: #fff; }
body.dark-theme .bulk-edit-overlay .multi-select-modal .ms-option:hover { background: #2c2c2e; }
body.dark-theme .bulk-edit-overlay .multi-select-modal .ms-option input[type="checkbox"] { accent-color: var(--ice-accent-dark); }
body.dark-theme .bulk-edit-overlay .multi-select-modal .ms-footer {
	border-top-color: #38383a;
}
body.dark-theme .bulk-edit-overlay .multi-select-modal .ms-footer button {
	background: var(--ice-accent);
	color: var(--ice-accent-dark-text);
}
body.dark-theme .bulk-edit-body .star-rating-edit .star { color: #48484a; }
body.dark-theme .bulk-edit-body .star-rating-edit .star.filled { color: #ff9f0a; }
body.dark-theme .bulk-edit-body .toggle-edit input[type="checkbox"] { accent-color: var(--ice-accent-dark); }
body.dark-theme .bulk-edit-body .multi-select-trigger {
	background: #2c2c2e; border-color: #48484a; color: #fff;
}
body.dark-theme .bulk-edit-body .multi-select-trigger .ms-count {
	background: var(--ice-accent-dark);
	color: var(--ice-accent-dark-text);
}
body.dark-theme .bulk-edit-body .studio-edit .studio-tag {
	background: #3a3a3c; color: #fff;
}
body.dark-theme .bulk-edit-body .studio-edit .tag-remove { color: #98989d; }
body.dark-theme .bulk-edit-body .ac-suggestions {
	background: #2c2c2e; border-color: #48484a;
}
body.dark-theme .bulk-edit-body .readonly-field {
	background: #2c2c2e; color: #98989d;
}
