/* Systeme visuel de KeneyaSuite.

   Porte tel quel depuis la maquette `keneya-suite UI/src/styles.css`, sans
   rien en retirer. Une seule adaptation, rendue necessaire par le
   deplacement : l'image d'illustration est desormais sous `public/images`, et
   non plus a cote de la feuille.

   Les polices DM Sans et Manrope sont chargees par le gabarit, dans le
   `<head>` : la maquette les declarait sans jamais les charger, et rendait
   donc avec la police par defaut du systeme.

   Servie depuis `public/`, sans chaine de construction. */

:root{font-family:'DM Sans',sans-serif;color:#202d2a;background:#f7f8fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink:#202d2a;--sub:#77827f;--line:#e9eeeb;--green:#238666;--green-dark:#176e54;--pale:#eaf5f0;--surface:#fff;--bg:#f7f8fa;--radius:12px}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}.brand{display:inline-flex;align-items:center;gap:9px;font:750 18px Manrope,sans-serif;letter-spacing:-.6px;color:#1e342e}.brand-mark{width:27px;height:27px;border:2px solid #338f71;border-radius:9px 9px 9px 4px;display:grid;place-items:center;transform:rotate(-5deg);position:relative}.brand-mark:before,.brand-mark:after{content:'';position:absolute;background:#338f71;border-radius:2px;transform:rotate(45deg)}.brand-mark:before{height:12px;width:2px}.brand-mark:after{width:12px;height:2px}.brand-mark span{position:absolute;width:5px;height:5px;border-radius:50%;background:#338f71}.brand-suite{font-weight:500;color:#74827c}.brand-light{color:#fff}.brand-light .brand-suite{color:#a7beb3}.brand-light .brand-mark{border-color:#bce4d5}.brand-light .brand-mark:before,.brand-light .brand-mark:after,.brand-light .brand-mark span{background:#bce4d5}.app-shell{min-height:100vh}.sidebar{width:246px;background:#fff;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:0 15px;z-index:10}.side-top{height:67px;display:flex;align-items:center;padding:0 9px;border-bottom:1px solid #f0f2f1;justify-content:space-between}.side-top .brand{font-size:18px}.workspace-select{margin:17px 0 10px;border:1px solid var(--line);border-radius:9px;height:54px;display:flex;align-items:center;padding:0 10px;gap:10px}.workspace-icon{width:31px;height:31px;display:grid;place-items:center;background:#e9f4ef;border-radius:8px;color:#258666;font:700 15px Manrope}.workspace-meta{display:flex;flex:1;flex-direction:column;gap:2px}.workspace-meta strong{font-size:12px}.workspace-meta small{font-size:11px;color:#8b9692}.workspace-select>svg{color:#87918e}.side-nav{overflow:auto;padding:3px 0 10px}.nav-group{margin-top:14px}.nav-label{font-size:11px;font-weight:700;letter-spacing:1px;color:#9ba4a1;padding:0 10px;margin-bottom:7px}.nav-item{height:36px;margin:2px 0;border-radius:7px;padding:0 10px;display:flex;gap:10px;align-items:center;color:#687570;font-size:12px;font-weight:500;transition:all .15s}.nav-item svg{color:#84908a}.nav-item:hover{background:#f6f8f7;color:var(--ink)}.nav-item.active{background:#eaf5f0;color:#207a5e;font-weight:650}.nav-item.active svg{color:#238666}.nav-count{margin-left:auto;background:#f1e7d4;color:#9e7140;border-radius:10px;padding:2px 6px;font-size:11px}.sidebar-bottom{margin-top:auto}.help-card{position:relative;background:#f5f8f6;border:1px solid #edf1ee;border-radius:9px;padding:13px 12px;margin:12px 0}.help-orb{width:24px;height:24px;border-radius:7px;background:#e5f2ec;display:grid;place-items:center;color:#378c6c;margin-bottom:9px}.help-card>b{font-size:11px}.help-card p{margin:4px 0 10px;font-size:11px;color:#838e89}.help-card button{border:0;background:none;padding:0;color:#287b5e;font-size:11px;font-weight:650;display:flex;align-items:center;gap:4px}.user-row{height:64px;border-top:1px solid #edf0ee;display:flex;align-items:center;gap:9px;padding:0 3px}.user-info{display:flex;flex-direction:column;gap:3px;flex:1}.user-info b{font-size:11px}.user-info small{font-size:11px;color:#88938f}.main-area{margin-left:246px;min-height:100vh}.topbar{height:58px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);display:flex;align-items:center;padding:0 34px;position:sticky;top:0;z-index:5;backdrop-filter:blur(10px)}.crumb{display:flex;align-items:center;gap:8px;color:#9aa39f;font-size:11px}.crumb b{color:#53615b;font-weight:550}.top-actions{margin-left:auto;display:flex;align-items:center;gap:17px}.search-trigger{display:flex;align-items:center;gap:8px;border:1px solid #e8ece9;background:white;color:#84908b;border-radius:7px;padding:6px 9px;font-size:11px}.search-trigger kbd,.search-box kbd{font:10px 'DM Sans';border:1px solid #e7ebe8;border-radius:4px;background:#fafbfa;color:#8b9691;padding:2px 5px;margin-left:24px}.icon-btn{display:grid;place-items:center;border:0;background:transparent;color:#7c8883;border-radius:6px;width:31px;height:31px}.icon-btn:hover{background:#f2f5f3;color:#34765e}.notification-btn{position:relative}.notification-btn i{position:absolute;right:6px;top:5px;border:2px solid white;border-radius:50%;height:7px;width:7px;background:#d6885e}.top-divider{height:20px;width:1px;background:#e8ece9}.page-content{max-width:1450px;margin:0 auto;padding:28px 36px 18px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.eyebrow,.section-kicker{font-size:11px;font-weight:700;letter-spacing:1px;color:#83918b}.page-heading .eyebrow{display:flex;align-items:center;gap:7px;margin-bottom:8px}.live-dot,.state-dot,.health-good i{height:7px;width:7px;border-radius:50%;display:inline-block;background:#46a27e}.live-dot{box-shadow:0 0 0 3px #e3f2eb}.page-heading h1{font:700 25px Manrope,sans-serif;letter-spacing:-.8px;margin:0;color:#22332e}.page-heading p{font-size:12px;color:#89938f;margin:6px 0 0}.primary-button,.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:35px;border-radius:7px;padding:0 13px;font-size:11px;font-weight:600;transition:all .16s}.primary-button{background:#247e60;color:white;border:1px solid #247e60;box-shadow:0 1px 2px #154b3421}.primary-button:hover{background:#176d52;border-color:#176d52;transform:translateY(-1px)}.outline-button{background:white;color:#4f6059;border:1px solid #e4eae6}.outline-button:hover{border-color:#b9d3c7;background:#f9fcfa}.footer{margin-top:25px;border-top:1px solid #e9edeb;padding:14px 1px 5px;display:flex;justify-content:space-between;color:#a1aaa6;font-size:11px}.footer>span:last-child{display:flex;align-items:center;gap:6px}.footer i{height:5px;width:5px;border-radius:50%;background:#48a47d}.footer b{font-weight:500;color:#718079}.avatar{width:32px;height:32px;flex:0 0 auto;border-radius:9px;display:grid;place-items:center;font-size:11px;font-weight:700;color:#367c60;background:#e7f2ec}.avatar.small{width:28px;height:28px;border-radius:50%;font-size:11px}.avatar.large{width:54px;height:54px;border-radius:13px;font-size:15px}.avatar.blue{background:#e8eff8;color:#5779a8}.avatar.lilac{background:#f0ebf6;color:#8366a4}.avatar.sand{background:#f5efe3;color:#a5834e}.avatar.rose{background:#f8e9e7;color:#b37469}.avatar.green{background:#e8f3ed;color:#347b5e}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap;color:#527267;background:#edf5f1}.badge i{display:block;width:5px;height:5px;border-radius:50%;background:#48a27e}.badge.warning{background:#fbf4e8;color:#a37c43}.badge.warning i{background:#d6a24f}.badge.muted{background:#f0f2f1;color:#73807a}.badge.muted i{background:#9ba49f}.badge.danger{background:#faecea;color:#b16c60}.badge.danger i{background:#cf786b}.panel{background:#fff;border:1px solid #e9eeeb;border-radius:11px;box-shadow:0 1px 2px #173a2405}.welcome-strip{padding:12px 15px;border:1px solid #dceee4;background:#f1f8f4;border-radius:9px;display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.welcome-copy{display:flex;align-items:center;gap:11px}.welcome-icon{width:31px;height:31px;border-radius:8px;background:#e0f1e7;color:#3d926d;display:grid;place-items:center}.welcome-copy>div{display:flex;flex-direction:column;gap:3px}.welcome-copy b{font-size:11px;color:#325345}.welcome-copy span{font-size:11px;color:#7d9185}.welcome-strip>button{border:0;background:none;color:#287b5e;font-size:11px;font-weight:600;display:flex;align-items:center;gap:7px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:15px}.metric-card{background:white;border:1px solid #e9eeeb;border-radius:10px;padding:15px 15px 12px;min-height:117px}.metric-top{display:flex;align-items:center;justify-content:space-between;color:#718079;font-size:11px;font-weight:500}.metric-icon{width:29px;height:29px;border-radius:8px;display:grid;place-items:center;color:#288262;background:#eaf5ef}.metric-icon.blue{background:#edf2f9;color:#627faa}.metric-icon.gold{background:#f8f2e8;color:#ad874e}.metric-icon.lilac{background:#f2edf7;color:#8a70aa}.metric-value{font:700 25px Manrope,sans-serif;color:#24352f;margin-top:9px;letter-spacing:-1px}.metric-foot{margin-top:3px;color:#9ba49f;font-size:11px;display:flex;gap:6px;align-items:center}.metric-change{color:#41866a;font-weight:600;display:flex;align-items:center;gap:1px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:14px;margin-bottom:14px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start}.panel-heading h2{font:650 13px Manrope,sans-serif;letter-spacing:-.2px;margin:0;color:#2b3a35}.panel-heading p{font-size:11px;color:#96a09b;margin:5px 0 0}.system-panel,.revenue-panel,.activity-panel,.alerts-panel,.detail-info,.recent-panel{padding:17px}.quiet-link{border:0;background:transparent;color:#548b71;display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:4px}.quiet-link:hover{color:#206649}.system-score{display:flex;align-items:center;margin:21px 1px 15px;gap:11px}.score-number{font:750 37px Manrope,sans-serif;color:#25483b;letter-spacing:-2px}.score-number span{font-size:19px;margin-left:1px}.score-text{flex:1}.score-text .badge{font-size:11px}.score-text p{font-size:11px;color:#99a29e;margin:5px 0}.score-spark{width:111px;height:44px}.score-spark svg{height:100%;width:100%}.system-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #edf0ee;border-bottom:1px solid #edf0ee;padding:11px 0;margin-bottom:3px}.system-stats>div{display:flex;align-items:center;gap:6px;font-size:11px;color:#82908a}.system-stats>div+div{border-left:1px solid #edf0ee;padding-left:12px}.system-stats b{font-size:13px;color:#36473f}.state-dot{width:6px;height:6px}.green-dot{background:#48a27e}.amber-dot{background:#d8a354}.gray-dot{background:#a8b0ac}.instance-row{display:flex;align-items:center;gap:9px;padding:9px 1px;border-bottom:1px solid #f0f2f1}.instance-row:last-child{border-bottom:0;padding-bottom:0}.instance-name{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.instance-name b{font-size:11px;color:#48564f;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.instance-name small{color:#a0aaa5;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.instance-latency{font-size:11px;color:#64736c;display:flex;align-items:center;gap:5px;min-width:75px}.latency-time{font-size:11px;color:#909b95;min-width:38px;text-align:right}.instance-row>svg{color:#aab2ae}.period-select{background:#fff;border:1px solid #e8edea;border-radius:6px;padding:6px 8px;color:#67756e;font-size:11px;display:flex;align-items:center;gap:9px}.revenue-total{font:700 23px Manrope,sans-serif;letter-spacing:-.7px;margin:17px 0 7px}.revenue-total>span{font:500 10px 'DM Sans';letter-spacing:0;color:#8c9791;margin-left:3px}.revenue-total small{font:600 9px 'DM Sans';color:#40876a;margin-left:9px}.chart{height:145px;display:flex;position:relative}.chart-axis{width:31px;display:flex;flex-direction:column;justify-content:space-between;color:#a1aaa6;font-size:11px;padding-bottom:19px}.chart-content{position:relative;flex:1}.chart-gridlines{position:absolute;inset:0 0 19px;display:flex;flex-direction:column;justify-content:space-between}.chart-gridlines i{border-top:1px dashed #edf0ee}.bar-set{position:absolute;inset:0 0 0;display:grid;grid-template-columns:repeat(12,1fr);gap:7px;align-items:end}.bar-col{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.chart-bar{width:min(14px,70%);background:#d8eae1;border-radius:3px 3px 0 0;z-index:1;transition:height .4s}.chart-bar.selected{background:#388d6c}.bar-col>span{font-size:11px;color:#919c96}.chart-legend{border-top:1px solid #f0f2f1;margin-top:6px;padding-top:9px;display:flex;justify-content:space-between;color:#929d97;font-size:11px}.chart-legend>span:first-child{display:flex;align-items:center;gap:6px}.chart-legend i{height:7px;width:7px;border-radius:2px;background:#419372}.lower-grid{grid-template-columns:1.15fr .85fr}.activity-list{margin-top:9px}.activity-row{display:flex;align-items:center;padding:10px 0;border-bottom:1px solid #eff2f0;gap:9px}.activity-row:last-child{border-bottom:0;padding-bottom:1px}.activity-icon{width:29px;height:29px;border-radius:8px;display:grid;place-items:center;color:#438c6b;background:#eaf4ee;flex:0 0 auto}.activity-icon.blue{color:#6682ac;background:#edf1f7}.activity-icon.lilac{color:#8c70a5;background:#f1edf6}.activity-icon.sand{color:#a98752;background:#f7f1e7}.activity-icon.rose{color:#af7668;background:#faeeeb}.activity-copy{flex:1;display:flex;flex-direction:column;gap:3px}.activity-copy b{font-size:11px;color:#46564f;font-weight:600}.activity-copy small{font-size:11px;color:#98a29d}.activity-row time{font-size:11px;color:#9ca6a1}.alert-count{border-radius:50%;background:#fbf2e5;color:#a27e43;width:20px;height:20px;display:grid;place-items:center;font-size:11px;font-weight:600}.alert-row{display:flex;gap:9px;align-items:center;padding:12px 0;border-bottom:1px solid #eff2f0}.alert-icon{width:29px;height:29px;border-radius:8px;display:grid;place-items:center}.alert-icon.amber{color:#a9834c;background:#f8f1e4}.alert-icon.coral{color:#bd7a6c;background:#faeeeb}.alert-row>span:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1}.alert-row b{font-size:11px;color:#4a5852;font-weight:600}.alert-row small{font-size:11px;color:#9aa49f}.alert-row>svg{color:#aab2ae}.alert-link{margin-top:10px;color:#48856c;font-size:11px;font-weight:600;display:flex;align-items:center;gap:5px}.list-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:13px}.search-box{width:275px;height:35px;border:1px solid #e5eae7;border-radius:7px;background:#fff;display:flex;align-items:center;padding:0 9px;gap:8px;color:#9aa39f}.search-box input{outline:0;border:0;min-width:0;flex:1;color:#46554e;font-size:11px;background:transparent}.search-box input::placeholder{color:#a1aaa6}.search-box kbd{margin:0;padding:2px 4px}.filter-button{height:34px;padding:0 10px;border:1px solid #e5eae7;background:#fff;border-radius:7px;display:inline-flex;align-items:center;gap:7px;color:#62716a;font-size:11px}.select-filter{height:34px;border:1px solid #e5eae7;border-radius:7px;background:#fff;padding:0 8px;color:#62716a;font-size:11px}.toolbar-spacer{flex:1}.table-panel{overflow:hidden;background:white;border:1px solid #e9eeeb;border-radius:10px}.table-summary{height:53px;padding:0 15px;display:flex;align-items:center;gap:9px;border-bottom:1px solid #edf0ee}.table-summary>b{font-size:11px;color:#34453d}.table-summary>span{font-size:11px;color:#9aa49f}.table-summary .icon-btn{margin-left:auto}.table-wrap{overflow-x:auto;width:100%}table{width:100%;border-collapse:collapse;min-width:850px;text-align:left}thead{background:#fafbfa}th{height:34px;padding:0 11px;color:#99a39e;font-size:11px;letter-spacing:.55px;font-weight:650;white-space:nowrap}th:first-child,td:first-child{padding-left:15px}td{height:57px;border-top:1px solid #f0f2f1;padding:7px 11px;font-size:11px;color:#67746e;white-space:nowrap}td small{display:block}.client-cell{display:flex;align-items:center;gap:9px}.client-cell>span:last-child{display:flex;flex-direction:column;gap:4px}.client-cell b{font-size:11px;font-weight:600;color:#46554e}.client-cell small,.table-secondary{font-size:11px;color:#9ba5a0}.table-secondary{margin-top:4px}.domain{font-size:11px;color:#829089}.plan-name{color:#53625b;font-weight:500}.row-open{display:grid;place-items:center;border:1px solid transparent;border-radius:6px;width:26px;height:26px;background:transparent;color:#97a39c}.row-open:hover{border-color:#e6ede8;background:#f6faf7;color:#428365}.table-pagination{height:46px;border-top:1px solid #edf0ee;display:flex;align-items:center;justify-content:space-between;padding:0 15px;color:#9aa49f;font-size:11px}.table-pagination b{color:#67756e;font-weight:600}.table-pagination>div{display:flex;gap:4px}.table-pagination button{width:25px;height:25px;border:1px solid #e9eeeb;border-radius:5px;background:#fff;display:grid;place-items:center;color:#74817a;font-size:11px}.table-pagination button:disabled{opacity:.45}.table-pagination button.page-number{border-color:#d5e8dd;background:#eef7f1;color:#327b5d;font-weight:650}.instance-table-cell{display:flex;align-items:center;gap:8px;color:#678276}.instance-table-cell span{display:flex;flex-direction:column;gap:4px}.instance-table-cell b{font-size:11px;color:#45554d;font-weight:600}.instance-table-cell small{font-size:11px;color:#9ba5a0}.version-pill{font-size:11px;color:#73847b;background:#f3f6f4;border-radius:4px;padding:4px 6px}.health-good{display:flex;align-items:center;gap:6px;font-size:11px;color:#53856e;white-space:nowrap}.health-good i{width:6px;height:6px}.health-warn{color:#a5814e}.health-warn i{background:#d5a04e}.backline{display:flex;align-items:center;gap:9px;color:#a0aaa5;font-size:11px;margin:0 0 12px}.backline button{display:flex;align-items:center;gap:5px;border:0;padding:0;background:none;color:#59836f;font-size:11px}.detail-hero{padding:17px;display:flex;align-items:center;justify-content:space-between}.detail-identity{display:flex;align-items:center;gap:13px}.detail-title{display:flex;align-items:center;gap:9px}.detail-title h2{font:650 17px Manrope,sans-serif;letter-spacing:-.5px;margin:0;color:#263831}.detail-identity p{font-size:11px;color:#8d9993;margin:5px 0}.detail-domain{font-size:11px;color:#71847a;display:flex;align-items:center;gap:5px}.detail-actions{display:flex;align-items:center;gap:7px}.icon-btn.bordered{border:1px solid #e7ece9}.large-ident{width:54px;height:54px;border-radius:13px;display:grid;place-items:center}.icon-ident{background:#f0edf7;color:#8970a5}.detail-tabs{display:flex;align-items:center;gap:18px;border-bottom:1px solid #e7ece9;margin:17px 0 13px;padding:0 7px}.detail-tabs button,.mini-tabs button,.settings-tabs button{background:transparent;border:0;color:#8d9892;font-size:11px;padding:0 1px 9px}.detail-tabs button.selected,.mini-tabs button.selected,.settings-tabs button.selected{color:#327d5d;border-bottom:2px solid #408866;font-weight:600}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.detail-info{padding:16px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;margin-top:19px}.info-item{display:flex;flex-direction:column;gap:5px}.info-item span{font-size:11px;color:#99a39e}.info-item b{font-size:11px;color:#46564e;font-weight:550}.recent-panel{margin-top:13px}.history-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #eff2f0}.history-row:last-child{border:0}.history-mark{width:23px;height:23px;background:#eef6f0;color:#528a6d;display:grid;place-items:center;border-radius:50%}.history-row>span:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1}.history-row b{font-size:11px;color:#526057;font-weight:600}.history-row small,.history-row time{font-size:11px;color:#9aa49f}.history-row time{margin-left:auto}.inline-success{margin:10px 0;background:#ecf7f0;color:#438366;border:1px solid #d6ebdd;border-radius:7px;padding:9px 11px;display:flex;align-items:center;gap:7px;font-size:11px}.inline-success button{margin-left:auto;border:0;background:none;color:#68927b}.plan-intro{display:flex;align-items:center;gap:12px;padding:13px 15px;margin-bottom:16px}.plan-intro-icon{width:33px;height:33px;border-radius:9px;background:#edf5f0;color:#408263;display:grid;place-items:center}.plan-intro>div:nth-child(2){flex:1}.plan-intro b{font-size:11px;color:#405149}.plan-intro p{font-size:11px;margin:4px 0 0;color:#939e98}.demo-tag{font-size:11px;letter-spacing:.4px;color:#a18354;background:#f8f2e7;border-radius:4px;padding:5px 7px}.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.plan-card{background:#fff;border:1px solid #e8eeea;border-radius:11px;padding:17px;position:relative;overflow:hidden}.plan-card.popular{border-color:#8ebea4;box-shadow:0 0 0 1px #8ebea433}.popular-ribbon{position:absolute;top:12px;right:-28px;transform:rotate(35deg);font-size:11px;font-weight:700;letter-spacing:.5px;color:#fff;background:#44896a;padding:5px 28px}.plan-symbol{width:33px;height:33px;border-radius:9px;background:#f0f3f2;color:#74847b;display:grid;place-items:center}.plan-card.blue .plan-symbol{background:#edf2f8;color:#6680a3}.plan-card.green .plan-symbol{background:#ebf5ef;color:#428564}.plan-card h2{font:650 16px Manrope,sans-serif;margin:12px 0 5px;color:#33443b}.plan-desc{height:30px;font-size:11px;color:#8e9993;line-height:1.5;margin:0}.plan-price{font:700 18px Manrope,sans-serif;letter-spacing:-.5px;color:#2f4238;margin:12px 0}.plan-price small{font:400 9px 'DM Sans';letter-spacing:0;color:#969f9a;margin-left:4px}.plan-card>.outline-button,.plan-card>.primary-button{width:100%;min-height:32px}.plan-rule{border-top:1px solid #edf0ee;margin:15px 0 12px}.feature-list{display:flex;flex-direction:column;gap:10px;min-height:102px}.feature-list span{display:flex;align-items:center;gap:7px;font-size:11px;color:#67766e}.feature-list svg{color:#549174}.sub-count{display:block;color:#9ba59f;font-size:11px;border-top:1px solid #eef1ef;padding-top:11px;margin-top:12px}.comparison{margin-top:15px;padding:16px}.comparison .panel-heading{margin-bottom:12px}.compare-row{display:grid;grid-template-columns:1.5fr repeat(3,1fr);align-items:center;min-height:37px;border-top:1px solid #eff2f0;font-size:11px;color:#64726b}.compare-head{border-top:0;background:#fafbfa;min-height:32px;color:#909a94;font-size:11px;letter-spacing:.3px}.compare-row>*:not(:first-child){text-align:center}.compare-check{color:#4c906e;display:grid;place-items:center}.compare-na{color:#c0c7c3}.module-top-note{display:flex;align-items:center;gap:11px;margin-bottom:15px;padding:13px 15px;background:#eff7f2;border:1px solid #dfede4;border-radius:9px}.module-top-note>span{width:31px;height:31px;border-radius:8px;display:grid;place-items:center;background:#e0f0e6;color:#438666}.module-top-note b{font-size:11px;color:#42604f}.module-top-note p{font-size:11px;color:#8c9b91;margin:4px 0 0}.module-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.module-card{padding:16px}.module-card-top{display:flex;justify-content:space-between;align-items:center}.module-symbol{width:36px;height:36px;border-radius:10px;background:#eaf4ed;display:grid;place-items:center;font-size:19px;color:#388365}.module-symbol.blue{background:#edf2f9;color:#6881a7}.module-symbol.gold{background:#f8f2e6;color:#aa864b}.module-symbol.pink{background:#f8edee;color:#ab7581}.module-code{display:block;margin-top:15px;color:#9aa49f;font-size:11px;font-weight:650;letter-spacing:.7px}.module-card h2{font:650 15px Manrope,sans-serif;color:#34453d;margin:5px 0}.module-card>p{font-size:11px;line-height:1.65;color:#87938d;min-height:33px;margin:0}.module-bottom{margin-top:15px;padding-top:11px;border-top:1px solid #edf0ee;display:flex;align-items:center;justify-content:space-between}.module-bottom>span{display:flex;align-items:center;gap:6px;color:#87938d;font-size:11px}.roadmap{padding:13px 15px;margin-top:14px;display:flex;align-items:center;gap:11px}.roadmap-icon{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:#f2edf7;color:#8770a2}.roadmap>div:nth-child(2){flex:1}.roadmap b{font-size:11px;color:#46574f}.roadmap p{margin:3px 0 0;font-size:11px;color:#96a09b}.stat-banner{display:flex;align-items:center;gap:12px;padding:15px 17px;color:#438567;margin-bottom:14px}.stat-banner>div{display:flex;flex-direction:column;gap:5px;flex:1}.stat-banner>div>span{font-size:11px;color:#8e9993}.stat-banner>div>b{font:650 18px Manrope;color:#304139}.stat-banner-note{display:flex;align-items:center;gap:4px;font-size:11px;color:#438567}.mini-tabs{display:flex;gap:16px;padding:9px 15px 0;border-bottom:1px solid #edf0ee}.mini-tabs button{padding-bottom:8px}.generic-list{padding:0 13px}.generic-row{display:grid;grid-template-columns:1.2fr 1.2fr .9fr .7fr .8fr 28px;align-items:center;gap:8px;min-height:52px;border-bottom:1px solid #eff2f0;font-size:11px;color:#6e7b74}.generic-row:last-child{border:0}.generic-ref{display:flex;align-items:center;gap:7px;color:#819188}.generic-ref b,.generic-row>b{color:#536159;font-weight:550}.generic-row time{color:#929d97}.activity-full{margin:0}.activity-full .activity-row.full{padding:14px 2px}.activity-full .activity-copy b{font-size:11px}.activity-full .activity-copy small{font-size:11px}.activity-full .activity-row time{font-size:11px}.settings-tabs{display:flex;gap:19px;border-bottom:1px solid #e7ece9;margin-bottom:14px;padding:0 7px}.settings-tabs button{padding:0 0 10px}.settings-card{padding:17px;margin-bottom:13px;max-width:760px}.settings-card .panel-heading{align-items:center;margin-bottom:16px}.settings-card .panel-heading h2{font-size:12px}.form-field{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:600;color:#596860;margin:12px 0}.form-field input,.form-field select{height:36px;border:1px solid #e4eae6;border-radius:6px;padding:0 10px;background:#fff;color:#53635a;font-size:11px;outline:0}.form-field input:focus,.form-field select:focus{border-color:#85b79d;box-shadow:0 0 0 3px #e7f3eb}.form-field input:disabled{background:#f5f7f5;color:#9ba49f}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:11px}.settings-actions{display:flex;justify-content:flex-end;margin-top:15px}.preference-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0ee;padding:12px 0}.preference-row span{display:flex;flex-direction:column;gap:4px}.preference-row b{font-size:11px;color:#56645d}.preference-row small{font-size:11px;color:#969f9a}.preference-row input{accent-color:#368b67}.toast{position:fixed;bottom:22px;right:25px;z-index:20;background:#264d3c;color:white;border-radius:8px;padding:11px 13px;display:flex;align-items:center;gap:8px;font-size:11px;box-shadow:0 8px 24px #1e372d33}.toast button{background:none;border:0;color:#d1e1d8;display:grid;place-items:center}.modal-backdrop{position:fixed;inset:0;background:#24352f66;z-index:30;display:grid;place-items:center;padding:18px;backdrop-filter:blur(2px)}.modal{width:min(480px,100%);background:white;border-radius:12px;padding:20px;box-shadow:0 20px 60px #14261d38;animation:pop .18s ease-out}@keyframes pop{from{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #edf0ee;padding-bottom:13px}.modal-header h2{font:650 17px Manrope;margin:5px 0 0;color:#2c3d35}.modal-intro{font-size:11px;color:#85928a;margin:13px 0}.modal .form-field{margin:11px 0}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.hidden-trigger{display:none}.scrim{position:fixed;inset:0;background:#1c2c2555;z-index:9}.menu-trigger,.mobile-close{display:none}
/* Public experience */
.public-shell{background:#fff;min-height:100vh;color:#21362e}.public-nav{height:72px;max-width:1240px;margin:auto;display:flex;align-items:center;padding:0 28px;border-bottom:1px solid #f0f3f1}.public-nav nav{display:flex;gap:29px;margin:auto;font-size:11px;color:#61716a}.public-nav nav a{display:flex;align-items:center;gap:4px}.public-nav nav a:hover,.login-link:hover{color:#237b5b}.public-actions{display:flex;align-items:center;gap:20px}.public-actions .primary-button{min-height:36px}.login-link{font-size:11px;font-weight:600;color:#506159}.public-menu{display:none}.hero{max-width:1240px;margin:auto;min-height:590px;padding:63px 38px 48px;display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:20px;overflow:hidden}.hero-copy{padding-left:8px}.hero-kicker{font-size:11px;letter-spacing:1px;font-weight:700;color:#59806b;display:flex;align-items:center;gap:8px}.hero-kicker>span{width:7px;height:7px;border-radius:50%;background:#55a37d;box-shadow:0 0 0 4px #e9f5ee}.hero h1,.public-page-hero h1,.contact-page h1{font:750 clamp(38px,4.4vw,57px)/1.13 Manrope,sans-serif;letter-spacing:-2.8px;color:#20392f;margin:20px 0 14px}.hero h1 em,.contact-page h1 em{font-style:normal;color:#398966}.hero-copy>p{font-size:13px;line-height:1.8;max-width:420px;color:#7b8982;margin:0}.hero-ctas{display:flex;align-items:center;gap:20px;margin-top:25px}.hero-ctas .primary-button{height:41px;padding:0 16px}.hero-secondary{font-size:11px;font-weight:600;color:#61736a;display:flex;align-items:center;gap:8px}.play-icon{width:25px;height:25px;border:1px solid #e0e9e3;border-radius:50%;display:grid;place-items:center;color:#478568;font-size:11px}.hero-proof{display:flex;align-items:center;gap:11px;margin-top:38px}.proof-avatars{display:flex;padding-left:2px}.proof-avatars .avatar{width:26px;height:26px;border:2px solid white;border-radius:50%;font-size:11px;margin-left:-3px}.hero-proof>span:last-child{display:flex;flex-direction:column;gap:4px}.hero-proof b{font-size:11px;color:#52665b}.hero-proof small{font-size:11px;color:#9ca7a1}.hero-visual{height:410px;position:relative;display:flex;align-items:center;justify-content:center}.visual-glow{position:absolute;width:460px;height:360px;border-radius:50%;background:#f0f7f2;filter:blur(2px);right:-25px;top:15px}.dashboard-mock{position:relative;width:min(100%,520px);height:330px;background:#fff;border:1px solid #e1eae4;border-radius:13px;box-shadow:0 25px 75px #315a4318,0 5px 16px #3358450c;overflow:hidden;transform:rotate(-1.3deg)}.mock-top{height:42px;border-bottom:1px solid #eef1ef;display:flex;align-items:center;justify-content:space-between;padding:0 13px}.mock-top .brand{font-size:11px;gap:5px}.mock-top .brand-mark{height:18px;width:18px;border-radius:6px}.mock-top .brand-mark:before{height:8px}.mock-top .brand-mark:after{width:8px}.mock-top .brand-mark span{width:3px;height:3px}.mock-online{font-size:11px;color:#72847a;display:flex;align-items:center;gap:5px}.mock-online i{width:5px;height:5px;background:#4aa27b;border-radius:50%}.mock-body{display:flex;height:257px}.mock-side{width:44px;border-right:1px solid #f0f2f0;display:flex;align-items:center;flex-direction:column;padding-top:18px;gap:17px}.mock-side span{width:13px;height:13px;border-radius:4px;background:#edf2ee}.mock-side span:first-child{background:#dceee3;box-shadow:0 0 0 4px #f0f7f2}.mock-main{flex:1;padding:17px 17px}.mock-main>small{display:block;color:#a0aaa4;letter-spacing:.7px;font-size:11px}.mock-main>b{display:block;font:650 14px Manrope;color:#394d41;margin-top:6px}.mock-main>b span{color:#4e9a70}.mock-main>p{font-size:11px;color:#a0aaa4;margin:4px 0 12px}.mock-cards{display:grid;grid-template-columns:1.3fr .8fr;gap:9px}.mock-cards>div{height:100px;border:1px solid #edf1ee;border-radius:6px;padding:9px}.mock-cards>div>span{font-size:11px;color:#89968e}.mock-cards>div>b{display:block;margin-top:6px;font:650 13px Manrope;color:#374b40}.mock-cards>div>b i{font:600 7px 'DM Sans';font-style:normal;color:#4f9b72;margin-left:4px}.mock-bars{height:35px;margin-top:5px;display:flex;align-items:flex-end;gap:4px;border-bottom:1px solid #eef1ef}.mock-bars i{display:block;flex:1;background:#dceee2;border-radius:2px 2px 0 0}.mock-bars i:nth-last-child(-n+3){background:#6db48a}.mock-mini-map{height:39px;margin-top:7px;position:relative;background:radial-gradient(ellipse at 50% 50%,#ecf4ee 0 35%,transparent 36%)}.mock-mini-map span{position:absolute;width:5px;height:5px;background:#4a9b73;border:1px solid white;border-radius:50%;box-shadow:0 1px 4px #3a7c5b55}.mock-mini-map span:nth-child(1){top:12px;left:20px}.mock-mini-map span:nth-child(2){top:23px;left:40px}.mock-mini-map span:nth-child(3){top:7px;left:58px}.mock-mini-map span:nth-child(4){top:27px;left:67px}.mock-mini-map span:nth-child(5){top:18px;left:81px}.mock-bottom{display:grid;grid-template-columns:1fr .8fr;gap:9px;margin-top:9px}.mock-table,.mock-health{height:61px;border:1px solid #edf1ee;border-radius:6px;padding:8px}.mock-table small,.mock-health small{font-size:11px;color:#929e96;display:block;margin-bottom:8px}.mock-table i{height:4px;border-radius:3px;display:block;background:#eef2ef;margin:5px 0;width:85%}.mock-table i:nth-child(3){width:68%}.mock-health>b{font:650 18px Manrope;color:#3c7557}.mock-health>b span{font-size:11px}.mock-health>i{height:4px;display:block;border-radius:4px;background:#ecf2ee;margin-top:4px}.mock-health>i span{width:90%;height:100%;display:block;background:#58a17b;border-radius:4px}.mock-caption{position:absolute;bottom:0;left:0;right:0;height:30px;background:#fbfcfb;border-top:1px solid #edf1ee;display:flex;align-items:center;justify-content:space-between;padding:0 13px;color:#91a098;font-size:11px;letter-spacing:.5px}.mock-caption span:first-child{display:flex;align-items:center;gap:5px;color:#628471;letter-spacing:0;font-size:11px}.floating-note{position:absolute;bottom:20px;left:-5px;background:#fff;border:1px solid #e8eeea;border-radius:9px;padding:9px 11px;display:flex;align-items:center;gap:9px;box-shadow:0 8px 22px #34574516}.floating-note>span{width:29px;height:29px;background:#edf7f0;color:#498b68;border-radius:8px;display:grid;place-items:center}.floating-note>div{display:flex;flex-direction:column;gap:3px}.floating-note b{font-size:11px;color:#506157}.floating-note small{font-size:11px;color:#95a099}.floating-note>svg{color:#4e9c72;margin-left:7px}.trust-strip{border-top:1px solid #eff2f0;border-bottom:1px solid #eff2f0;min-height:73px;display:flex;justify-content:center;align-items:center;gap:48px;padding:12px 24px}.trust-strip>span{font-size:11px;letter-spacing:.8px;color:#9ba69f;font-weight:700}.trust-strip>div{display:flex;gap:34px}.trust-strip b{display:flex;align-items:center;gap:7px;color:#677970;font-size:11px;font-weight:550}.trust-strip b svg{color:#65a17d}.public-section{max-width:1150px;margin:auto;padding:83px 35px 63px}.section-heading{text-align:center}.section-kicker{color:#56866c;letter-spacing:1px}.section-heading h2,.public-cta h2{font:700 32px/1.28 Manrope,sans-serif;letter-spacing:-1.2px;color:#294035;margin:12px 0}.section-heading>p,.public-cta p{font-size:11px;color:#85928b;line-height:1.7;margin:0}.ecosystem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:35px}.eco-card{border:1px solid #e9efeb;border-radius:10px;padding:17px;background:#fff;transition:transform .16s,box-shadow .16s}.eco-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #315c4510}.eco-card .module-code{margin-top:13px}.eco-card h3{font:650 14px Manrope;color:#35483e;margin:6px 0}.eco-card p{font-size:11px;line-height:1.7;color:#87948d;min-height:47px}.eco-card>a{display:inline-flex;align-items:center;gap:5px;color:#438465;font-size:11px;font-weight:600}.ecosystem-foot{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:30px;font-size:11px;letter-spacing:.8px;color:#a0aaa4}.ecosystem-line{height:1px;width:90px;background:#e7ede9}.public-cta{background:#f2f7f3;padding:46px max(calc((100% - 1080px)/2),35px);display:flex;align-items:center;justify-content:space-between;gap:20px}.public-cta h2{font-size:25px;margin:8px 0}.public-cta p{font-size:11px}.public-cta .primary-button{white-space:nowrap}.public-footer{max-width:1200px;margin:auto;min-height:72px;padding:16px 25px;display:flex;align-items:center;justify-content:space-between;gap:15px}.public-footer .brand{font-size:14px}.public-footer .brand-mark{width:22px;height:22px}.public-footer>span{font-size:11px;color:#9ba59f}.public-footer>div{display:flex;gap:17px}.public-footer>div a{font-size:11px;color:#728078;display:flex;align-items:center}.public-page-hero{text-align:center;padding:75px 20px 40px;background:#f8faf8}.public-page-hero h1{font-size:43px;max-width:740px;margin:14px auto}.public-page-hero p{font-size:12px;color:#829088;max-width:520px;line-height:1.7;margin:0 auto 20px}.public-catalog{max-width:1060px;margin:0 auto;padding:30px 25px 55px;display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.public-plan-grid{max-width:1000px;margin:0 auto;padding:25px 24px 55px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.public-plan{border:1px solid #e5ece7;border-radius:10px;padding:19px}.public-plan h2{font:650 16px Manrope;margin:0 0 5px;color:#34483c}.public-plan>p{font-size:11px;color:#8a958e}.public-plan>b{display:block;font:700 18px Manrope;color:#2c4738;margin:19px 0}.public-plan>b small{font:400 9px 'DM Sans';color:#8c9891}.public-plan .outline-button{width:100%}.public-plan>div{border-top:1px solid #edf0ee;margin-top:15px;padding-top:12px;display:flex;flex-direction:column;gap:10px}.public-plan>div span{display:flex;align-items:center;gap:7px;font-size:11px;color:#718077}.public-plan>div svg{color:#519071}.contact-page{max-width:1010px;margin:auto;padding:56px 30px 66px;display:grid;grid-template-columns:1fr .85fr;gap:75px;align-items:start}.contact-page h1{font-size:42px;margin:15px 0}.contact-page>div:first-child>p{font-size:11px;color:#819087;line-height:1.8;max-width:390px}.contact-promise{margin-top:28px;display:flex;align-items:center;gap:10px;color:#498868}.contact-promise span{display:flex;flex-direction:column;gap:4px}.contact-promise b{font-size:11px;color:#52665a}.contact-promise small{font-size:11px;color:#929d96}.contact-form{padding:21px;border:1px solid #e7ede9;border-radius:11px;box-shadow:0 8px 30px #3455440b}.contact-form h2{font:650 16px Manrope;color:#34483c;margin:0}.contact-form>p{font-size:11px;color:#8d9992;margin:5px 0 13px}.contact-form .form-field{margin:11px 0}.contact-form .primary-button{width:100%;margin-top:5px}.form-legal{display:block;text-align:center;color:#a0aaa4;font-size:11px;line-height:1.6;margin-top:9px}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-visual{background:#234c3b;position:relative;overflow:hidden;padding:27px 37px;color:#fff;display:flex;flex-direction:column}.login-visual .brand{position:relative;z-index:1;font-size:17px}.login-art{position:absolute;width:420px;height:420px;left:50%;top:42%;transform:translate(-50%,-50%);display:grid;place-items:center}.login-art-orbit{position:absolute;border:1px solid #ffffff18;border-radius:50%}.orbit-a{width:360px;height:360px}.orbit-b{width:260px;height:260px;border-style:dashed}.login-cross{position:absolute;font-size:100px;color:#b5dfc7;font-weight:300;opacity:.2;transform:rotate(13deg)}.login-art-mark{width:100px;height:100px;background:#ffffff0c;border:1px solid #ffffff2a;border-radius:30px 30px 30px 10px;display:grid;place-items:center;font:700 62px Manrope;color:#d2eddb;transform:rotate(-8deg);box-shadow:0 0 80px #81c99a1c}.login-art-dot{position:absolute;border-radius:50%;background:#a4d8b5;box-shadow:0 0 0 8px #ffffff0b}.dot-a{top:44px;left:126px;width:7px;height:7px}.dot-b{bottom:94px;right:62px;width:5px;height:5px}.dot-c{top:172px;right:22px;width:8px;height:8px}.login-caption{margin-top:auto;position:relative;z-index:1;padding:0 0 26px 12px}.login-caption .section-kicker{color:#a4cdb2}.login-caption h2{font:650 27px/1.3 Manrope;letter-spacing:-.7px;color:#f3f7f3;margin:10px 0}.login-caption p{font-size:11px;color:#bed1c4}.login-visual-foot{position:absolute;bottom:-8px;left:12px;color:#9ab5a3;font-size:11px}.login-main{position:relative;display:flex;flex-direction:column;min-height:100vh}.login-top{display:flex;justify-content:flex-end;gap:6px;padding:28px 34px;font-size:11px;color:#929e97}.login-top a{color:#448361;font-weight:600;display:flex;align-items:center;gap:3px}.login-form-wrap{width:min(360px,calc(100% - 50px));margin:auto}.login-icon{width:37px;height:37px;display:grid;place-items:center;background:#edf6f0;border-radius:10px;color:#418464;margin-bottom:20px}.login-form-wrap h1{font:700 24px Manrope;letter-spacing:-.8px;color:#2c4135;margin:8px 0}.login-form-wrap>p{font-size:11px;color:#8a968f;margin:0 0 20px}.login-form-wrap .form-field{margin:14px 0}.password-row{height:36px;border:1px solid #e4eae6;border-radius:6px;display:flex;align-items:center}.password-row:focus-within{border-color:#85b79d;box-shadow:0 0 0 3px #e7f3eb}.password-row input{height:100%;border:0;flex:1;outline:0}.password-row button{border:0;background:none;color:#518167;font-size:11px;padding:0 9px}.login-options{display:flex;justify-content:space-between;align-items:center;margin:11px 0 16px;font-size:11px;color:#7c8a82}.login-options>label{display:flex;align-items:center;gap:5px}.login-options input{accent-color:#398761}.login-options button{border:0;background:none;color:#498364;font-size:11px}.login-submit{width:100%;height:38px}.demo-account{margin-top:12px;padding:9px;background:#f4f8f5;border-radius:6px;display:flex;align-items:center;gap:6px;color:#668573;font-size:11px}.login-footer{margin-top:auto;padding:22px;display:flex;align-items:center;justify-content:center;gap:5px;color:#94a098;font-size:11px}.login-footer svg{color:#68a07c}.login-demo{padding:13px;border:1px solid #d9ede1;border-radius:8px;background:#f2f8f4;display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#478563}.login-demo>span{display:flex;flex-direction:column;gap:4px}.login-demo b{font-size:11px;color:#43644f}.login-demo small{font-size:11px;color:#8c9a91}.login-demo>a{width:100%;display:flex;justify-content:space-between;align-items:center;padding-top:9px;border-top:1px solid #deede4;color:#458462;font-size:11px;font-weight:600;margin-top:4px}
@media(max-width:1150px){.sidebar{width:220px}.main-area{margin-left:220px}.page-content{padding:25px 24px 18px}.dashboard-grid{grid-template-columns:1fr 1fr}.metric-grid{gap:9px}.metric-card{padding:13px 11px}.metric-value{font-size:22px}.hero{padding-left:25px;padding-right:25px}.trust-strip{gap:25px}.trust-strip>div{gap:20px}}
@media(max-width:880px){.sidebar{width:245px;transform:translateX(-100%);transition:transform .23s ease;box-shadow:10px 0 35px #24372b18}.sidebar.mobile-open{transform:translateX(0)}.main-area{margin-left:0}.menu-trigger,.mobile-close{display:grid}.menu-trigger{margin-right:10px}.topbar{padding:0 18px}.page-content{padding:24px 20px}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.lower-grid{grid-template-columns:1fr}.dashboard-grid{gap:12px}.system-panel{order:0}.hero{grid-template-columns:1fr;gap:5px;padding-top:52px}.hero-copy{max-width:640px;margin:auto;width:100%}.hero-visual{height:360px}.hero h1{font-size:49px}.trust-strip{flex-direction:column;gap:14px;padding:18px}.contact-page{gap:30px}.public-nav nav{gap:18px}.public-nav{padding:0 20px}.public-actions{gap:12px}}
@media(max-width:600px){.topbar{height:53px;padding:0 12px}.crumb{font-size:11px}.top-actions{gap:8px}.search-trigger{width:31px;height:31px;justify-content:center;padding:0;border:0;background:transparent}.search-trigger span,.search-trigger kbd{display:none}.top-divider{display:none}.page-content{padding:20px 13px 15px}.page-heading{align-items:flex-start;gap:10px;margin-bottom:17px}.page-heading h1{font-size:22px}.page-heading p{max-width:250px;line-height:1.5}.page-heading>.primary-button{font-size:0;width:35px;height:35px;padding:0;flex:0 0 auto}.page-heading>.primary-button svg{width:17px}.metric-grid{gap:8px}.metric-card{min-height:105px;padding:11px 10px}.metric-top{font-size:11px}.metric-value{font-size:22px;margin-top:7px}.metric-foot{font-size:11px;gap:4px}.welcome-strip{align-items:flex-start;padding:10px}.welcome-copy{align-items:flex-start;gap:8px}.welcome-copy b{font-size:11px;line-height:1.4}.welcome-copy span{font-size:11px;line-height:1.4}.welcome-strip>button{font-size:0;padding:7px 0 0 4px}.welcome-strip>button svg{width:17px}.panel-heading h2{font-size:12px}.system-panel,.revenue-panel,.activity-panel,.alerts-panel,.detail-info,.recent-panel{padding:13px}.score-spark{width:65px}.score-number{font-size:32px}.system-stats>div{gap:4px;font-size:11px}.system-stats>div+div{padding-left:7px}.instance-row{gap:7px}.instance-latency{min-width:auto;font-size:11px}.latency-time{min-width:31px}.activity-row time{font-size:11px}.page-heading .eyebrow{font-size:11px}.footer{font-size:11px}.footer>span:last-child{font-size:0}.footer b{font-size:11px}.list-toolbar{flex-wrap:wrap}.search-box{width:100%;order:0}.list-toolbar>.filter-button{order:1}.select-filter{order:2;max-width:150px}.list-toolbar>.toolbar-spacer{display:none}.list-toolbar>.outline-button{margin-left:auto;order:3}.table-summary{padding:0 11px}.table-summary>span{display:none}.table-wrap table{min-width:800px}.table-pagination{padding:0 10px;font-size:11px}.detail-hero{align-items:flex-start;flex-direction:column;gap:14px;padding:13px}.detail-identity{gap:9px}.avatar.large,.large-ident{width:45px;height:45px}.detail-title{align-items:flex-start;flex-direction:column;gap:5px}.detail-title h2{font-size:14px}.detail-actions{width:100%}.detail-actions .primary-button,.detail-actions .outline-button{flex:1}.detail-grid{grid-template-columns:1fr}.detail-tabs{gap:14px;overflow:auto}.detail-tabs button{white-space:nowrap;font-size:11px}.info-grid{gap:13px 8px}.plans-grid,.module-grid{grid-template-columns:1fr}.plan-card{padding:15px}.plan-desc{height:auto}.feature-list{min-height:auto}.plan-intro{align-items:flex-start}.plan-intro p{line-height:1.5}.demo-tag{display:none}.comparison{overflow:auto;padding:12px}.compare-row{min-width:450px}.module-top-note p{line-height:1.5}.roadmap{flex-wrap:wrap}.roadmap>div:nth-child(2){min-width:calc(100% - 55px)}.roadmap>.outline-button{margin-left:42px}.generic-row{min-width:720px}.generic-list{overflow-x:auto}.stat-banner{padding:12px}.stat-banner-note{font-size:0}.stat-banner-note svg{width:18px}.settings-card{padding:13px}.form-two{gap:8px}.settings-tabs{gap:14px}.settings-tabs button{font-size:11px}.public-nav{height:61px;padding:0 15px}.public-nav nav{display:none;position:absolute;top:60px;left:0;right:0;background:white;z-index:4;padding:17px 20px;box-shadow:0 8px 14px #263d3010;flex-direction:column;gap:15px}.public-nav nav.public-nav-open{display:flex}.public-nav nav a{font-size:12px}.public-actions{margin-left:auto;margin-right:6px}.public-actions .login-link{display:none}.public-actions .primary-button{font-size:11px;min-height:32px;padding:0 9px}.public-menu{display:grid}.hero{padding:42px 20px 27px;min-height:auto}.hero h1{font-size:41px;letter-spacing:-2px}.hero-copy>p{font-size:11px}.hero-ctas{gap:12px;flex-wrap:wrap}.hero-ctas .primary-button{font-size:11px;height:36px;padding:0 10px}.hero-secondary{font-size:11px}.hero-proof{margin-top:25px}.hero-visual{height:285px;margin:5px -9px 0}.dashboard-mock{height:260px;width:100%;transform:rotate(-.5deg)}.mock-top{height:34px}.mock-body{height:202px}.mock-side{width:32px;gap:13px;padding-top:14px}.mock-side span{width:10px;height:10px}.mock-main{padding:12px 10px}.mock-cards>div{height:82px;padding:6px}.mock-bottom{margin-top:6px}.mock-table,.mock-health{height:49px;padding:6px}.mock-caption{height:24px}.mock-caption span:last-child{font-size:11px}.mock-main>b{font-size:12px}.mock-bars{height:28px}.mock-mini-map{transform:scale(.8);transform-origin:top left}.floating-note{bottom:6px;left:-2px;padding:7px}.floating-note b{font-size:11px}.floating-note small{font-size:11px}.trust-strip>span{text-align:center;font-size:11px}.trust-strip>div{display:grid;grid-template-columns:1fr 1fr;gap:13px 22px}.trust-strip b{font-size:11px}.public-section{padding:55px 18px 42px}.section-heading h2{font-size:25px}.section-heading>p{font-size:11px}.ecosystem-grid{grid-template-columns:1fr;margin-top:23px;gap:9px}.eco-card{padding:14px}.eco-card p{min-height:0}.ecosystem-foot{gap:8px;font-size:11px}.ecosystem-line{width:35px}.public-cta{padding:30px 19px;align-items:flex-start;flex-direction:column;gap:15px}.public-cta h2{font-size:22px}.public-footer{padding:16px;flex-wrap:wrap}.public-footer>span{order:3;width:100%}.public-footer>div{gap:10px}.public-footer>div a{font-size:11px}.public-page-hero{padding:51px 20px 29px}.public-page-hero h1{font-size:31px;letter-spacing:-1.5px}.public-page-hero p{font-size:11px}.public-catalog,.public-plan-grid{grid-template-columns:1fr;padding:17px 17px 35px}.public-plan-grid{gap:10px}.public-plan{padding:15px}.contact-page{padding:36px 17px;grid-template-columns:1fr;gap:23px}.contact-page h1{font-size:35px}.contact-page>div:first-child>p{font-size:11px}.contact-form{padding:15px}.login-page{grid-template-columns:1fr}.login-visual{min-height:190px;padding:17px 20px}.login-art{width:180px;height:180px;left:auto;right:10px;top:53%;transform:translateY(-50%)}.orbit-a{width:165px;height:165px}.orbit-b{width:118px;height:118px}.login-art-mark{height:54px;width:54px;border-radius:17px;font-size:34px}.login-cross{font-size:48px}.dot-a{top:19px;left:45px}.dot-b{bottom:26px;right:24px}.dot-c{top:72px;right:5px}.login-caption{padding:0 0 9px 1px}.login-caption h2{font-size:17px;margin:5px 0}.login-caption p{font-size:11px;margin:0}.login-visual-foot{display:none}.login-main{min-height:calc(100vh - 190px)}.login-top{padding:17px 18px}.login-form-wrap{margin:24px auto 36px}.login-footer{padding:15px 8px;font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.demo-request-summary{display:flex;align-items:center;gap:12px;padding:14px 16px;margin-bottom:13px}.demo-summary-icon{height:34px;width:34px;display:grid;place-items:center;border-radius:9px;background:#edf5f0;color:#398264}.demo-request-summary>div:nth-child(2){flex:1}.demo-request-summary b{font-size:11px;color:#405349}.demo-request-summary p{font-size:11px;color:#8c9991;margin:4px 0 0}.demo-only-tag{font-size:11px;letter-spacing:.4px;color:#9a8057;background:#f8f3e9;border-radius:4px;padding:5px 7px}.demo-request-toolbar{border-bottom:1px solid #e9eeeb;margin-bottom:12px}.demo-request-tabs{display:flex;gap:17px;overflow:auto}.demo-request-tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:0 1px 9px;color:#8c9891;font-size:11px;white-space:nowrap}.demo-request-tabs button.selected{color:#327d5d;border-color:#408866;font-weight:650}.demo-request-tabs button span{margin-left:6px;border-radius:10px;padding:2px 5px;background:#f0f3f1;color:#829088;font-size:11px}.demo-request-list{display:flex;flex-direction:column;gap:9px}.demo-request-card{padding:14px;display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(180px,.8fr) auto;gap:12px;align-items:center}.demo-request-main{display:flex;align-items:flex-start;gap:10px;min-width:0}.demo-request-main>div{min-width:0;display:flex;flex-direction:column;gap:5px}.demo-request-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.demo-request-title>b{font-size:11px;color:#405248}.demo-request-main>div>span,.demo-request-main>div>a{font-size:11px;color:#8d9992}.demo-request-main>div>a:hover{color:#337d5c}.demo-request-meta{display:flex;flex-direction:column;gap:7px}.demo-request-meta span{display:flex;gap:5px;font-size:11px;color:#9ba49f}.demo-request-meta b{font-weight:550;color:#6b7971}.demo-request-actions{display:flex;justify-content:flex-end}.demo-request-actions .primary-button,.demo-request-actions .outline-button{font-size:11px;white-space:nowrap}.demo-instance-address{grid-column:1/-1;border-top:1px solid #edf0ee;padding:10px 0 0;display:flex;align-items:center;gap:7px;color:#54866d;font-size:11px}.demo-instance-address>span{color:#829087}.demo-instance-address>a{font-weight:600;color:#357957;overflow-wrap:anywhere}.demo-request-footnote{margin:12px 2px;color:#929d96;display:flex;align-items:center;gap:6px;font-size:11px}.demo-request-footnote svg{color:#6c9a7c;flex:0 0 auto}.demo-empty{padding:34px 15px;display:flex;align-items:center;flex-direction:column;gap:9px;color:#98a49d}.demo-empty svg{color:#69947a}.demo-empty b{font-size:11px;color:#596a60}.demo-empty span{font-size:11px}.contact-form textarea{border:1px solid #e4eae6;border-radius:6px;padding:9px 10px;resize:vertical;min-height:100px;font:400 10px 'DM Sans',sans-serif;color:#53635a;outline:0}.contact-form textarea:focus{border-color:#85b79d;box-shadow:0 0 0 3px #e7f3eb}
@media(max-width:700px){.demo-request-summary{align-items:flex-start}.demo-only-tag{display:none}.demo-request-card{grid-template-columns:1fr;gap:10px;padding:12px}.demo-request-meta{flex-direction:row;justify-content:space-between;flex-wrap:wrap}.demo-request-actions{justify-content:flex-start}.demo-request-actions .primary-button,.demo-request-actions .outline-button{width:100%}.demo-instance-address{align-items:flex-start;flex-wrap:wrap}.demo-instance-address>a{width:100%;padding-left:21px}.demo-request-footnote{align-items:flex-start;line-height:1.5}.demo-request-tabs{gap:13px}}
.module-catalog{max-width:1240px;margin:0 auto}.public-module-catalog{padding:28px 25px 52px}.module-section+.module-section{margin-top:35px}.module-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:13px}.module-section-heading h2{font:700 19px Manrope,sans-serif;letter-spacing:-.55px;color:#2c4236;margin:5px 0 4px}.module-section-heading p{font-size:11px;color:#87948d;margin:0;line-height:1.5}.module-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:12px}.module-card{display:flex;flex-direction:column;padding:14px;min-width:0;height:100%}.module-card h3{font:650 13px Manrope,sans-serif;color:#34483d;margin:5px 0 7px;line-height:1.35}.module-description{font-size:11px!important;line-height:1.6!important;color:#7f8d85!important;min-height:58px;margin:0!important}.module-available{border-color:#dcebe1;box-shadow:0 2px 7px #2c694708}.module-available .module-card-top .badge{font-size:11px}.module-upcoming{border-color:#edf0ee;background:#fdfefd}.module-upcoming .module-symbol{opacity:.82}.module-upcoming .module-description{color:#89958e!important}.module-features{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0 11px;align-content:flex-start}.module-features span{font-size:11px;line-height:1.3;padding:4px 6px;border-radius:4px;background:#f3f7f4;color:#61746a;white-space:normal}.module-upcoming .module-features span{background:#f5f6f5;color:#79857e}.module-bottom{margin-top:auto;padding-top:9px;gap:6px;flex-wrap:wrap;align-items:center}.module-bottom>span:first-child{font-size:11px}.module-bottom .quiet-link{font-size:11px;margin-left:auto;padding-right:0}.module-public-action{display:inline-flex;align-items:center;gap:5px;color:#317c5d;font-size:11px;font-weight:650}.module-roadmap-label{display:flex;align-items:center;gap:5px;font-size:11px;color:#9ba49f}.module-section.upcoming-section .module-section-heading{margin-bottom:13px}.module-top-note{margin-bottom:16px}.module-top-note p{line-height:1.55}.module-catalog .module-card-top{min-height:36px}.public-page-hero+.module-catalog{padding-top:20px}
@media(max-width:1080px){.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-description{min-height:46px}}
@media(max-width:560px){.module-grid{grid-template-columns:1fr;gap:9px}.module-card{padding:13px}.module-description{min-height:0}.module-section-heading h2{font-size:17px}.module-section-heading p{max-width:270px}.module-section-heading>.badge{align-self:flex-start}.public-module-catalog{padding:20px 17px 34px}.module-section+.module-section{margin-top:27px}.module-features{margin:8px 0}.module-bottom{padding-top:8px}}
.brand-image{display:block;width:174px;height:51px;object-fit:cover;object-position:center}.public-nav .brand-image{width:211px;height:62px}.side-top .brand-image{width:166px;height:50px}.mock-top .brand-image{width:128px;height:38px}.public-footer .brand-image{width:200px;height:56px;border-radius:4px}.public-shell{--brand-navy:#082f56;--brand-blue:#0873bb;--brand-teal:#00ae8c;color:var(--brand-navy)}.public-shell .primary-button{background:#00a77e;border-color:#00a77e}.public-shell .primary-button:hover{background:#008e70;border-color:#008e70}.public-shell .hero{position:relative;background-color:#f2f8fb;background-image:linear-gradient(90deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.82) 35%,rgba(255,255,255,.36) 66%,rgba(235,247,250,.12) 100%),url('../images/keneya-hero-clinician.png');background-position:center,right center;background-size:cover}.public-shell .hero h1{color:#0a3157}.public-shell .hero h1 em{color:#00a77e}.public-shell .hero-kicker{color:#12658a}.public-shell .hero-kicker>span{background:#0ab992;box-shadow:0 0 0 4px #e5f7f1}.public-shell .play-icon{color:#087ab6;border-color:#c9e0ed}.public-shell .proof-avatars .avatar{box-shadow:0 0 0 2px white}.public-shell .section-kicker{color:#116a91}.public-shell .eco-card>a,.public-shell .module-public-action{color:#087f76}.public-shell .public-cta{background:#edf6f7}.public-shell .public-cta h2{color:#0a3157}.public-footer{max-width:none;background:#062c4d;border-top:1px solid #0e456a;min-height:104px;padding:18px max(calc((100% - 1180px)/2),25px);color:#edf6fa}.public-footer>span{color:#b5cbd7}.public-footer>div a{color:#deedf3}.public-footer .brand-image{background:#fff}.public-footer>div a:hover{color:#36cfad}.public-nav{max-width:1280px}.public-nav nav a:hover,.public-nav .login-link:hover{color:#087f99}.public-shell .hero-visual .dashboard-mock{box-shadow:0 22px 65px #0a3c5b22,0 5px 16px #0b455615}.public-shell .trust-strip b svg{color:#098f92}.public-shell .section-heading h2{color:#0a3157}.public-shell .module-card.module-available{border-color:#d5e9e6}.public-shell .module-card .module-symbol.green{background:#e6f7f1;color:#00a783}.public-shell .module-card .module-symbol.blue{background:#e9f2fc;color:#1978b9}.public-shell .module-card .module-symbol.gold{background:#fff5e5;color:#c18a2e}.public-shell .module-card .module-symbol.pink{background:#fff0f3;color:#cd5474}.public-shell .module-upcoming{background:#fbfcfd}.public-shell .ecosystem-grid .eco-card{box-shadow:0 6px 20px #0a3b5b0a}.public-shell .ecosystem-grid .eco-card:hover{box-shadow:0 12px 28px #0a3b5b18}
@media(max-width:880px){.public-nav .brand-image{width:186px;height:56px}}
@media(max-width:600px){.public-nav .brand-image{width:156px;height:49px}.public-footer{padding:16px;background:#062c4d}.public-footer .brand-image{width:164px;height:48px}.public-shell .hero{background-image:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.72)),url('../images/keneya-hero-clinician.png');background-position:center,right center}.side-top .brand-image{width:160px}}
@media(max-width:880px){.public-nav{padding:0 14px}.public-nav .brand-image{width:145px;height:50px}.public-nav nav{gap:10px}.public-nav nav a{font-size:11px;white-space:nowrap}.public-nav nav>a[href="#ressources"]{display:none}.public-actions{gap:8px}.public-actions .login-link{font-size:11px;white-space:nowrap}.public-actions .primary-button{font-size:11px;padding:0 8px;white-space:nowrap}.public-shell .hero{background-image:none;background-color:#f5f9fb}.public-shell .hero-visual{background-image:linear-gradient(90deg,rgba(255,255,255,.8),rgba(255,255,255,.15)),url('../images/keneya-hero-clinician.png');background-size:cover;background-position:center,right center;border-radius:12px;overflow:hidden}.public-shell .hero-visual .visual-glow{background:radial-gradient(ellipse,#edf7f3a6,transparent 72%)}}
@media(max-width:600px){.public-nav .brand-image{width:148px;height:47px}.public-nav nav{gap:15px}.public-nav nav a{font-size:11px}.public-nav nav>a[href="#ressources"]{display:flex}.public-actions .login-link{display:none}.public-actions{margin-left:auto;margin-right:6px}.public-actions .primary-button{font-size:11px;min-height:30px;padding:0 7px}.public-menu{display:grid}}
.public-shell .hero-visual{justify-content:flex-start}.public-shell .hero-visual .dashboard-mock{width:80%;max-width:520px}.public-shell .hero-visual .floating-note{left:-2px}
@media(max-width:880px){.public-nav nav>a:last-child{display:none}}
@media(max-width:600px){.public-nav nav>a:last-child{display:flex}.public-shell .hero-visual .dashboard-mock{width:86%}}

/* Shared visual system for every public page. */
.public-shell .public-page-hero{position:relative;isolation:isolate;max-width:1240px;min-height:330px;margin:0 auto;padding:76px clamp(24px,7vw,92px) 58px;overflow:hidden;background:#f1f8fb;border-bottom:1px solid #e4eff3}
.public-shell .public-page-hero::after{content:"";position:absolute;z-index:-1;inset:0 0 0 43%;background:linear-gradient(90deg,#f1f8fb 0%,rgba(241,248,251,.72) 28%,rgba(241,248,251,.06) 100%),url('../images/keneya-hero-clinician.png') center 38%/cover no-repeat;mask-image:linear-gradient(90deg,transparent 0%,#000 30%)}
.public-shell .public-page-hero .section-kicker{display:inline-flex;align-items:center;gap:9px;font-size:11px;letter-spacing:1.6px;font-weight:750}
.public-shell .public-page-hero h1{position:relative;max-width:690px;margin:17px 0 12px;color:#0a3157;font-size:clamp(34px,4.4vw,54px);letter-spacing:-2px}
.public-shell .public-page-hero>p{max-width:510px;margin:0 0 24px;color:#5d7383;font-size:13px;line-height:1.75}
.public-shell .public-page-hero .primary-button{min-height:42px;padding:0 17px}
.public-shell .public-catalog,.public-shell .public-plan-grid{max-width:1180px;margin:0 auto;padding:42px 30px 58px}
.public-shell .public-catalog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.public-shell .public-catalog .eco-card{min-height:208px;padding:21px;border-color:#e1ebef;border-radius:13px;box-shadow:0 8px 24px #0a3b5b0c}
.public-shell .public-catalog .eco-card p{font-size:11px;line-height:1.7;min-height:58px}
.public-shell .public-catalog .eco-card h3{font-size:16px;color:#0a3157}
.public-shell .public-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.public-shell .public-plan{padding:25px;border:1px solid #dfeaf0;border-radius:14px;box-shadow:0 10px 30px #0a3b5b0c;background:linear-gradient(160deg,#fff 60%,#f4fafb)}
.public-shell .public-plan h2{color:#0a3157}
.public-shell .public-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:48px max(calc((100% - 1080px)/2),30px);border-top:1px solid #e1edf0}
.public-shell .contact-page{position:relative;max-width:1240px;margin:0 auto;padding:78px clamp(24px,7vw,90px);display:grid;grid-template-columns:.9fr 1fr;gap:clamp(36px,7vw,100px);align-items:center;overflow:hidden;background:linear-gradient(110deg,#f2f8fb 0%,#f7fafb 50%,#e9f5f7 100%)}
.public-shell .contact-page::before{content:"";position:absolute;inset:0 0 0 51%;background:linear-gradient(90deg,rgba(242,248,251,.98),rgba(242,248,251,.56)),url('../images/keneya-hero-clinician.png') center/cover no-repeat;opacity:.58;pointer-events:none}
.public-shell .contact-page>div,.public-shell .contact-page>form{position:relative}
.public-shell .contact-page h1{color:#0a3157;font-size:clamp(36px,4vw,52px)}
.public-shell .contact-page h1 em{color:#00a77e}
.public-shell .contact-page>div>p{max-width:400px;color:#5d7383;font-size:13px;line-height:1.8}
.public-shell .contact-promise{margin-top:29px}
.public-shell .contact-form{padding:28px;border:1px solid #e0ebef;border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 20px 55px #0a3b5b16}
.public-shell .contact-form h2{color:#0a3157}
.public-shell .contact-form .primary-button{min-height:42px;padding:0 17px}
.public-shell .public-footer{margin-top:0}
.public-shell .public-page-hero+.public-cta{margin-top:0}
.public-shell .public-catalog+.public-cta,.public-shell .public-plan-grid+.public-cta{margin-top:0}
.public-nav nav>a:last-child{display:none}
@media(max-width:880px){.public-shell .public-page-hero{min-height:300px;padding-top:60px}.public-shell .public-page-hero::after{left:35%;opacity:.8}.public-shell .public-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.public-shell .contact-page{padding:55px 28px;gap:28px}}
@media(max-width:600px){.public-shell .public-page-hero{min-height:280px;padding:48px 20px 40px}.public-shell .public-page-hero::after{inset:0;opacity:.25;mask-image:none}.public-shell .public-page-hero h1{font-size:34px}.public-shell .public-page-hero>p{font-size:12px}.public-shell .public-catalog,.public-shell .public-plan-grid{padding:25px 17px 36px;grid-template-columns:1fr;gap:11px}.public-shell .public-catalog .eco-card{min-height:0;padding:17px}.public-shell .public-catalog .eco-card p{min-height:0}.public-shell .public-cta{align-items:flex-start;flex-direction:column;padding:34px 20px}.public-shell .contact-page{grid-template-columns:1fr;padding:42px 18px;gap:24px}.public-shell .contact-page::before{inset:0;opacity:.16}.public-shell .contact-page h1{font-size:38px;margin:14px 0}.public-shell .contact-form{padding:20px 16px}.public-nav nav>a:last-child{display:flex}}
.public-nav nav>a:last-child{display:flex}

/* Global readability baseline: KeneyaSuite public site and AXESs console */
:root{--sub:#5f6f68;--line:#dfe7e2;color:#24332d;font-size:16px;line-height:1.5}
body{color:#24332d;line-height:1.55}
p{line-height:1.65}
small{font-size:max(11px,1em);line-height:1.45;color:#596a62}
.eyebrow,.section-kicker,.nav-label{font-size:max(11px,1em);color:#5c6f65;line-height:1.4}
.page-heading p,.panel-heading p,.welcome-copy span,.help-card p,.user-info small,.workspace-meta small,.metric-foot,.chart-legend,.footer{color:#596a62;line-height:1.5}
.nav-item{font-size:13px;min-height:40px;height:auto;line-height:1.35}
.primary-button,.outline-button,.quiet-link,.search-trigger,.period-select,.filter-button,.settings-tabs button,.mini-tabs button,.table-pagination button{font-size:12px;line-height:1.4;min-height:38px}
.form-field,.contact-form label,.login-form label,.settings-card label{font-size:12px;line-height:1.45}
input,select,textarea{font-size:14px;line-height:1.45}
.badge,.nav-count{font-size:11px;line-height:1.35}
.table-wrap th,.table-wrap td,.generic-row,.table-pagination,.module-card,.comparison,.detail-info,.history-row{font-size:12px;line-height:1.5}
.table-wrap th{color:#4e6056;letter-spacing:.045em}
.table-wrap td{color:#35473e}
.metric-top,.system-stats,.activity-copy b,.alert-row b,.instance-name b,.welcome-copy b{color:#394b42}
.metric-foot,.instance-name small,.activity-copy small,.activity-row time,.alert-row small,.latency-time{color:#5b6b63;font-size:11px}
*:focus-visible{outline:3px solid #157db5;outline-offset:3px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #157db5;outline-offset:1px;box-shadow:0 0 0 3px #157db522}
@media(max-width:800px){.page-content{padding:22px 22px 16px}.page-heading h1{font-size:clamp(22px,5vw,27px)}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.table-wrap{overflow-x:auto}.table-wrap table{min-width:680px}}
@media(max-width:560px){.page-content{padding:18px 14px 14px}.topbar{padding:0 13px}.page-heading{align-items:flex-start;gap:12px;flex-direction:column}.page-heading>button,.page-heading>.primary-button{width:100%}.metric-grid{gap:9px}.metric-card{padding:12px;min-height:105px}.metric-value{font-size:22px}.welcome-strip{align-items:flex-start;gap:10px;flex-direction:column}.welcome-strip>button{min-height:38px}.panel-heading{gap:10px}.system-panel,.revenue-panel,.activity-panel,.alerts-panel,.detail-info,.recent-panel{padding:14px}.settings-card{padding:14px}.form-two{grid-template-columns:1fr}.footer{font-size:11px;gap:10px;flex-wrap:wrap}}
@media(max-width:560px){.page-heading>.primary-button{font-size:12px;width:100%;height:auto;min-height:40px;padding:0 12px;flex:1 1 auto}.welcome-strip>button{font-size:11px;padding:7px 0 0 4px}.footer>span:last-child,.stat-banner-note{font-size:11px}}
/* KeneyaSuite public pages: trust-first B2B healthcare, using the existing green identity and native CSS system. */
.public-shell .public-nav nav a{font-size:13px;font-weight:700;color:#40584f}
.public-shell .public-nav .public-actions .login-link{font-size:13px;color:#40584f}
.public-shell .hero-copy>p{max-width:45ch;color:#455d54;font-size:16px;line-height:1.7}
.public-shell .section-kicker{font-size:12px;letter-spacing:.13em;color:#176e54}
.public-shell .section-heading>p,.public-shell .solutions-band p,.public-shell .public-page-hero>p{font-size:15px;line-height:1.7;color:#52675f}
.public-shell .eco-card p,.public-shell .module-desc,.public-shell .plan-desc{font-size:14px;line-height:1.65;color:#52675f}
.public-shell .primary-button,.public-shell .outline-button{font-size:13px;min-height:44px}
.public-shell .hero h1{font-size:clamp(42px,4.3vw,52px);line-height:1.08;letter-spacing:-2.6px}
.public-shell .hero .floating-note{left:auto;right:24px;bottom:14px}
.public-shell a:focus-visible,.public-shell button:focus-visible{outline:3px solid #16785d;outline-offset:3px}
.public-shell .primary-button:active,.public-shell .outline-button:active{transform:translateY(1px)}
@media(max-width:880px){.public-shell .public-nav nav a{font-size:12px}}
@media(max-width:600px){.public-shell .hero-copy>p,.public-shell .section-heading>p,.public-shell .solutions-band p,.public-shell .public-page-hero>p{font-size:15px}.public-shell .hero h1{font-size:clamp(34px,9vw,41px);line-height:1.12;letter-spacing:-2px}}
/* Les formulaires publics : erreurs de validation et confirmation d'envoi.
   La maquette n'avait pas d'erreurs a montrer, ses formulaires n'ecrivaient
   nulle part. Ceux-ci ecrivent, donc ils refusent, et un refus doit se voir. */
.form-error{margin:-6px 0 2px;font-size:12px;line-height:1.5;color:#b14a3c}
.contact-form .form-error{margin:-4px 0 4px}
.form-field:has(+.form-error) input,.form-field:has(+.form-error) select,.form-field:has(+.form-error) textarea{border-color:#d79a90}
.contact-form>p:last-child{margin-bottom:0}

/* ---------------------------------------------------------------------------
   Le corps des panneaux de la console
   ---------------------------------------------------------------------------

   Les formulaires qui s'ouvrent portaient une classe, `bd`, a laquelle rien ne
   repondait : ni ici, ni ailleurs. Le panneau n'ayant pas de marge interieure
   non plus, les champs se collaient au cadre et le depassaient des qu'un
   `select` etait plus large que sa colonne. Le defaut se voyait sur onze
   ecrans, pas seulement sur les licences.

   Les variantes qui portent deja leur propre marge interieure, celles du
   tableau de bord et la carte des reglages, remettent la leur a zero plus bas :
   deux marges valent le double, et cela se voit autant qu'aucune. */

.bd { padding: 15px 17px; }

.settings-card .bd,
.comparison .bd,
.recent-panel .bd,
.revenue-panel .bd,
.activity-panel .bd,
.alerts-panel .bd,
.detail-info .bd { padding: 0; }

.panel>.panel-heading,
.table-panel>.panel-heading { padding: 15px 17px 0; }

.panel>.panel-heading+.bd { padding-top: 12px; }

.settings-card>.panel-heading,
.comparison>.panel-heading,
.recent-panel>.panel-heading,
.revenue-panel>.panel-heading,
.activity-panel>.panel-heading,
.alerts-panel>.panel-heading { padding: 0; }

/* Ce qui empechait un champ de deborder : sans `min-width: 0`, un element de
   grille prend la largeur de son contenu le plus long, et une option de
   `select` qui nomme un etablissement entier passe par-dessus le cadre. */

.form-two>* { min-width: 0; }
.form-field input,
.form-field select,
.form-field textarea { max-width: 100%; min-width: 0; }

/* Les trois classes du formulaire qui n'avaient, elles non plus, aucune regle. */

.form-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 17px; }

.checkbox-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 7px 0;
    font-size: 11px;
    font-weight: 500;
    color: #53635a;
}

.checkbox-row input { flex: 0 0 auto; accent-color: #238666; }

.field-hint {
    margin: -2px 0 13px;
    font-size: 11px;
    line-height: 1.55;
    color: #8d9992;
}

fieldset.form-field {
    border: 1px solid #e9eeeb;
    border-radius: 8px;
    padding: 4px 12px 10px;
    margin: 14px 0;
}

fieldset.form-field { gap: 0; }
fieldset.form-field>legend { padding: 0 5px; }

/* L'espace entre le bouton qui ouvre le formulaire et le formulaire lui-meme,
   et entre le formulaire et le tableau qui le suit. Les panneaux n'avaient
   aucune marge : trois cadres se touchaient. La marge ne vise que les panneaux
   de formulaire, ceux du tableau de bord vivant dans une grille qui a deja son
   `gap`. */

.list-toolbar { margin-bottom: 16px; }
.panel:has(>form.bd) { margin-bottom: 15px; }

/* Le pied de page, qui remontait au milieu de l'ecran des que la page etait
   courte. Il se range au bas de la zone utile, sans jamais se fixer : un pied
   colle a la fenetre mangerait une ligne de tableau sur un portable. */

.page-content {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 58px);
}

.page-content>.footer { margin-top: auto; padding-top: 22px; }

@media (max-width: 560px) {
    .page-content { min-height: calc(100vh - 53px); }
}

/* ---------------------------------------------------------------------------
   La connexion a la console
   ---------------------------------------------------------------------------

   Le panneau de gauche etait d'un vert sourd, #234c3b, qui n'appartenait ni au
   logo ni au reste du site. Il reprend le bleu et le vert de la croix de
   KeneyaSuite : le bleu profond porte le fond, le vert sert d'accent.

   Le logo est un fichier opaque. Pose sur un fond sombre il s'y decouperait en
   rectangle blanc, et c'est pourquoi le signe dessine au trait existait. Il est
   ici tenu dans une plaque claire : le logo se lit tel qu'il est, et la plaque
   ressemble a une decision plutot qu'a un accident.
   --------------------------------------------------------------------------- */

.login-visual {
    background:
        radial-gradient(130% 90% at 82% 8%, #0f5fa3 0%, transparent 58%),
        radial-gradient(95% 70% at 10% 96%, #0c7a63 0%, transparent 62%),
        linear-gradient(158deg, #0a3762 0%, #082f56 52%, #061f3b 100%);
    padding: 30px 38px;
}

/* La plaque qui porte le logo. */

.login-logo {
    position: relative;
    z-index: 1;
    align-self: flex-start;
    display: inline-flex;
    padding: 9px 14px;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 6px 20px #03192f3d;
}

/* `object-fit: cover` taille le logo comme ailleurs : le fichier porte une
   marge blanche cuite dedans, et sans recadrage le mot se lit a peine. */
.login-logo .brand-image { width: 168px; height: 49px; }

/* La croix de la marque, reprise au trait : deux blocs qui s'emboitent. */

.login-art-croix {
    position: relative;
    width: 150px;
    height: 150px;
    transform: rotate(-8deg);
    filter: drop-shadow(0 18px 46px #04203a66);
}

.login-art-croix .bloc {
    position: absolute;
    width: 92px;
    height: 92px;
    border-radius: 26px 26px 26px 9px;
}

.login-art-croix .bloc-bleu {
    top: 0;
    left: 0;
    background: linear-gradient(145deg, #2a7fc9, #1559a0);
}

.login-art-croix .bloc-vert {
    right: 0;
    bottom: 0;
    background: linear-gradient(145deg, #2bd29c, #10a277);
    /* Le vert passe au-dessus, comme sur le logo, ou il recouvre le bleu au
       point de croisement. */
    box-shadow: -7px -7px 0 0 #082f56;
}

.login-art-orbit { border-color: #ffffff1f; }
.orbit-b { border-color: #6fe3bd33; }

.login-art-dot { background: #4fd7ad; box-shadow: 0 0 0 8px #4fd7ad14; }

/* La legende, et le pied du panneau. */

.login-caption .section-kicker { color: #5fdcb4; letter-spacing: .13em; }
.login-caption h2 { color: #f2f7fb; }
.login-caption p { color: #b3c8db; }
.login-visual-foot { color: #8aa5bd; }

/* Le cote droit s'accorde au panneau : les petits accents passent au bleu de
   la marque. Le bouton reste vert, parce que c'est la couleur de l'action dans
   toute la console, et qu'une porte ne se repeint pas a part du reste. */

.login-icon { background: #e8f1fa; color: #1559a0; }
.login-top a { color: #1559a0; }
.login-options input { accent-color: #1559a0; }
.login-form-wrap h1 { color: #11314f; }

@media (max-width: 760px) {
    .login-visual { padding: 18px 20px 16px; }
    /* La ligne d'accroche tenait sur une ligne large, pas sur un telephone :
       l'interlettrage la poussait hors du cadre, ou elle se faisait couper. */
    .login-caption .section-kicker { font-size: 10px; letter-spacing: .06em; }
    .login-caption { padding-right: 8px; }
    .login-logo { padding: 7px 11px; border-radius: 9px; }
    .login-logo .brand-image { width: 128px; height: 38px; }
    .login-art-croix { width: 82px; height: 82px; }
    .login-art-croix .bloc { width: 50px; height: 50px; border-radius: 15px 15px 15px 5px; }
    .login-art-croix .bloc-vert { box-shadow: -5px -5px 0 0 #082f56; }
}

/* L'espace client vu depuis la console : les identifiants remis une fois, les
   comptes d'un etablissement, le fil d'un ticket et les paiements declares. */

.credentials-panel { padding: 17px; margin-bottom: 15px; border-color: #cfe6d9; background: #f6fbf8; }
.credentials-list { display: grid; gap: 10px; margin: 14px 0 6px; }
.credentials-list > div { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 10px; align-items: baseline; }
.credentials-list dt { font-size: 11px; color: #7d8a84; }
.credentials-list dd { margin: 0; font-size: 12px; color: #2f4239; min-width: 0; overflow-wrap: anywhere; }
.credentials-list code { font: 600 13px ui-monospace, Consolas, monospace; color: #1f3d31; }
.credentials-secret { display: inline-block; background: #fff; border: 1px dashed #9cc9b1; border-radius: 6px; padding: 5px 8px; user-select: all; }

.account-block { border-top: 1px solid #edf0ee; margin-top: 16px; padding-top: 12px; }
.account-block h3, .ticket-thread h3, .declarations-block h3 { font: 650 12px Manrope, sans-serif; color: #2b3a35; margin: 0 0 8px; }
.account-line { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid #f0f2f1; }
.account-line:last-of-type { border-bottom: 0; }
.account-line > span { display: flex; flex-direction: column; gap: 3px; flex: 1; min-width: 0; }
.account-line b { font-size: 11px; color: #46554e; }
.account-line small { font-size: 11px; color: #8f9a95; overflow-wrap: anywhere; }

.ticket-thread { border-top: 1px solid #edf0ee; margin-top: 16px; padding-top: 12px; }
.thread-message { border: 1px solid #edf0ee; border-radius: 9px; padding: 10px 12px; margin: 8px 0; background: #fafbfa; }
.thread-message.from-axess { background: #f1f8f4; border-color: #dceee4; }
.thread-message header { display: flex; justify-content: space-between; gap: 10px; font-size: 11px; color: #7d8a84; margin-bottom: 6px; }
.thread-message header b { color: #3f5148; }
.thread-message p { margin: 0; font-size: 12px; color: #43524b; white-space: pre-line; overflow-wrap: anywhere; }

.declarations-block { padding: 17px; margin-bottom: 15px; }
.declaration-line { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 11px 0; border-top: 1px solid #f0f2f1; }
.declaration-line > span { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.declaration-line b { font-size: 11px; color: #46554e; }
.declaration-line small { font-size: 11px; color: #8f9a95; overflow-wrap: anywhere; }
.declaration-actions { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
.declaration-actions input { height: 34px; border: 1px solid #e4eae6; border-radius: 6px; padding: 0 9px; font-size: 11px; min-width: 0; }

@media (max-width: 760px) {
    .credentials-list > div { grid-template-columns: 1fr; gap: 3px; }
    .account-line, .declaration-line { grid-template-columns: 1fr; flex-wrap: wrap; }
}

/* La machine d'une instance : ce qui la porte, les alertes, et les gestes de
   l'activation. */

.machine-block { border-top: 1px solid #edf0ee; margin: 6px 17px 17px; padding-top: 14px; }
.machine-block h3 { font: 650 12px Manrope, sans-serif; color: #2b3a35; margin: 0 0 10px; }
.machine-facts { display: grid; gap: 8px; margin: 0 0 6px; }
.machine-facts > div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 10px; align-items: baseline; }
.machine-facts dt { font-size: 11px; color: #7d8a84; }
.machine-facts dd { margin: 0; font-size: 12px; color: #34453d; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; min-width: 0; overflow-wrap: anywhere; }
.machine-facts code, .machine-history code { font: 600 11px ui-monospace, Consolas, monospace; color: #2f4239; }
.machine-form { border-top: 1px dashed #e3e9e5; margin-top: 14px; padding-top: 4px; }
.machine-form input[type=file] { height: auto; padding: 8px 10px; }
.machine-code { margin: 0 0 12px; }
.machine-code .credentials-secret { font-size: 15px; letter-spacing: .5px; }
.machine-alert { display: flex; align-items: center; gap: 12px; padding: 10px 12px; margin: 0 0 8px; border-radius: 8px; border: 1px solid #f1dfb9; background: #fdf8ec; }
.machine-alert.danger { border-color: #f2cfc9; background: #fdf1ef; }
.machine-alert > span { display: flex; flex-direction: column; gap: 3px; flex: 1; min-width: 0; }
.machine-alert b { font-size: 11px; color: #5a4520; }
.machine-alert.danger b { color: #8d3b30; }
.machine-alert small { font-size: 11px; color: #8f8670; }
.machine-alerts-panel { padding: 17px; margin-bottom: 15px; }
.machine-alerts-panel .panel-heading { margin-bottom: 12px; }
.machine-history { margin-top: 14px; font-size: 11px; color: #6b7873; }
.machine-history summary { cursor: pointer; font-weight: 600; color: #4f6059; }
.machine-history p { margin: 6px 0; overflow-wrap: anywhere; }

@media (max-width: 760px) {
    .machine-facts > div { grid-template-columns: 1fr; gap: 2px; }
    .machine-block { margin: 6px 12px 12px; }
}

/* Les gestes d'une ligne, et ceux qui detruisent. Un bouton de suppression se
   distingue a l'oeil des autres : on ne doit pas le presser par habitude. */
td.row-actions-cell { white-space: nowrap; }
.row-actions { display: flex; flex-wrap: nowrap; gap: 6px; align-items: center; }
.primary-button.danger-button { background: #b4483c; border-color: #b4483c; box-shadow: 0 1px 2px #5c1d1621; }
.primary-button.danger-button:hover { background: #9c3a2f; border-color: #9c3a2f; }
.licence-facture { border-top: 1px dashed #e3e9e5; margin-top: 14px; padding-top: 4px; }

/* Les gestes d'une ligne : des icones seules, de la taille de `.row-open`. */
.icon-action { display: inline-grid; place-items: center; width: 30px; height: 30px; border: 1px solid transparent; border-radius: 7px; background: transparent; color: #6b7a73; text-decoration: none; transition: background .15s, color .15s, border-color .15s; }
.icon-action:hover { border-color: #e1e9e4; background: #f4f8f5; color: #2f7a5c; }
.icon-action:focus-visible { outline: 2px solid #85b79d; outline-offset: 1px; }
.icon-action.danger { color: #b0574b; }
.icon-action.danger:hover { border-color: #f0d3ce; background: #fdf3f1; color: #9c3a2f; }
.row-actions { gap: 2px; }
.icon-action.is-disabled { color: #c3ccc8; cursor: help; }
.icon-action.is-disabled:hover { border-color: transparent; background: transparent; color: #c3ccc8; }

/* Configurateur d'offre (page Tarifs) et champs de modalite (console). */
.public-plan-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));max-width:1180px;align-items:start}
.public-plan.configurator{display:flex;flex-direction:column;gap:14px;text-align:left}
.configurator-desc{font-size:12px;color:#7b8982;margin:0}
.configurator-group{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.configurator-group legend{font-size:11px;letter-spacing:.6px;font-weight:700;color:#59806b;text-transform:uppercase;padding:0;margin-bottom:2px}
.radio-row,.configurator .checkbox-row{display:flex;align-items:center;gap:10px;border:1px solid #e5ece7;border-radius:9px;padding:10px 12px;cursor:pointer;transition:border-color .15s,background .15s}
.radio-row:hover,.configurator .checkbox-row:hover{border-color:#bfe0cf}
.radio-row.is-selected{border-color:#55a37d;background:#f3faf6}
.radio-row input,.configurator .checkbox-row input{margin:0;margin-top:2px;accent-color:#237b5b;align-self:flex-start}
.radio-body{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.radio-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.radio-head b{font-size:13px;color:#21362e}
.radio-body small{font-size:11px;color:#7b8982;line-height:1.5}
.radio-price{font-size:12px;font-weight:600;color:#237b5b;white-space:nowrap}
.period-switch{display:flex;gap:8px;flex-wrap:wrap}
.period-option{flex:1;min-width:92px;display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid #e5ece7;border-radius:9px;padding:9px 6px;cursor:pointer;font-size:12px}
.period-option.is-selected{border-color:#55a37d;background:#f3faf6;color:#237b5b;font-weight:600}
.period-option input{position:absolute;opacity:0;width:0;height:0}
.period-discount{font-size:10px;font-weight:700;color:#398966}
.configurator-single-modality{font-size:12px;color:#506159;margin:0}
.configurator-total{display:flex;flex-direction:column;gap:2px;padding:14px;border-radius:10px;background:#f3faf6;border:1px solid #d8ebe1}
.configurator-total b{font:750 24px/1.1 Manrope,sans-serif;color:#20392f}
.configurator-total small{font-size:11px;color:#61736a}
.configurator-total .configurator-monthly{color:#398966;font-weight:600}
.inline-price{max-width:140px;margin-left:auto}
.modality-block .modality-row{border:1px solid #eef2f0;border-radius:9px;padding:10px 12px;margin-bottom:8px}
.modality-specs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}
.suffix-field{display:flex;align-items:center;gap:8px}
.suffix-field input{max-width:90px}
.suffix-field span{font-size:12px;color:#7b8982}
@media(max-width:720px){.modality-specs{grid-template-columns:1fr}}

/* Fenetres modales de la console (formulaires d'ajout et de modification). */
.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:44px 16px;overflow-y:auto}
.modal-overlay .modal-backdrop{position:fixed;inset:0;background:rgba(18,38,30,.46);z-index:1;padding:0;display:block;backdrop-filter:blur(2px)}
.modal-overlay .modal-panel{position:relative;z-index:2;width:100%;max-width:680px;margin:auto;box-shadow:0 24px 70px rgba(16,40,30,.28);animation:modal-pop .14s ease-out}
.modal-panel .panel-heading{padding-right:40px}
.modal-close{position:absolute;top:12px;right:14px;width:30px;height:30px;border:none;background:transparent;font-size:22px;line-height:1;color:#8a988f;cursor:pointer;border-radius:7px;display:grid;place-items:center}
.modal-close:hover{color:#21362e;background:#eef2f0}
@keyframes modal-pop{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* Bascule d'un module depuis la table de comparaison. */
.compare-toggle{border:none;background:transparent;font:inherit;cursor:pointer;padding:4px 10px;border-radius:7px;transition:background .12s}
.compare-toggle.compare-check{color:#237b5b;font-weight:600}
.compare-toggle.compare-na{color:#a7b2ab}
.compare-toggle:hover{background:#eef5f1}
.compare-toggle.compare-na:hover{color:#237b5b}

/* Prix de module editable en ligne dans la table de comparaison. */
.compare-cell{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.compare-price-field{display:flex;align-items:center;gap:5px}
.compare-price{width:92px;padding:5px 7px;border:1px solid #d8e2dc;border-radius:7px;font:inherit;font-size:12px;color:#20392f}
.compare-price:focus{outline:none;border-color:#55a37d;box-shadow:0 0 0 3px #e9f5ee}
.compare-price-field span{font-size:10px;color:#9aa7a0}
.compare-off{border:none;background:transparent;font:inherit;font-size:10px;color:#b08;cursor:pointer;padding:0;color:#c06}
.compare-off:hover{text-decoration:underline}

/* Recapitulatif de la configuration tarifaire (demande de demonstration). */
.tarif-recap{border:1px solid #d8ebe1;background:#f3faf6;border-radius:10px;padding:14px 16px;margin:0 0 18px}
.tarif-recap h3{font:700 12px/1 Manrope,sans-serif;letter-spacing:.5px;text-transform:uppercase;color:#237b5b;margin:0 0 10px}
.tarif-recap dl{margin:0;display:flex;flex-direction:column;gap:7px}
.tarif-recap dl>div{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:baseline}
.tarif-recap dt{font-size:11px;color:#7b8982;font-weight:600}
.tarif-recap dd{margin:0;font-size:12px;color:#21362e}
.tarif-recap dd small{display:block;color:#398966;font-size:11px;margin-top:2px}
.tarif-tag{display:inline-block;margin-top:3px;font-size:10px;font-weight:600;color:#237b5b;background:#e9f5ee;border-radius:6px;padding:2px 7px}
@media(max-width:560px){.tarif-recap dl>div{grid-template-columns:1fr}}

/* La gouttiere de la barre de defilement est reservee en permanence : sans
   cela, une page courte (sans barre) et une page longue (avec barre) decalent
   le contenu centre de 15 px, et tout « bouge » au changement de page. */
html{scrollbar-gutter:stable}

/* Quand une modale est ouverte, le fond ne defile plus derriere elle. La
   gouttiere restant reservee (scrollbar-gutter), bloquer le defilement ne
   decale aucun contenu. Le panneau de la modale, lui, defile seul si besoin. */
html:has(.modal-overlay){overflow:hidden}
