:root{--green-100:#e9f6ee;--green-300:#7fd0a0;--green-400:#3fb277;--green-500:#269a63;--green-600:#1f8a54;--green-700:#176842;--green-900:#0c3a24;--gray-100:#fbfbfd;--gray-200:#f5f5f7;--gray-300:#e8e8ed;--gray-400:#d2d2d7;--gray-500:#86868b;--gray-700:#6e6e73;--gray-900:#1d1d1f;--accent:#1f8a54;--accent-hover:#176842;--accent-soft:#1f8a541a;--link:#0071e3;--page-bg:#fff;--surface:#fff;--surface-alt:#f5f5f7;--surface-sunken:#f5f5f7;--nav-bg:#ffffffb8;--border:#d2d2d7;--border-strong:#86868b;--text-primary:#1d1d1f;--text-secondary:#6e6e73;--text-muted:#86868b;--text-tertiary:#86868b;--text-on-accent:#fff;--shadow-soft:0 8px 30px #00000014;--shadow-subtle:0 2px 12px #0000000f;--shadow-hover:0 12px 40px #0000001f;--radius-lg:20px;--radius-md:16px;--radius-sm:12px;--radius-pill:980px;--backdrop:none;--text-xs:0.75rem;--text-sm:0.85rem;--text-base:1rem;--text-lg:1.1875rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-4xl:3rem;--text-5xl:3.75rem;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:80px;--amber-300:#fcd34d;--amber-400:#fbbf24;--amber-500:#f59e0b;--amber-600:#d97706;--earth-400:#a16207;--earth-500:#854d0e;--sky-400:#38bdf8;--sky-500:#0ea5e9;--danger:#d70015;--danger-soft:#d7001514;color-scheme:light}:root[data-theme=dark]{--green-100:#14311f;--green-300:#2f7d52;--green-400:#3fbb7a;--green-500:#34c26f;--green-600:#30b56a;--green-700:#6fd79f;--green-900:#0c3a24;--gray-100:#1c1c1e;--gray-200:#2c2c2e;--gray-300:#3a3a3c;--gray-400:#48484a;--gray-500:#8e8e93;--gray-700:#aeaeb2;--gray-900:#f5f5f7;--accent:#30b56a;--accent-hover:#3fc078;--accent-soft:#30b56a2e;--link:#0a84ff;--page-bg:#000;--surface:#2c2c2e;--surface-alt:#1c1c1e;--surface-sunken:#1c1c1e;--nav-bg:#1c1c1eb8;--border:#38383a;--border-strong:#545458;--text-primary:#f5f5f7;--text-secondary:#aeaeb2;--text-muted:#8e8e93;--text-tertiary:#8e8e93;--text-on-accent:#fff;--shadow-soft:0 8px 30px #00000080;--shadow-subtle:0 1px 3px #0006;--shadow-hover:0 12px 40px #0009;--danger:#ff453a;--danger-soft:#ff453a29;--amber-500:#ffd60a;--amber-400:#ffd60a;color-scheme:dark}:focus-visible{outline:2px solid #1f8a54;outline:2px solid var(--accent);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}*,:after,:before{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;background:var(--page-bg);color:#1d1d1f;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;letter-spacing:-.01em;margin:0;padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}#root,body{min-height:100vh}a{color:inherit}a,a:hover{text-decoration:none}a:hover{color:#0071e3;color:var(--link)}code{font-family:SF Mono,Fira Code,ui-monospace,Courier New,monospace}button,input,select,textarea{font-family:inherit;letter-spacing:inherit}h1,h2,h3{letter-spacing:-.02em}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.login-modal-backdrop{align-items:center;animation:fadeIn .2s ease-out;background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:20000}.login-modal-container{animation:slideUp .3s ease-out;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);max-height:90vh;max-width:480px;overflow-y:auto;padding:32px;position:relative;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-modal-close{align-items:center;background:#0000;border:none;border-radius:6px;color:#888;color:var(--text-muted,#888);cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s;width:32px}.login-modal-close:hover{background:var(--surface-alt);color:var(--text-primary)}.login-modal-close:disabled{cursor:not-allowed;opacity:.5}.login-modal-header{margin-bottom:24px;text-align:center}.brand-medium{gap:12px;margin-bottom:16px}.brand-badge-medium,.brand-medium{align-items:center;display:flex;justify-content:center}.brand-badge-medium{background:var(--accent);border-radius:12px;color:#fff;font-size:20px;font-weight:600;height:48px;width:48px}.brand-text-medium{display:flex;flex-direction:column}.brand-title-medium{font-size:24px;font-weight:700;line-height:1}.brand-title-medium,.login-modal-title{color:#fff;color:var(--text-primary,#fff)}.login-modal-title{font-size:20px;font-weight:600;margin:0 0 8px}.login-modal-subtitle{color:#888;color:var(--text-muted,#888);font-size:14px;margin:0}.login-modal-form{display:flex;flex-direction:column;gap:16px}.login-modal-divider{align-items:center;display:flex;gap:12px;margin:8px 0}.divider-line{background:#1a3320;background:var(--border,#1a3320);flex:1 1;height:1px}.divider-text{color:#888;color:var(--text-muted,#888);font-size:14px}.google-button{align-items:center;background:#ffffffe6!important;color:#333!important;display:flex;gap:8px;justify-content:center}.google-button:hover{background:#fff!important}.google-icon{font-size:18px;font-weight:700}.auth-checkbox{align-items:flex-start;color:#a0aec0;color:var(--text-secondary,#a0aec0);display:flex;font-size:.85rem;gap:8px;margin:12px 0}.auth-checkbox input[type=checkbox]{accent-color:var(--green-500);accent-color:var(--accent-green,var(--green-500));margin-top:3px}.auth-checkbox a{color:var(--green-500);color:var(--accent-green,var(--green-500));text-decoration:underline}@media (max-width:768px){.login-modal-backdrop{padding:16px}.login-modal-container{max-height:95vh;padding:24px}.brand-badge-medium{font-size:18px;height:40px;width:40px}.brand-title-medium{font-size:20px}.login-modal-title{font-size:18px}.login-modal-subtitle{font-size:13px}}.toast-container{display:flex;flex-direction:column;gap:8px;max-width:360px;position:fixed;right:16px;top:72px;z-index:10000}.toast{animation:toast-slide-in .3s ease;border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);color:#fff;cursor:pointer;font-size:14px;padding:12px 16px}.toast-success{background:var(--accent)}.toast-error{background:var(--danger)}.toast-info{background:var(--link)}.toast-warning{background:var(--amber-600)}.toast-confirm-overlay{align-items:center;animation:toast-fade-in .2s ease;background:#0006;display:flex;inset:0;justify-content:center;position:fixed;z-index:14000}@keyframes toast-fade-in{0%{opacity:0}to{opacity:1}}.toast-confirm-modal{animation:toast-modal-in .25s cubic-bezier(.34,1.4,.64,1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);max-width:380px;padding:28px 24px 24px;text-align:center;width:90%}@keyframes toast-modal-in{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.toast-confirm-modal .toast-message{color:var(--text-primary);font-size:16px;line-height:1.5;margin:0 0 24px}.toast-confirm-buttons{display:flex;gap:12px;justify-content:center}.toast-btn{border:none;border-radius:var(--radius-pill);cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:background .2s,transform .1s,border-color .2s}.toast-btn:active{transform:scale(.97)}.toast-btn-cancel{background:var(--surface);border:1px solid var(--border);color:var(--text-primary)}.toast-btn-cancel:hover{background:var(--surface-alt);border-color:var(--border-strong)}.toast-btn-ok{background:var(--danger);color:#fff}.toast-btn-ok:hover{background:#b0000f}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@media (max-width:480px){.toast-container{left:16px;max-width:none;right:16px}}.badge-celebration-backdrop{align-items:center;animation:badgeBackdropIn .3s ease;background:#0006;display:flex;inset:0;justify-content:center;position:fixed;z-index:15000}@keyframes badgeBackdropIn{0%{opacity:0}to{opacity:1}}.badge-celebration-modal{animation:badgeModalIn .4s cubic-bezier(.34,1.56,.64,1);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);max-width:380px;overflow:hidden;padding:40px 32px 32px;position:relative;text-align:center;width:90%}@keyframes badgeModalIn{0%{opacity:0;transform:scale(.7) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.badge-celebration__close{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;position:absolute;right:12px;top:12px;transition:background .2s,color .2s;width:32px}.badge-celebration__close:hover{background:var(--surface-alt);color:var(--text-primary)}.badge-celebration__icon-wrap{display:inline-block;margin-bottom:16px;position:relative}.badge-celebration__icon-glow{animation:badgeGlow 2s ease-in-out infinite alternate;background:radial-gradient(circle,#17684233 0,#0000 70%);border-radius:50%;inset:-20px;position:absolute}@keyframes badgeGlow{0%{opacity:.6;transform:scale(.9)}to{opacity:1;transform:scale(1.1)}}.badge-celebration__icon{animation:badgeIconPop .5s cubic-bezier(.34,1.56,.64,1) .2s both;display:block;font-size:64px;position:relative}@keyframes badgeIconPop{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.badge-celebration__label{color:var(--green-700);font-size:12px;font-weight:600;letter-spacing:1.5px;margin-bottom:8px;text-transform:uppercase}.badge-celebration__name{color:var(--text-primary);font-size:22px;font-weight:600;letter-spacing:-.02em;margin:0 0 8px}.badge-celebration__description{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0 0 16px}.badge-celebration__points{align-items:center;background:var(--accent-soft);border-radius:var(--radius-pill);color:var(--green-700);display:inline-flex;font-size:14px;font-weight:600;gap:4px;margin-bottom:24px;padding:6px 14px}.badge-celebration__dismiss{background:var(--accent);border:none;border-radius:var(--radius-pill);color:var(--text-on-accent);cursor:pointer;display:block;font-size:16px;font-weight:500;padding:14px;transition:background .2s;width:100%}.badge-celebration__dismiss:hover{background:var(--accent-hover)}.badge-celebration__dismiss:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.badge-celebration__confetti{inset:0;overflow:hidden;pointer-events:none;position:absolute}.badge-confetti-piece{animation:confettiFall 3s ease-in 0s forwards;animation:confettiFall var(--fall-duration,3s) var(--fall-delay,0s) ease-in forwards;border-radius:2px;height:8px;opacity:0;position:absolute;top:-10px;width:8px}@keyframes confettiFall{0%{opacity:1;transform:translateY(0) rotate(0deg) scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(500px) rotate(2turn) scale(.5);transform:translateY(500px) rotate(var(--spin,2turn)) scale(.5)}}.badge-confetti-piece--green{background:#176842}.badge-confetti-piece--light-green{background:#4caf50}.badge-confetti-piece--amber{background:#d4a843}.badge-confetti-piece--gold{background:#f5c842}.badge-confetti-piece--white{background:#e8f5e9}@media (prefers-reduced-motion:reduce){.badge-celebration-backdrop,.badge-celebration-modal,.badge-celebration__icon,.badge-celebration__icon-glow{animation:none}.badge-confetti-piece{display:none}}@media (max-width:480px){.badge-celebration-backdrop{align-items:flex-end}.badge-celebration-modal{animation:badgeModalSlideUp .4s cubic-bezier(.34,1.56,.64,1);border-radius:20px 20px 0 0;max-width:100%;padding:32px 24px 24px;width:100%}@keyframes badgeModalSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}.error-boundary{background-color:var(--danger-soft);border:1px solid #d7001540;border-radius:8px;margin:24px auto;max-width:800px;padding:24px}.error-icon{font-size:48px;margin-bottom:16px;text-align:center}.error-title{color:var(--danger);font-size:20px;margin-bottom:12px;text-align:center}.error-message{color:var(--text-secondary);font-size:16px;margin-bottom:20px;text-align:center}.error-fallback{background-color:var(--surface-alt);border-radius:6px;margin-bottom:20px;padding:16px}.error-retry{background-color:var(--danger);border:none;border-radius:var(--radius-pill);color:#fff;cursor:pointer;display:block;font-size:16px;margin:0 auto 16px;padding:10px 20px;transition:background-color .2s}.error-retry:hover{background-color:#b00012}.error-details{color:var(--text-secondary);font-size:14px}.error-details summary{color:var(--danger);cursor:pointer;font-weight:600}.error-stack{background-color:var(--surface-alt);border-radius:4px;color:var(--text-primary);font-family:monospace;font-size:12px;max-height:200px;overflow-x:auto;overflow-y:auto;padding:12px;white-space:pre-wrap}.spinner{animation:spinner-rotate .8s linear infinite;border-radius:50%;border-style:solid;border-top-color:#0000;display:inline-block}.spinner--small{border-width:2px;height:16px;width:16px}.spinner--medium{border-width:3px;height:32px;width:32px}.spinner--large{border-width:4px;height:48px;width:48px}.spinner--primary{border-color:var(--accent);border-top-color:#0000}.spinner--white{border-color:#0000 #fffc #fffc}.spinner--gray{border-color:var(--border);border-top-color:#0000}.spinner__sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@keyframes spinner-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.app-shell{background:var(--surface-alt);display:flex;flex-direction:column;gap:clamp(24px,5vw,44px);min-height:100vh;padding:clamp(20px,4vw,44px)}.dashboard-header{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-subtle);display:flex;gap:clamp(16px,3vw,40px);justify-content:space-between;padding:clamp(18px,3vw,30px)}.dashboard-grid{grid-gap:clamp(18px,3.5vw,32px);align-items:start;display:grid;gap:clamp(18px,3.5vw,32px);grid-auto-rows:auto;grid-template-columns:repeat(3,minmax(320px,1fr))}.dashboard-grid [id=configuration]{grid-column:1;grid-row:1}.dashboard-grid [id=watchlist]{grid-column:2;grid-row:1}.dashboard-grid [id=photos]{grid-column:2;grid-row:2}.dashboard-grid [id=resultsHistory]{grid-column:3;grid-row:1}.dashboard-grid [id=notifications]{grid-column:3;grid-row:2}@media (max-width:1180px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid [id=configuration]{grid-column:1;grid-row:auto}.dashboard-grid [id=notifications],.dashboard-grid [id=photos],.dashboard-grid [id=resultsHistory],.dashboard-grid [id=watchlist]{grid-column:auto;grid-row:auto}}@media (max-width:860px){.dashboard-grid{grid-template-columns:1fr}.dashboard-grid [id=configuration],.dashboard-grid [id=notifications],.dashboard-grid [id=photos],.dashboard-grid [id=resultsHistory],.dashboard-grid [id=watchlist]{grid-column:1;grid-row:auto}}.sortable-panel-wrapper{position:relative;touch-action:manipulation;transition:transform .15s cubic-bezier(.2,0,0,1)}.sortable-panel-wrapper.is-dragging{border-radius:var(--radius-md);box-shadow:var(--shadow-hover),0 0 0 2px var(--accent-soft);opacity:.9;transform:scale(1.02)!important;transition:opacity .1s ease-out,box-shadow .1s ease-out;will-change:transform;z-index:1000}.sortable-panel-wrapper.is-dragging .panel{background:var(--surface);border-color:var(--accent)}.drag-handle{align-items:center;background:#0000;border-radius:8px;color:var(--text-muted);cursor:grab;display:flex;height:32px;justify-content:center;opacity:.5;position:absolute;right:12px;top:12px;transition:opacity .15s ease,background .15s ease,color .15s ease,transform .15s ease;width:32px;z-index:10}.drag-handle:hover{background:var(--accent-soft);color:var(--accent);opacity:1;transform:scale(1.08)}.drag-handle:active{cursor:grabbing;transform:scale(.92)}.sortable-panel-wrapper.is-dragging .drag-handle{cursor:grabbing;opacity:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.brand{align-items:center;display:flex;gap:16px}.brand-badge{background:var(--accent);border-radius:12px;color:#fff;display:grid;font-size:1.1rem;font-weight:600;height:46px;letter-spacing:.5px;place-items:center;width:46px}.brand-text{display:flex;flex-direction:column;gap:2px}.brand-title{color:var(--text-primary);font-size:clamp(1.35rem,2vw,1.7rem);font-weight:600;letter-spacing:-.02em}.brand-subtitle{color:var(--text-secondary);font-size:.9rem}.user-chip{align-items:center;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-md);display:inline-flex;gap:16px;padding:12px 16px}.user-details{display:flex;flex-direction:column;gap:2px}.user-name{color:var(--text-primary);font-weight:600}.user-email{color:var(--text-muted);font-size:.8rem}.panel{grid-gap:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-subtle);display:grid;gap:18px;min-width:0;overflow:visible;padding:clamp(20px,3vw,30px);position:relative;transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease}.panel-header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:16px;justify-content:space-between;min-width:0;padding-bottom:16px}.panel-header>div:first-child{flex:1 1;min-width:-webkit-min-content;min-width:min-content;overflow:hidden}.panel-title{color:var(--text-primary);font-size:1.25rem;font-weight:600;letter-spacing:-.02em;line-height:1.3;margin:0}.panel-meta,.panel-title{word-wrap:break-word;overflow-wrap:break-word}.panel-meta{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin-top:4px}.form-grid{grid-gap:clamp(14px,2vw,20px);display:grid;gap:clamp(14px,2vw,20px)}.form-field{grid-gap:8px;display:grid;gap:8px}.field-label{color:var(--text-secondary);font-size:.8125rem;font-weight:500;letter-spacing:0;line-height:1}.date-input,.email-input,.number-input,.select-input,.tel-input,.text-input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.95rem;padding:12px 15px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.date-input:disabled,.email-input:disabled,.number-input:disabled,.select-input:disabled,.tel-input:disabled,.text-input:disabled{background:var(--surface-alt);cursor:not-allowed;opacity:.5}.date-input:focus,.email-input:focus,.number-input:focus,.select-input:focus,.tel-input:focus,.text-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.email-input::placeholder,.text-input::placeholder{color:var(--text-muted)}.checkbox-field{align-items:center;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:10px;padding:12px 14px;transition:background .15s ease,border-color .15s ease}.checkbox-field:hover{background:var(--gray-300);border-color:var(--border-strong)}.checkbox-field input{accent-color:var(--accent);height:18px;width:18px}.form-error,.form-feedback{border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.85rem;line-height:1.4;padding:8px 12px}.form-feedback-success{background:var(--accent-soft);border:1px solid #1f8a5433;color:var(--green-700)}.form-error,.form-feedback-error{background:var(--danger-soft);border:1px solid #d700152e;color:var(--danger)}.filter-group{grid-gap:12px;display:grid;gap:12px}.filter-row{display:flex;flex-wrap:wrap;gap:12px}.filter-pill{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-secondary);font-size:.85rem;padding:9px 15px}.filter-pill,.primary-button{align-items:center;display:inline-flex;gap:8px}.primary-button{background:var(--accent);border:none;border-radius:var(--radius-pill);color:var(--text-on-accent);cursor:pointer;font-size:.95rem;font-weight:500;justify-content:center;letter-spacing:-.01em;overflow:hidden;padding:12px 22px;position:relative;transition:background .2s ease,transform .15s ease}.primary-button:hover{background:var(--accent-hover)}.primary-button:active{transform:scale(.97)}.secondary-button{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:6px;padding:11px 18px;transition:border-color .2s ease,color .2s ease,background .2s ease}.secondary-button:hover{background:var(--surface-alt);border-color:var(--border-strong)}.primary-button:disabled{background:var(--gray-300);color:var(--text-muted);cursor:not-allowed;transform:none}.secondary-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.card-grid{grid-gap:18px;display:grid;gap:18px}.campsite-card{grid-gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-subtle);display:grid;gap:12px;padding:clamp(20px,3vw,28px);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.campsite-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.card-title{color:var(--text-primary);font-size:1.1rem;font-weight:600}.card-meta{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.9rem;gap:10px 14px}.card-actions{display:flex;justify-content:flex-end}.meta-tag{background:var(--accent-soft);border:1px solid #1f8a542e;border-radius:var(--radius-pill);color:var(--green-700);font-size:.85rem;padding:6px 12px}.gallery-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin-top:12px}.gallery-image{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius-sm);object-fit:cover;transition:transform .2s ease,box-shadow .2s ease;width:100%}.gallery-image:hover{box-shadow:var(--shadow-subtle);transform:translateY(-2px)}.history-list{grid-gap:12px;display:grid;gap:12px;max-height:600px;overflow-y:auto;scrollbar-color:var(--border) #0000;scrollbar-width:thin}.history-list::-webkit-scrollbar{width:6px}.history-list::-webkit-scrollbar-track{background:#0000}.history-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-pill)}.history-list::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.history-item{grid-gap:8px;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-sm);display:grid;gap:8px;padding:16px;transition:background .2s ease,border-color .2s ease}.history-item:hover{background:var(--gray-300)}.history-item-header{align-items:center;display:flex;gap:12px;justify-content:space-between;min-width:0}.history-item-header>div:first-child{flex:1 1;min-width:0;overflow:hidden}.history-item-body{grid-gap:6px;color:var(--text-secondary);display:grid;font-size:.9rem;gap:6px}.history-item strong{word-wrap:break-word;color:var(--text-primary);display:block;overflow-wrap:break-word}.badge{align-items:center;background:var(--accent-soft);border:1px solid #1f8a5433;border-radius:var(--radius-pill);color:var(--green-700);display:inline-flex;flex-direction:row;font-size:.72rem;font-weight:600;gap:4px;justify-content:center;letter-spacing:.04em;padding:5px 11px;text-transform:uppercase;white-space:nowrap}.badge.failed{background:var(--danger-soft);border-color:#d7001533;color:var(--danger)}.badge.success{background:var(--accent-soft);border-color:#1f8a5433;color:var(--green-700)}.empty-state{background:var(--surface-alt);border:1px dashed var(--border);border-radius:var(--radius-lg);color:var(--text-secondary);padding:40px 32px;position:relative;text-align:center}.status-message{color:var(--text-secondary);font-size:.9rem}.status-error{color:var(--danger)}.status-success{color:var(--green-700)}.two-up{grid-gap:clamp(18px,3vw,28px);display:grid;gap:clamp(18px,3vw,28px)}@media (min-width:900px){.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}}.autocomplete-wrapper{position:relative}.autocomplete-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);left:0;margin-top:6px;max-height:320px;overflow-y:auto;position:absolute;right:0;scrollbar-color:var(--border) #0000;scrollbar-width:thin;top:100%;z-index:11000}.autocomplete-dropdown::-webkit-scrollbar{width:6px}.autocomplete-dropdown::-webkit-scrollbar-track{background:#0000}.autocomplete-dropdown::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-pill)}.autocomplete-item{background:#0000;border:none;border-bottom:1px solid var(--border);color:var(--text-primary);cursor:pointer;padding:12px 16px;text-align:left;transition:background .2s ease;width:100%}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover{background:var(--surface-alt)}.autocomplete-item:active{background:var(--gray-300)}.autocomplete-item-title{font-size:.95rem;font-weight:600;margin-bottom:4px}.autocomplete-item-subtitle{color:var(--text-muted);font-size:.85rem;line-height:1.4}.autocomplete-loading{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);color:var(--text-muted);font-size:.9rem;left:0;margin-top:6px;padding:12px 16px;position:absolute;right:0;text-align:center;top:100%;z-index:11000}.middle-column-container{display:flex;flex-direction:column;gap:clamp(18px,3.5vw,32px)}.dashboard-grid>div{transition:transform .25s cubic-bezier(.2,0,0,1),opacity .2s ease}.dashboard-grid>div:active{cursor:grabbing}.panel:hover{border-color:var(--border-strong);box-shadow:var(--shadow-soft)}@media (max-width:768px){.app-shell{gap:20px;padding:16px}.dashboard-header{align-items:flex-start;flex-direction:column;gap:16px;padding:16px}.brand-subtitle{display:none}.user-chip{justify-content:space-between;padding:12px 16px;width:100%}.user-details{flex:1 1}.panel{padding:18px}.panel-header{align-items:flex-start;flex-direction:column;gap:12px}.form-grid{gap:16px}.primary-button,.secondary-button{justify-content:center;width:100%}.date-input,.email-input,.number-input,.select-input,.tel-input,.text-input{font-size:16px;padding:14px 16px}.checkbox-field{padding:14px 16px}.checkbox-field input{height:24px;width:24px}.campsite-card{padding:16px}.card-actions{justify-content:stretch}.card-actions button{flex:1 1}.history-item{padding:14px}.history-item-header{align-items:flex-start;flex-direction:column;gap:8px}.autocomplete-dropdown{max-height:240px}.autocomplete-item{padding:14px 16px}}@media (max-width:480px){.app-shell{gap:16px}.app-shell,.dashboard-header{padding:12px}.brand{gap:12px}.brand-badge{font-size:1rem;height:40px;width:40px}.brand-title{font-size:1.25rem}.user-name{font-size:.9rem}.user-email{font-size:.75rem}.panel-title{font-size:1.05rem}.panel-meta{font-size:.85rem}.badge{font-size:.68rem;padding:4px 10px}.filter-pill{font-size:.8rem;padding:8px 12px}.meta-tag{font-size:.8rem;padding:5px 10px}}@media (hover:none) and (pointer:coarse){.carousel-button{height:48px;width:48px}.carousel-indicator{height:12px;width:12px}.carousel-indicator.active{height:14px;width:14px}.campsite-card:hover,.gallery-image:hover{transform:none}.panel:hover{border-color:var(--border);box-shadow:var(--shadow-subtle)}.dashboard-grid>div{cursor:grab}.dashboard-grid>div:active{cursor:grabbing}}.panel-settings-dropdown{animation:slideDown .2s ease;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);margin-bottom:20px;padding:20px;position:relative}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.panel-settings-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.panel-settings-header h4{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0}.close-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.5rem;line-height:1;padding:4px 8px;transition:color .2s ease}.close-button:hover{color:var(--text-primary)}.panel-settings-description{color:var(--text-secondary);font-size:.9rem;margin:0 0 16px}.panel-settings-list{grid-gap:12px;display:grid;gap:12px}.panel-setting-item{align-items:center;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:background .2s ease,border-color .2s ease}.panel-setting-item:hover{background:var(--accent-soft);border-color:var(--accent)}.panel-setting-item input[type=checkbox]{accent-color:var(--accent);cursor:pointer;height:20px;width:20px}.panel-setting-item span{color:var(--text-primary);font-size:.95rem;font-weight:500}@media (max-width:768px){.panel-settings-dropdown{padding:16px}.panel-setting-item{padding:14px}.panel-setting-item input[type=checkbox]{height:24px;width:24px}.drag-handle{height:40px;opacity:.7;right:10px;top:10px;width:40px}.drag-handle:hover{opacity:1}.sortable-panel-wrapper.is-dragging{transform:scale(1.03)!important}}@media (hover:none) and (pointer:coarse){.drag-handle{opacity:.8}.sortable-panel-wrapper.is-dragging{opacity:.9}}.page-loading{align-items:center;display:flex;justify-content:center;min-height:60vh}.panel-section-divider{background:var(--border);height:1px;margin:4px 0}.collapsible-trigger{align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;justify-content:space-between;padding:10px 0;transition:color .15s ease;width:100%}.collapsible-trigger:hover{color:var(--text-primary)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.react-datepicker-popper,.react-datepicker-wrapper,.react-datepicker__tab-loop{z-index:10000!important}
/*# sourceMappingURL=main.87a6b8a0.css.map*/