/* FITRICH App — Mineral Monochrome, aligned with the customer website. */
:root{
  --ink:#151817;
  --panel:#fbfbf8;
  --panel-2:#e5e6e2;
  --line:rgba(21,24,23,.24);
  --muted:#69716d;
  --paper:#fbfbf8;
  --aqua:#bfd5c9;
  --blue:#b7c6cf;
  --fitrich-black:#0b0d0c;
  --fitrich-canvas:#f2f2ee;
  --fitrich-stone:#e5e6e2;
  --fitrich-sage:#bfd5c9;
  --fitrich-sage-deep:#506f60;
}
html{background:var(--fitrich-canvas)}
body{background:var(--fitrich-canvas);color:var(--ink)}
::selection{background:var(--fitrich-sage);color:var(--fitrich-black)}

/* Branded shell: strong black frame, static logo, light working canvas. */
.app-loader{background:var(--fitrich-black)}
.app-loader .app-logo svg{filter:invert(1) brightness(1.55)}
.app-loader .app-logo small{color:var(--fitrich-sage)}
.phase-ribbon{background:var(--fitrich-black);color:#dfe3e0;border-bottom:1px solid #303431}
.phase-ribbon>span{color:var(--fitrich-sage);font-weight:800}
.side-nav{background:var(--fitrich-black);border-right:1px solid #303431}
.side-nav .app-logo svg{filter:invert(1) brightness(1.55)}
.side-nav .app-logo small{color:var(--fitrich-sage);font-weight:700}
.nav-item{border:1px solid transparent;border-radius:0;color:#9ca29e}
.nav-item i{border-color:#3b413d;border-radius:0}
.nav-item:hover{background:#171b19;color:#fff;border-color:#373d39}
.nav-item.active{background:var(--fitrich-sage);border-color:var(--fitrich-sage);color:var(--fitrich-black)}
.nav-item.active i{background:var(--fitrich-black);border-color:var(--fitrich-black);color:var(--fitrich-sage)}
.side-status{border-color:#343a36;background:#121513}
.side-status i{background:var(--fitrich-sage);box-shadow:none}
.side-status p{color:#969e99}.side-status span{color:var(--fitrich-sage)}
.back-site{color:#a8afab}.back-site:hover{color:#fff}
.app-header{background:var(--fitrich-black);border-bottom:1px solid #303431;color:#fff;backdrop-filter:none}
.header-title span{color:var(--fitrich-sage)}
.language-button,.notification-button,.avatar-button{border-color:#414743;background:#171a18;color:#dfe3e0}
.language-button span.active,.avatar-button{color:var(--fitrich-sage)}
.language-button i{background:#676e6a}
.notification-button b{background:var(--fitrich-sage);color:var(--fitrich-black)}
.app-main{background:linear-gradient(145deg,rgba(255,255,255,.72),transparent 34%),var(--fitrich-canvas)}

/* Shared card language. */
.card{background:var(--fitrich-paper);border:1px solid rgba(11,13,12,.42);color:var(--ink);box-shadow:none}
.card-head span,.shop-intro span,.settings-head span{color:var(--fitrich-sage-deep);font-weight:800}
.card-head time{color:#737b76}
.daily-form{background:var(--fitrich-paper)}
.form-score{border-block:1px solid rgba(11,13,12,.18);padding:28px 0;margin:34px 0}
.score-ring{background:radial-gradient(circle at center,#fbfbf8 0 58%,transparent 59%),conic-gradient(var(--fitrich-sage-deep) 0 72%,#d9dcd8 72% 100%);box-shadow:none}
.score-ring small,.score-copy p{color:var(--muted)}
.score-copy button,.campaign-copy button,.routine-result>button,.sheet-ack{border-bottom-color:var(--fitrich-black);color:var(--fitrich-black)}
.today-steps{border-color:var(--line)}
.today-steps>div{border-color:var(--line)}
.today-steps span,.today-steps i{color:var(--fitrich-sage-deep)}
.today-steps small{color:var(--muted)}

/* Campaign image remains the one intentional dark editorial card. */
.campaign-card{border-color:var(--fitrich-black)}
.campaign-shade{background:linear-gradient(0deg,rgba(5,7,8,.94),rgba(5,7,8,.04) 75%)}
.campaign-copy{color:#fff}.campaign-copy>span{color:var(--fitrich-sage)}
.campaign-copy p{color:#d5dbd7}.campaign-copy button{border-color:var(--fitrich-sage);color:var(--fitrich-sage)}
.sovereign-mini{background:radial-gradient(circle at 72% 20%,rgba(255,255,255,.72),transparent 31%),var(--fitrich-sage);border-color:var(--fitrich-black)}
.sovereign-mini:before,.mini-mark{border-color:rgba(11,13,12,.22)}
.mini-top i,.mini-mark,.mini-bottom button{color:var(--fitrich-sage-deep)}
.mini-mark{box-shadow:none;background:rgba(251,251,248,.34)}
.mini-bottom small{color:#5d6963}
.quick-card{background:var(--fitrich-stone)}
.quick-grid button{border-color:#8f9692;background:rgba(251,251,248,.72);color:#434a46}
.quick-grid button:hover{border-color:var(--fitrich-black);background:#fff;color:var(--fitrich-black)}
.quick-grid i{border-radius:0;background:var(--fitrich-sage);color:var(--fitrich-black)}
.quick-grid b{color:var(--fitrich-sage-deep)}

/* Shop and live commerce. */
.shop-intro p{color:var(--muted)}
.shop-tools{border-color:rgba(11,13,12,.35)}
.app-filters button,.bag-preview{border-color:#8f9692;background:rgba(255,255,255,.5);color:#545c58}
.app-filters button.active{background:var(--fitrich-black);border-color:var(--fitrich-black);color:#fff}
.bag-preview{background:var(--fitrich-paper);color:var(--fitrich-black)}
.bag-preview b{background:var(--fitrich-sage);color:var(--fitrich-black)}
.app-product{background:var(--fitrich-paper);border:1px solid rgba(11,13,12,.34);color:var(--ink);box-shadow:none}
.app-product.ready{border-color:rgba(80,111,96,.7);box-shadow:inset 0 3px 0 var(--fitrich-sage)}
.app-product:hover{border-color:var(--fitrich-black);transform:translateY(-3px)}
.app-product-art{background:radial-gradient(circle at 50% 53%,rgba(191,213,201,.82),transparent 45%),linear-gradient(150deg,#f8f8f5,#e1e3df)}
.app-product-art:before{border-color:#424a46;background:linear-gradient(145deg,#242b28,#070908);box-shadow:0 24px 35px rgba(11,13,12,.22)}
.app-product-copy{border-color:rgba(11,13,12,.22)}
.app-product-copy>span,.app-product-buy small.ready{color:var(--fitrich-sage-deep)}
.app-product-copy p{color:var(--muted)}
.app-product-buy small.waiting{color:#7b827e}
.app-product-copy .product-plus{border-color:var(--fitrich-black);background:var(--fitrich-black);color:#fff}
.app-product-copy .product-plus:hover,.app-product-copy .product-plus:focus-visible,.app-product-copy .product-plus.added{border-color:var(--fitrich-black);background:var(--fitrich-sage);color:var(--fitrich-black)}
.app-product-copy .product-plus:disabled{border-color:#c4c8c3;background:#e1e3df;color:#8a908c}

/* Routine — functional white builder plus sage result panel. */
.routine-builder{background:var(--fitrich-paper)}
.routine-builder .card-head>b,.builder-row p span{color:var(--fitrich-sage-deep)}
.builder-row,.builder-row:first-of-type{border-color:var(--line)}
.builder-row button{border-color:#919894;background:rgba(255,255,255,.4);color:#5d6561}
.builder-row button.active{background:var(--fitrich-black);border-color:var(--fitrich-black);color:#fff}
.routine-result{background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.8),transparent 34%),var(--fitrich-sage);color:var(--fitrich-black)}
.result-orbit{border-color:rgba(11,13,12,.3);color:var(--fitrich-sage-deep)}
.result-orbit:before{border-color:rgba(11,13,12,.16)}
.result-orbit i{background:var(--fitrich-black);box-shadow:none}
.routine-result>small,.routine-result li:before{color:var(--fitrich-sage-deep)}
.routine-result li{border-color:rgba(11,13,12,.2);color:#4e5853}

/* Membership and profile. */
.member-hero{background:radial-gradient(circle at 75% 18%,rgba(255,255,255,.72),transparent 31%),var(--fitrich-sage);color:var(--fitrich-black)}
.member-hero:before,.member-hero-mark{border-color:rgba(11,13,12,.18)}
.member-hero-top i,.member-hero-mark{color:var(--fitrich-sage-deep)}
.member-hero-mark{background:rgba(251,251,248,.35);box-shadow:none}
.member-name small,.member-code{color:#59645e}.member-code{border-color:rgba(11,13,12,.2)}
.member-panel .card:nth-child(even){background:var(--fitrich-stone)}
.member-panel article>span{color:var(--fitrich-sage-deep)}
.member-panel p{color:var(--muted)}
.tier-card>div{background:#cfd4cf}.tier-card i{background:var(--fitrich-sage-deep)}
.access-card button{color:var(--fitrich-sage-deep)}
.benefit-grid article{border-color:rgba(11,13,12,.34);background:var(--fitrich-paper);color:var(--ink)}
.benefit-grid article:nth-child(2){background:var(--fitrich-stone)}
.benefit-grid i{color:var(--fitrich-sage-deep)}.benefit-grid p{color:var(--muted)}
.profile-card{background:var(--fitrich-sage)}
.profile-avatar{border-color:rgba(11,13,12,.3);background:rgba(251,251,248,.4);color:var(--fitrich-sage-deep)}
.profile-card>span{color:var(--fitrich-sage-deep)}.profile-card p{color:#59645e}
.profile-card button{border-color:var(--fitrich-black);background:var(--fitrich-black);color:#fff}
.settings-card{background:var(--fitrich-paper)}
.setting-row{border-color:var(--line);color:#444c48}
.setting-row i{border-color:#8f9692;border-radius:0;background:var(--fitrich-stone);color:var(--fitrich-sage-deep)}
.setting-row em{color:#747c77}.setting-row:hover{color:var(--fitrich-black);background:#f0f1ed}

/* Modal and mobile bottom navigation. */
.app-sheet{border-color:#737b76;background:var(--fitrich-paper);color:var(--ink);box-shadow:0 34px 90px rgba(11,13,12,.26)}
.app-sheet::backdrop{background:rgba(11,13,12,.62)}
.sheet-close{color:var(--fitrich-black)}
.app-sheet>span{color:var(--fitrich-sage-deep)}.app-sheet p{color:var(--muted)}
.sheet-bag-link{background:var(--fitrich-black);color:#fff}
.bottom-nav{background:rgba(11,13,12,.97);border-color:#303431}

@media(max-width:760px){
  .phase-ribbon{background:var(--fitrich-black)}
  .app-header{background:var(--fitrich-black)}
  .mobile-logo{color:#fff;font-weight:800}.mobile-logo small{color:var(--fitrich-sage)}
  .app-main{background:var(--fitrich-canvas)}
  .home-grid>.card,.routine-builder,.profile-card{margin-bottom:8px}
  .form-score{padding:22px 0;margin:25px 0}
  .quick-grid button{background:var(--fitrich-paper)}
  .app-product{background:var(--fitrich-paper)}
  .bottom-nav .nav-item{border:0;background:transparent;color:#a4aba6}
  .bottom-nav .nav-item.active{color:#fff}
  .bottom-nav .nav-item.active i{background:var(--fitrich-sage);border-color:var(--fitrich-sage);color:var(--fitrich-black)}
  .bottom-nav .nav-centre i,.bottom-nav .nav-centre.active i{background:var(--fitrich-sage);border-color:var(--fitrich-sage);color:var(--fitrich-black);box-shadow:0 0 0 5px var(--fitrich-black)}
}
/* Native app state supplied by the Capacitor bridge. */
.fitrich-native-offline{position:fixed;z-index:120;left:0;right:0;top:0;min-height:26px;padding:7px 18px;background:#0b0d0c;color:#93e3d2;text-align:center;font:800 5.5px Space Grotesk;letter-spacing:.14em;transform:translateY(-110%);transition:transform .25s ease}
.fitrich-native-offline.visible{transform:translateY(0)}
.is-native-app{overscroll-behavior:none}
.is-native-app body{user-select:none;-webkit-user-select:none}
.is-native-app input,.is-native-app textarea{user-select:text;-webkit-user-select:text}
