@import"https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f5f4f1;--bg2: #ffffff;--bg3: #f0eeea;--bg4: #e8e5df;--line: rgba(0,0,0,.08);--line2: rgba(0,0,0,.14);--tx: #1a1917;--tx2: #6b6760;--tx3: #a09d98;--accent2: #3d3a35;--red: #c0392b;--red-bg: rgba(192,57,43,.08);--red-border: rgba(192,57,43,.2);--green: #1a7a4a;--green-bg: rgba(26,122,74,.08);--green-border: rgba(26,122,74,.2);--orange: #b45309;--orange-bg: rgba(180,83,9,.08);--orange-border: rgba(180,83,9,.2);--blue: #1d4ed8;--blue-bg: rgba(29,78,216,.07);--blue-border:rgba(29,78,216,.2);--r-sm: 8px;--r: 12px;--r-lg: 16px;--shadow: 0 1px 8px rgba(0,0,0,.08);--shadow-lg: 0 8px 40px rgba(0,0,0,.12)}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:Inter,-apple-system,sans-serif;background:var(--bg);color:var(--tx);line-height:1.5;min-height:100dvh;overflow-x:hidden}#root{min-height:100dvh}h1{font-family:Inter,-apple-system,sans-serif;font-size:clamp(22px,5vw,34px);font-weight:800;line-height:1.1;letter-spacing:-.03em}h1 em{font-style:italic;font-weight:300}h2{font-family:Inter,-apple-system,sans-serif;font-size:clamp(15px,3vw,19px);font-weight:600}button{font-family:Inter,-apple-system,sans-serif;cursor:pointer;border:none;outline:none}input,textarea,select{font-family:Inter,-apple-system,sans-serif;width:100%;padding:9px 12px;background:var(--bg2);border:1px solid var(--line2);border-radius:var(--r-sm);color:var(--tx);font-size:14px;outline:none;transition:border-color .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}input::placeholder,textarea::placeholder{color:var(--tx3)}input:focus,textarea:focus,select:focus{border-color:var(--tx);background:var(--bg2);box-shadow:0 0 0 3px #1a191712}textarea{resize:vertical;min-height:80px;line-height:1.6}label{font-size:11.5px;font-weight:500;color:var(--tx2);letter-spacing:.03em}a{font-family:Inter,-apple-system,sans-serif}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:var(--r-sm);font-size:13.5px;font-weight:500;transition:all .15s;white-space:nowrap}.btn-primary{background:var(--tx);color:#fff;border:1px solid transparent}.btn-primary:hover{background:var(--accent2)}.btn-ghost{background:transparent;color:var(--tx2);border:1px solid var(--line2)}.btn-ghost:hover{background:var(--bg3);color:var(--tx)}.btn-danger{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.btn-danger:hover{background:#c0392b24}.btn-sm{padding:6px 12px;font-size:12.5px}.btn-icon{padding:7px;border-radius:var(--r-sm);background:transparent;color:var(--tx3);border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center}.btn-icon:hover{background:var(--bg3);color:var(--tx2);border-color:var(--line)}.field{display:flex;flex-direction:column;gap:5px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:480px){.field-row{grid-template-columns:1fr}}.card{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.03em}.s-draft{background:var(--bg3);color:var(--tx3);border:1px solid var(--line2)}.s-review{background:var(--orange-bg);color:var(--orange);border:1px solid var(--orange-border)}.s-approved{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}.s-rejected{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.b-admin{background:var(--blue-bg);color:var(--blue);border:1px solid var(--blue-border)}.b-member{background:var(--bg3);color:var(--tx3);border:1px solid var(--line2)}.theme-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600}.theme-plage{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.theme-montagne{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.theme-ville{background:#ede9fe;color:#5b21b6;border:1px solid #ddd6fe}.theme-campagne{background:#fef9c3;color:#854d0e;border:1px solid #fde68a}.theme-ski{background:#e0f2fe;color:#1e40af;border:1px solid #bfdbfe}.theme-culture{background:#fce7f3;color:#9d174d;border:1px solid #fbcfe8}.theme-roadtrip{background:#ffedd5;color:#9a3412;border:1px solid #fed7aa}.theme-opts{display:flex;gap:7px;flex-wrap:wrap}.theme-opt{display:flex;align-items:center;gap:5px;padding:6px 12px;border-radius:20px;border:1.5px solid var(--line2);background:var(--bg3);cursor:pointer;font-size:12.5px;font-weight:500;transition:all .15s;white-space:nowrap}.theme-opt:hover{border-color:var(--tx3)}.theme-opt.sel{border-color:var(--tx);background:var(--bg2);box-shadow:0 0 0 3px #1a191712}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#00000073;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .15s ease}@media(min-width:640px){.overlay{align-items:center;padding:1.5rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sheet{background:var(--bg2);border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;max-height:92dvh;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border:1px solid var(--line2);border-bottom:none;animation:slideUp .22s cubic-bezier(.32,.72,0,1);box-shadow:var(--shadow-lg);transform:translateZ(0);contain:paint layout}@media(min-width:640px){.sheet{border-radius:var(--r-lg);max-width:560px;max-height:88vh;border-bottom:1px solid var(--line);animation:popIn .18s cubic-bezier(.32,.72,0,1)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes popIn{0%{transform:scale(.97);opacity:0}to{transform:scale(1);opacity:1}}.handle{width:32px;height:3.5px;background:var(--line2);border-radius:2px;margin:10px auto 0;display:block}@media(min-width:640px){.handle{display:none}}.sh-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 0}.sh-body{padding:18px 20px;display:flex;flex-direction:column;gap:13px}.sh-foot{padding:14px 20px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end}.prog-bg{height:4px;background:var(--bg3);border-radius:2px;overflow:hidden}.prog-fill{height:100%;border-radius:2px;transition:width .5s ease}.av{border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0}.av-sm{width:27px;height:27px;font-size:10.5px;border:1.5px solid var(--bg2)}.av-md{width:34px;height:34px;font-size:13px}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line2);border-radius:2px}.toast-wrap{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:9999;pointer-events:none}@media(min-width:640px){.toast-wrap{bottom:24px}}.toast{background:var(--tx);color:#fff;padding:9px 18px;border-radius:30px;font-size:13px;font-weight:500;white-space:nowrap;box-shadow:var(--shadow-lg);animation:tIn .2s ease,tOut .2s ease 2.5s forwards}@keyframes tIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes tOut{to{opacity:0;transform:translateY(6px)}}.sec{font-size:11px;font-weight:600;color:var(--tx3);letter-spacing:.05em;text-transform:uppercase;padding-top:4px}.divider{height:1px;background:var(--line)}.tabs{display:flex;gap:4px;padding:2px;background:var(--bg3);border-radius:var(--r-sm);border:1px solid var(--line)}.tab{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;border:none;background:transparent;color:var(--tx3);cursor:pointer;transition:all .15s;white-space:nowrap}.tab.active{background:var(--bg2);color:var(--tx);box-shadow:0 1px 4px #0000001a}.status-opts{display:flex;gap:8px;flex-wrap:wrap}.status-opt{display:flex;align-items:center;gap:6px;padding:7px 13px;border-radius:var(--r-sm);border:1.5px solid var(--line2);background:var(--bg3);cursor:pointer;font-size:13px;font-weight:500;transition:all .15s}.status-opt:hover{border-color:var(--tx3)}.status-opt.sel{border-color:var(--tx);background:var(--bg2);box-shadow:0 0 0 3px #1a191712}.nav{background:var(--bg2);border-bottom:1px solid var(--line);padding:0 16px;height:54px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:0 1px 0 var(--line);gap:8px}.nav-brand{display:flex;align-items:center;gap:8px;min-width:0}.nav-brand-text{font-size:16px;font-weight:800;letter-spacing:-.03em;white-space:nowrap}.nav-version{font-size:10px;font-weight:600;color:var(--tx3);background:var(--bg4);border:1px solid var(--line2);border-radius:5px;padding:2px 6px;letter-spacing:.04em;font-family:monospace;flex-shrink:0}.nav-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.nav-profile{display:flex;align-items:center;gap:6px;padding:5px 8px;background:var(--bg3);border-radius:8px;border:1px solid var(--line);min-width:0}.nav-profile-name{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80px}@media(max-width:540px){.nav-profile-name{display:none}}@media(max-width:480px){.nav-brand-suffix,.nav-admin-role,.nav-version{display:none}.nav-profile{background:transparent;border-color:transparent;padding:2px 4px;gap:4px}}@media(max-width:360px){.nav-brand-text{font-size:13px}}.hero{background:var(--bg2);border-bottom:1px solid var(--line);padding:20px 16px 16px}.hero-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.hero-stat{background:var(--bg3);border-radius:10px;padding:8px 13px;border:1px solid var(--line)}.hero-stat-n{font-size:20px;font-weight:700;line-height:1}.hero-stat-l{font-size:11px;color:var(--tx3);margin-top:2px}.toolbar{padding:12px 16px 8px;display:flex;flex-direction:column;align-items:stretch;max-width:1100px;width:100%;margin:0 auto;gap:8px}.toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.toolbar-tabs{overflow-x:auto;padding-bottom:2px;flex:1;min-width:0}.toolbar-tabs::-webkit-scrollbar{height:0}.toolbar-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}.toolbar-themes{overflow-x:auto;padding-bottom:2px}.toolbar-themes::-webkit-scrollbar{height:0}.main-content{padding:6px 16px 100px;max-width:1100px;width:100%;margin:0 auto;flex:1}@media(min-width:640px){.main-content{padding-bottom:40px;padding-left:20px;padding-right:20px}}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:12px}.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--bg2);border-top:1px solid var(--line);padding:7px 20px 14px;justify-content:space-around;z-index:100}@media(max-width:639px){.mobile-nav{display:flex}}.auth-wrap{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 16px;background:var(--bg)}.auth-brand{text-align:center;margin-bottom:32px}.auth-title{font-size:clamp(26px,8vw,40px);font-weight:800;letter-spacing:-.03em;margin-bottom:4px}.auth-box{width:100%;max-width:380px;background:var(--bg2);border:1px solid var(--line2);border-radius:16px;overflow:hidden;box-shadow:0 4px 24px #00000014}.map-frame{width:100%;height:200px;border:0;display:block}.tier-low{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.tier-mid{background:#fef9c3;color:#854d0e;border:1px solid #fde68a}.tier-high{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.comp-wrap{min-height:100dvh;background:var(--bg);display:flex;flex-direction:column}.comp-score{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;font-size:15px;font-weight:800;flex-shrink:0}.score-hi{background:var(--green-bg);color:var(--green);border:2px solid var(--green-border)}.score-mid{background:var(--orange-bg);color:var(--orange);border:2px solid var(--orange-border)}.score-lo{background:var(--bg4);color:var(--tx3);border:2px solid var(--line2)}.price-feel-btn{flex:1;padding:8px 4px;border-radius:8px;border:1.5px solid var(--line2);background:var(--bg3);cursor:pointer;font-size:11px;font-weight:600;transition:all .15s;text-align:center}.price-feel-btn.sel{border-color:var(--tx);background:var(--bg2);box-shadow:0 0 0 3px #1a191712}.map-wrap{border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--bg3)}
