@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}:root{--color-primary-50:#f0f5f1;--color-primary-100:#dce8de;--color-primary-200:#b8d1bc;--color-primary-300:#8fb896;--color-primary-400:#6a9e73;--color-primary-500:#4a7c54;--color-primary-600:#3d6545;--color-primary-700:#325238;--color-primary-800:#2a422e;--color-primary-900:#1e2f21;--color-secondary-50:#fdf6f3;--color-secondary-100:#fae8e0;--color-secondary-200:#f5d0c1;--color-secondary-300:#e8a989;--color-secondary-400:#d98860;--color-secondary-500:#c46d42;--color-secondary-600:#a65636;--color-secondary-700:#89452e;--color-secondary-800:#6e3826;--color-secondary-900:#4a2619;--color-accent-50:#fefaed;--color-accent-100:#fdf3d0;--color-accent-200:#fae49e;--color-accent-300:#f5d06a;--color-accent-400:#e9b83e;--color-accent-500:#d49a1f;--color-accent-600:#b37a16;--color-accent-700:#8f5c14;--color-accent-800:#734817;--color-accent-900:#5c3a15;--color-neutral-50:#fafaf9;--color-neutral-100:#f5f4f2;--color-neutral-200:#e8e6e3;--color-neutral-300:#d6d3ce;--color-neutral-400:#a8a49c;--color-neutral-500:#78746b;--color-neutral-600:#5c5850;--color-neutral-700:#45423c;--color-neutral-800:#302e2a;--color-neutral-900:#1c1b18;--color-success-100:#e8f5eb;--color-success-500:#5a9a6a;--color-success-600:#4a8058;--color-success-700:#3d6848;--color-warning-500:#d4920a;--color-warning-600:#b37a08;--color-danger-100:#fceae8;--color-danger-500:#c45a4a;--color-danger-600:#a64a3c;--color-danger-700:#8a3d32;--color-info-500:#5a8aa0;--color-info-600:#4a7288;--color-highlight-traditional:var(--color-accent-100);--bg-page:var(--color-neutral-100);--bg-surface:#ffffff;--bg-surface-raised:#ffffff;--bg-surface-sunken:var(--color-neutral-50);--bg-interactive:var(--color-neutral-200);--bg-interactive-hover:var(--color-neutral-300);--text-primary:var(--color-neutral-800);--text-secondary:var(--color-neutral-600);--text-tertiary:var(--color-neutral-500);--text-inverse:#ffffff;--text-link:var(--color-primary-600);--text-link-hover:var(--color-primary-700);--border-default:var(--color-neutral-200);--border-strong:var(--color-neutral-300);--border-focus:var(--color-primary-400);--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--tracking-tight:-0.025em;--tracking-normal:0;--tracking-wide:0.025em;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgb(0 0 0 / 0.05);--shadow-md:0 4px 6px -1px rgb(0 0 0 / 0.07), 0 2px 4px -2px rgb(0 0 0 / 0.07);--shadow-lg:0 10px 15px -3px rgb(0 0 0 / 0.08), 0 4px 6px -4px rgb(0 0 0 / 0.08);--transition-fast:150ms ease;--transition-base:200ms ease;--transition-slow:300ms ease;--sidebar-width:16rem;--header-height:3.5rem;--content-max-width:64rem}*,::after,::before{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;font-feature-settings:"kern"1,"liga"1}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}canvas,img,picture,video{display:block;max-width:100%}svg{display:block}.btn svg,a svg,button svg{max-width:none;flex-shrink:0}button,input,select,textarea{font:inherit}a{color:var(--text-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--text-link-hover)}a.btn,a.btn:hover{color:inherit}a.btn--danger,a.btn--danger:hover,a.btn--primary,a.btn--primary:hover{color:var(--text-inverse)}.admin-shell{min-height:100vh;display:flex;flex-direction:column}.admin-header{position:sticky;top:0;z-index:100;background:var(--color-primary-700);color:var(--text-inverse);height:var(--header-height);display:flex;align-items:center;padding:0 var(--space-4);gap:var(--space-4)}.admin-header__menu-btn{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:0 0;border:0;color:inherit;cursor:pointer;border-radius:var(--radius-md);transition:background var(--transition-fast)}.admin-header__menu-btn:hover{background:rgba(255,255,255,.1)}.admin-header__logo{font-size:var(--text-lg);font-weight:600;letter-spacing:var(--tracking-tight);display:flex;align-items:center;gap:var(--space-2)}.admin-header__logo-icon{width:1.5rem;height:1.5rem;background:var(--color-accent-400);border-radius:var(--radius-full)}.admin-sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border-default);z-index:100000;transform:translateX(-100%);transition:transform var(--transition-base);display:flex;flex-direction:column}.admin-sidebar.is-open{transform:translateX(0)}.admin-sidebar__header{height:var(--header-height);display:flex;align-items:center;padding:0 var(--space-4);border-bottom:1px solid var(--border-default)}.admin-sidebar__close{margin-left:auto;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:0 0;border:0;cursor:pointer;color:var(--text-secondary);border-radius:var(--radius-md)}.admin-sidebar__nav{flex:1;overflow-y:auto;padding:var(--space-4)}.admin-sidebar__overlay{position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:99999;opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility var(--transition-base)}.admin-sidebar__overlay.is-visible{opacity:1;visibility:visible}.nav-section{margin-bottom:var(--space-6)}.nav-section__title{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-tertiary);padding:0 var(--space-3);margin-bottom:var(--space-2)}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);font-weight:500;transition:all var(--transition-fast)}.nav-item:hover{background:var(--bg-interactive);color:var(--text-primary)}.nav-item.is-active{background:var(--color-primary-50);color:var(--color-primary-700)}.nav-item__icon{width:1.25rem;height:1.25rem;opacity:.7}.nav-badge{margin-left:auto;background:var(--color-danger-500);color:#fff;font-size:var(--text-xs);font-weight:600;padding:2px 6px;border-radius:9999px;min-width:18px;text-align:center}.admin-main{flex:1;padding:var(--space-4)}.admin-main__content{max-width:var(--content-max-width);margin:0 auto}.heading-1{font-size:var(--text-2xl);letter-spacing:var(--tracking-tight)}.heading-1,.heading-2,.heading-3{font-weight:600;line-height:var(--leading-tight);color:var(--text-primary)}.heading-2{font-size:var(--text-xl);letter-spacing:var(--tracking-tight)}.heading-3{font-size:var(--text-lg)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.page-header__breadcrumb a,.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.font-medium{font-weight:500}.font-mono{font-family:var(--font-mono)}.page-header{margin-bottom:var(--space-6)}.page-header__top{display:flex;flex-direction:column;gap:var(--space-3)}.page-header__breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.page-header__breadcrumb,.page-header__breadcrumb-sep{color:var(--text-tertiary)}.page-header__title{font-size:var(--text-2xl);font-weight:600;letter-spacing:var(--tracking-tight)}.page-header__actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card__header{padding:var(--space-4);border-bottom:1px solid var(--border-default);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.card__title{font-size:var(--text-base);font-weight:600}.card__body,.card__footer{padding:var(--space-4)}.card__footer{border-top:1px solid var(--border-default);background:var(--bg-surface-sunken);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:500;line-height:1.5;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--color-primary-600);color:var(--text-inverse);border-color:var(--color-primary-600)}.btn--primary:hover:not(:disabled){background:var(--color-primary-700);border-color:var(--color-primary-700)}.btn--secondary{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border-strong)}.btn--secondary:hover:not(:disabled){background:var(--bg-interactive);border-color:var(--border-strong)}.btn--ghost{background:0 0;color:var(--text-secondary);border-color:transparent}.btn--ghost:hover:not(:disabled){background:var(--bg-interactive);color:var(--text-primary)}.btn--danger{background:var(--color-danger-500);color:var(--text-inverse);border-color:var(--color-danger-500)}.btn--danger:hover:not(:disabled){background:var(--color-danger-600);border-color:var(--color-danger-600)}.btn--sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn--lg{padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.btn--icon{padding:var(--space-2)}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--text-primary);margin-bottom:var(--space-2)}.form-label--required::after{content:" *";color:var(--color-danger-500)}.form-hint{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:var(--space-1)}.form-checkbox{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.form-checkbox__input{width:18px;height:18px;margin:0;cursor:pointer;accent-color:var(--color-primary-600)}.form-checkbox__label{font-size:var(--text-base);color:var(--text-primary);user-select:none}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:0;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--color-primary-100)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-tertiary)}.form-input--error,.form-textarea--error{border-color:var(--color-danger-500)}.form-input--error:focus,.form-textarea--error:focus{box-shadow:0 0 0 3px rgba(196,90,74,.15)}.form-textarea{min-height:8rem;resize:vertical}.form-error{font-size:var(--text-xs);color:var(--color-danger-500);margin-top:var(--space-1)}.checkbox-label,.checkbox-label-inline{display:flex;gap:var(--space-2);cursor:pointer}.checkbox-label{align-items:flex-start;font-size:var(--text-sm)}.checkbox-label input[type=checkbox]{margin-top:2px;flex-shrink:0}.checkbox-label-inline{align-items:center}.checkbox-label input[type=checkbox],.checkbox-label-inline input[type=checkbox]{width:1.125rem;height:1.125rem;accent-color:var(--color-primary-500);cursor:pointer}.form-actions{display:flex;gap:var(--space-3);padding-top:var(--space-4)}.form-file{position:relative}.form-file__input{width:100%;padding:var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);background:var(--bg-surface-sunken);border:2px dashed var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.form-file__input:hover{border-color:var(--border-strong);background:var(--bg-interactive)}.form-file__input:focus{outline:0;border-color:var(--border-focus)}.form-choice-group{display:flex;flex-direction:column;gap:var(--space-3)}.form-choice{display:flex;align-items:flex-start;gap:var(--space-3);cursor:pointer}.form-choice__input{margin-top:.125rem;accent-color:var(--color-primary-600)}.form-choice__label{font-weight:500;color:var(--text-primary)}.form-choice__description{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-1)}.tristate{display:inline-flex;background:var(--bg-surface-sunken);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:2px;gap:2px}.tristate__input{position:absolute;opacity:0;pointer-events:none}.tristate__label{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2rem;border-radius:calc(var(--radius-md) - 2px);cursor:pointer;transition:all var(--transition-fast);color:var(--text-tertiary)}.tristate__label:hover{background:var(--bg-interactive);color:var(--text-secondary)}.tristate__label svg{width:18px;height:18px}.tristate__input:checked+.tristate__label--yes{background:var(--color-success-100);color:var(--color-success-700);box-shadow:0 1px 2px rgba(0,0,0,.05)}.tristate__input:checked+.tristate__label--unknown{background:var(--color-neutral-200);color:var(--color-neutral-600);box-shadow:0 1px 2px rgba(0,0,0,.05)}.tristate__input:checked+.tristate__label--no{background:var(--color-danger-100);color:var(--color-danger-700);box-shadow:0 1px 2px rgba(0,0,0,.05)}.tristate__input:focus-visible+.tristate__label{outline:2px solid var(--border-focus);outline-offset:1px}.table-container{overflow-x:auto;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-surface)}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table td,.table th{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-default)}.table th{text-align:left;font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-tertiary);background:var(--bg-surface-sunken)}.table td{vertical-align:top}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--bg-surface-sunken)}.table__stacked{display:flex;flex-direction:column;gap:var(--space-1)}.feature-icons{display:flex;flex-wrap:wrap;gap:var(--space-1);color:var(--text-tertiary)}.feature-icons svg{opacity:.7}.feature-icons svg:hover{opacity:1}.warning-badge{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-danger-600);font-size:var(--text-xs);font-weight:500}.warning-badge__label{white-space:nowrap}.table__actions,.warning-badges{display:flex;flex-wrap:wrap;gap:var(--space-2)}.table__actions{justify-content:flex-end;align-items:flex-start}.table__actions .btn--ghost{color:var(--text-tertiary)}.table__actions .btn--ghost:hover{color:var(--text-primary);background:var(--bg-interactive)}.table__actions .btn--danger-ghost{background:0 0;border-color:transparent;color:var(--text-tertiary)}.table__actions .btn--danger-ghost:hover{color:var(--color-danger-500);background:var(--color-danger-100)}@media (max-width:640px){.table--responsive thead{display:none}.table--responsive tr{display:block;padding:var(--space-4);border-bottom:1px solid var(--border-default)}.table--responsive tr:last-child{border-bottom:none}.table--responsive td{display:flex;justify-content:space-between;padding:var(--space-2)0;border-bottom:none}.table--responsive td::before{content:attr(data-label);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-tertiary)}.table--responsive td:has(.table__actions){padding-top:var(--space-3);border-top:1px solid var(--border-default);margin-top:var(--space-2)}}.data-item,.data-list{display:flex;flex-direction:column}.data-list{gap:var(--space-4)}.data-item{gap:var(--space-1)}.data-item__label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-tertiary)}.data-item__value{color:var(--text-primary)}.data-item__value--mono{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--bg-surface-sunken);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);display:inline-block}.badge,.filter-pill:hover{background:var(--bg-interactive)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:500;border-radius:var(--radius-full);color:var(--text-secondary)}.badge--success{background:var(--color-primary-100);color:var(--color-primary-700)}.badge--warning{background:var(--color-accent-100);color:var(--color-accent-700)}.badge--danger{background:var(--color-secondary-100);color:var(--color-secondary-700)}.badge--info{background:var(--color-primary-50);color:var(--color-primary-600)}.camping-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:9999px;font-size:12px;font-weight:600}.camping-badge--yes{background:#dcfce7;color:#166534}.camping-badge--no{background:#e5e5e5;color:#737373}.filter-pills{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.filter-pill{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-full);background:var(--bg-elevated);color:var(--text-secondary);text-decoration:none;border:1px solid var(--border-default);transition:all .15s ease}.filter-pill:hover{color:var(--text-primary);border-color:var(--border-strong)}.filter-pill--active{background:var(--color-primary-600);color:#fff;border-color:var(--color-primary-600)}.filter-pill--active:hover{background:var(--color-primary-700);border-color:var(--color-primary-700);color:#fff}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--text-sm);display:flex;align-items:flex-start;gap:var(--space-3)}.alert--success{background:var(--color-primary-50);color:var(--color-primary-800);border:1px solid var(--color-primary-200)}.alert--error{background:var(--color-secondary-50);color:var(--color-secondary-800);border:1px solid var(--color-secondary-200)}.alert--warning{background:var(--color-accent-50);color:var(--color-accent-800);border:1px solid var(--color-accent-200)}.alert--info{background:var(--color-neutral-100);color:var(--color-neutral-700);border:1px solid var(--color-neutral-200)}.empty-state{text-align:center;padding:var(--space-12) var(--space-4)}.empty-state__icon{width:3rem;height:3rem;margin:0 auto var(--space-4);color:var(--text-tertiary)}.empty-state__title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-2)}.empty-state__description{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-6);max-width:24rem;margin-left:auto;margin-right:auto}.stat{display:flex;flex-direction:column;gap:var(--space-1)}.stat__value{font-size:var(--text-2xl);font-weight:600;color:var(--text-primary);letter-spacing:var(--tracking-tight)}.stat__label{font-size:var(--text-sm);color:var(--text-secondary)}.stats-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}@media (min-width:768px){:root{--header-height:4rem}.admin-header__menu-btn{display:none}.admin-sidebar{transform:translateX(0);top:var(--header-height)}.admin-sidebar__header,.admin-sidebar__overlay{display:none}.admin-main{margin-left:var(--sidebar-width);padding:var(--space-6)}.page-header__top{flex-direction:row;align-items:center;justify-content:space-between}.page-header__actions{margin-top:0}.form-choice-group--inline{flex-direction:row;gap:var(--space-6)}.data-list--grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4) var(--space-8)}}@media (min-width:1024px){.data-list--grid{grid-template-columns:repeat(3,1fr)}}.login-page{min-height:100vh;background:linear-gradient(135deg,var(--color-primary-50) 0%,var(--color-neutral-100) 50%,var(--color-secondary-50) 100%);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.login-container{width:100%;max-width:24rem}.login-card{background:var(--bg-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-8)}.login-header{text-align:center;margin-bottom:var(--space-6)}.login-logo{display:flex;justify-content:center;margin-bottom:var(--space-4)}.login-logo__icon{width:4rem;height:4rem;background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));border-radius:var(--radius-lg);position:relative}.login-logo__icon::before{content:"";position:absolute;inset:.75rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5'/%3E%3C/svg%3E")center/contain no-repeat}.login-title{font-size:var(--text-2xl);font-weight:600;color:var(--text-primary);margin:0}.login-form{display:flex;flex-direction:column;gap:var(--space-5)}.login-actions{margin-top:var(--space-2)}.btn--full{width:100%;justify-content:center}.sidebar-user{padding:var(--space-4);border-top:1px solid var(--border-default);margin-top:auto}.sidebar-user__info{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:inherit;border-radius:var(--radius-md);padding:var(--space-2);margin:calc(var(--space-2)*-1);margin-bottom:var(--space-2);transition:background-color .15s ease}.sidebar-user__info:hover{background-color:var(--color-neutral-100)}.sidebar-user__avatar{width:2.5rem;height:2.5rem;background:var(--color-primary-100);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--color-primary-600)}.sidebar-user__name{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.sidebar-user__email,.sidebar-user__role{font-size:var(--text-xs);color:var(--text-tertiary)}.sidebar-user__role{color:var(--color-primary-600);font-weight:500}.btn--logout{width:100%;justify-content:center;background:0 0;border:1px solid var(--border-default);color:var(--text-secondary)}.btn--logout:hover{background:var(--bg-interactive);color:var(--text-primary)}.upload-zone{border:2px dashed var(--border-default);border-radius:var(--radius-lg);padding:var(--space-8);text-align:center;cursor:pointer;transition:all var(--transition-base);background:var(--bg-primary);margin-bottom:var(--space-4)}.upload-zone:hover{border-color:var(--color-primary-400);background:var(--color-primary-50)}.upload-zone--active{border-color:var(--color-primary-500);background:var(--color-primary-100);border-style:solid}.upload-zone__input{display:none}.upload-zone__content{pointer-events:none}.upload-zone__icon{color:var(--text-tertiary);margin-bottom:var(--space-2)}.upload-zone:hover .upload-zone__icon{color:var(--color-primary-500)}.upload-zone__text{font-size:var(--text-base);font-weight:500;color:var(--text-primary);margin:0 0 var(--space-1)0}.upload-zone__hint{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-2)0}.upload-zone__formats{font-size:var(--text-xs);color:var(--text-tertiary);margin:0}.image-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3);margin-bottom:var(--space-3)}@media (min-width:768px){.image-gallery{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}.image-gallery__empty{text-align:center;padding:var(--space-6);color:var(--text-tertiary);font-size:var(--text-sm)}.image-gallery__hint{font-size:var(--text-xs);color:var(--text-tertiary);margin:0}.image-card{position:relative;background:var(--bg-secondary);border-radius:var(--radius-md);overflow:hidden;border:2px solid transparent;transition:all var(--transition-base)}.image-card:hover{border-color:var(--color-primary-300)}.image-card--featured{border-color:var(--color-accent-400)}.image-card--dragging{opacity:.5;transform:scale(.95)}.image-card--uploading{opacity:.7}.image-card__preview{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);position:relative}.image-card__preview img{width:100%;height:100%;object-fit:cover}.image-card__badge{position:absolute;top:var(--space-1);left:var(--space-1);background:var(--color-accent-500);color:#fff;font-size:var(--text-xs);font-weight:500;padding:2px 6px;border-radius:var(--radius-sm)}.image-card__spinner{width:24px;height:24px;border:2px solid var(--border-default);border-top-color:var(--color-primary-500);border-radius:50%;animation:spin .8s linear infinite}.image-card__error{color:var(--color-danger-500);font-size:var(--text-xs);font-weight:500}.image-card__info{padding:var(--space-2)}.image-card__filename{display:block;font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-card__status{display:block;font-size:var(--text-xs);color:var(--text-tertiary)}.image-card__actions{position:absolute;top:var(--space-1);right:var(--space-1);display:flex;gap:var(--space-1);opacity:0;transition:opacity var(--transition-fast)}.image-card:hover .image-card__actions{opacity:1}.image-card__action{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#fff;border:0;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.image-card__action:hover{background:var(--color-primary-500);color:#fff}.image-card__action--danger:hover{background:var(--color-danger-500)}.json-diff{background:var(--bg-surface-sunken);border-radius:var(--radius-md);padding:var(--space-4);max-height:300px;overflow-y:auto}.diff-header{display:flex;align-items:center;margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-default)}.diff-list,.diff-select-all{display:flex;gap:var(--space-2)}.diff-select-all{align-items:center;font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer}.diff-select-all input{width:16px;height:16px;accent-color:var(--color-primary-600)}.diff-list{flex-direction:column}.diff-item{display:grid;grid-template-columns:24px 140px auto 1fr 1fr;gap:var(--space-2);align-items:center;padding:var(--space-2);background:var(--bg-surface);border-radius:var(--radius-sm);font-size:var(--text-sm)}.diff-checkbox{width:16px;height:16px;accent-color:var(--color-primary-600);cursor:pointer}@media (max-width:640px){.diff-item{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2)}.diff-checkbox{flex-shrink:0}.diff-field{flex:1;min-width:80px}.diff-arrow{display:none}.diff-new,.diff-old{width:100%;padding-left:24px;font-size:var(--text-xs)}}.diff-field{font-weight:500;color:var(--text-primary)}.diff-arrow{color:var(--text-tertiary);text-align:center}.diff-old{color:var(--color-danger-600);text-decoration:line-through;opacity:.7}.diff-new{color:var(--color-success-600);font-weight:500}.osm-results{display:flex;flex-direction:column;gap:var(--space-2)}.osm-result{padding:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.osm-result:hover{border-color:var(--color-primary-400);background:var(--color-primary-50)}.osm-result-name{font-weight:500;color:var(--text-primary)}.osm-result-meta{display:flex;gap:var(--space-3);margin-top:var(--space-1);font-size:var(--text-xs);color:var(--text-tertiary)}.osm-id{font-family:var(--font-mono)}.spin{animation:spin 1s linear infinite}.research-links{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--bg-surface-sunken);border-radius:var(--radius-md)}.show-on-mobile{display:none}@media (max-width:640px){.hide-on-mobile{display:none}.show-on-mobile{display:inline}}body[data-role=staff] .delete-link,body[data-role=staff] .edit-link,body[data-role=staff] .staff-hide,body[data-role=staff] .submission-actions,body[data-role=staff] a[href*="/compare"],body[data-role=staff] a[href*="/edit"],body[data-role=staff] a[href*="/new"],body[data-role=staff] a[href*=bulk_import],body[data-role=staff] a[href*=new_from_json],body[data-role=staff] button[onclick*=import-modal],body[data-role=staff] form[action*=approve],body[data-role=staff] form[action*=dismiss],body[data-role=staff] form[action*=merge],body[data-role=staff] form[action*=reject],body[data-role=staff] form[action*=revert],body[data-role=staff] form[action*=sync]{display:none!important}