/* BMI legend colors remain constant; all other accents follow the latest BMI. */
:root {
  --bmi-underweight: #a7d7d2;
  --bmi-normal: #6bc986;
  --bmi-overweight: #f3c875;
  --bmi-obese: #ed9c82;
  --theme-primary: #2f8050;
  --theme-heading: #183d2c;
  --theme-text: #233c32;
  --theme-muted: #65766b;
  --theme-soft: #e4f5e8;
  --theme-tint: #f0f7f1;
  --theme-border: #dfebe2;
  --theme-page: #f9fbf8;
  --theme-canvas: #f3f7f3;
  --theme-overlay: #18372966;
  --theme-shadow: #315b3c0c;
  --theme-on-primary-muted: #eff8f1;
}
:root[data-theme="underweight"] {
  --theme-primary: #277873;
  --theme-heading: #163d3a;
  --theme-text: #263d3b;
  --theme-muted: #607572;
  --theme-soft: #e0f2ef;
  --theme-tint: #eef8f6;
  --theme-border: #d9eae7;
  --theme-page: #f7fbfa;
  --theme-canvas: #f0f7f5;
  --theme-overlay: #163d3a66;
  --theme-shadow: #315b570c;
  --theme-on-primary-muted: #edf8f6;
}
:root[data-theme="overweight"] {
  --theme-primary: #946010;
  --theme-heading: #49340f;
  --theme-text: #443b29;
  --theme-muted: #796d55;
  --theme-soft: #fff0cf;
  --theme-tint: #fff8e8;
  --theme-border: #eee3ca;
  --theme-page: #fffcf5;
  --theme-canvas: #faf6eb;
  --theme-overlay: #49340f66;
  --theme-shadow: #6853290c;
  --theme-on-primary-muted: #fff7e6;
}
:root[data-theme="obese"] {
  --theme-primary: #ae4c32;
  --theme-heading: #51291f;
  --theme-text: #49352e;
  --theme-muted: #80695f;
  --theme-soft: #fce8e0;
  --theme-tint: #fff3ed;
  --theme-border: #efded6;
  --theme-page: #fffaf7;
  --theme-canvas: #faf3ef;
  --theme-overlay: #51291f66;
  --theme-shadow: #6840290c;
  --theme-on-primary-muted: #fff2ec;
}
:root{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--theme-text);background:var(--theme-canvas);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}svg{width:20px;height:20px;flex:none}button:disabled{opacity:.6;cursor:wait}.shell,.auth,.onboarding{max-width:520px;margin:auto;min-height:100vh;background:var(--theme-page)}.shell{padding-bottom:90px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.brand{display:flex;gap:10px;align-items:center;font-weight:750;font-size:18px;color:var(--theme-heading)}.brand small{display:block;font-size:8px;letter-spacing:1.4px;color:var(--theme-muted);margin-top:2px}.brand-icon{width:38px;height:38px;border-radius:12px;background:var(--theme-soft);color:var(--theme-primary);display:grid;place-items:center}.brand-icon svg{width:22px;height:22px}.top-date{font-size:12px;color:var(--theme-muted)}.content{padding:0 24px}.eyebrow{font-size:10px!important;letter-spacing:1.4px;color:var(--theme-primary)!important;font-weight:750;margin:0 0 9px!important}.page-header p:last-child{font-size:13px;color:var(--theme-muted);margin:8px 0 0}.weight-panel{background:var(--theme-primary);border-radius:16px;color:white;padding:23px 23px 17px;position:relative;overflow:hidden}.weight-panel:after{content:"";position:absolute;width:160px;height:160px;border:1px solid #ffffff22;border-radius:50%;right:-38px;top:-55px}.panel-top{display:flex;justify-content:space-between}.light-label{font-size:13px;color:var(--theme-on-primary-muted)}.weight-number{font-size:47px;font-weight:700;line-height:1.2;margin:8px 0 5px}.weight-number small{font-size:15px;font-weight:500}.weight-date{font-size:12px;color:var(--theme-on-primary-muted)}.weight-symbol{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:#ffffff1c;color:var(--theme-on-primary-muted);margin:8px 7px}.weight-symbol svg{width:30px;height:30px}.panel-bottom{border-top:1px solid #ffffff38;margin-top:21px;padding-top:15px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--theme-on-primary-muted)}.panel-badge{background:#ffffff29;border-radius:20px;padding:5px 11px;color:#fff}.record-button{width:100%;display:flex;align-items:center;text-align:left;gap:13px;border:1px solid var(--theme-border);border-radius:10px;background:#fff;margin-top:14px;padding:13px;color:var(--theme-text)}.record-button>span:nth-child(2){flex:1}.record-button strong,.record-button small{display:block}.record-button strong{font-size:14px}.record-button small{font-size:11px;color:var(--theme-muted);margin-top:4px}.record-button>svg{color:var(--theme-muted);width:17px}.plus-icon{height:39px;width:39px;border-radius:9px;background:var(--theme-soft);color:var(--theme-primary);display:grid;place-items:center}.section-title{display:flex;justify-content:space-between;align-items:end;margin:32px 0 14px}.section-title h2{font-size:18px;margin:0}.section-title>span{font-size:11px;color:var(--theme-muted)}.insight,.trend-preview,.trend-card{background:#fff;border:1px solid var(--theme-border);border-radius:10px;padding:20px}.bmi-top{display:flex;justify-content:space-between}.muted,.metrics span{font-size:12px;color:var(--theme-muted)}.bmi-number{font-size:29px;font-weight:700;margin-top:7px}.status{vertical-align:middle;background:var(--theme-soft);color:var(--theme-primary);font-size:11px;border-radius:20px;padding:5px 9px;font-weight:500}.insight-icon,.header-icon,.date-icon{display:grid;place-items:center;border-radius:10px;background:var(--theme-tint);color:var(--theme-primary);width:39px;height:39px}.bmi-bar{display:flex;gap:4px;margin-top:21px}.bmi-bar i{height:7px;flex:1;border-radius:8px;background:var(--bmi-underweight)}.bmi-bar i:nth-child(2){background:var(--bmi-normal)}.bmi-bar i:nth-child(3){background:var(--bmi-overweight)}.bmi-bar i:nth-child(4){background:var(--bmi-obese)}.bar-labels{display:flex;justify-content:space-between;color:var(--theme-muted);font-size:10px;margin-top:8px}.metrics{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px;border-top:1px solid var(--theme-border);margin-top:19px;padding-top:17px}.metrics span,.metrics strong{display:block}.metrics strong{font-size:14px;margin-top:8px;white-space:nowrap}.metrics small,.profile-stats small{font-size:10px;color:var(--theme-muted);font-weight:400}.disclaimer{font-size:11px;line-height:1.7;color:var(--theme-muted);margin:12px 2px}.text-button{border:0;background:none;color:var(--theme-primary);font-size:12px;display:flex;align-items:center;gap:3px;padding:3px}.text-button svg{width:15px;height:15px}.trend-preview{padding:15px 18px}.chart svg{display:block;width:100%;height:120px;overflow:visible}.chart .grid{stroke:var(--theme-tint);stroke-width:1;stroke-dasharray:3 4}.chart-line{fill:none;stroke:var(--theme-primary);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.chart circle{fill:#fff;stroke:var(--theme-primary);stroke-width:2}.chart-labels{display:flex;justify-content:space-between;color:var(--theme-muted);font-size:10px;margin-top:8px}.empty-chart{text-align:center;padding:20px 0;color:var(--theme-muted);font-size:12px}.empty-chart span{color:var(--theme-primary)}.bottom-nav{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,520px);background:#fff;border-top:1px solid var(--theme-border);display:flex;padding:9px 20px max(9px,env(safe-area-inset-bottom))}.bottom-nav button{flex:1;min-width:0;border:0;background:none;color:var(--theme-muted);display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px}.bottom-nav button.active{color:var(--theme-primary)}.page-header{padding:19px 24px 25px;display:flex;justify-content:space-between;align-items:center}.page-header h1{font-size:25px;margin:0}.header-icon{width:49px;height:49px}.range-tabs{display:flex;background:var(--theme-tint);border-radius:9px;padding:4px;gap:3px;margin-bottom:16px}.range-tabs button{flex:1;border:0;background:none;border-radius:7px;padding:9px 0;color:var(--theme-muted);font-size:12px}.range-tabs button.active{background:white;color:var(--theme-primary);font-weight:700;box-shadow:0 1px 4px var(--theme-shadow)}.trend-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.trend-summary span{font-size:12px;color:var(--theme-muted)}.trend-summary strong{display:block;font-size:28px;margin-top:6px}.trend-summary small{font-size:12px;font-weight:400}.count{background:var(--theme-tint);padding:6px 9px;border-radius:20px}.history-row{width:100%;border:0;border-bottom:1px solid var(--theme-border);background:#fff;display:flex;align-items:center;gap:12px;text-align:left;padding:14px;color:var(--theme-text)}.history-row:first-child{border-radius:9px 9px 0 0}.history-row:last-child{border:0;border-radius:0 0 9px 9px}.history-info{flex:1;min-width:0}.history-info strong,.history-info small{display:block}.history-info strong{font-size:13px}.history-info small{font-size:11px;color:var(--theme-muted);margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-weight{font-weight:700;font-size:16px}.history-weight small{font-size:11px;font-weight:400;color:var(--theme-muted)}.history-row>svg{width:16px;color:var(--theme-muted)}.empty-list{text-align:center;color:var(--theme-muted);padding:30px;font-size:13px}.profile-card{display:flex;align-items:center;gap:14px;background:var(--theme-soft);padding:20px;border-radius:10px}.profile-identity{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-identity strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-card .profile-identity p{margin:0;flex-shrink:0;white-space:nowrap}.profile-card strong{font-size:15px}.profile-card p{font-size:12px;color:var(--theme-muted);margin:6px 0 0}.icon-btn{border:0;background:none;color:var(--theme-muted);padding:8px;display:grid;place-items:center}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);background:white;border-radius:10px;margin-top:14px;padding:18px 5px;text-align:center}.profile-stats div+div{border-left:1px solid var(--theme-border)}.profile-stats span,.profile-stats strong{display:block}.profile-stats span{color:var(--theme-muted);font-size:11px}.profile-stats strong{font-size:16px;margin-top:8px}.settings{background:white;border-radius:10px;padding:0 15px}.settings button{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-bottom:1px solid var(--theme-border);background:none;padding:17px 0;color:var(--theme-text);font-size:14px}.settings button:last-child{border:0}.settings svg{width:16px;color:var(--theme-muted)}.settings .danger{color:#cc8176}.overlay{position:fixed;z-index:10;inset:0;background:var(--theme-overlay);display:flex;justify-content:center;align-items:end}.sheet{width:min(100%,520px);max-height:92vh;overflow:auto;background:#fff;border-radius:20px 20px 0 0;padding:27px 24px max(25px,env(safe-area-inset-bottom))}.sheet-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:25px}.sheet-head h2{font-size:23px;margin:0}.sheet-head p:last-child{font-size:13px;color:var(--theme-muted);margin:9px 0 0}.sheet-head .icon-btn{color:var(--theme-muted)}.sheet form label,.auth-form label,.onboarding form label{display:block;color:var(--theme-text);font-size:13px;font-weight:600;margin:0 0 19px}.sheet input:not([type=radio]),.auth input,.onboarding input:not([type=radio]){display:block;width:100%;height:49px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-tint);padding:0 14px;color:var(--theme-text);outline:none;margin-top:9px}.sheet input:focus,.auth input:focus,.onboarding input:focus{border-color:var(--theme-primary)}.input-unit{position:relative}.input-unit input{padding-right:55px!important}.input-unit span{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:var(--theme-muted);font-weight:400}.weight-input input{font-size:25px;font-weight:700;height:65px!important}.optional{font-weight:400;color:var(--theme-muted)}.primary{height:52px;width:100%;border:0;border-radius:9px;background:var(--theme-primary);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px}.primary svg{width:16px}.delete-record{display:flex;align-items:center;justify-content:center;gap:6px;background:none;border:0;color:#c78377;width:100%;padding:18px 0 0;font-size:13px}.delete-record svg{width:16px}.label{font-size:13px;color:var(--theme-text);font-weight:600}.gender{display:flex;gap:10px;margin:9px 0 19px}.gender label{flex:1;margin:0!important}.gender input{position:absolute;opacity:0}.gender span{display:block;text-align:center;border:1px solid var(--theme-border);background:var(--theme-tint);padding:14px;border-radius:8px;color:var(--theme-muted)}.gender input:checked+span{border-color:var(--theme-primary);background:var(--theme-soft);color:var(--theme-primary)}.hint{font-size:11px;color:var(--theme-muted);line-height:1.5;margin:0 0 20px}.auth{padding:32px 28px;min-height:100vh}.auth-top{display:flex;justify-content:space-between;align-items:center}.auth-tag{color:var(--theme-muted);font-size:10px}.auth-art{height:195px;position:relative;display:grid;place-items:center;overflow:hidden}.art-ring{position:absolute;border:1px solid var(--theme-border);border-radius:50%;width:150px;height:150px}.ring-two{width:195px;height:195px;border-color:var(--theme-border)}.art-leaf{width:94px;height:94px;border-radius:50%;background:var(--theme-soft);display:grid;place-items:center;color:var(--theme-primary)}.art-leaf svg{width:43px;height:43px;stroke-width:1.3}.art-dot{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--theme-soft)}.dot-one{top:38px;left:25%}.dot-two{right:21%;bottom:34px;background:#f4d99e;width:7px;height:7px}.auth-copy h1{font-size:26px;line-height:1.45;margin:0;color:var(--theme-heading)}.auth-copy>p:last-child{font-size:13px;color:var(--theme-muted);margin:12px 0 27px}.form-foot{text-align:center;color:var(--theme-muted);font-size:11px;margin:16px 0}.onboarding{padding:32px 25px}.onboarding-inner{padding-top:50px}.steps{display:flex;gap:6px;margin-bottom:32px}.steps span{width:28px;height:4px;border-radius:8px;background:var(--theme-border)}.steps span.active{background:var(--theme-primary)}#toast{position:fixed;z-index:20;left:50%;bottom:100px;transform:translate(-50%,10px);background:var(--theme-text);color:#fff;padding:10px 16px;border-radius:8px;font-size:13px;opacity:0;pointer-events:none;transition:.2s;white-space:nowrap;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}@media(min-width:521px){.shell,.auth,.onboarding{box-shadow:0 0 45px var(--theme-shadow)}.overlay{align-items:center}.sheet{border-radius:16px}}@media(max-width:360px){.content{padding:0 16px}.topbar,.page-header{padding-left:16px;padding-right:16px}.metrics strong{font-size:12px}}

/* Shared fixed title for the three main pages. */
.shell { padding-top: calc(76px + env(safe-area-inset-top, 0px)); }
.shell > .topbar {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  width: min(100%, 520px);
  height: calc(76px + env(safe-area-inset-top, 0px));
  padding-top: env(safe-area-inset-top, 0px);
  background: var(--theme-page);
  border-bottom: 1px solid var(--theme-border);
}

/* Account identity, shared title, and date picker. */
.top-meta { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.topbar { gap: 12px; }
.topbar .brand { flex-shrink: 0; }
.top-meta .auth-tag { white-space: nowrap; }
.onboarding-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.onboarding-header .text-button { white-space: nowrap; }
.date-control { position: relative; margin-top: 9px; }
.date-control input { margin-top: 0 !important; padding-right: 44px !important; cursor: pointer; min-width: 0; }
.date-control > span { position: absolute; top: 50%; right: 14px; transform: translateY(-50%); color: var(--theme-primary); display: flex; pointer-events: none; }
.date-dialog { width: min(360px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 20px; border: 1px solid var(--theme-border); border-radius: 16px; background: var(--theme-page); color: var(--theme-text); box-shadow: 0 12px 50px #0002; }
.date-dialog::backdrop { background: var(--theme-overlay); }
.date-picker-title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.date-picker-title h2 { margin: 0; font-size: 18px; }
.date-picker-nav { display: flex; align-items: center; gap: 8px; margin-bottom: 18px; }
.date-picker-nav select { flex: 1; min-width: 0; padding: 9px 5px; border: 1px solid var(--theme-border); border-radius: 7px; background: #fff; color: var(--theme-text); font: inherit; font-size: 14px; }
.date-weekdays, .date-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; text-align: center; }
.date-weekdays { color: var(--theme-muted); font-size: 12px; margin-bottom: 8px; }
.date-days button { border: 0; border-radius: 8px; min-height: 36px; background: transparent; color: var(--theme-text); font-size: 14px; padding: 6px 0; }
.date-days button:hover:not(:disabled) { background: var(--theme-soft); }
.date-days button[aria-pressed="true"], .date-days button[aria-pressed="true"]:hover { background: var(--theme-primary); color: #fff; }
.date-days button:disabled { opacity: .3; cursor: default; }
.date-dialog :focus-visible { outline: 2px solid var(--theme-primary); outline-offset: 2px; }

.onboarding-header .top-meta .auth-tag { white-space: nowrap; }
.confirm-dialog { width: min(350px, calc(100vw - 40px)); padding: 25px; border: 1px solid var(--theme-border); border-radius: 16px; background: var(--theme-page); color: var(--theme-text); box-shadow: 0 12px 50px #0002; }
.confirm-dialog::backdrop { background: var(--theme-overlay); }
.confirm-title { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.confirm-symbol { flex-shrink: 0; display: grid; place-items: center; width: 43px; height: 43px; border-radius: 12px; color: var(--theme-primary); background: var(--theme-soft); }
.confirm-dialog h2 { margin: 0; font-size: 20px; color: var(--theme-heading); }
.confirm-dialog p { margin: 0; font-size: 13px; line-height: 1.8; color: var(--theme-muted); }
.confirm-actions { display: flex; gap: 12px; margin-top: 24px; }
.confirm-actions button { flex: 1; min-width: 0; height: 45px; font-size: 14px; }
.secondary { border: 1px solid var(--theme-border); border-radius: 9px; background: var(--theme-soft); color: var(--theme-primary); font-weight: 700; }
.confirm-dialog :focus-visible { outline: 2px solid var(--theme-primary); outline-offset: 3px; }

/* Cycle journal follows the active BMI palette. */
.period-summary { background: var(--theme-soft); border: 1px solid var(--theme-border); border-radius: 14px; padding: 20px; }
.period-summary-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.period-summary h2 { font-size: 23px; margin: 9px 0 0; }
.period-summary .status { background: var(--theme-primary); color: #fff; white-space: nowrap; }
.period-summary-stats { display: grid; grid-template-columns: 1fr 1.4fr; gap: 15px; padding-top: 20px; }
.period-summary-stats span, .period-summary-stats strong { display: block; }
.period-summary-stats span { color: var(--theme-muted); font-size: 11px; }
.period-summary-stats strong { font-size: 17px; margin-top: 9px; }
.period-summary > .primary { margin-top: 20px; height: 43px; font-size: 13px; }
.period-calendar { background: #fff; border: 1px solid var(--theme-border); padding: 16px 12px; border-radius: 12px; }
.period-calendar-nav { display: flex; gap: 7px; align-items: center; }
.period-calendar-nav select { flex: 1; min-width: 0; border: 1px solid var(--theme-border); border-radius: 7px; padding: 9px 4px; color: var(--theme-text); background: var(--theme-page); font: inherit; font-size: 13px; }
.period-calendar-tools { display: flex; justify-content: space-between; align-items: center; gap: 7px; margin: 14px 2px 20px; }
.period-calendar-tools > span { font-size: 10px; color: var(--theme-muted); }
.period-calendar-tools .text-button { font-size: 11px; white-space: nowrap; }
.period-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 4px; }
.period-day { height: 42px; border: 1px solid transparent; background: none; color: var(--theme-text); padding: 4px 0; border-radius: 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; font: inherit; font-size: 13px; }
.period-day small { font-size: 9px; line-height: 10px; }
.period-day.marked { background: var(--theme-soft); color: var(--theme-primary); }
.period-day.endpoint { background: var(--theme-primary); color: #fff; }
.period-day.ongoing { border: 1px dashed var(--theme-primary); }
.period-day.today > span { text-decoration: underline; text-underline-offset: 3px; font-weight: 700; }
.period-legend { display: flex; gap: 20px; padding: 17px 3px 0; margin-top: 10px; border-top: 1px solid var(--theme-border); color: var(--theme-muted); font-size: 11px; }
.period-legend > span { display: flex; align-items: center; gap: 6px; }
.period-legend i { width: 12px; height: 12px; background: var(--theme-soft); border-radius: 3px; }
.period-legend .legend-ongoing { border: 1px dashed var(--theme-primary); }
.period-history { border: 1px solid var(--theme-border); background: #fff; border-radius: 12px; overflow: hidden; }
.period-history-row { display: block; text-align: left; padding: 17px 14px; width: 100%; background: #fff; border: 0; color: var(--theme-text); }
.period-history-row + .period-history-row { border-top: 1px solid var(--theme-border); }
.period-row-top { display: flex; align-items: center; justify-content: space-between; gap: 5px; }
.period-row-top strong { font-size: 12px; }
.period-row-top strong > span { color: var(--theme-muted); font-weight: 400; margin: 0 3px; }
.period-row-top > svg { width: 15px; height: 15px; color: var(--theme-muted); }
.period-row-stats { display: flex; flex-wrap: wrap; gap: 7px 15px; font-size: 11px; color: var(--theme-muted); margin-top: 10px; }
.period-empty { display: flex; align-items: center; flex-direction: column; color: var(--theme-muted); font-size: 12px; padding: 28px 10px; }
.period-empty > svg { width: 28px; height: 28px; color: var(--theme-primary); }
.period-end-hint { display: flex; gap: 8px; align-items: center; justify-content: space-between; font-size: 11px; color: var(--theme-muted); margin: -7px 0 22px; }
.period-end-hint .text-button { font-size: 11px; }
.period-calendar :focus-visible, .period-history :focus-visible { outline: 2px solid var(--theme-primary); outline-offset: -2px; }
@media(max-width:360px) { .period-summary { padding: 16px; } .period-summary-stats strong { font-size: 15px; } .period-end-hint { align-items: start; flex-direction: column; } }

.period-history-heading { gap: 10px; }
.period-history-range { text-align: right; line-height: 1.6; }

.period-preference { border: 0; padding: 0; margin: 0 0 19px; min-width: 0; }
.period-preference legend { padding: 0; color: var(--theme-text); font-size: 13px; font-weight: 600; }
.period-preference .gender { margin-bottom: 0; }

/* Administrator tools. */
.admin-back { margin: -4px 0 18px; }
.admin-registration { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px; border: 1px solid var(--theme-border); border-radius: 12px; background: var(--theme-soft); }
.admin-registration h2 { font-size: 16px; margin: 0; }
.admin-registration p { font-size: 11px; line-height: 1.6; color: var(--theme-muted); margin: 8px 0 0; }
.registration-switch { flex-shrink: 0; border: 1px solid var(--theme-border); padding: 3px; width: 46px; height: 28px; border-radius: 20px; background: var(--theme-muted); }
.registration-switch span { display: block; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: transform .15s; }
.registration-switch[aria-checked="true"] { background: var(--theme-primary); border-color: var(--theme-primary); }
.registration-switch[aria-checked="true"] span { transform: translateX(17px); }
.admin-search { display: flex; gap: 9px; margin-bottom: 16px; }
.admin-search input { flex: 1; min-width: 0; height: 44px; padding: 0 12px; border: 1px solid var(--theme-border); border-radius: 8px; background: #fff; color: var(--theme-text); outline: none; font-size: 13px; }
.admin-search input:focus { border-color: var(--theme-primary); }
.admin-search .primary { width: 65px; height: 44px; font-size: 13px; }
.admin-users { border: 1px solid var(--theme-border); border-radius: 12px; background: #fff; overflow: hidden; }
.admin-user { padding: 17px 15px; }
.admin-user + .admin-user { border-top: 1px solid var(--theme-border); }
.admin-user-top { display: flex; gap: 12px; align-items: center; justify-content: space-between; }
.admin-user-top > div { min-width: 0; }
.admin-user h3 { font-size: 15px; margin: 0; overflow-wrap: anywhere; }
.admin-user p { font-size: 12px; color: var(--theme-muted); margin: 7px 0 0; }
.admin-user .status { flex-shrink: 0; }
.admin-delete { display: flex; align-items: center; gap: 4px; border: 0; background: none; color: #b95745; font-size: 12px; padding: 8px 0 8px 8px; white-space: nowrap; }
.admin-delete svg { width: 15px; height: 15px; }
.admin-user-details { display: flex; flex-wrap: wrap; gap: 7px 14px; color: var(--theme-muted); font-size: 11px; margin-top: 14px; }
.admin-pagination { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 20px 0 0; }
.admin-pagination span { color: var(--theme-muted); font-size: 12px; }
.admin-pagination button { font-size: 12px; padding: 9px 14px; }
.admin-empty, .admin-feedback { padding: 26px 14px; text-align: center; font-size: 13px; color: var(--theme-muted); }
.admin-feedback p { overflow-wrap: anywhere; }
.admin-feedback .text-button { margin: auto; }
.admin-content :focus-visible { outline: 2px solid var(--theme-primary); outline-offset: 2px; }
