/* Deployed Lab layout, rethemed for REFLY. Keep after the compiled application CSS. */
@font-face{font-family:RF Plex Sans;font-weight:700;font-style:normal;font-display:swap;src:url(/wp-content/plugins/refly-lab/assets/fonts/plexsans700-lat.woff2)format("woff2");unicode-range:U+??,U+2000-206F,U+2122}
@font-face{font-family:RF Plex Sans;font-weight:700;font-style:normal;font-display:swap;src:url(/wp-content/plugins/refly-lab/assets/fonts/plexsans700-cyr.woff2)format("woff2");unicode-range:U+400-45F,U+301,U+2116}
@font-face{font-family:RF Plex Mono;font-weight:500;font-style:normal;font-display:swap;src:url(/wp-content/plugins/refly-lab/assets/fonts/plexmono500-lat.woff2)format("woff2");unicode-range:U+??,U+2000-206F,U+2122}
@font-face{font-family:RF Plex Mono;font-weight:500;font-style:normal;font-display:swap;src:url(/wp-content/plugins/refly-lab/assets/fonts/plexmono500-cyr.woff2)format("woff2");unicode-range:U+400-45F,U+301,U+2116}
:root{color:#f7f3ff;font-synthesis:none;--accent:#6c5ccf;--accent-dark:#5c4bb7;--accent-light:#8172dd;--ink:#292b39;--muted:#686172;--line:#ececf2;--lavender:#eeeaf8;--green:#3d806e;--orange:#ff6a00;--orange-dark:#e65f00;--orange-light:#ff8c28;background:#30234f;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;font-size:17px;font-weight:400}
*{box-sizing:border-box}
body{margin:0}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
button{cursor:pointer}
button:disabled{cursor:default;opacity:.55}
a{color:inherit;text-decoration:none}
button{color:inherit;background:0 0;border:0}
input,select,textarea{width:100%;color:var(--ink);background:#30234f;border:1px solid #ffffff24;border-radius:10px;outline:none;min-height:46px;padding:13px 14px}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6552b811}
textarea{resize:vertical}
label{margin-bottom:17px;font-size:15px;font-weight:650;line-height:1.6;display:block}
label input,label select,label textarea{margin-top:7px;display:block}
label small{color:var(--muted);margin-top:6px;font-weight:400;display:block}
h1,h2,h3,p{margin:0}
h1{letter-spacing:-1.7px;font-size:38px;font-weight:650;line-height:1.3}
h2{letter-spacing:-.5px;font-size:20px;font-weight:650}
h3{font-size:19px;font-weight:650}
p{line-height:1.65}
small{font-size:14px}
svg{stroke-width:1.65px;flex-shrink:0}
button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #ffffff24}
::selection{background:#30234f}
.small{font-size:15px}
.eyebrow{letter-spacing:1.4px;color:var(--muted);text-transform:uppercase;margin-bottom:9px;font-family:RF Plex Mono,monospace;font-size:13px;font-weight:400}
.mono{font-family:RF Plex Mono,monospace}
.btn{background:var(--orange);color:#f7f3ff;white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:12px 20px;font-size:15px;font-weight:650;transition:background .15s,box-shadow .15s;display:inline-flex}
.btn:hover:not(:disabled){background:var(--orange-dark);box-shadow:0 4px 12px #ff6a0033}
.btn.outline{color:var(--ink);background:0 0;border-color:#ffffff24}
.btn.outline:hover:not(:disabled){background:#ffffff24}
.btn.done{color:var(--green);opacity:1;background:#30234f}
.btn.danger{background:#b65258}
.full{width:100%}
.text-link{color:var(--accent);align-items:center;gap:6px;padding:5px 0;font-size:15px;font-weight:600;display:inline-flex}
.text-link:hover{text-decoration:underline}
.icon-btn{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}
.icon-btn:hover{background:#30234f}
.badge{color:#f7f3ff;white-space:nowrap;background:#30234f;border-radius:6px;padding:5px 9px;font-size:13px;font-weight:600;display:inline-flex}
.badge.success{color:#f7f3ff;background:#30234f}
.badge.warning{color:#d3c6e9;background:#30234f}
.card{border:1px solid var(--line);background:#30234f;border-radius:17px;padding:25px}
.section-title{justify-content:space-between;align-items:center;gap:15px;margin-bottom:23px;display:flex}
.section-title .eyebrow{letter-spacing:1.15px;font-size:13px}
.section-title h2{font-size:19px}
.page-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:27px;display:flex}
.page-heading p.muted{margin-top:8px;font-size:15px}
.heading-dot{color:var(--accent)}
.brand{letter-spacing:2.6px;white-space:nowrap;align-items:center;gap:11px;font-size:25px;font-weight:650;display:flex}
.brand-lab{color:var(--accent);letter-spacing:2px;vertical-align:middle;margin-left:7px;font-size:13px}
.brand small{color:var(--muted);letter-spacing:.2px;margin-top:4px;font-size:13px;font-weight:450;display:block}
.brand-symbol{grid-template-columns:12px 12px;gap:3px;display:grid;position:relative;transform:rotate(-10deg)}
.brand-symbol i{background:var(--accent);border-radius:8px 2px 6px;width:12px;height:15px}
.brand-symbol i:nth-child(2){opacity:.66;transform:scaleX(-1)}
.brand-symbol i:nth-child(3){opacity:.7;transform:scaleY(-1)}
.brand-symbol i:nth-child(4){background:#b3a3d5;transform:scale(-1)}
.sidebar{border-right:1px solid var(--line);z-index:20;background:#30234f;flex-direction:column;width:236px;padding:34px 22px 0;display:flex;position:fixed;inset:0 auto 0 0}
.sidebar>.brand{padding-left:9px}
.sidebar-nav{flex:1;margin-top:50px}
.nav-caption{letter-spacing:1.6px;color:#f7f3ff;margin-bottom:17px;padding-left:15px;font-family:RF Plex Mono,monospace;font-size:13px}
.sidebar nav{flex-direction:column;gap:5px;display:flex}
.sidebar nav button{text-align:left;color:#f7f3ff;border-radius:9px;align-items:center;gap:13px;width:100%;height:46px;padding:0 14px;font-size:15px;font-weight:550;display:flex}
.sidebar nav button.active{color:var(--accent);background:#30234f;font-weight:700}
.sidebar nav button:hover{background:#30234f}
.sidebar nav button small{color:var(--accent);background:#30234f;border-radius:5px;margin-left:auto;padding:2px 6px}
.sidebar nav button.nav-divider{margin-top:27px}
.sidebar-bottom{margin:22px -22px 0}
.sidebar-bottom>button{color:var(--muted);align-items:center;gap:13px;padding:14px 36px;font-size:15px;display:flex}
.profile{border-top:1px solid var(--line);align-items:center;gap:10px;padding:21px 17px;display:flex}
.profile strong{text-overflow:ellipsis;white-space:nowrap;max-width:105px;font-size:14px;display:block;overflow:hidden}
.profile small{color:var(--muted);margin-top:4px;font-size:13px;display:block}
.profile .icon-btn{width:28px;margin-left:auto}
.avatar{width:35px;height:35px;color:var(--accent);background:#30234f;border:1px solid #ffffff24;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:inline-flex}
.store-link{border:1px solid var(--line);border-radius:11px;align-items:center;gap:9px;padding:14px 12px;display:flex}
.store-link>span{letter-spacing:.7px;font-size:13px;font-weight:650}
.store-link small{color:var(--muted);letter-spacing:0;margin-top:5px;font-size:13px;font-weight:400;display:block}
.store-link>svg{color:var(--muted);margin-left:auto}
.store-mark{color:#d3c6e9;background:#30234f;border:1px solid #ffffff24;border-radius:8px;place-items:center;width:30px;height:34px;font-size:20px;font-weight:650;display:grid}
.app-main{margin-left:236px}
.topbar{border-bottom:1px solid var(--line);background:#30234f;justify-content:space-between;align-items:center;height:83px;padding:0 43px;display:flex}
.breadcrumb{color:#f7f3ff;font-size:14px}
.breadcrumb span{color:#d3c6e9;margin:0 13px}
.top-actions{align-items:center;gap:18px;display:flex}
.small-avatar{width:30px;height:30px;font-size:14px}
.connection{color:#f7f3ff;align-items:center;gap:7px;font-size:13px;display:flex}
.connection i{background:#70a590;border-radius:50%;width:5px;height:5px}
.connection.offline i{background:#c49a63}
main#main{outline:none;max-width:1500px;margin:0 auto;padding:34px 43px 0}
.week-strip{border:1px solid var(--line);background:#30234f;border-radius:14px;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:29px;padding:10px;display:grid}
.week-strip button{border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:85px;display:flex}
.week-strip button>span{color:#d3c6e9;text-transform:uppercase;letter-spacing:.6px;font-size:13px}
.week-strip button>strong{font-size:20px;font-weight:600}
.week-strip button>small{font-size:13px}
.week-strip button.selected{background:var(--accent);color:#f7f3ff;box-shadow:0 3px 9px #6552b82a}
.week-strip button.selected>span{color:#d3c6e9}
.week-strip button>i{background:0 0;border-radius:50%;width:3px;height:3px}
.week-strip button>i.has-events{background:#b4a4d5}
.week-strip button.selected>i.has-events{background:#30234f}
.week-strip button:not(.selected):hover{background:#30234f}
.dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(285px,1fr);gap:24px;display:grid}
.dashboard-primary,.dashboard-secondary{flex-direction:column;gap:23px;min-width:0;display:flex}
.day-section>.section-title{margin-bottom:16px}
.day-section>.section-title>div{flex-direction:row-reverse;justify-content:space-between;align-items:center;width:100%;display:flex}
.day-section .eyebrow{margin:0}
.event-list{flex-direction:column;gap:13px;display:flex}
.event-card{border:1px solid var(--line);background:#30234f;border-radius:15px;padding:19px 22px 0;overflow:hidden}
.event-card.featured{background:linear-gradient(115deg,#30234f,#30234f);border-color:#ffffff24}
.event-card.completed{background:#30234f}
.event-time{color:#f7f3ff;align-items:center;gap:6px;font-size:14px;display:flex}
.event-time .badge{margin-left:auto}
.event-main{align-items:center;gap:20px;padding:20px 0;display:flex}
.event-name{flex:1;min-width:0}
.event-name>p{color:#d3c6e9;margin-bottom:4px;font-size:13px}
.event-name h3{letter-spacing:.5px;margin-bottom:9px;font-size:20px}
.event-name .dose{letter-spacing:-.7px;font-size:22px;font-weight:650}
.event-name small{color:#d3c6e9;margin-top:5px;font-size:13px;display:block}
.event-action{flex-direction:column;align-items:center;gap:8px;display:flex}
.event-action .btn{min-width:114px}
.event-action .text-link{color:#f7f3ff;font-size:13px}
.event-bottom{color:#d3c6e9;border-top:1px solid #ffffff24;justify-content:space-between;gap:10px;padding:13px 0;font-size:13px;display:flex}
.event-bottom b{color:#d3c6e9;margin-left:4px;font-weight:550}
.product-glyph{width:45px;height:62px;color:var(--product-color);background:color-mix(in srgb,var(--product-color) 6%,white);border:1px solid color-mix(in srgb,var(--product-color) 10%,white);border-radius:11px;flex-shrink:0;place-items:center;display:grid}
.product-glyph svg{fill:none;stroke:currentColor;stroke-width:1px;width:30px;height:54px}
.product-glyph.large{border-radius:12px;width:68px;height:106px}
.product-glyph.large svg{stroke-width:1.2px;width:37px;height:88px}
.upcoming-card{padding-top:22px;padding-bottom:10px}
.upcoming-row{border-top:1px solid var(--line);align-items:center;gap:13px;padding:15px 0;display:flex}
.upcoming-row>div:nth-child(2){flex:1}
.upcoming-row strong{font-size:15px;font-weight:600}
.upcoming-row small{color:var(--muted);margin-top:5px;font-size:13px;display:block}
.date-tile{background:#30234f;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:43px;height:45px;display:flex}
.date-tile strong{font-size:18px}
.date-tile span{color:var(--muted);font-size:13px}
.upcoming-day{color:var(--muted);text-transform:uppercase;font-size:13px}
.daily-note{color:#d3c6e9;align-items:center;gap:14px;padding:3px 3px 10px;display:flex}
.daily-note>div{flex:1}
.daily-note strong{color:#f7f3ff;font-size:15px;font-weight:600}
.daily-note p{color:#f7f3ff;margin-top:4px;font-size:13px}
.weight-card .section-title{margin-bottom:23px}
.weight-value{letter-spacing:-1.8px;align-items:baseline;gap:8px;font-size:37px;font-weight:650;display:flex}
.weight-value>span{color:#f7f3ff;letter-spacing:0;font-size:17px;font-weight:400}
.weight-change{color:var(--green);letter-spacing:0;align-items:center;gap:3px;margin-left:auto;font-size:13px;display:inline-flex}
.weight-card>p{margin-top:4px;font-size:13px}
.weight-chart{margin:20px 0}
.weight-chart svg{width:100%;height:auto;display:block;overflow:visible}
.chart-labels{color:#d3c6e9;justify-content:space-between;margin-top:5px;font-family:RF Plex Mono,monospace;font-size:13px;display:flex}
.chart-empty{color:var(--muted);border-bottom:1px dashed var(--line);text-align:center;margin-bottom:24px;padding:42px 0;font-size:14px}
.stock-card .section-title{margin-bottom:5px}
.stock-row{border-bottom:1px solid var(--line);padding:20px 0}
.stock-row:last-of-type{border:0}
.stock-name{align-items:center;gap:7px;margin-bottom:10px;display:flex}
.stock-name strong{font-size:13px;font-weight:650}
.stock-name>span:last-child{color:#f7f3ff;margin-left:auto;font-size:13px}
.color-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}
.progress{background:#30234f;border-radius:9px;height:4px;overflow:hidden}
.progress>span{background:#9886ca;border-radius:9px;height:100%;display:block}
.stock-row>small{color:#d3c6e9;margin-top:8px;font-size:13px;display:block}
.stock-card>.text-link{margin-top:12px;font-size:13px}
.insight-card{color:#d3c6e9;background:#30234f;border-radius:11px;gap:11px;padding:17px 19px;display:flex}
.insight-card p{color:#f7f3ff;font-size:13px;line-height:1.8}
.insight-card strong{color:#f7f3ff;font-weight:550}
.app-footer{border-top:1px solid var(--line);color:#f7f3ff;justify-content:space-between;gap:12px;margin-top:25px;padding:29px 0;font-size:13px;display:flex}
.app-footer span:first-child{letter-spacing:.6px;align-items:center;gap:9px;font-size:13px;display:flex}
.app-footer i{background:#493365;border-radius:50%;width:3px;height:3px}
.bottom-nav,.mobile-brand{display:none}
.filter-tabs{border-bottom:1px solid var(--line);gap:6px;margin-bottom:25px;display:flex;overflow:auto}
.filter-tabs>button{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:12px 15px;font-size:15px;display:flex}
.filter-tabs>button.active{color:var(--accent);border-bottom-color:var(--accent)}
.filter-tabs span{background:#30234f;border-radius:4px;padding:2px 5px;font-size:13px}
.course-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}
.course-top{align-items:center;gap:12px;margin-bottom:21px;display:flex}
.course-top .badge{margin-left:auto}
.course-top>.product-glyph{width:40px;height:51px}
.course-top>.product-glyph svg{height:45px}
.course-card h2{margin:0 0 24px;font-size:26px}
.course-card .eyebrow{font-size:13px}
.course-facts{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:27px;display:grid}
.course-facts span{color:var(--muted);margin-bottom:7px;font-size:13px;display:block}
.course-facts strong{font-size:17px;font-weight:600}
.course-period{color:var(--muted);justify-content:space-between;margin-bottom:8px;font-size:13px;display:flex}
.course-card>.muted{margin-top:12px;font-size:13px}
.card-actions{border-top:1px solid var(--line);align-items:center;gap:15px;margin-top:24px;padding-top:16px;display:flex}
.card-actions button{align-items:center;gap:6px;padding:5px;font-size:13px;display:inline-flex}
.card-actions button:last-child{margin-left:auto}
.danger-text{color:#f7f3ff!important}
.checkbox-label{align-items:center;gap:8px;display:flex}
.checkbox-label input{width:15px;min-height:15px;accent-color:var(--accent);margin:0}
.inventory-card{padding:0;overflow:hidden}
.inventory-visual{background:color-mix(in srgb,var(--product-color) 6%,#30234f);border-bottom:1px solid var(--line);justify-content:center;align-items:center;gap:14px;height:159px;padding:20px;display:flex;position:relative}
.inventory-visual .product-glyph{background:0 0;border:0;width:38px}
.inventory-label{color:#f7f3ff;flex-direction:column;gap:6px;display:flex}
.inventory-label strong{letter-spacing:2px;font-size:18px}
.inventory-label small{letter-spacing:.5px;font-family:RF Plex Mono,monospace;font-size:13px}
.inventory-visual>.badge{background:#30234f;font-size:13px;position:absolute;top:14px;right:14px}
.inventory-body{padding:25px}
.inventory-body h2{letter-spacing:.1px;margin-bottom:20px;font-size:22px}
.inventory-numbers{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}
.inventory-numbers strong{font-size:26px;font-weight:600}
.inventory-numbers small{color:var(--muted);margin-left:5px;font-size:13px;font-weight:400}
.inventory-numbers>span{color:var(--muted);font-size:14px}
.inventory-body>.muted{margin-top:12px;font-size:13px}
.inventory-controls{gap:8px;margin-top:20px;margin-bottom:12px;display:flex}
.inventory-controls>.btn{flex:1}
.inventory-body>.text-link{color:var(--muted);font-size:13px}
.info-note{color:#f7f3ff;background:#30234f;border-radius:10px;align-items:flex-start;gap:10px;margin-top:23px;padding:15px 17px;font-size:14px;line-height:1.7;display:flex}
.info-note>svg{margin-top:2px}
.filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:23px;padding:20px;display:grid}
.filters label{margin-bottom:0}
.history-card{padding:10px 25px}
.list-caption{color:var(--muted);border-bottom:1px solid var(--line);justify-content:space-between;padding:16px 0;font-size:13px;display:flex}
.history-row{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:23px 0;display:flex}
.history-row:last-child{border-bottom:0}
.history-check,.observation-icon{color:#d3c6e9;background:#30234f;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}
.observation-icon{color:#d3c6e9;background:#30234f}
.history-copy{flex:1;min-width:0}
.history-copy>strong{font-size:15px;font-weight:600;display:block}
.history-copy>small{color:var(--muted);margin-top:6px;font-size:13px;display:block}
.history-copy>p{color:#f7f3ff;overflow-wrap:anywhere;margin-top:7px;font-size:14px}
.history-dose{text-align:right}
.history-dose strong{font-size:16px;font-weight:600}
.history-dose small{color:var(--muted);margin-top:5px;font-size:13px;display:block}
.row-actions{gap:2px;margin-left:4px;display:flex}
.row-actions .icon-btn{width:30px;height:34px}
.calendar-layout{grid-template-columns:minmax(0,1.9fr) minmax(220px,1fr);gap:23px;display:grid}
.calendar-toolbar{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}
.calendar-toolbar>div{align-items:center;gap:5px;display:flex}
.calendar-toolbar h2:first-letter{text-transform:uppercase}
.calendar-toolbar .text-link{font-size:13px}
.calendar-card>select{max-width:220px;min-height:40px;font-size:14px}
.calendar-weekdays{text-align:center;color:var(--muted);grid-template-columns:repeat(7,1fr);margin-top:26px;margin-bottom:13px;font-size:13px;display:grid}
.calendar-days{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}
.calendar-days>button{border:1px solid #0000;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:70px;display:flex}
.calendar-days>button>strong{font-size:16px;font-weight:550}
.calendar-days>button.outside{color:#f7f3ff}
.calendar-days>button.today{border-color:#ffffff24}
.calendar-days>button.selected{color:var(--accent);background:#30234f;border-color:#ffffff24}
.calendar-days>button:hover{background:#30234f}
.calendar-days>button>div{gap:3px;min-height:4px;display:flex}
.calendar-days i,.calendar-legend i{background:#a594c7;border-radius:50%;width:4px;height:4px;display:inline-block}
.calendar-days i.done,.calendar-legend i.done{background:#62a68b}
.calendar-days i.missed,.calendar-legend i.missed{background:#c99d66}
.calendar-legend{color:var(--muted);border-top:1px solid var(--line);justify-content:center;gap:18px;margin-top:24px;padding-top:17px;font-size:13px;display:flex}
.calendar-legend span{align-items:center;gap:6px;display:flex}
.day-details h2{margin-bottom:20px;font-size:26px}
.day-event{border-top:1px solid var(--line);padding:20px 0}
.day-event>small{color:var(--muted);align-items:center;gap:5px;font-size:13px;display:flex}
.day-event h3{margin-top:12px;font-size:18px}
.day-event p{color:#f7f3ff;margin:7px 0 15px;font-size:16px}
.day-event .btn{width:100%;font-size:14px}
.day-empty{text-align:center;color:#d3c6e9;padding:45px 0}
.day-empty p{margin:13px 0;font-size:14px}
.day-details>.muted{margin-top:20px;font-size:13px}
.measurement-metrics{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:23px;display:grid}
.metric:not(:last-child){border-right:1px solid var(--line)}
.metric>span{color:var(--muted);font-size:14px}
.metric strong{letter-spacing:-1px;margin-top:12px;font-size:32px;font-weight:600;display:block}
.metric strong small{color:var(--muted);letter-spacing:0;margin-left:5px;font-size:15px;font-weight:400}
.metric p{color:var(--muted);margin-top:7px;font-size:13px}
.measurement-chart{margin-bottom:23px}
.calculator-layout{grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);gap:24px;display:grid}
.calc-result{background:linear-gradient(145deg,#30234f,#30234f);border-color:#ffffff24;align-self:start;padding:32px}
.calc-volume{letter-spacing:-3px;color:#f7f3ff;margin-top:35px;font-size:63px;font-weight:600}
.calc-volume>span{letter-spacing:0;color:#d3c6e9;margin-left:12px;font-size:23px}
.calc-result>p:not(.eyebrow){color:#d3c6e9;margin:7px 0 25px;font-size:14px}
.calc-detail{color:#d3c6e9;border-top:1px solid #ffffff24;justify-content:space-between;padding:20px 0;font-size:14px;display:flex}
.calc-detail strong{color:#d3c6e9;font-size:17px;font-weight:600}
.calc-actions{flex-direction:column;gap:12px;margin-top:30px;display:flex}
.calc-actions>p{font-size:13px;line-height:1.6}
.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px;display:grid}
.switch-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;margin-bottom:0;padding:14px 0;font-size:14px;font-weight:500;display:flex}
.switch-row input{width:18px;height:18px;min-height:18px;accent-color:var(--accent);flex-shrink:0;margin:0}
.switch-row+label:not(.switch-row){margin-top:20px}
.settings-grid .card>p{margin-bottom:20px}
.settings-feature{color:#d3c6e9;align-items:flex-start;gap:17px;margin-bottom:22px;display:flex}
.settings-feature p{color:#f7f3ff;font-size:15px}
.danger-zone{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}
.danger-zone h3{font-size:16px}
.danger-zone p{margin:7px 0 12px}
.more-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}
.more-grid>button{text-align:left;align-items:center;gap:15px;display:flex}
.more-grid strong{flex:1;font-size:15px}
.more-grid svg{color:var(--accent)}
.modal{width:min(550px,100vw - 28px);max-height:calc(100dvh - 40px);color:var(--ink);background:#30234f;border:1px solid #ffffff24;border-radius:20px;padding:0;box-shadow:0 30px 100px #30243f30}
.modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#25223355}
.modal-inner{padding:28px}
.modal header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:25px;display:flex}
.modal h2{letter-spacing:-.9px;font-size:26px}
.modal header .muted{max-width:370px;margin-top:10px;font-size:14px}
.modal header .eyebrow{font-size:13px}
.modal .icon-btn{background:#30234f;margin-top:-3px}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;display:grid}
.form-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;margin-top:25px;padding-top:20px;display:flex}
.form-error{color:#f7f3ff;background:#30234f;border:1px solid #ffffff24;border-radius:9px;margin:13px 0;padding:12px 15px;font-size:15px;line-height:1.6}
.form-success{color:var(--green);background:#30234f;border-radius:9px;margin:13px 0;padding:12px 15px;font-size:15px}
.optional{color:#d3c6e9;margin-left:5px;font-size:13px;font-weight:400}
.optional-details{border-top:1px solid var(--line);margin:8px 0}
.optional-details summary{cursor:pointer;color:var(--accent);padding:16px 0;font-size:15px}
.optional-details[open] summary{margin-bottom:7px}
.form-summary{background:#30234f;border-radius:10px;justify-content:space-between;gap:12px;margin-bottom:21px;padding:17px;font-size:15px;display:flex}
.form-summary span{color:#d3c6e9;font-size:14px}
.empty{text-align:center;color:#f7f3ff;flex-direction:column;align-items:center;padding:40px 20px;display:flex}
.empty-icon{color:#d3c6e9;background:#30234f;border-radius:15px;place-items:center;width:55px;height:55px;margin-bottom:20px;display:grid}
.empty h3{color:#f7f3ff;margin-bottom:10px;font-size:18px;font-weight:600}
.empty p{max-width:350px;margin-bottom:23px;font-size:15px}
.toast{z-index:100;color:#f7f3ff;background:#30323d;border:1px solid #ffffff24;border-radius:11px;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 30px);padding:16px 23px;font-size:15px;display:flex;position:fixed;bottom:25px;left:calc(50% + 118px);transform:translate(-50%);box-shadow:0 8px 26px #26203c22}
.toast svg{color:#d3c6e9}
.error-banner,.offline-banner,.demo-banner,.update-banner{color:#d3c6e9;background:#30234f;align-items:center;gap:10px;padding:13px 24px;font-size:15px;display:flex}
.error-banner{color:#d3c6e9;background:#30234f;border-radius:11px;justify-content:space-between;margin-bottom:20px}
.demo-banner{color:#f7f3ff;background:#30234f;justify-content:center;font-size:13px}
.update-banner button{color:var(--accent);text-decoration:underline}
.boot{flex-direction:column;justify-content:center;align-items:center;gap:35px;min-height:100dvh;display:flex}
.boot>p{color:var(--muted);font-size:16px}
.spin{animation:1s linear infinite spin}
@keyframes spin{to{transform:rotate(360deg)}
}
.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
.skip-link{z-index:200;background:var(--accent);color:#f7f3ff;padding:15px;position:fixed;top:-100px;left:15px}
.skip-link:focus{top:10px}
.auth-page{background:#30234f;grid-template-columns:1fr 1fr;min-height:100dvh;display:grid}
.auth-story{background:linear-gradient(140deg,var(--accent-dark) 0%,var(--accent) 55%,var(--accent-light) 100%);color:#f7f3ff;flex-direction:column;padding:48px 11%;display:flex;position:relative;overflow:hidden}
.auth-story>.brand{font-size:26px}
.auth-headline{margin:auto 0;padding:65px 0}
.auth-headline>.eyebrow{letter-spacing:2px;color:#d3c6e9;margin-bottom:22px;font-size:13px}
.auth-headline h1{letter-spacing:-2.8px;font-size:55px;font-weight:550;line-height:1.2}
.auth-headline>p:not(.eyebrow){color:#f7f3ff;margin-top:23px;font-size:16px;line-height:1.9}
.auth-preview{background:#ffffffb0;border:1px solid #ffffff24;border-radius:19px;max-width:370px;margin-top:42px;padding:25px 27px;transform:rotate(-2deg);box-shadow:0 20px 40px #6552b80a}
.auth-preview-top{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}
.auth-preview-top>.mono{letter-spacing:2px;color:#d3c6e9;font-size:13px}
.preview-line{align-items:center;gap:12px;display:flex}
.check-circle{color:#d3c6e9;background:#30234f;border-radius:50%;place-items:center;width:35px;height:35px;display:grid}
.preview-line strong{font-size:16px;display:block}
.preview-line small{color:#d3c6e9;margin-top:5px;font-size:13px;display:block}
.preview-bars{border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:flex-end;gap:8px;height:90px;margin-top:24px;padding-bottom:9px;display:flex}
.preview-bars i{opacity:.45;background:#493365;border-radius:4px 4px 1px 1px;flex:1;max-width:16px}
.preview-bars i:nth-last-child(-n+3){opacity:.8}
.auth-preview>p{color:#d3c6e9;margin-top:14px;font-size:13px}
.auth-foot{letter-spacing:1.6px;color:#d3c6e9;justify-content:space-between;gap:20px;font-size:13px;display:flex}
.auth-foot span{letter-spacing:0;font-size:13px}
.auth-form-side{flex-direction:column;padding:45px 12% 30px;display:flex}
.back-store{color:#f7f3ff;white-space:nowrap;justify-content:flex-end;align-items:center;gap:8px;font-size:13px;display:flex}
.auth-form-wrap{align-self:center;width:100%;max-width:370px;margin:auto 0;padding:60px 0}
.auth-seal{color:#d3c6e9;background:#30234f;border-radius:15px;place-items:center;width:51px;height:51px;margin-bottom:26px;display:grid}
.auth-form-wrap h2{letter-spacing:-1.1px;margin-bottom:13px;font-size:29px;font-weight:600}
.auth-form-wrap>.muted{margin-bottom:32px;font-size:15px;line-height:1.8}
.auth-form-wrap label{font-size:14px}
.password-input{position:relative}
.password-input input{padding-right:45px}
.password-input .icon-btn{color:#d3c6e9;position:absolute;top:5px;right:5px}
.forgot{margin-bottom:21px;margin-left:auto;font-size:13px;display:flex}
.auth-switch{color:#f7f3ff;text-align:center;margin-top:25px;font-size:14px}
.auth-switch .text-link{font-size:14px}
.privacy-note{border-top:1px solid var(--line);color:#f7f3ff;align-items:flex-start;gap:9px;margin-top:29px;padding-top:25px;font-size:13px;line-height:1.8;display:flex}
.auth-legal{color:#f7f3ff;justify-content:space-between;gap:20px;font-size:13px;display:flex}
@media (width>=1450px){main#main{padding-left:56px;padding-right:56px}
.dashboard-grid{grid-template-columns:minmax(0,1.85fr) minmax(320px,1fr)}
.event-main{padding:26px 0}
.event-card{padding-left:27px;padding-right:27px}
.product-glyph.large{width:73px;height:116px}
.event-name h3{font-size:23px}
.event-name .dose{font-size:26px}
.week-strip button{min-height:91px}
.weight-chart{margin-top:28px;margin-bottom:27px}
}
@media (width<=1150px){.sidebar{width:205px;padding-left:16px;padding-right:16px}
.sidebar .brand{gap:8px;font-size:22px}
.sidebar .brand-lab{margin-left:5px;font-size:13px}
.sidebar-bottom{margin-left:-16px;margin-right:-16px}
.app-main{margin-left:205px}
.topbar{padding:0 25px}
main#main{padding:28px 25px 0}
.dashboard-grid{grid-template-columns:minmax(0,1.3fr) minmax(255px,1fr);gap:18px}
.card{padding:20px}
.event-card{padding:17px 17px 0}
.event-main{flex-wrap:wrap;gap:12px}
.event-action{flex-direction:row;justify-content:space-between;width:100%}
.event-action .btn{flex:1}
.event-action .text-link{padding:0 10px}
.event-bottom{font-size:13px}
.product-glyph.large{width:50px;height:80px}
.product-glyph.large svg{height:68px}
.event-name h3{font-size:20px}
.event-name .dose{font-size:22px}
.toast{left:calc(50% + 100px)}
.filters{grid-template-columns:repeat(2,1fr)}
.calendar-layout{grid-template-columns:minmax(0,1.7fr) minmax(200px,1fr)}
.calendar-card{padding:17px}
.calendar-toolbar h2{font-size:18px}
.calculator-layout{grid-template-columns:1.2fr 1fr}
.auth-story{padding-left:9%;padding-right:9%}
.auth-headline h1{font-size:45px}
.auth-form-side{padding-left:9%;padding-right:9%}
}
@media (width<=900px){.sidebar{width:180px;padding:30px 12px 0}
.sidebar>.brand{padding-left:4px;font-size:20px}
.sidebar .brand-symbol{grid-template-columns:9px 9px;gap:2px}
.sidebar .brand-symbol i{width:9px;height:12px}
.sidebar .brand-lab{margin-top:3px;margin-left:0;font-size:13px;display:block}
.sidebar .brand small{display:none}
.sidebar nav button{gap:10px;padding:0 10px;font-size:14px}
.sidebar-bottom{margin:20px -12px 0}
.sidebar-bottom>button{padding-left:23px}
.store-link{padding:10px 8px}
.store-link>span{font-size:13px}
.profile{padding:18px 10px}
.profile small{font-size:13px}
.profile strong{max-width:75px;font-size:13px}
.app-main{margin-left:180px}
.topbar{height:70px}
.connection{display:none}
.dashboard-grid{grid-template-columns:1fr}
.dashboard-secondary{grid-template-columns:1fr 1fr;display:grid}
.insight-card{grid-column:span 2}
.event-main{flex-wrap:nowrap;padding:20px 0}
.event-action{flex-direction:column;width:auto}
.event-action .text-link{padding:0}
.course-grid,.product-grid,.calendar-layout{grid-template-columns:1fr}
.calendar-days>button{min-height:66px}
.day-details{flex-direction:column;display:flex}
.calculator-layout,.settings-grid{grid-template-columns:1fr}
.toast{left:calc(50% + 90px)}
.auth-headline h1{font-size:38px}
.auth-preview{padding:20px}
.auth-foot{flex-direction:column;gap:5px}
.auth-form-wrap h2{font-size:25px}
.auth-form-side{padding:32px 8% 25px}
}
@media (width<=680px){:root{font-size:18px}
.sidebar,.breadcrumb,.small-avatar{display:none}
.app-main{margin:0}
.mobile-brand{display:block}
.brand{font-size:22px}
.brand-symbol{grid-template-columns:10px 10px;gap:2px}
.brand-symbol i{width:10px;height:13px}
.brand-lab{font-size:13px}
.topbar{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#30234f;height:69px;padding:0 20px;position:sticky;top:0}
.top-actions{gap:5px}
.top-actions .icon-btn{width:42px;height:42px}
main#main{padding:24px 18px 83px}
h1{letter-spacing:-1.1px;font-size:31px}
.page-heading{align-items:center;gap:10px;margin-bottom:23px}
.page-heading>div{min-width:0}
.page-heading .eyebrow{letter-spacing:1px;font-size:13px}
.page-heading .muted{max-width:245px;font-size:14px;line-height:1.6}
.page-heading>.btn{border-radius:12px;flex-shrink:0;width:42px;height:42px;padding:0;font-size:0}
.page-heading>.btn>svg{width:20px;height:20px}
.week-strip{border-radius:12px;gap:2px;margin-bottom:25px;padding:5px}
.week-strip button{gap:4px;min-height:73px}
.week-strip button>span{font-size:13px}
.week-strip button>strong{font-size:19px}
.week-strip button>small{font-size:13px}
.dashboard-grid{gap:21px}
.dashboard-primary,.dashboard-secondary{gap:20px}
.dashboard-secondary{display:flex}
.event-card{border-radius:14px;padding:16px 16px 0}
.event-main{flex-wrap:wrap;gap:13px;padding:19px 0}
.product-glyph.large{width:51px;height:84px}
.event-name h3{font-size:20px}
.event-name>p{font-size:13px}
.event-name .dose{font-size:23px}
.event-name small{font-size:13px}
.event-action{flex-direction:row;justify-content:space-between;gap:15px;width:100%}
.event-action .btn{flex:1;min-height:44px}
.event-action .text-link{font-size:13px}
.event-bottom{align-items:center;gap:10px;font-size:13px;line-height:1.5}
.event-time{font-size:13px}
.badge{font-size:13px}
.card{border-radius:14px;padding:20px}
.section-title h2{font-size:19px}
.section-title .text-link{font-size:14px}
.day-section .eyebrow{font-size:13px}
.daily-note{padding:0 5px}
.daily-note p,.stock-row>small{font-size:13px}
.stock-name strong,.stock-name>span:last-child,.stock-card>.text-link,.weight-card>p{font-size:14px}
.weight-card .weight-chart{margin:26px 0}
.chart-labels{font-size:13px}
.upcoming-row strong{font-size:16px}
.upcoming-row small{font-size:14px}
.app-footer{text-align:center;flex-direction:column;align-items:center;gap:8px;margin-top:28px;font-size:13px}
.app-footer span:first-child{font-size:13px}
.bottom-nav{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:7px 9px calc(7px + env(safe-area-inset-bottom));height:calc(70px + env(safe-area-inset-bottom));background:#30234f;border-top:1px solid #ffffff24;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}
.bottom-nav>button{color:#d3c6e9;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:56px;min-height:50px;font-size:13px;display:flex}
.bottom-nav>button.active{color:var(--accent)}
.bottom-nav>.add-nav{background:var(--accent);color:#f7f3ff;border-radius:15px;width:45px;min-width:45px;height:45px;min-height:45px;margin:0 7px;box-shadow:0 4px 11px #6552b825}
.toast{left:50%;bottom:calc(82px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 26px);padding:14px 17px;font-size:14px;line-height:1.6}
.inventory-visual{height:140px}
.inventory-body{padding:20px}
.inventory-card{padding:0}
.course-facts strong{font-size:17px}
.card-actions button{min-height:38px;font-size:14px}
.card-actions button:last-child{justify-content:center;width:40px}
.filter-tabs{gap:0;margin-bottom:20px}
.filter-tabs>button{padding:12px 13px;font-size:14px}
.filters{gap:10px;padding:15px}
.filters label{font-size:13px}
.filters input,.filters select{min-width:0;padding:10px;font-size:15px}
.history-card{padding:0 17px}
.history-row{flex-wrap:wrap;gap:11px;padding:22px 0;position:relative}
.history-copy>strong{font-size:15px}
.history-copy>small{font-size:13px;line-height:1.6}
.history-copy{min-width:130px}
.history-dose{margin-left:auto}
.row-actions{justify-content:flex-end;width:100%;margin-top:-3px}
.row-actions .icon-btn{width:40px;height:35px}
.history-check{width:29px;height:29px}
.calendar-toolbar{gap:5px}
.calendar-toolbar h2{font-size:18px}
.calendar-toolbar .icon-btn{width:30px}
.calendar-card{padding:17px 12px}
.calendar-card>select{max-width:100%;font-size:16px}
.calendar-days>button{gap:7px;min-height:51px}
.calendar-days>button>strong{font-size:15px}
.calendar-legend{gap:12px;font-size:13px}
.day-details h2{font-size:24px}
.measurement-metrics{grid-template-columns:repeat(2,1fr);gap:12px;padding:19px 15px}
.measurement-metrics .metric:last-child{display:none}
.measurement-metrics .metric:nth-child(2){border-right:0}
.metric strong{font-size:28px}
.metric>span,.measurement-chart>.muted{font-size:13px}
.more-grid{grid-template-columns:1fr}
.more-grid>button{min-height:75px}
.more-grid strong{font-size:17px}
.settings-grid .card{padding:23px}
.settings-feature p,.settings-grid label,.switch-row{font-size:15px}
.calc-result{padding:26px}
.calc-volume{margin-top:26px;font-size:57px}
.calc-detail{font-size:15px}
.calc-form .filter-tabs>button{padding:12px 9px;font-size:14px}
input,select,textarea{font-size:19px}
label{font-size:15px}
.modal{border-radius:18px;width:calc(100vw - 20px);max-height:calc(100dvh - 24px)}
.modal-inner{padding:23px 20px}
.modal h2{font-size:24px}
.modal header .muted{font-size:14px}
.form-actions{z-index:1;background:#30234f;margin-bottom:-16px;padding-bottom:16px;position:sticky;bottom:-23px}
.form-actions>.btn{flex:1;font-size:15px}
.form-grid{gap:0 12px}
.form-grid label{font-size:14px}
.optional-details summary{font-size:15px}
.form-summary{flex-direction:column;gap:7px}
.info-note{font-size:14px}
.empty{padding:35px 5px}
.empty p{font-size:15px}
.auth-page{display:block}
.auth-story{background:linear-gradient(140deg,var(--accent-dark) 0%,var(--accent) 55%,var(--accent-light) 100%);color:#f7f3ff;padding:30px 26px}
.auth-story>.brand{font-size:25px}
.auth-headline{padding:32px 0 6px}
.auth-headline>.eyebrow,.auth-preview,.auth-foot{display:none}
.auth-headline h1{letter-spacing:-1.5px;font-size:35px;line-height:1.2}
.auth-headline h1 br{display:none}
.auth-headline h1 span{display:block}
.auth-headline>p:not(.eyebrow){margin-top:14px;font-size:15px}
.auth-form-side{padding:22px 26px 25px}
.back-store{font-size:13px}
.auth-form-wrap{max-width:none;padding:25px 0 35px}
.auth-seal{display:none}
.auth-form-wrap h2{font-size:25px}
.auth-form-wrap>.muted{margin-bottom:25px;font-size:15px}
.auth-form-wrap label,.auth-switch,.auth-switch .text-link{font-size:15px}
.auth-legal{font-size:13px}
.privacy-note{font-size:13px}
.auth-form-wrap .forgot{font-size:14px}
.demo-banner{padding:10px 20px;font-size:13px}
.offline-banner,.info-note p{font-size:14px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
@media print{.sidebar,.topbar,.bottom-nav,.btn,.row-actions,.app-footer{display:none!important}
.app-main{margin:0}
main#main{padding:0}
.card{break-inside:avoid;border-color:#ffffff24}
.dashboard-grid{display:block}
body{background:#30234f}
}
.stock-projection{color:#f7f3ff;margin:16px 0;font-size:15px;line-height:1.6}
.stock-projection p{margin:4px 0}
.stock-projection small{color:#d3c6e9;font-size:14px}
.notification-dot{background:#6552b8;border-radius:50%;width:7px;height:7px;position:absolute;top:5px;right:7px}
.top-actions .icon-btn{position:relative}
.reminder-row{border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;display:flex}
.reminder-row small{color:#d3c6e9;margin-top:7px;display:block}
.reminder-row .btn{min-height:40px;font-size:15px}
.chart-marker-legend{color:#d3c6e9;margin:9px 0 0;font-size:14px}
.muted{color:#d3c6e9}
.event-name small,.event-bottom,.week-strip button>span,.stock-row>small,.chart-labels,.event-name p{color:#d3c6e9}
.bottom-nav button{color:#d3c6e9}
.bottom-nav button.active{color:var(--accent)}
h1,h2,h3,.brand{font-family:RF Plex Sans,sans-serif}
.auth-story .brand{color:#f7f3ff}
.auth-headline>.eyebrow{color:#d3c6e9}
.auth-headline h1{color:#f7f3ff}
.auth-headline h1>span{color:#d3c6e9}
.auth-headline>p:not(.eyebrow){color:#d3c6e9}
.auth-preview{background:#30234f;border-color:#ffffff24;box-shadow:0 20px 40px #1e164e33}
.auth-preview-top>.mono{color:#d3c6e9}
.auth-preview-top>.badge{color:#f7f3ff;background:#30234f}
.auth-preview .check-circle{color:var(--orange-light);background:#ff6a0026}
.auth-preview strong{color:#f7f3ff}
.auth-preview small,.auth-preview>p{color:#d3c6e9}
.preview-bars i{background:var(--orange-light)}
.auth-foot{color:#d3c6e9}

/* Brand palette and explicit interactive states. */
:root{color-scheme:dark;--ink:#f7f3ff;--muted:#d0c3e4;--line:#ffffff24;--accent:#cfbaff;--accent-dark:#1e164e;--accent-light:#8172dd;--lavender:#43315f;--green:#a2e4c4;--orange:#ff8c28;--orange-dark:#ffa34f;--orange-light:#ffb77a;background:#241a48;color:var(--ink);font-size:16px}
body{min-height:100vh;background:linear-gradient(150deg,#1e164e 0%,#6c5ccf 55%,#5c4bb7 100%) fixed;color:var(--ink)}
.app{min-height:100vh}.app-main{background:transparent}.sidebar{background:linear-gradient(165deg,#251a4c,#39235f);box-shadow:12px 0 50px #160d3020}.topbar{background:#241a48b8;backdrop-filter:blur(18px)}
.card,.event-card,.week-strip,.more-grid>button{background:#2e224fdf;border-color:var(--line);box-shadow:0 12px 32px #160c2620}.event-card.featured{background:linear-gradient(125deg,#493066,#352351);border-color:#c8a7ed55}.event-card.completed{background:#293a42}
.brand{gap:13px;letter-spacing:0}.brand-symbol{display:block;transform:none;width:128px;height:51px;flex:0 0 128px;background:url('./logo.svg') center/contain no-repeat;filter:brightness(0) invert(1)}.brand-symbol i{display:none}.brand>span{font-size:0;white-space:normal}.brand-lab{display:block;margin:0;color:#ffb77a;font-size:14px;letter-spacing:.18em}.brand small{font-size:12px;line-height:1.4;letter-spacing:0;color:#e3d8f2;max-width:84px;margin-top:7px}
.sidebar>.brand{padding-left:0}.store-mark{display:none}.store-link>span{font-size:13px;letter-spacing:0}.store-link>span:before{content:none}.store-link{background:#ffffff08;min-height:44px;padding:10px 12px}
.sidebar nav button,.sidebar-bottom>button{color:#e0d3ef;font-size:15px;min-height:48px;height:auto;line-height:1.4}.sidebar nav button.active{color:white;background:linear-gradient(110deg,#7558b4,#533987);box-shadow:inset 3px 0 #ff963d}.sidebar nav button:hover{background:#ffffff12}.nav-caption{color:#cabcdf;font-size:12px}.profile strong{font-size:14px}.profile small{font-size:12px}.avatar{background:#5a3d7b;color:#fff;border-color:#b599d44d}
.btn{font-size:15px;color:#241638;background:linear-gradient(115deg,#ffad5c,#ff8624);min-height:48px;font-weight:700}.btn:hover:not(:disabled){color:#241638;background:#ffb36b}.btn.outline{background:#ffffff08;color:#f7f3ff;border-color:#ffffff38}.btn.outline:hover:not(:disabled){background:#ffffff18}.btn.done{background:#204f46;color:#bff7dd}.btn.danger{background:#963d59;color:#fff}.danger-text{color:#ffb1be!important}.text-link{color:#e0c8ff}.icon-btn:hover{background:#ffffff15}
.badge{background:#ffffff14;color:#e9ddfa}.badge.success{background:#254d46;color:#bff7dd}.badge.warning{background:#68452f;color:#ffe0ad}.progress{height:8px;background:#ffffff1c;border-radius:10px}.progress>span{background:linear-gradient(90deg,#ff6a00,#ffb25f);box-shadow:0 0 12px #ff8c2833}
.week-strip button.selected,.calendar-days>button.selected{background:#7557b1;color:white;border-color:#c8adeb}.week-strip button:not(.selected):hover,.calendar-days>button:hover{background:#ffffff12}.week-strip button>span,.week-strip button.selected>span{color:#e0d3f0}.week-strip button>small{font-size:12px}.week-strip{gap:3px}
.product-glyph{background:#ffffff0b;border-color:#ffffff26;color:color-mix(in srgb,var(--product-color) 45%,white)}.inventory-visual{background:linear-gradient(125deg,#4d346d,#302348)}.inventory-label{color:#f1e5ff}.inventory-visual>.badge{background:#30234feb;color:#f3e6ff}.inventory-numbers>span,.inventory-body>.muted,.stock-name>span:last-child{color:#dfd0ed}.stock-name strong{font-size:15px}.stock-row>small{font-size:13px;color:#d2c2e2}
input,select,textarea{background:#20172f;color:#fff;border-color:#8b719b;min-height:49px;font-size:16px}input::placeholder,textarea::placeholder{color:#b5a5c8}input:focus,select:focus,textarea:focus{border-color:#dfbbff;box-shadow:0 0 0 3px #c9a3ff30}option{background:#281d3f;color:#fff}label{font-size:15px}.form-actions{background:#30234f}.modal{background:#30234f;border-color:#a98bca55}.modal::backdrop,.rf-shop-dialog::backdrop{background:#110b28b8;backdrop-filter:blur(7px)}.form-error,.error-banner{background:#56243a;color:#ffd2de;border-color:#b35c77}.form-success{background:#234c40;color:#c1f2d7}.form-summary,.info-note,.insight-card{background:#ffffff0b;color:#e4d4f5}.form-summary span,.insight-card p,.insight-card strong{color:#e4d4f5}
.calc-result{background:linear-gradient(145deg,#51356f,#30234f);border-color:#c3a0e544}.calc-volume{color:#ffb77a}.calc-volume>span,.calc-detail,.calc-detail strong,.calc-result>p:not(.eyebrow){color:#ecddfa}.history-check{background:#254f45;color:#b1e6d0}.observation-icon{background:#533653;color:#f3c3ec}.empty,.empty h3,.empty p{color:#e4d7f2}.empty-icon{background:#ffffff10;color:#dfc2ff}
.auth-page{background:transparent}.auth-story{background:linear-gradient(150deg,#1e164e,#5c4bb7);color:white}.auth-form-side{background:#261b42cc}.auth-form-wrap h2{color:white}.auth-headline h1{color:white}.auth-headline h1>span{color:#ffb77a}.auth-headline>p:not(.eyebrow){color:#e5d6f5}.auth-preview{background:#ffffff10;border-color:#ffffff30}.auth-preview strong{color:#fff}.auth-preview small,.auth-preview>p{color:#e0d0ed}.auth-preview .check-circle{background:#ff8c2820;color:#ffc18a}.preview-bars i{background:linear-gradient(#ffb463,#ff8429)}.auth-seal{color:#ffc18a;background:#ffffff10}.auth-switch,.privacy-note,.auth-legal,.auth-foot,.back-store{color:#d9caea}.auth-legal{font-size:13px}.auth-form-wrap>.muted{font-size:17px}.auth-form-wrap label{font-size:16px}
.bottom-nav{background:#251b43f5;border-color:#ffffff26;backdrop-filter:blur(18px)}.bottom-nav button{color:#dbceeb}.bottom-nav button.active{color:#ffc18a}.bottom-nav .bottom-add{background:#ff9236;color:#251637}.connection,.breadcrumb{color:#dbceeb}.muted,.event-name p,.event-name small,.event-bottom,.chart-labels,.daily-note,.daily-note strong,.daily-note p,.stock-projection,.stock-projection small,.reminder-row small{color:#d0c3e4}.event-bottom b{color:#eee1fc}.notification-dot{background:#ff963e}
.rf-shop-open{background:#584071;color:#ffdfbc;border-color:#ac83bd;font-size:14px;padding:10px 13px}.rf-shop-dialog{background:#30234f;color:#f6eeff;border-color:#ffffff30;font-size:16px}.rf-shop-description,.rf-shop-meta{color:#d0c3e4}.rf-shop-card{border-color:#ffffff2b}.rf-shop-secondary{background:#ffffff0c;color:#f4e8ff;border-color:#b092c7}.rf-shop-primary{background:#ff963d;color:#241638;border-color:#ff963d}.rf-shop-dialog input,.rf-shop-dialog select{background:#20172f;color:white;border-color:#8b719b}.rf-shop-success{color:#b4ebd0}.rf-shop-status{background:#ffffff14;color:white}.rf-shop-status.is-error{background:#56243a;color:#ffd2de}.rf-shop-heading h2,.rf-shop-card h3{color:white}
@media(min-width:1101px){.sidebar{width:274px;padding-left:24px;padding-right:24px}.app-main{margin-left:274px}.sidebar-bottom{margin-left:-24px;margin-right:-24px}.profile strong{max-width:140px}.toast{left:calc(50% + 137px)}}
@media(max-width:1100px) and (min-width:761px){.brand-symbol{width:104px;height:42px;flex-basis:104px}.brand small{font-size:11px}.brand-lab{font-size:12px}.sidebar nav button{font-size:14px;padding-left:10px;gap:9px}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:760px){.brand-symbol{width:104px;height:42px;flex-basis:104px}.brand-lab{font-size:12px}.mobile-brand .brand{gap:9px}.mobile-brand .brand-symbol{width:95px;flex-basis:95px;height:38px}.brand small{font-size:12px}.auth-story{background:linear-gradient(150deg,#1e164e,#5c4bb7)}.auth-headline>p:not(.eyebrow){font-size:16px}.auth-form-side{padding:26px 24px}.auth-form-wrap>.muted{font-size:16px}.auth-form-wrap label{font-size:15px}.auth-legal,.privacy-note{font-size:13px}.page-heading{align-items:flex-start;flex-wrap:wrap;gap:16px}.page-heading p.muted{font-size:15px}.page-heading .btn{font-size:14px}.section-title h2{font-size:20px}.section-title .eyebrow{font-size:12px}.day-section>.section-title>div{align-items:start;gap:10px}.day-section .eyebrow{max-width:115px;text-align:right}.week-strip{padding:5px;gap:1px}.week-strip button{min-height:74px}.week-strip button>span{font-size:11px}.week-strip button>small{font-size:10px}.week-strip button>strong{font-size:18px}.event-main{flex-wrap:wrap}.event-action{flex-direction:row;flex-wrap:wrap;width:100%}.event-bottom{flex-wrap:wrap;font-size:13px}.inventory-controls{flex-wrap:wrap}.inventory-controls .btn{font-size:14px;min-width:0;padding:12px}.calendar-legend{flex-wrap:wrap;font-size:12px}.calendar-toolbar{flex-wrap:wrap}.form-actions{background:#30234f}.form-actions>.btn{font-size:14px}.bottom-nav button{font-size:11px}.top-actions{gap:8px}.rf-shop-open{font-size:12px;padding:9px}.auth-page .brand-symbol{width:132px;flex-basis:132px;height:52px}.history-row{flex-wrap:wrap}.history-copy{min-width:150px}.stock-name{flex-wrap:wrap}.app-footer{font-size:12px;flex-wrap:wrap}.app-footer span:first-child{font-size:11px}.form-grid{grid-template-columns:1fr}.modal header .muted{font-size:14px}.chart-labels{font-size:10px}}
@media print{body{background:white;color:#222}.card{background:white;color:#222}}
body{background-attachment:scroll}.brand small{font-size:12px;line-height:1.4}.btn.outline:hover:not(:disabled){color:#fff;box-shadow:none}.bottom-nav>.add-nav{background:linear-gradient(135deg,#ffb66a,#ff8624);color:#241638}
@media(max-width:760px){.page-heading>.btn{width:auto;height:auto;min-height:46px;max-width:100%;padding:12px 16px;font-size:14px}.page-heading>div{min-width:0;flex:1 1 100%}}
button:focus-visible,a:focus-visible,.rf-shop-dialog :focus-visible,.rf-shop-open:focus-visible{outline:3px solid #ffb76d;outline-offset:4px}.calendar-days>button.outside{color:#b7a7cb;font-weight:400}.calendar-days>button.outside>strong{font-weight:400}
@media(max-width:760px){.week-strip button>small,.chart-labels,.bottom-nav button{font-size:12px}.measurement-metrics .metric:last-child{display:block;grid-column:1/-1}.measurement-metrics .metric:last-child strong{font-size:28px}}
.weight-chart svg line[stroke="#ececf0"]{stroke:#ffffff2e}.weight-chart svg [stroke="#6c5ccf"]{stroke:#ffad62}.weight-chart svg circle[fill="#6c5ccf"]{fill:#ffad62}.weight-chart svg stop{stop-color:#ff963d}
/* Native iOS date/time controls must not impose their intrinsic width on a grid cell. */
.filters,.form-grid{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr))}
.filters>label,.form-grid>label,.modal form,.modal label,.modal-inner,.rf-shop-dialog form,.rf-shop-dialog label{min-width:0;max-width:100%}
input:not([type=checkbox]):not([type=radio]),select,textarea{box-sizing:border-box;min-width:0;max-width:100%;min-inline-size:0;max-inline-size:100%}
input[type=date],input[type=time],input[type=datetime-local]{display:block;appearance:none;-webkit-appearance:none;width:100%;inline-size:100%;min-width:0;min-inline-size:0;max-width:100%;max-inline-size:100%;text-align:left}
input::-webkit-date-and-time-value{min-width:0;text-align:left}
input::-webkit-datetime-edit{min-width:0;padding:0}
@media(min-width:1101px){.filters{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.filters,.form-grid{grid-template-columns:minmax(0,1fr);gap:16px}.filters input,.filters select{font-size:16px;min-height:49px}.modal .form-actions,.rf-shop-dialog form{min-width:0}.modal .form-actions{flex-wrap:wrap}.modal .form-actions>.btn{white-space:normal;min-width:0;flex:1 1 120px}.optional-details summary{overflow-wrap:anywhere}}

/* Selected weekday labels remain readable at mobile font sizes. */
.week-strip button.selected>span{color:#fff}
