:root{
  --navy:#063d69;--navy-deep:#032f53;--sidebar:#064b7d;--sidebar-2:#073f68;
  --blue:#0786df;--blue-2:#0a73c4;--cyan:#e8f6ff;--bg:#eef6fb;--card:#fff;
  --text:#092b50;--muted:#627d9b;--line:#cfe0ed;--line2:#dce9f2;--danger:#e33f47;
  --success:#0cae63;--warning:#ff9700;--yellow:#ffb31a;--shadow:0 5px 16px rgba(23,73,111,.09);
  --radius:9px;--topbar:68px;--sidebar-w:270px;
}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;background:linear-gradient(180deg,#f5fbff 0,#eef6fb 100%);color:var(--text);font-size:14px}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}code{font-family:Consolas,monospace}.topbar{height:var(--topbar);background:linear-gradient(90deg,#073a63,#00355e 70%,#073a63);color:#fff;display:flex;align-items:center;padding:0 18px;gap:20px;box-shadow:0 3px 13px rgba(1,33,59,.22);position:fixed;z-index:50;left:0;right:0;top:0}.brand{width:262px;display:flex;align-items:center;gap:11px;flex:0 0 auto}.brand strong{font-size:22px;line-height:1;letter-spacing:.01em}.brand small{display:block;margin-top:5px;font-size:11px;color:#d4e4f2;font-weight:600}.mountain-logo{width:48px;height:39px;display:block}.mountain-logo svg{width:100%;height:100%}.mountain-logo path{fill:#fff}.mountain-logo .logo-cut{fill:#79c9ef}.global-search{height:40px;width:min(405px,31vw);background:#edf5fb;border:1px solid #b8d0e1;border-radius:7px;display:flex;align-items:center;padding:0 11px;gap:9px;box-shadow:inset 0 1px 2px #00213b19;color:#4b7395}.global-search span{font-size:22px}.global-search input{border:0;outline:0;background:transparent;width:100%;font-size:12px}.topnav{display:flex;height:100%;align-items:center;margin-left:auto;white-space:nowrap}.topnav a{height:100%;display:flex;align-items:center;gap:7px;padding:0 13px;font-weight:800;font-size:12px;position:relative}.topnav a:hover,.topnav a.active{background:#0b4a7b}.topnav a.active:after{content:"";height:3px;background:#55b7f1;position:absolute;bottom:0;left:12px;right:12px}.topnav a span{font-size:17px}.top-actions{display:flex;align-items:center;gap:9px;margin-left:4px}.bell{position:relative;border:0;background:transparent;color:#fff;font-size:23px;padding:5px}.bell span{position:absolute;right:0;top:1px;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:#ee3138;color:#fff;font-size:9px;font-weight:900}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e9f1f7;border:2px solid #fff;color:#0a5c99;font-weight:900}.user-title{display:flex;flex-direction:column;max-width:100px}.user-title strong{font-size:13px;overflow:hidden;text-overflow:ellipsis}.user-title small{font-size:10px;color:#b9d2e5}.logout{font-size:20px;padding:6px}.app-shell{padding-top:var(--topbar);min-height:100vh}.sidebar{position:fixed;left:0;top:var(--topbar);bottom:0;width:var(--sidebar-w);background:linear-gradient(180deg,#095282 0,#06436e 100%);color:#fff;display:flex;flex-direction:column;box-shadow:3px 0 15px rgba(3,54,90,.12);z-index:30}.sidebar-heading{height:58px;display:flex;align-items:center;padding:0 18px;gap:12px;border-bottom:1px solid rgba(255,255,255,.08);font-size:15px}.sidebar-icon{font-size:21px}.new-hike{margin:0 16px 12px;height:42px;border-radius:7px;background:linear-gradient(180deg,#0b96ef,#0782d6);box-shadow:0 3px 8px #01375d5e;display:flex;align-items:center;justify-content:center;gap:7px;font-weight:900}.new-hike span{font-size:22px}.sidebar-quick{padding:0 15px 8px}.sidebar-quick a{height:40px;border:1px solid rgba(255,255,255,.08);background:rgba(0,23,42,.10);border-radius:6px;margin-bottom:7px;display:flex;align-items:center;gap:11px;padding:0 13px;font-weight:800;font-size:12px}.sidebar-quick a.active,.sidebar-quick a:hover{background:#0b5d97}.hike-tree{flex:1;overflow:auto;padding:4px 15px 12px}.tree-year{border-top:1px solid rgba(255,255,255,.08);padding-top:5px}.tree-year-head{background:transparent;border:0;color:#fff;width:100%;height:38px;display:grid;grid-template-columns:28px 1fr 28px;align-items:center;text-align:center;font-size:18px}.tree-year-head span{font-size:24px;font-weight:300}.tree-year.collapsed .tree-year-body{display:none}.tree-month{margin-bottom:10px}.tree-month-head{height:30px;display:flex;align-items:center;gap:7px;color:#f4f8fb;font-size:11px;padding:0 8px}.tree-month-head small{font-weight:500;color:#afcbe0}.tree-hike{display:grid;grid-template-columns:22px 50px minmax(0,1fr);align-items:center;height:40px;border-radius:6px;margin:2px 0;padding:0 8px;font-size:11px}.tree-hike:hover,.tree-hike.active{background:#0685d8;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}.tree-state{width:17px;height:17px;border-radius:50%;display:grid;place-items:center;border:2px solid #81b0cf;color:transparent;font-size:10px}.tree-state.completed{background:#17c46e;border-color:#17c46e;color:#fff}.tree-state.planned{border-color:#ffad14;color:#ffad14}.tree-state.cancelled{border-color:#ef5f68;color:#ef5f68}.tree-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e3edf5}.tree-empty{padding:25px 12px;color:#bcd2e2;font-size:12px}.sidebar-foot{border-top:1px solid rgba(255,255,255,.09);height:48px;display:flex;justify-content:space-between;align-items:center;padding:0 14px;color:#c7dce9;font-size:9px}.sidebar-foot span:last-child{font-size:10px}.sidebar-foot i{width:10px;height:10px;display:inline-block;border-radius:50%;background:#05c56e;margin-right:5px}.content{margin-left:var(--sidebar-w);padding:18px 18px 32px;width:calc(100% - var(--sidebar-w));min-height:calc(100vh - var(--topbar))}.flash-stack{position:relative;z-index:5;margin-bottom:12px}.flash{padding:11px 14px;border-radius:7px;border:1px solid #cfe0ed;background:#eaf4fb}.flash.success{background:#e5f7ee;color:#13764d;border-color:#bce8d2}.flash.danger{background:#fdebed;color:#9f2932;border-color:#f1c7cb}.flash.info{background:#e9f2ff;color:#225f9e}.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin:6px 0 18px}.page-head h1{margin:2px 0 4px;font-size:28px;letter-spacing:-.02em}.page-head p{margin:0;color:var(--muted)}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.1em;color:#0b83d2}.btn{border:1px solid #c6d9e8;background:#fff;border-radius:7px;padding:9px 12px;font-weight:800;color:#153a5d;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:hover{filter:brightness(.985)}.btn.primary{border-color:#0576c8;background:linear-gradient(180deg,#0a90e9,#0678cd);color:#fff;box-shadow:0 2px 6px rgba(4,103,174,.18)}.btn.secondary{background:#fff}.btn.danger{background:#e64b53;color:#fff;border-color:#d63841}.btn.big{padding:11px 16px}.btn.small{font-size:11px;padding:6px 8px}.btn.disabled{opacity:.6;pointer-events:none}.badge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:18px;background:#edf4f9;border:1px solid #d6e3ed;font-size:11px;font-weight:900;color:#54738f}.panel,.detail-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:17px}.panel h2,.detail-panel h2{margin:0 0 13px;font-size:17px}.panel.narrow{max-width:760px}.hiking-page-head{align-items:center}.search-result-bar{background:#fff;border:1px solid var(--line);padding:11px 14px;border-radius:7px;margin-bottom:14px;color:var(--muted)}.search-result-bar a{float:right;color:var(--blue);font-weight:800}.hike-card-grid{display:grid;grid-template-columns:repeat(3,minmax(270px,1fr));gap:16px}.hike-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow);transition:.15s transform,.15s box-shadow}.hike-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(23,73,111,.13)}.hike-cover-mini{height:140px;position:relative;overflow:hidden;background:linear-gradient(165deg,#7cc5ee 0,#b9e6f8 42%,#8dbd7d 43%,#4f7e55 100%)}.mountain-art{position:absolute;inset:0}.mountain-art b{position:absolute;font-size:155px;color:#66828e;bottom:-72px;left:18%;text-shadow:30px 20px #486c58}.mountain-art:after{content:"";position:absolute;left:-10%;right:-10%;height:70px;bottom:-28px;background:#31563f;transform:rotate(-5deg)}.status-pill{display:inline-flex;align-items:center;justify-content:center;gap:5px;border-radius:16px;padding:5px 9px;font-size:11px;font-weight:900;background:#edf4f9;color:#53718b}.status-pill.planned{background:#fff0c7;color:#f08a00}.status-pill.completed{background:#ddf6e9;color:#0c9b58}.status-pill.cancelled{background:#fde6e9;color:#c9303b}.status-pill.draft{background:#eef1f4;color:#687b8a}.hike-cover-mini .status-pill{position:absolute;right:10px;top:10px}.hike-card-body{padding:15px}.hike-card-body>small{color:#7089a1;text-transform:uppercase;font-weight:800;font-size:10px}.hike-card-body h2{margin:5px 0;font-size:18px}.hike-card-body p{margin:0 0 13px;color:#5b7893}.hike-meta{border-top:1px solid var(--line2);padding-top:10px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;font-size:9px;color:#728ba3}.hike-meta b{display:block;font-size:12px;color:#143d61}.hero-empty{text-align:center;padding:70px 20px}.hero-empty p{max-width:620px;margin:8px auto 23px;color:var(--muted)}.empty-mountain{font-size:58px;color:#168bd1}.hike-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:3px 0 14px}.hike-ident{display:flex;gap:14px;align-items:center}.detail-logo{width:66px;height:66px;border-radius:9px;background:linear-gradient(135deg,#0795eb,#026ab8);display:grid;place-items:center;box-shadow:0 4px 10px #0064a737;color:#fff}.detail-logo span{font-size:35px;text-shadow:13px 9px #8ed8ff}.title-row{display:flex;align-items:center;gap:8px}.title-row h1{font-size:24px;margin:0 0 4px;letter-spacing:-.02em}.hike-name{font-size:18px;font-weight:900;color:#0b3d70}.edit-pencil{color:#2d79b2;font-weight:900;font-size:16px}.edit-pencil.small{font-size:13px}.micro-meta{display:flex;align-items:center;gap:9px;margin-top:7px;color:#6b87a1;font-size:11px}.micro-meta i{font-style:normal;color:#9bb0c1}.detail-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:12px}.status-pill.large{padding:8px 12px;border-radius:8px;font-size:12px}.created-meta{text-align:right;font-size:9px;color:#70889e;line-height:1.45}.menu-wrap{position:relative}.action-menu{display:none;position:absolute;right:0;top:40px;width:180px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 30px #0c395526;z-index:20;padding:6px}.action-menu.open{display:block}.action-menu a,.action-menu button{width:100%;display:block;text-align:left;border:0;background:transparent;padding:9px;border-radius:5px;font-weight:700;font-size:12px}.action-menu a:hover,.action-menu button:hover{background:#f0f6fa}.action-menu form{margin:0}.action-menu .danger-link{color:#c93842}.metrics-row{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:10px}.metric-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:14px 13px;display:flex;align-items:center;gap:12px;height:86px}.metric-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#e9f6ff;color:#067acb;font-size:26px;font-weight:900;flex:0 0 auto}.metric-icon.gain{background:#ffeded;color:#ee3e47}.metric-icon.difficulty{background:#fff5db;color:#ff9400}.metric-card small{display:block;color:#587796;font-size:10px}.metric-card strong{display:block;font-size:21px;line-height:1.15;margin-top:4px;white-space:nowrap}.metric-card em{display:block;font-style:normal;color:#607c96;font-size:10px;margin-top:2px}.metric-card .difficulty-text{color:#f18700;font-size:19px}.status-cards-row{display:grid;grid-template-columns:1fr 1fr 1.15fr 1.15fr .95fr;gap:10px;margin-bottom:10px}.status-card{height:74px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:flex;align-items:center;padding:12px;gap:11px}.status-card>span:first-child{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:21px;background:#eef7fd;color:#0b87d4;font-weight:900}.status-card.warning{background:linear-gradient(90deg,#fff1f1,#fff)}.status-card.warning>span:first-child{background:#fff;color:#ef4049}.status-card.bag{background:linear-gradient(90deg,#fff7db,#fff)}.status-card.bag>span:first-child{background:#fff;color:#ff9700}.status-card strong{display:block;font-size:13px}.status-card small{color:#506f8c;font-size:10px}.status-card>b{margin-left:auto;font-size:25px;font-weight:400;color:#6a7f91}.status-card.consult{justify-content:center;color:#087cd1;font-size:14px}.status-card.consult span{width:auto!important;height:auto!important;background:transparent!important;color:#087cd1!important;font-size:24px!important}.detail-tabs{height:43px;display:flex;align-items:stretch;background:#f5f9fc;border:1px solid var(--line);border-radius:8px 8px 0 0;overflow-x:auto;margin-bottom:10px}.detail-tabs a{min-width:98px;padding:0 13px;display:grid;place-items:center;border-right:1px solid var(--line);font-size:11px;font-weight:900;white-space:nowrap}.detail-tabs a.active{background:#0784d7;color:#fff}.detail-grid.summary-grid{display:grid;grid-template-columns:1.03fr 1.18fr 1.05fr;gap:10px;align-items:start}.detail-panel{padding:13px}.detail-panel h2{font-size:15px;color:#10395d}.panel-inline-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.panel-inline-title h2{margin:0}.panel-inline-title p{margin:2px 0 0;color:var(--muted);font-size:11px}.panel-inline-title>a{color:#087aca;font-size:10px;font-weight:900}.hike-info{display:grid;grid-template-columns:128px 1fr;margin:0;font-size:10px}.hike-info dt,.hike-info dd{margin:0;border-bottom:1px solid #e2edf4;padding:7px 5px}.hike-info dt{font-weight:900;color:#153c61}.hike-info dd{color:#244f76}.hike-info dd:last-child,.hike-info dt:nth-last-child(2){border-bottom:0}.accent-orange{color:#ef8700!important;font-weight:900}.cover-art{height:185px;margin-top:10px;border-radius:6px;overflow:hidden;position:relative;background:#78bcea}.mountain-scene{position:absolute;inset:0;background:linear-gradient(#55a6e9,#cfeaf8 55%,#6aa064 56%,#345c42)}.mountain-scene .peak{position:absolute;width:0;height:0;border-left:125px solid transparent;border-right:125px solid transparent;border-bottom:160px solid #516d7f;bottom:25px}.mountain-scene .p1{left:10px}.mountain-scene .p2{left:115px;transform:scale(.75);border-bottom-color:#718b91}.mountain-scene .ridge{position:absolute;left:-5%;right:-5%;height:75px;bottom:-25px;background:#315941;transform:rotate(-4deg)}.cover-caption{position:absolute;left:0;right:0;bottom:0;background:#051a26c7;color:#fff;padding:8px 10px;font-size:10px;font-weight:900}.fake-map{height:418px;border-radius:5px;overflow:hidden;position:relative;background:#d9dfb5}.map-grid{position:absolute;inset:0;background-image:linear-gradient(#a9be9138 1px,transparent 1px),linear-gradient(90deg,#a9be9138 1px,transparent 1px);background-size:27px 27px}.map-terrain{position:absolute;border-radius:47% 53% 35% 65%;background:#96ad71;filter:blur(1px)}.map-terrain.t1{width:300px;height:230px;top:10px;left:-60px;transform:rotate(25deg)}.map-terrain.t2{width:270px;height:340px;right:-45px;top:100px;background:#859f61;transform:rotate(-20deg)}.map-terrain.t3{width:260px;height:170px;left:90px;bottom:-55px;background:#b8c98d}.route-svg{position:absolute;inset:30px 20px 30px;width:calc(100% - 40px);height:calc(100% - 60px)}.route-svg path{fill:none;stroke:#fff;stroke-width:12;stroke-linecap:round;stroke-linejoin:round}.route-svg path+circle{fill:#0a8fea;stroke:#fff;stroke-width:5}.route-svg path{filter:drop-shadow(0 1px 1px #075d9a)}.route-svg:after{content:""}.route-svg .summit{fill:#9b240c;stroke:#fff;stroke-width:4}.route-svg path{stroke:#fff}.route-svg path{paint-order:stroke}.route-svg path{stroke:#fff}.route-svg path{vector-effect:non-scaling-stroke}.fake-map:after{content:"";position:absolute;inset:30px 20px 30px;pointer-events:none;background:transparent}.route-svg path{stroke:#0a8cea;stroke-width:7}.map-label{position:absolute;background:#ffffffdc;border-radius:4px;padding:3px 6px;font-size:9px;text-shadow:0 1px #fff}.map-label.start{left:30px;bottom:45px}.map-label.summit{right:70px;top:45px}.map-controls{position:absolute;left:9px;top:10px;display:flex;flex-direction:column}.map-controls button{width:30px;height:31px;border:1px solid #b8c3b3;background:#fff;font-size:18px}.map-scale{position:absolute;right:12px;bottom:10px;background:#fff;border:1px solid #82907f;padding:3px 18px;font-size:8px}.step3-ribbon{position:absolute;top:9px;right:9px;background:#073e69dc;color:#fff;padding:5px 7px;border-radius:4px;font-size:8px;font-weight:800}.map-buttons{display:flex;gap:7px;margin-top:8px}.map-buttons .btn{font-size:9px;flex:1}.map-buttons .btn:last-child{flex:0 0 auto}.summary-right{display:flex;flex-direction:column;gap:10px}.profile-panel{min-height:245px}.profile-chart{height:145px;position:relative;border-left:1px solid #cfdfea;border-bottom:1px solid #cfdfea;background-image:linear-gradient(#e6eff5 1px,transparent 1px),linear-gradient(90deg,#e6eff5 1px,transparent 1px);background-size:100% 34px,25% 100%;margin:4px 5px 7px 33px}.profile-chart svg{position:absolute;inset:0;width:100%;height:100%}.profile-chart .area{fill:url(#area)}.profile-chart .line{fill:none;stroke:#0b84e5;stroke-width:4}.profile-chart circle{fill:#0b84e5;stroke:#fff;stroke-width:3}.chart-max{position:absolute;top:-4px;left:55%;font-weight:900;font-size:12px}.chart-axis{position:absolute;left:0;right:0;bottom:-20px;display:flex;justify-content:space-between;font-size:8px;color:#668097}.profile-stats{margin-top:26px;display:grid;grid-template-columns:repeat(4,1fr);text-align:center}.profile-stats>div{border-right:1px solid #dce8f0}.profile-stats>div:last-child{border:0}.profile-stats small{display:block;font-size:8px;color:#658099}.profile-stats strong{display:block;margin-top:3px;font-size:12px}.weather-panel p{font-size:10px;margin:4px 0 10px;color:#3d5e7d}.weather-hours{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}.weather-hours>div{border-right:1px solid #e1ebf3}.weather-hours>div:last-child{border:0}.weather-hours small,.weather-hours strong{display:block;font-size:9px}.weather-hours b{display:block;font-size:20px;color:#ff9e00;margin:5px}.auto-note{margin-top:9px;padding-top:7px;border-top:1px dashed #d5e3ed;font-size:8px;color:#7991a5}.participant-bubbles{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;gap:4px}.participant-bubbles div>span{margin:auto;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:4px solid #e1f1fc;color:#1474bb;font-weight:900;font-size:10px}.participant-bubbles strong{display:block;font-size:9px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.participant-bubbles small{display:block;font-size:8px;color:#697f92}.participant-bubbles small.confirmed{color:#00a95c}.participant-bubbles small.pending{color:#f38c00}.participant-bubbles small.declined{color:#d33f49}.tab-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px}.participant-list{display:flex;flex-direction:column}.participant-row{display:grid;grid-template-columns:46px minmax(160px,1fr) 100px 125px 34px;align-items:center;gap:10px;padding:10px 3px;border-bottom:1px solid var(--line2)}.participant-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e7f4fc;color:#0879c7;font-weight:900}.participant-row strong,.participant-row small{display:block}.participant-row small{color:var(--muted);font-size:10px}.participant-status{font-weight:900;font-size:11px}.participant-status.confirmed{color:#09a35a}.participant-status.pending{color:#ee8a00}.participant-status.declined{color:#cf3c45}.participant-row select{border:1px solid #cbdce8;background:#fff;border-radius:6px;padding:6px;width:100%}.icon-danger{border:0;background:#ffebed;color:#c8323c;width:30px;height:30px;border-radius:6px;font-size:18px}.compact-form{height:max-content}.form-stack{display:flex;flex-direction:column;gap:12px}.form-stack label,.hike-form label{font-size:11px;font-weight:900;color:#3c5d79}.form-stack input,.form-stack select,.hike-form input,.hike-form select,.hike-form textarea,.inline-form input,.inline-form select{display:block;width:100%;margin-top:6px;background:#fff;border:1px solid #c7d9e6;border-radius:7px;padding:9px 10px;outline:0}.form-stack input:focus,.form-stack select:focus,.hike-form input:focus,.hike-form select:focus,.hike-form textarea:focus{border-color:#1894e5;box-shadow:0 0 0 3px #1894e51a}.checklist{display:flex;flex-direction:column}.check-row{display:grid;grid-template-columns:38px 1fr 35px;align-items:center;gap:10px;padding:10px 3px;border-bottom:1px solid var(--line2)}.check-row.done strong{text-decoration:line-through;color:#7790a3}.check-button{width:29px;height:29px;border-radius:7px;border:2px solid #9bb8cc;background:#fff;color:#0baa61;font-weight:900}.check-row.done .check-button{border-color:#0baa61;background:#e4f8ef}.check-row strong,.check-row small{display:block}.check-row small{color:var(--muted);font-size:9px}.small-empty{text-align:center;color:#788fa4;padding:30px}.tab-simple{min-height:360px}.route-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.route-facts>div{border:1px solid var(--line2);border-radius:7px;padding:13px}.route-facts small,.route-facts strong{display:block}.route-facts small{color:var(--muted);font-size:9px;text-transform:uppercase}.route-facts strong{margin-top:5px}.next-step-callout{margin-top:18px;padding:13px;border:1px solid #b9daf1;background:#edf8ff;border-radius:7px;display:flex;gap:10px;align-items:center}.next-step-callout b{background:#087fcf;color:#fff;padding:5px 7px;border-radius:5px}.large-step3{text-align:center;padding:55px 20px}.large-step3>span{font-size:60px}.large-step3 h3{font-size:20px;margin:8px}.large-step3 p{color:var(--muted)}.weather-big{display:flex;align-items:center;gap:20px;padding:30px}.weather-big>span{font-size:60px}.weather-big strong{font-size:20px}.form-section{margin-bottom:14px}.section-title{display:flex;align-items:center;gap:12px;margin-bottom:14px}.section-title h2{margin:0}.section-title p{margin:2px 0 0;color:var(--muted);font-size:10px}.section-icon{width:39px;height:39px;border-radius:9px;display:grid;place-items:center;background:#eaf6fe;color:#0b7fcd;font-size:20px}.form-grid{display:grid;gap:12px}.form-grid.two{grid-template-columns:repeat(2,1fr)}.form-grid.three{grid-template-columns:repeat(3,1fr)}.form-grid.four{grid-template-columns:repeat(4,1fr)}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.hike-form textarea{resize:vertical;min-height:100px}.form-actions{display:flex;justify-content:flex-end;gap:9px}.stats-metrics{grid-template-columns:repeat(4,1fr)}.inline-form{display:grid;grid-template-columns:1fr 1.3fr 1fr 1.3fr auto;gap:10px;align-items:end}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px}th{background:#0a4f80;color:#fff;text-align:left;padding:10px}td{padding:10px;border-bottom:1px solid var(--line2)}td strong,td small{display:block}td small{color:var(--muted);margin-top:2px}.status{font-weight:900}.status.ok{color:var(--success)}.status.off{color:var(--danger)}.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.permission-item{border:1px solid var(--line2);border-radius:7px;padding:9px;display:flex;gap:8px}.permission-item strong,.permission-item small{display:block}.permission-item small{color:var(--muted);font-size:9px}.detail-list{display:grid;grid-template-columns:180px 1fr;gap:0}.detail-list dt,.detail-list dd{margin:0;padding:9px;border-bottom:1px solid var(--line2)}.detail-list dt{font-weight:900}.detail-list dd{color:#486783}.note{margin-top:15px;padding:11px;background:#eef7fd;border-radius:7px;color:#4a6a84}.auth-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 60% 20%,#0c679e,#03385f 60%,#022a49)}.auth-card{width:min(410px,calc(100vw - 30px));background:#fff;border:1px solid #cbdde9;border-radius:14px;padding:30px;box-shadow:0 20px 60px #001a2f70;text-align:center}.auth-logo{font-size:55px;color:#098bdc}.auth-card h1{margin:0;font-size:28px}.auth-card p{color:var(--muted);margin:5px 0 20px}.auth-card label{text-align:left}.auth-card>small{display:block;margin-top:13px;color:#8296a7}
@media(max-width:1450px){:root{--sidebar-w:245px}.brand{width:235px}.topnav a{padding:0 8px}.global-search{width:280px}.metrics-row{grid-template-columns:repeat(3,1fr)}.detail-grid.summary-grid{grid-template-columns:1fr 1.1fr}.summary-right{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr 1fr}.fake-map{height:390px}.hike-card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1120px){.global-search{display:none}.topnav a{font-size:0;padding:0 12px}.topnav a span{font-size:18px}.user-title{display:none}.detail-grid.summary-grid{grid-template-columns:1fr}.summary-right{grid-template-columns:1fr}.metrics-row{grid-template-columns:repeat(2,1fr)}.status-cards-row{grid-template-columns:repeat(2,1fr)}.status-card.consult{grid-column:span 2}.form-grid.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){:root{--sidebar-w:0px}.sidebar{display:none}.content{margin-left:0;width:100%;padding:12px}.brand{width:auto}.brand small{display:none}.topnav{display:none}.top-actions{margin-left:auto}.hike-detail-head,.detail-actions{flex-direction:column}.detail-actions{align-items:flex-start}.created-meta{text-align:left}.metrics-row,.status-cards-row,.hike-card-grid,.stats-metrics{grid-template-columns:1fr}.status-card.consult{grid-column:auto}.detail-tabs a{min-width:88px}.tab-layout{grid-template-columns:1fr}.participant-row{grid-template-columns:40px 1fr 90px}.participant-row form{grid-column:auto}.form-grid.two,.form-grid.three,.form-grid.four{grid-template-columns:1fr}.span-2,.span-3{grid-column:span 1}.inline-form{grid-template-columns:1fr}.permission-grid{grid-template-columns:1fr}.route-facts{grid-template-columns:1fr}.micro-meta{flex-wrap:wrap}}

/* STEP3 — GPX / cartographie */
.track-live-badge{display:inline-flex;align-items:center;gap:5px;background:#e7f6ff;border:1px solid #b9def5;color:#087bc2;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:900;white-space:nowrap}
.leaflet-map{width:100%;background:#dce9ef;border:1px solid #c8dae7;border-radius:8px;overflow:hidden;z-index:1}.summary-leaflet{height:435px}.full-leaflet{height:min(68vh,720px);min-height:520px}.global-leaflet{height:calc(100vh - 145px);min-height:620px}.leaflet-container{font:inherit}.leaflet-control-attribution{font-size:8px!important}
.map-fallback,.map-no-track{min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;background:linear-gradient(145deg,#f4f9fc,#e4f1f8);border:1px dashed #b8d2e3;border-radius:8px;color:#648198}.map-fallback strong,.map-no-track strong{font-size:15px;color:#254d6a}.map-no-track{font-size:45px}.map-no-track strong,.map-no-track span{font-size:12px}.gpx-empty-card{min-height:435px;border:1px dashed #b6d4e7;border-radius:8px;background:linear-gradient(155deg,#f7fbfe,#eaf6fd);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}.gpx-empty-card>span{font-size:54px}.gpx-empty-card>strong{font-size:16px;margin:8px 0 3px}.gpx-empty-card>p{max-width:430px;color:#66839a;font-size:10px;line-height:1.5}.gpx-inline-upload{display:flex;gap:8px;align-items:center;margin-top:12px;background:#fff;padding:8px;border:1px solid #d6e5ef;border-radius:8px}.gpx-inline-upload input{font-size:10px;max-width:210px}
.profile-placeholder{height:150px;display:grid;place-items:center;background:linear-gradient(#f8fbfd,#eff7fb);border:1px dashed #c3d9e8;border-radius:7px;color:#7992a5;font-size:10px}.real-profile{position:relative;width:100%;background:linear-gradient(#fbfdff,#f3f9fd);border:1px solid #d2e2ed;border-radius:8px;overflow:hidden}.real-profile.compact{height:175px}.real-profile.large{height:430px;margin-top:12px}.real-profile-svg{width:100%;height:100%;display:block}.profile-grid line{stroke:#d9e7f0;stroke-width:1}.profile-grid text{fill:#66849a;font-size:12px}.profile-area-real{fill:#168be5;opacity:.13}.profile-line-real{fill:none;stroke:#0b84e5;stroke-width:4;vector-effect:non-scaling-stroke}.profile-cursor-line{stroke:#0a5b94;stroke-width:1;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.profile-cursor-dot{fill:#0b84e5;stroke:#fff;stroke-width:3;vector-effect:non-scaling-stroke}.profile-hover{position:absolute;top:8px;padding:5px 8px;background:#073e69;color:#fff;border-radius:5px;font-size:9px;font-weight:900;pointer-events:none;box-shadow:0 3px 12px #062d4b38}.profile-empty{height:100%;display:grid;place-items:center;color:#7891a4}.profile-kpi-row{display:grid;grid-template-columns:repeat(5,1fr);margin-top:14px;border:1px solid #dce8f0;border-radius:8px;overflow:hidden}.profile-kpi-row>div{padding:13px;text-align:center;border-right:1px solid #dce8f0;background:#fff}.profile-kpi-row>div:last-child{border:0}.profile-kpi-row small,.profile-kpi-row strong{display:block}.profile-kpi-row small{font-size:9px;color:#738ca0;text-transform:uppercase}.profile-kpi-row strong{font-size:15px;margin-top:4px;color:#123e60}
.map-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px}.full-map-panel{min-width:0}.gpx-control-panel{height:max-content}.muted-copy{color:#6f899e;font-size:10px;line-height:1.45}.track-stats{display:grid;grid-template-columns:1fr 1fr;margin:18px 0 14px;border-top:1px solid #e0eaf1}.track-stats dt,.track-stats dd{margin:0;padding:8px 3px;border-bottom:1px solid #e0eaf1;font-size:10px}.track-stats dt{font-weight:900}.track-stats dd{text-align:right;color:#42657f}.btn.full{width:100%}.track-file-line{margin-top:15px;padding:11px 12px;border:1px solid #cfe2ee;border-radius:8px;background:#f5fbff;display:flex;align-items:center;justify-content:space-between;gap:10px}.track-file-line strong,.track-file-line small{display:block}.track-file-line small{font-size:9px;color:#7890a2;margin-top:3px}
.global-map-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:12px}.global-track-list{padding-right:7px;min-width:0}.global-track-scroll{display:flex;flex-direction:column;gap:5px;max-height:calc(100vh - 245px);overflow:auto;padding-right:5px}.global-track-item{width:100%;border:1px solid #d7e5ef;background:#fff;border-radius:8px;padding:10px;display:grid;grid-template-columns:11px 1fr;gap:9px;text-align:left;cursor:pointer;color:#163f5e;transition:.15s}.global-track-item:hover,.global-track-item.active{border-color:#1690dd;background:#edf8ff;box-shadow:0 3px 12px #0c6da012}.global-track-dot{width:9px;height:9px;border-radius:50%;background:#118dde;margin-top:4px}.global-track-item strong,.global-track-item small,.global-track-item em{display:block}.global-track-item strong{font-size:11px}.global-track-item small{font-size:9px;color:#678297;margin-top:3px}.global-track-item em{font-size:8px;color:#8ca0af;margin-top:2px;font-style:normal}.global-map-panel{padding:7px}.map-empty-global{text-align:center;padding:80px 20px}.map-empty-global>span{font-size:64px}.map-empty-global h2{margin:8px 0}.map-empty-global p{color:#718a9c;margin-bottom:18px}
@media(max-width:1120px){.map-workspace,.global-map-layout{grid-template-columns:1fr}.global-track-scroll{max-height:260px}.global-leaflet{height:600px}.profile-kpi-row{grid-template-columns:repeat(3,1fr)}.summary-leaflet{height:390px}}
@media(max-width:800px){.full-leaflet,.global-leaflet{height:500px;min-height:420px}.profile-kpi-row{grid-template-columns:1fr 1fr}.real-profile.large{height:300px}.gpx-inline-upload{flex-direction:column;align-items:stretch}.gpx-inline-upload input{max-width:none}}

/* STEP4 — Matériel + administration invitations */
.head-actions{display:flex;align-items:center;gap:10px}.smtp-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;font-size:10px;font-weight:800;background:#eef5f9;color:#557184}.smtp-chip.ok{background:#e9f8ef;color:#16834a}.smtp-chip.warning{background:#fff4df;color:#a46a00}.invitation-result{border-left:4px solid #1492dc}.credential-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.credential-grid>div{border:1px solid #d8e6ef;border-radius:8px;background:#f8fbfd;padding:11px;min-width:0}.credential-grid small,.credential-grid strong{display:block}.credential-grid small{font-size:9px;color:#71889a;text-transform:uppercase;font-weight:800;margin-bottom:5px}.credential-grid strong{font-size:11px;overflow-wrap:anywhere}.password-result{position:relative}.password-result .btn{margin-top:8px}.mail-result{margin-top:10px;border-radius:7px;padding:9px 11px;font-size:10px;font-weight:700}.mail-result.ok{background:#e9f8ef;color:#16834a}.mail-result.danger{background:#fff0f0;color:#bc3434}.user-cell{display:flex;align-items:center;gap:8px}.avatar.mini{width:29px;height:29px;font-size:9px;flex:0 0 29px}.must-change{display:block;color:#b46f05;margin-top:4px}.modal-backdrop{position:fixed;inset:0;background:#08263d99;z-index:2000;display:grid;place-items:center;padding:20px}.modal-backdrop[hidden]{display:none}.modal-card{width:min(560px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 22px 70px #08263d55;padding:18px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding-bottom:12px;border-bottom:1px solid #e1eaf0;margin-bottom:14px}.modal-head h2,.modal-head p{margin:0}.modal-head p{margin-top:3px;color:#71889a;font-size:10px}.modal-x{border:0;background:transparent;font-size:24px;cursor:pointer;color:#6c8496;line-height:1}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.generated-password-note,.notify-check,.inline-warning{border-radius:8px;padding:10px 12px}.generated-password-note{display:flex;gap:10px;align-items:center;background:#edf8ff;border:1px solid #cfe8f7}.generated-password-note span{font-size:20px}.generated-password-note strong,.generated-password-note small,.notify-check strong,.notify-check small{display:block}.generated-password-note small,.notify-check small{font-size:9px;color:#678397;margin-top:2px}.notify-check{display:flex!important;flex-direction:row!important;gap:10px;align-items:flex-start;background:#f8fbfd;border:1px solid #dce8ef;cursor:pointer}.notify-check input{width:auto;margin-top:2px}.inline-warning{background:#fff4df;border:1px solid #f1d69b;font-size:9px;color:#8d650d}.inline-warning code{font-size:8px}.flash.warning{background:#fff4df;color:#8b650f;border-color:#eed293}
.gear-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.gear-page-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:12px}.gear-inventory,.pack-list{display:flex;flex-direction:column;gap:7px}.gear-item-card,.pack-card{border:1px solid #d9e6ee;border-radius:8px;background:#fff;overflow:hidden}.gear-item-card.inactive{opacity:.63}.gear-item-card>summary,.pack-card>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;cursor:pointer;list-style:none}.gear-item-card>summary::-webkit-details-marker,.pack-card>summary::-webkit-details-marker{display:none}.gear-item-card summary div strong,.gear-item-card summary div small,.pack-card summary div strong,.pack-card summary div small{display:block}.gear-item-card summary small,.pack-card summary small{font-size:9px;color:#71899b;margin-top:3px}.gear-category-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#1492dc;margin-right:7px}.gear-edit-body,.pack-body{border-top:1px solid #e4edf3;background:#f9fbfd;padding:10px}.gear-edit-form{display:grid;grid-template-columns:1.2fr 1fr .7fr .7fr 1.4fr auto;gap:7px;align-items:end}.gear-edit-form label{font-size:8px;font-weight:800;color:#58758b}.gear-edit-form input,.gear-edit-form select{width:100%;margin-top:4px}.pack-line{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid #e6edf2;font-size:10px}.pack-line small{color:#71899b}.pack-add-form{display:grid;grid-template-columns:1fr 65px 36px;gap:6px;margin:10px 0}.gear-hike-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.gear-hike-summary>div{background:#fff;border:1px solid #dce8ef;border-radius:8px;padding:10px 12px}.gear-hike-summary small,.gear-hike-summary strong{display:block}.gear-hike-summary small{font-size:8px;color:#71899b;font-weight:800}.gear-hike-summary strong{font-size:16px;color:#133d5c;margin-top:3px}.gear-hike-layout{grid-template-columns:minmax(0,1fr) 330px}.gear-side-stack{display:flex;flex-direction:column;gap:10px}.hike-gear-list{display:flex;flex-direction:column;gap:5px}.hike-gear-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto 28px;gap:8px;align-items:center;border:1px solid #dbe7ef;border-radius:7px;padding:8px;background:#fff}.hike-gear-row.done{background:#f0faf4;opacity:.75}.hike-gear-main strong,.hike-gear-main small,.hike-gear-main em{display:block}.hike-gear-main small{font-size:9px;color:#72899a;margin-top:2px}.hike-gear-main em{font-size:8px;color:#899ba8;margin-top:3px}.gear-pack-state{font-size:8px;font-weight:800;border-radius:999px;padding:5px 7px;background:#fff3d9;color:#a56800}.hike-gear-row.done .gear-pack-state{background:#def4e7;color:#16804a}
@media(max-width:1100px){.credential-grid,.gear-hike-summary{grid-template-columns:repeat(2,1fr)}.gear-page-grid,.gear-hike-layout{grid-template-columns:1fr}.gear-edit-form{grid-template-columns:1fr 1fr}.gear-edit-form .wide-field{grid-column:1/-1}}
@media(max-width:700px){.credential-grid,.gear-kpis,.gear-hike-summary{grid-template-columns:1fr}.head-actions{align-items:stretch;flex-direction:column}.users-table{min-width:850px}.hike-gear-row{grid-template-columns:30px 1fr 28px}.gear-pack-state{display:none}}

/* STEP4.0.1 — Administration > Mail */
.admin-tabs{display:flex;gap:4px;margin:0 0 18px;border-bottom:1px solid #cfdfea}.admin-tabs a{padding:10px 14px;border:1px solid transparent;border-bottom:0;border-radius:8px 8px 0 0;font-size:11px;font-weight:900;color:#557590}.admin-tabs a:hover{background:#f5faff;color:#0a6daf}.admin-tabs a.active{background:#fff;border-color:#cfdfea;color:#087fcf;position:relative;top:1px}.mail-admin-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.65fr);gap:12px}.mail-config-note{background:#eef8ff;border:1px solid #d2eafa;border-radius:8px;padding:10px 12px;font-size:10px;color:#4d718c}.smtp-summary{display:grid;grid-template-columns:1fr;gap:7px;margin-bottom:16px}.smtp-summary>div{padding:10px 11px;border:1px solid #dce8ef;border-radius:8px;background:#f8fbfd}.smtp-summary small,.smtp-summary strong{display:block}.smtp-summary small{font-size:8px;text-transform:uppercase;color:#748b9c;font-weight:900;margin-bottom:3px}.smtp-summary strong{font-size:11px;overflow-wrap:anywhere}.mail-test-panel{height:max-content}.mail-test-form{padding-top:4px}.mail-admin-head{align-items:center}@media(max-width:950px){.mail-admin-grid{grid-template-columns:1fr}.admin-tabs{overflow:auto;white-space:nowrap}}

/* STEP5 — version badge, participants, covoiturage & météo */
.brand-title-line{display:flex;align-items:center;gap:8px}.version-badge{font-style:normal;font-size:8px;font-weight:900;letter-spacing:.03em;padding:3px 6px;border-radius:999px;background:#ffffff18;border:1px solid #ffffff38;color:#d9efff;line-height:1}.weather-summary-live{display:grid;grid-template-columns:42px 1fr auto;gap:9px;align-items:center;margin:8px 0}.weather-summary-live>span{font-size:30px}.weather-summary-live strong,.weather-summary-live small{display:block}.weather-summary-live small{font-size:8px;color:#708a9d;margin-top:2px}.weather-summary-live>b{font-size:15px;color:#173f5d}.weather-mini-facts{display:flex;gap:10px;font-size:9px;color:#56758c}.auto-note.ok{background:#eaf8f0;color:#21794b}.weather-big.mini{padding:7px 0}.transport-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.transport-kpis>div{background:#fff;border:1px solid #dce8ef;border-radius:8px;padding:11px 12px}.transport-kpis small,.transport-kpis strong{display:block}.transport-kpis small{font-size:8px;font-weight:900;color:#71899b}.transport-kpis strong{font-size:18px;color:#153e5d;margin-top:3px}.transport-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:12px}.transport-side{display:flex;flex-direction:column;gap:10px}.vehicle-list{display:flex;flex-direction:column;gap:8px}.vehicle-card{border:1px solid #d8e6ef;border-radius:9px;padding:10px;background:#fff}.vehicle-head{display:grid;grid-template-columns:32px minmax(0,1fr) auto 28px;gap:8px;align-items:center}.vehicle-head strong,.vehicle-head small{display:block}.vehicle-head small{font-size:9px;color:#71899b;margin-top:2px}.seat-pill{font-size:8px;font-weight:900;background:#e9f6ff;color:#1473aa;border-radius:999px;padding:6px 8px}.vehicle-note{font-size:9px;color:#657f92;margin:8px 0}.passenger-chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.passenger-chips>span{display:inline-flex;align-items:center;gap:5px;background:#eef7f3;color:#2b7251;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800}.passenger-chips form{display:inline}.passenger-chips button{border:0;background:transparent;cursor:pointer;color:#8a3e3e;padding:0}.passenger-chips em{font-size:9px;color:#8799a5}.vehicle-add-passenger{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:9px}.transport-preferences{display:flex;flex-direction:column;gap:6px}.transport-pref-row{display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:7px;align-items:center;padding:7px 0;border-bottom:1px solid #e5edf2}.transport-pref-row strong,.transport-pref-row small{display:block}.transport-pref-row small{font-size:8px;color:#7890a2;margin-top:2px}.badge.warning{background:#fff2d8;color:#9d6500}.weather-page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.weather-page-head h2,.weather-page-head p{margin:0}.weather-page-head p{font-size:10px;color:#70889a;margin-top:3px}.weather-hero{background:linear-gradient(135deg,#eef9ff,#fff);border:1px solid #d5e8f3;border-radius:11px;padding:14px;margin-bottom:10px}.weather-hero-main{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px}.weather-hero-main>span{font-size:48px}.weather-hero-main small,.weather-hero-main h2,.weather-hero-main p{display:block;margin:0}.weather-hero-main small{font-size:9px;color:#748d9e;font-weight:800}.weather-hero-main h2{font-size:20px;color:#163f5e;margin:2px 0}.weather-hero-main p{font-size:9px;color:#6b8498}.weather-hero-main>strong{font-size:28px;color:#123f61;white-space:nowrap}.weather-hero-main>strong em{font-style:normal;color:#85a1b4;font-size:17px}.weather-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:13px}.weather-facts>div{background:#ffffffb8;border:1px solid #dbeaf2;border-radius:8px;padding:9px}.weather-facts small,.weather-facts strong,.weather-facts em{display:block}.weather-facts small{font-size:8px;color:#7790a1;text-transform:uppercase;font-weight:900}.weather-facts strong{font-size:13px;color:#193f5d;margin-top:3px}.weather-facts em{font-size:8px;color:#7990a0;font-style:normal;margin-top:2px}.weather-hour-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.weather-hour-card{text-align:center;border:1px solid #dce8ef;border-radius:8px;padding:9px 6px;background:#f9fcfe}.weather-hour-card small,.weather-hour-card b,.weather-hour-card strong,.weather-hour-card span,.weather-hour-card em{display:block}.weather-hour-card small{font-size:9px;font-weight:900;color:#678297}.weather-hour-card b{font-size:22px;margin:3px}.weather-hour-card strong{font-size:15px;color:#173f5d}.weather-hour-card span{font-size:8px;color:#607e93;min-height:22px;margin-top:2px}.weather-hour-card em{font-size:8px;font-style:normal;color:#7d91a0;margin-top:4px}.weather-source-note{margin-top:8px;padding:9px 11px;border-radius:8px;background:#fff6e4;color:#82641f;font-size:9px}
@media(max-width:1150px){.transport-layout{grid-template-columns:1fr}.weather-hour-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.transport-kpis,.weather-facts{grid-template-columns:repeat(2,1fr)}.vehicle-head{grid-template-columns:32px 1fr 28px}.seat-pill{grid-column:2}.weather-hero-main{grid-template-columns:48px 1fr}.weather-hero-main>span{font-size:38px}.weather-hero-main>strong{grid-column:1/-1}.weather-hour-grid{grid-template-columns:repeat(2,1fr)}}

/* STEP6 — version lisible, photos/carnet, actions utilisateurs */
.version-badge{font-size:10.5px!important;font-weight:950!important;letter-spacing:.045em!important;padding:4px 8px!important;border-radius:999px!important;background:#e5f5ff!important;border:1px solid #8ed1fb!important;color:#075f99!important;box-shadow:0 1px 0 rgba(255,255,255,.5) inset;line-height:1!important;white-space:nowrap}.brand-title-line{gap:9px!important}.sidebar-foot>span:first-child{display:none}.user-actions{display:flex;gap:6px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.danger-outline{background:#fff5f6!important;border-color:#efb9bd!important;color:#bd3540!important}.danger-outline:hover{background:#ffe9eb!important}.self-account{font-size:9px;color:#7b91a1;font-weight:800}.form-stack textarea{display:block;width:100%;margin-top:6px;background:#fff;border:1px solid #c7d9e6;border-radius:7px;padding:9px 10px;outline:0;resize:vertical}.form-stack textarea:focus{border-color:#1894e5;box-shadow:0 0 0 3px #1894e51a}.cover-photo{width:100%;height:100%;object-fit:cover;display:block}.media-layout,.journal-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:12px}.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px}.photo-card{border:1px solid #d9e6ee;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 3px 10px rgba(16,67,104,.05)}.photo-card.cover{box-shadow:0 0 0 2px #22a1ea inset,0 4px 12px rgba(10,118,190,.12)}.photo-frame{display:block;height:190px;background:#eaf2f7;overflow:hidden}.photo-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}.photo-frame:hover img{transform:scale(1.025)}.photo-card-body{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:10px}.photo-card-body strong,.photo-card-body small{display:block}.photo-card-body strong{font-size:11px;color:#153f5d}.photo-card-body small{font-size:8.5px;color:#7a91a3;margin-top:3px;line-height:1.4}.cover-badge{font-size:8px;font-weight:900;background:#e7f6ff;color:#0877bb;border:1px solid #b8e0f8;border-radius:999px;padding:4px 7px;white-space:nowrap}.photo-actions{display:flex;gap:6px;padding:0 10px 10px;flex-wrap:wrap}.photo-upload-panel{height:max-content}.upload-note{margin-top:10px;font-size:8.5px;color:#7890a1;background:#f5f9fc;border-radius:7px;padding:8px}.compact-empty{padding:42px 18px!important}.compact-empty>span{font-size:48px!important}.journal-timeline{position:relative;margin-top:6px;padding-left:20px}.journal-timeline:before{content:"";position:absolute;left:6px;top:4px;bottom:4px;width:2px;background:#d9e7ef}.journal-entry{position:relative;margin-bottom:12px}.journal-dot{position:absolute;left:-20px;top:17px;width:13px;height:13px;border-radius:50%;background:#0b91dd;border:3px solid #e8f6ff;box-shadow:0 0 0 1px #9ed5f5}.journal-entry-card{border:1px solid #d9e6ef;border-radius:9px;background:#fff;padding:13px 14px}.journal-entry-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.journal-entry-head h3{font-size:14px;margin:4px 0 0;color:#143d5c}.journal-type{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eef7fd;color:#1479b7;font-size:8px;font-weight:900}.journal-meta{text-align:right;font-size:9px;color:#6e8799;white-space:nowrap}.journal-meta small{font-size:8px;color:#8ba0ae}.journal-entry-card p{white-space:pre-wrap;color:#4f6c81;line-height:1.55;font-size:11px;margin:12px 0 5px}.journal-delete{border:0;background:transparent;color:#bf4b53;font-size:9px;font-weight:800;padding:3px 0}.journal-delete:hover{text-decoration:underline}@media(max-width:1150px){.media-layout,.journal-layout{grid-template-columns:1fr}.photo-gallery{grid-template-columns:repeat(2,minmax(170px,1fr))}}@media(max-width:700px){.photo-gallery{grid-template-columns:1fr}.photo-frame{height:230px}.journal-entry-head{flex-direction:column}.journal-meta{text-align:left}}
@media(min-width:1250px){.topbar .brand{width:285px}}

/* STEP6 — Mode terrain / PWA */
.terrain-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.65fr);gap:12px}.terrain-map-panel{min-width:0}.terrain-map{height:520px;border-radius:9px;overflow:hidden;border:1px solid #d5e4ee}.terrain-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.terrain-message{margin-top:9px;padding:10px 12px;border-radius:8px;background:#f2f8fc;color:#537087;font-size:10px;font-weight:700}.terrain-side{display:flex;flex-direction:column;gap:10px}.terrain-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.terrain-kpis>div{border:1px solid #dbe8f0;border-radius:8px;padding:11px;background:#fafdff}.terrain-kpis small,.terrain-kpis strong{display:block}.terrain-kpis small{font-size:8px;color:#71899a;font-weight:900}.terrain-kpis strong{font-size:18px;color:#153f5d;margin-top:4px}.terrain-kpis .danger-value{color:#c93640}.terrain-kpis .warning-value{color:#d98400}.terrain-online{font-size:9px;font-weight:900;padding:5px 8px;border-radius:999px;background:#e8f8f0;color:#16804c}.terrain-online.offline{background:#fff0e3;color:#b86415}.terrain-position h2,.terrain-essentials h2,.terrain-offline h2{margin-bottom:10px}.terrain-essential-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e7eef3;font-size:10px}.terrain-essential-row:last-child{border-bottom:0}.terrain-essential-row span{color:#698295}.terrain-essential-row b{color:#153f5d;text-align:right}.terrain-offline p{font-size:9.5px;line-height:1.5;color:#647f92}.offline-status{display:inline-flex;margin-top:5px;padding:6px 8px;border-radius:999px;background:#edf5fa;color:#53728a;font-size:8.5px;font-weight:900}
@media(max-width:1100px){.terrain-layout{grid-template-columns:1fr}.terrain-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.terrain-map{height:430px}}@media(max-width:700px){.terrain-side{grid-template-columns:1fr}.terrain-kpis{grid-template-columns:repeat(2,1fr)}.terrain-map{height:360px}.terrain-controls .btn{flex:1 1 100%}}
.version-badge{font-size:11.5px!important;padding:5px 9px!important;background:#ffffff!important;border-color:#a9dcfb!important;color:#075d96!important;box-shadow:0 1px 3px rgba(0,32,55,.18)!important}

/* STEP7 — header/version alignment + form GPX + after-hike + UControl */
.brand{align-items:center!important}.brand>span:last-child{display:flex;flex-direction:column;justify-content:center;min-width:0}.brand-title-line{display:flex!important;align-items:center!important;gap:10px!important;min-height:24px;line-height:1!important}.brand-title-line strong{display:block;line-height:24px!important}.version-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:11px!important;font-weight:950!important;letter-spacing:.035em!important;padding:4px 8px!important;min-height:22px;background:#fff!important;border:1px solid #a9dcfb!important;color:#075d96!important;box-shadow:0 1px 3px rgba(0,32,55,.18)!important;line-height:1!important;margin:0!important;transform:none!important}.brand small{margin-top:3px!important;line-height:1.1}.sidebar-foot>span:first-child{display:none!important}.sidebar-foot{justify-content:flex-end!important}
.identity-section textarea{min-height:108px}.gpx-create-section{overflow:hidden}.gpx-current-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;margin-bottom:10px;border:1px solid #cfe5f3;border-radius:9px;background:#f3faff}.gpx-current-summary small,.gpx-current-summary strong,.gpx-current-summary span{display:block}.gpx-current-summary small{font-size:8px;color:#6e899d;font-weight:900}.gpx-current-summary strong{font-size:12px;color:#153f5d;margin:2px 0}.gpx-current-summary span{font-size:9px;color:#688398}.gpx-ready-pill{display:inline-flex!important;align-items:center!important;border-radius:999px;padding:6px 9px;background:#e4f8ed;color:#14804c!important;font-size:9px!important;font-weight:900;white-space:nowrap}.gpx-import-box{display:flex!important;align-items:center!important;gap:12px;border:2px dashed #9fcce7!important;border-radius:12px!important;padding:15px 16px!important;background:linear-gradient(135deg,#f6fcff,#eef8ff)!important;cursor:pointer!important;margin:0!important}.gpx-import-box:hover{border-color:#2e9fe3!important;background:#eef9ff!important}.gpx-import-box input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.gpx-import-icon{width:42px;height:42px;border-radius:10px;background:#0a8dde;color:#fff;display:grid;place-items:center;font-size:24px;font-weight:900;flex:0 0 auto}.gpx-import-copy{display:block;min-width:0;flex:1}.gpx-import-copy strong,.gpx-import-copy small{display:block}.gpx-import-copy strong{font-size:13px;color:#123e60}.gpx-import-copy small{font-size:9px;color:#70899c;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gpx-choose{pointer-events:none;white-space:nowrap}.gpx-auto-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.gpx-auto-grid>div{padding:10px 12px;border:1px solid #dce8ef;border-radius:8px;background:#fbfdff}.gpx-auto-grid small,.gpx-auto-grid strong{display:block}.gpx-auto-grid small{font-size:8px;color:#748b9e;font-weight:900}.gpx-auto-grid strong{font-size:12px;color:#183f5d;margin-top:3px}
.after-hike-layout{display:grid;grid-template-columns:minmax(0,1.45fr) 360px;gap:12px}.compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.compare-card{position:relative;border:1px solid #dbe8ef;border-radius:10px;background:#fbfdff;padding:12px}.compare-card>small{font-size:8px;color:#748c9e;font-weight:900}.compare-card>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.compare-card span{font-size:9px;color:#6e8798}.compare-card span b,.compare-card span strong{display:block;color:#173f5d;font-size:15px;margin-top:2px}.compare-card span strong{color:#0781ce}.compare-card>em{display:inline-flex;margin-top:8px;font-size:9px;font-style:normal;font-weight:900;padding:4px 6px;border-radius:999px;background:#eef5fa;color:#55758c}.compare-card>em.positive{background:#e7f7ee;color:#16814d}.compare-card>em.negative{background:#fff1e7;color:#ad5c15}.actual-summary-strip{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid #e2ecf2}.actual-summary-strip span,.actual-summary-strip a{font-size:9px;font-weight:800;padding:6px 8px;border-radius:999px;background:#eef6fb;color:#426b88}.actual-summary-strip a{color:#0879bf}.actual-notes{margin-top:10px;border-radius:8px;background:#f6fafc;padding:11px}.actual-notes strong{font-size:10px}.actual-notes p{font-size:10px;color:#58758a;line-height:1.5;white-space:pre-wrap;margin:5px 0 0}.actual-form-panel{height:max-content}.actual-delete{margin-top:9px}.badge.success{background:#e4f8ed;color:#147c49}
.ucontrol-page-head{align-items:center}.ucontrol-main-state{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:9px 13px;border-radius:999px;font-size:11px;font-weight:950;letter-spacing:.04em;background:#edf4f9;color:#54738f;border:1px solid #d3e1eb}.ucontrol-main-state.active{background:#dff6e9;color:#117748;border-color:#bfe7d2}.ucontrol-main-state.grace{background:#fff3dc;color:#9b6504;border-color:#f1d6a3}.ucontrol-main-state.blocked{background:#fde8ea;color:#b3323b;border-color:#efc0c5}.ucontrol-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}.ucontrol-kpi{border:1px solid #dbe7ef;border-radius:10px;padding:12px 13px;background:#fff;box-shadow:var(--shadow)}.ucontrol-kpi small,.ucontrol-kpi strong,.ucontrol-kpi span{display:block}.ucontrol-kpi small{font-size:8px;color:#72899c;font-weight:900}.ucontrol-kpi strong{font-size:15px;color:#153f5d;margin:4px 0}.ucontrol-kpi span{font-size:8.5px;color:#7690a1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ucontrol-kpi.active{background:#f0fbf5;border-color:#c7ead6}.ucontrol-kpi.grace{background:#fff9ec;border-color:#f0ddb5}.ucontrol-kpi.blocked{background:#fff3f4;border-color:#f0cbd0}.ucontrol-pair-card{padding:0;overflow:hidden}.pair-hero{display:flex;align-items:center;gap:14px;padding:18px;background:linear-gradient(135deg,#eef8ff,#fff)}.pair-icon{width:52px;height:52px;border-radius:13px;background:linear-gradient(135deg,#0b93e5,#086daf);color:#fff;display:grid;place-items:center;font-size:27px;font-weight:900;box-shadow:0 5px 14px #0a70b62c}.pair-hero h2,.pair-hero p{margin:0}.pair-hero p{font-size:10px;color:#5e7b91;margin-top:4px;line-height:1.5}.ucontrol-pair-form{display:grid;grid-template-columns:1fr 1.25fr 1fr auto;gap:9px;align-items:end;padding:16px 18px}.ucontrol-pair-form label{font-size:9px;font-weight:900;color:#5a768c}.ucontrol-pair-form input{display:block;width:100%;margin-top:5px}.ucontrol-help{display:flex;gap:14px;align-items:center;margin:0 18px 16px;padding:10px 12px;border-radius:8px;background:#f5f9fc;color:#627e93}.ucontrol-help strong{font-size:9px;white-space:nowrap}.ucontrol-help span{font-size:9px;line-height:1.5}.ucontrol-current-card{margin-bottom:12px}.signature-chip{font-size:8.5px;font-weight:900;padding:6px 8px;border-radius:999px;background:#fff2dc;color:#95620b}.signature-chip.ok{background:#e5f8ed;color:#157b49}.ucontrol-current-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ucontrol-current-grid>div{border:1px solid #e0eaf1;border-radius:8px;padding:10px;background:#fbfdff;min-width:0}.ucontrol-current-grid small,.ucontrol-current-grid strong{display:block}.ucontrol-current-grid small{font-size:8px;color:#7790a1;font-weight:900}.ucontrol-current-grid strong{font-size:10px;color:#173f5c;margin-top:4px;overflow-wrap:anywhere}.ucontrol-current-grid em{font-style:normal;color:#7490a4}.mono{font-family:Consolas,monospace}.ucontrol-error{margin-top:10px;padding:10px 12px;border-radius:8px;background:#fdebec;color:#a4363e}.ucontrol-error strong,.ucontrol-error span{display:block}.ucontrol-error strong{font-size:9px}.ucontrol-error span{font-size:9px;margin-top:3px;overflow-wrap:anywhere}.ucontrol-actions{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;margin-top:12px}.ucontrol-actions form{margin:0}.ucontrol-repair{position:relative}.ucontrol-repair>summary{list-style:none}.ucontrol-repair>summary::-webkit-details-marker{display:none}.ucontrol-repair-pop{position:absolute;z-index:20;top:46px;left:0;width:360px;padding:13px;background:#fff;border:1px solid #cfdfea;border-radius:10px;box-shadow:0 16px 36px rgba(5,51,82,.18)}.ucontrol-policy-card{margin-top:12px}.policy-flow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.policy-flow span{padding:8px 10px;border-radius:8px;background:#eef7fd;color:#176faa;font-size:9px;font-weight:900}.policy-flow b{color:#88a2b4}.policy-note{font-size:9px;color:#6a8598;margin:10px 0 0}.stats-step7-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:12px}.record-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.record-grid>div{border:1px solid #dce8ef;border-radius:9px;padding:12px;background:#fbfdff}.record-grid small,.record-grid strong,.record-grid span{display:block}.record-grid small{font-size:8px;color:#748b9d;font-weight:900}.record-grid strong{font-size:13px;color:#153f5d;margin:5px 0 2px}.record-grid span{font-size:11px;color:#0781ce;font-weight:900}.recent-hike-list{display:flex;flex-direction:column}.recent-hike-list>a{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:9px 0;border-bottom:1px solid #e5edf2}.recent-hike-list>a:last-child{border-bottom:0}.recent-hike-list strong,.recent-hike-list small{display:block}.recent-hike-list strong{font-size:10px;color:#173f5d}.recent-hike-list small{font-size:8px;color:#7890a0;margin-top:2px}.recent-hike-list>a>span{font-size:9px;color:#58768d;font-weight:800;white-space:nowrap}
@media(max-width:1150px){.ucontrol-kpis{grid-template-columns:repeat(2,1fr)}.ucontrol-pair-form{grid-template-columns:1fr 1fr}.after-hike-layout,.stats-step7-grid{grid-template-columns:1fr}.ucontrol-current-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.gpx-import-box{align-items:flex-start!important;flex-wrap:wrap}.gpx-choose{margin-left:54px}.gpx-auto-grid,.ucontrol-kpis,.ucontrol-current-grid,.compare-grid,.record-grid{grid-template-columns:1fr}.ucontrol-pair-form{grid-template-columns:1fr}.ucontrol-pair-form .btn{width:100%}.ucontrol-repair-pop{position:fixed;left:12px;right:12px;top:90px;width:auto}.actual-summary-strip{flex-direction:column}}


/* STEP7.0.1 — UControl visual hotfix + cache-safe release */
.ucontrol-page-head{display:flex!important;justify-content:space-between!important;gap:18px!important;margin-bottom:14px!important}
.ucontrol-page-head .eyebrow{font-size:9px!important;letter-spacing:.08em!important;font-weight:950!important;color:#0781ce!important}
.ucontrol-page-head h1{font-size:24px!important;margin:4px 0 3px!important;color:#123e60!important}
.ucontrol-page-head p{font-size:11px!important;color:#718a9e!important;margin:0!important}
.ucontrol-kpis{margin-top:4px!important;margin-bottom:14px!important}
.ucontrol-kpi{min-height:92px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.ucontrol-kpi strong{font-size:18px!important;letter-spacing:.01em!important}
.ucontrol-kpi small{letter-spacing:.06em!important}
.ucontrol-pair-card,.ucontrol-current-card,.ucontrol-policy-card{border:1px solid #d4e4ee!important;border-radius:12px!important;background:#fff!important;box-shadow:0 5px 18px rgba(9,57,89,.08)!important}
.pair-hero{border-bottom:1px solid #dfebf2!important}
.pair-hero h2{font-size:16px!important;color:#123e60!important}
.ucontrol-pair-form label{display:flex!important;flex-direction:column!important;gap:5px!important}
.ucontrol-pair-form input{height:42px!important;border:1px solid #bdd4e3!important;border-radius:7px!important;padding:0 10px!important;background:#fff!important;outline:none!important}
.ucontrol-pair-form input:focus{border-color:#1694de!important;box-shadow:0 0 0 3px rgba(22,148,222,.12)!important}
.ucontrol-pair-form .btn.big{height:42px!important;padding:0 17px!important;white-space:nowrap!important}
.ucontrol-help{border:1px solid #deebf3!important}
.ucontrol-policy-card{padding:16px 18px!important}
.ucontrol-policy-card .panel-inline-title{align-items:flex-start!important}
.ucontrol-policy-card h2{font-size:15px!important;color:#123e60!important;margin:0!important}
.ucontrol-policy-card .panel-inline-title p{font-size:10px!important;line-height:1.5!important;color:#728b9d!important;margin:4px 0 0!important}
.policy-flow{padding:10px 0 2px!important}
.policy-flow span{font-size:10px!important;padding:9px 12px!important;border:1px solid #d6e9f5!important}
@media(max-width:950px){.ucontrol-page-head{align-items:flex-start!important}.ucontrol-pair-form{grid-template-columns:1fr 1fr!important}.ucontrol-pair-form .btn{grid-column:1/-1!important}}
@media(max-width:650px){.ucontrol-page-head{flex-direction:column!important}.ucontrol-pair-form{grid-template-columns:1fr!important}.ucontrol-pair-form .btn{grid-column:auto!important}}

/* STEP7.0.2 — duration HH:MM */
.duration-input{font-variant-numeric:tabular-nums;letter-spacing:.04em}.field-help{display:block;margin-top:4px;color:#7890a2;font-size:8px;font-weight:600}
