/* Raida identity: soft rose surfaces with the gold seal. */
:root {
  --brand-rose:#7c2d48;
  --brand-rose-tint:#f8e3eb;
  --brand-rose-petal:#f5c7d8;
  --brand-hero-start:#5a273d;
  --brand-hero-end:#8b405d;
  --color-primary:var(--brand-rose);
  --color-primary-dark:#63223b;
  --color-secondary:var(--brand-hero-start);
  --color-bg:#fff5f7;
  --color-surface:#fffcfd;
  --color-border:#efdce3;
  --color-control-border:#987482;
  --color-text:#422735;
  --color-text-muted:#705360;
  --color-success:#49725b;
  --color-danger:#a64e47;
  --color-warning:#8b641f;
  --radius:18px;
  --shadow:0 5px 24px #6029410a;
  --brand-gold:#edcf9b;
}
html{scroll-padding-top:110px}
body{padding-bottom:106px;line-height:1.65}
body:has(#view-login.active){padding-bottom:0}
button,input,select,textarea{-webkit-appearance:none;appearance:none}
input[type=checkbox]{appearance:auto;accent-color:var(--color-primary)}
input[type=color]{appearance:auto;height:48px;padding:5px}
input,select,textarea{min-width:0;min-height:46px;font-size:16px;border-color:var(--color-control-border);border-radius:11px;padding:11px 13px;line-height:1.5}
input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:1}
input:disabled{background:var(--brand-rose-tint);color:var(--color-text);opacity:1}
input[type=email],input[type=tel],input[type=password]{direction:ltr;text-align:start}
/* Use the higher-contrast native selection inside the date editor. */
input::-webkit-datetime-edit{color-scheme:dark}
select{appearance:auto}
label{font-size:13px;font-weight:500;color:var(--color-text);margin:12px 0 6px}
small{line-height:1.65}
button{min-height:42px;line-height:1.4;font-size:14px;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s}
button:focus-visible,a:focus-visible{outline:3px solid var(--brand-rose);outline-offset:3px}
button:active:enabled{transform:translateY(1px);opacity:1}
.btn-primary{background:var(--color-primary);border:1px solid transparent;box-shadow:0 3px 9px #60294114}
.btn-primary:hover{filter:brightness(.94)}
.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}
.btn-secondary:hover{background:var(--brand-rose-tint)}
.btn-sm{min-height:36px;font-size:12px;border-radius:9px}
.btn-danger{background:#a95149}.btn-success{background:#49725b}
.card{padding:21px;border:1px solid var(--color-border);box-shadow:var(--shadow);margin-bottom:16px}
.card h3{font-size:17px;color:var(--color-text)}
.card>.row-between{flex-wrap:wrap}
.field{margin-bottom:8px}
.muted{color:var(--color-text-muted);font-size:13px;line-height:1.7}
.pill{font-size:11px;font-weight:500;padding:4px 10px;white-space:nowrap}
.pill-success{background:#edf3ed}.pill-danger{background:#faefed}.pill-warning{background:#f7eedc}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.ui-icon{display:inline-block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}
.brand-eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:1.7px;color:#7d562e;margin:0 0 5px}
.topbar{padding:0;background:#fffcfded;border-bottom:1px solid var(--color-border);box-shadow:none;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.topbar-inner{width:100%;max-width:1100px;margin:auto;padding:12px 26px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"brand context bell";align-items:center;gap:18px}
.app-brand{grid-area:brand;justify-self:start;padding:0;display:flex;align-items:center;gap:12px;text-align:start;color:var(--color-text);background:none;border-radius:10px;min-width:0;max-width:100%}
.app-brand img{width:58px;height:58px;object-fit:cover;border-radius:50%;border:1px solid var(--brand-rose);box-shadow:0 2px 10px #b68a3420;flex-shrink:0}
.brand-identity{display:flex;flex-direction:column;min-width:0;gap:3px}
.brand-identity strong{font:700 19px/1.35 Georgia,'Times New Roman',serif;overflow-wrap:anywhere}
.brand-identity small{font-size:11px;font-weight:400;letter-spacing:.2px;color:var(--color-text-muted)}
.header-context{grid-area:context;display:flex;align-items:center;gap:14px;min-width:0}
.header-section{display:flex;align-items:center;gap:6px;min-width:0;font-size:12px;color:var(--color-text-muted)}
.header-dot{width:5px;height:5px;flex-shrink:0;background:#a67b43;border-radius:50%}
.header-clock{display:flex;align-items:center;gap:9px;padding:7px 11px;border:1px solid var(--color-border);border-radius:12px;background:var(--brand-rose-tint);white-space:nowrap;font-variant-numeric:tabular-nums}
.header-date{font-size:12px;color:var(--color-text-muted)}
.header-time{padding-inline-start:9px;border-inline-start:1px solid #dcbfc9;font-size:13px;font-weight:700;color:var(--color-primary-dark)}
.notification-bell,.notification-close{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--color-border);background:var(--brand-rose-tint);color:var(--color-primary-dark);border-radius:13px}
.notification-bell{grid-area:bell;position:relative;justify-self:end;border-radius:50%;background:var(--color-surface);touch-action:manipulation}
.notification-close{font-size:22px;flex-shrink:0}
.notification-count{position:absolute;inset-block-start:-6px;inset-inline-end:-6px;min-width:19px;height:19px;display:grid;place-items:center;padding-inline:4px;border-radius:20px;background:var(--color-primary-dark);color:#fff;font-size:10px}
.notifications-panel{width:min(420px,calc(100% - 24px));max-width:calc(100% - 24px);max-height:min(560px,calc(100vh - var(--notifications-top,90px) - 12px));max-height:min(560px,calc(100dvh - var(--notifications-top,90px) - 12px));overflow:auto;margin:0;inset-block-start:var(--notifications-top,90px);inset-block-end:auto;inset-inline-start:auto;inset-inline-end:max(12px,calc((100% - 1100px)/2 + 26px));padding:16px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface);color:var(--color-text);box-shadow:0 14px 40px #381b302e}
.notifications-panel::backdrop{background:#36202c40}
.notification-heading,.notification-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}
.notification-heading h2{font-size:19px;margin:0 0 3px}
.notification-heading p{margin:0}
.notification-actions{justify-content:flex-end;flex-wrap:wrap;margin-top:12px}
.notification-actions button{min-height:44px}
main{max-width:1100px;padding:28px 26px 20px}
.page-heading{margin:4px 0 24px}.page-heading h1,.home-heading h1{font-size:27px;line-height:1.4;margin:0;font-weight:700;color:var(--brand-rose)}
.page-heading p{font-size:13px;color:var(--color-text-muted);margin:8px 0 0}
.home-heading{margin:0 0 18px}
.home-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"copy seal" "actions seal";
  align-content:center;
  align-items:center;
  gap:0 22px;
  background:radial-gradient(ellipse at 4% 90%,#fbc0d126,transparent 62%),linear-gradient(145deg,var(--brand-hero-start),var(--brand-hero-end));
  border:1px solid var(--brand-hero-end);
  border-radius:23px;
  padding:32px 40px;
  color:#fff8fa;
}
.home-hero:after{content:"";position:absolute;z-index:-1;width:285px;height:285px;border:1px solid #f7dbab32;box-shadow:0 0 0 14px #f7dbab10,0 0 0 28px #f7dbab0b;border-radius:50%;inset-inline-end:-85px;top:-42px;pointer-events:none}
.hero-content{grid-area:copy;align-self:end;min-width:0}.hero-eyebrow{font:9px/1.6 system-ui,sans-serif;letter-spacing:2.5px;color:var(--brand-gold);display:block;margin-bottom:12px;text-align:end}
.home-hero h2{font-size:33px;font-weight:700;line-height:1.45;letter-spacing:-.5px;color:#fff8fa;margin:0 0 9px}
.home-hero p{font-size:13px;color:#fbe4ec;max-width:400px;margin:0 0 18px}
.hero-actions{
  grid-area:actions;
  align-self:start;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:min(100%,300px);
  gap:8px;
}
.btn-hero{display:flex;gap:6px;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:10px 12px;background:var(--brand-rose-petal);color:#54273a;border:1px solid transparent;border-radius:11px;font-weight:700;font-size:13px}
.btn-hero .ui-icon{width:18px;height:18px;stroke-width:2}
.btn-hero:hover{background:#f9d6e3}
.btn-hero:focus-visible{outline-color:var(--brand-gold)}
.hero-seal{grid-area:seal;text-align:center;margin-inline:8px}
.hero-seal img{display:block;width:180px;height:180px;border-radius:50%;border:1px solid var(--brand-rose);object-fit:cover;box-shadow:0 0 0 8px #ffe2ac22}
.hero-seal span{display:block;font:8px/1.6 system-ui,sans-serif;letter-spacing:2.1px;color:#fff8fa;margin-top:17px}
.home-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 27px}
.stat-card{padding:19px 20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:15px;min-width:0}
.stat-label{display:flex;align-items:center;justify-content:space-between;gap:6px;color:var(--color-text-muted);font-size:12px;margin-bottom:7px}
.stat-label .ui-icon{width:19px;height:19px;color:var(--brand-rose)}
.stat-card strong{display:block;font-size:28px;line-height:1.65;color:var(--brand-rose);font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.stat-card small{display:block;color:var(--color-text-muted);font-size:10px}
.section-label{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px}
.section-label h2{font-size:17px;font-weight:700;margin:0;color:var(--color-text)}
.section-label>span{font:8px/1.5 system-ui,sans-serif;letter-spacing:1.8px;color:#7d562e}
.growth-shortcuts{gap:14px;margin:0 0 25px;grid-template-columns:repeat(2,minmax(0,1fr))}
.growth-shortcut{background:var(--color-surface);text-align:start;border:1px solid var(--color-border);padding:20px 22px;box-shadow:none;border-radius:17px;color:var(--color-text)}
.growth-shortcut:hover{border-color:#c68ca2;background:var(--color-bg);box-shadow:0 6px 22px #60294112}
.shortcut-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}
.shortcut-icon{display:flex;align-items:center;justify-content:center;width:39px;height:39px;border:1px solid #e8cbd6;background:var(--brand-rose-tint);border-radius:12px;color:var(--brand-rose)}
.shortcut-icon .ui-icon{width:21px;height:21px}.shortcut-arrow{width:17px;height:17px;color:var(--brand-rose)}
.growth-shortcut strong{font-size:17px;font-weight:700}.growth-shortcut small{font-size:12px;color:var(--color-text-muted);font-weight:400;margin-top:6px;line-height:1.8}
.card-heading{margin-bottom:15px}.card-heading h2{font-size:19px;margin:0;color:var(--color-text)}
.text-action{display:flex;align-items:center;gap:7px;background:none;color:var(--brand-rose);padding:5px 0;font-size:12px;min-height:36px}.text-action .ui-icon{width:16px;height:16px}
.recent-visits-card{padding:24px}.recent-empty{text-align:center;padding:24px 0 20px}.recent-empty .empty-icon{margin:0 auto 14px;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid var(--color-border);border-radius:50%;color:var(--brand-rose);background:var(--brand-rose-tint)}
.home-follow-up{min-width:0}
.home-follow-up .card-heading{align-items:flex-start;gap:5px 12px}
.home-follow-up p{margin:4px 0 0}
.home-appointment-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;width:100%;min-height:48px;padding:9px 4px;border:0;border-top:1px solid var(--color-border);border-radius:0;background:transparent;color:var(--color-text);text-align:start}
.home-appointment-row:hover{background:var(--brand-rose-tint)}
.home-appointment-row:focus-visible{outline-offset:-3px}
.home-appointment-row strong,.home-appointment-row small{display:block;overflow-wrap:anywhere}
.home-appointment-row .ui-icon{width:16px;height:16px;color:var(--brand-rose)}
[data-appointment-id]:focus{outline:2px solid var(--brand-rose);outline-offset:2px}
.recent-empty h3{font-size:14px;color:var(--color-text-muted);font-weight:500;margin:0 0 4px}.recent-empty p{font-size:12px;color:var(--color-text-muted);margin:0}
.list-item{padding:15px 0;border-color:var(--color-border)}.list-item strong{font-weight:500;color:var(--color-text)}.list-item .muted{font-size:12px}
.empty-state{padding:32px 12px;line-height:1.8;color:var(--color-text-muted);font-size:13px}
.bottom-nav{left:50%;right:auto;transform:translateX(-50%);bottom:18px;width:calc(100% - 28px);max-width:610px;gap:3px;padding:8px 10px;background:#fffcfdee;border:1px solid var(--color-border);border-radius:21px;box-shadow:0 8px 36px #60294119;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.bottom-nav button{position:relative;font-size:11px;font-weight:500;min-height:58px;border-radius:13px;gap:5px;padding:7px 3px;color:var(--color-text-muted)}
.bottom-nav button>.ui-icon{width:22px;height:22px}
.bottom-nav button.active{color:var(--brand-rose);background:var(--brand-rose-tint)}
.bottom-nav button.active:after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--brand-rose)}
.bottom-nav button.active>.ui-icon{stroke-width:1.9}
#view-settings>.row,#view-reports>.row{overflow-x:auto;gap:7px;padding-bottom:8px;scrollbar-width:thin;flex-wrap:nowrap}
.tab-btn{flex-shrink:0;white-space:nowrap;background:var(--color-surface);color:var(--color-text-muted);border-color:var(--color-border);box-shadow:none;font-size:12px}
.tab-btn.active{background:var(--brand-rose-tint);color:var(--color-text);border-color:#e8cbd6}
.report-tab .row-between{padding:13px 0;border-bottom:1px solid var(--color-border);gap:15px;font-size:13px;line-height:1.8}
.report-tab .row-between strong{font-size:14px;color:var(--color-text);font-variant-numeric:tabular-nums}
.report-tab .row-between:last-of-type{border-bottom:0}.report-tab hr{display:none}
.modal-backdrop{background:#341b288a;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.modal-sheet{background:var(--color-surface);border:1px solid var(--color-border);border-bottom:0;border-radius:25px 25px 0 0;padding:25px 22px calc(25px + env(safe-area-inset-bottom));box-shadow:0 -15px 60px #341b281f}
.modal-sheet h3{color:var(--color-text);font-size:19px}.modal-sheet .row{gap:10px}
.toast{font-size:13px;background:var(--brand-hero-start);max-width:calc(100% - 38px);width:max-content;text-align:center;bottom:110px;border:1px solid var(--brand-rose);border-radius:14px;padding:13px 19px;line-height:1.7;box-shadow:0 8px 25px #60294125}
.growth-hero{border:1px solid var(--brand-hero-end);background:linear-gradient(145deg,var(--brand-hero-start),var(--brand-hero-end));border-radius:20px;padding:27px 24px;margin-top:18px}
.growth-hero h2{font-size:25px;font-weight:700;color:#fff8fa}.growth-hero p{color:#fbe4ec}.growth-eyebrow{color:var(--brand-gold)}
.growth-stat{background:var(--color-surface);border-color:var(--color-border);padding:16px 9px}.growth-stat strong{color:var(--brand-rose)}.growth-stat small{color:var(--color-text-muted)}
.growth-tabs{gap:7px}.growth-tab-btn{background:var(--color-surface);color:var(--color-text-muted);border-color:var(--color-border);font-size:12px;padding:11px 12px;border-radius:11px;min-height:42px}
.growth-tab-btn.active{background:var(--brand-rose);border-color:var(--brand-rose);color:#fff8fa}
.growth-program,.growth-campaign{background:var(--color-surface);border-color:var(--color-border);box-shadow:none;border-radius:17px;padding:22px;margin:14px 0}
.growth-program h3,.growth-campaign h3{color:var(--color-text)}.growth-detail{color:var(--brand-rose)}.growth-kicker{color:var(--brand-rose)}.growth-heading h3{color:var(--color-text)}
.growth-notice{background:#f3ead8;color:#80602d;border:1px solid #e6d5b2}
.growth-progress{background:var(--brand-rose-tint)}.growth-progress>span{background:linear-gradient(90deg,#d78ba8,var(--brand-rose))}
.growth-client{background:var(--color-surface);border-color:var(--color-border);padding:18px}.growth-client-meta{color:var(--color-text-muted)}.growth-modal-copy{color:var(--color-text-muted)}
.growth-reward-available{border-color:#ba975c;background:#faf4e9}.growth-quote{background:#f5eddd;color:#85622e}
.growth-badge{background:#f0e6d1;color:#76531f}.growth-history{border-color:var(--color-border)}.growth-actions button{font-size:12px}.growth-consent{font-size:13px}
.growth-notice.error,#growth-error{background:#fcf0ed;color:#a34f3e;border-color:#eccdc3}
.login-wrap{min-height:100vh;min-height:100dvh;padding:35px 20px;background:radial-gradient(ellipse at 25% 0,var(--brand-rose-tint),transparent 72%),var(--color-bg)}
.login-card{max-width:415px;padding:32px;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 20px 75px #60294114;border-radius:25px}
.login-brand-logo{display:block;width:140px;height:140px;object-fit:cover;border-radius:50%;margin:0 auto 25px;border:1px solid var(--brand-rose);box-shadow:0 0 0 6px var(--brand-rose-tint)}
.login-card>.brand-eyebrow{font:9px/1.6 system-ui,sans-serif;letter-spacing:3px;margin-bottom:8px}
.login-brand-name{font:700 25px/1.35 Georgia,'Times New Roman',serif;color:var(--brand-rose);margin:0}
.login-intro{font-size:13px;color:var(--color-text-muted);margin:10px 0 23px}
.login-divider{display:flex;align-items:center;gap:15px;color:var(--brand-rose);font-size:11px;margin-bottom:18px}.login-divider:before,.login-divider:after{content:"";height:1px;flex:1;background:var(--color-border)}
.login-card .field{text-align:start}.login-card input{background:var(--color-bg);border-color:var(--color-control-border)}
.login-card .btn-primary{min-height:48px}.login-footnote{font-size:10px;color:var(--color-text-muted);margin:17px 0 0}
.card-public-brand{text-align:center;margin-bottom:22px}.card-public-brand img{display:block;width:108px;height:108px;border-radius:50%;object-fit:cover;margin:0 auto 18px;border:1px solid var(--brand-rose);box-shadow:0 0 0 6px var(--brand-rose-tint)}
@media(min-width:900px){.home-hero{min-height:280px}.home-stats{gap:18px}.growth-shortcuts{gap:18px}.home-hero h2{font-size:35px}.hero-seal img{width:195px;height:195px}}
@media(min-width:1000px){
  #view-home.active{display:grid;grid-template-columns:1fr 1.1fr;grid-template-areas:"heading heading" "hero hero" "stats stats" "followup followup" "care recent" "shortcuts recent";gap:18px 22px}
  .home-heading{grid-area:heading;margin:0 0 2px}.home-hero{grid-area:hero;min-height:230px;padding:28px 35px}.home-hero h2{font-size:32px;line-height:1.5}.home-hero h2 br{display:none}.hero-seal img{width:145px;height:145px}
  .home-stats{grid-area:stats;margin:0}.home-follow-up{grid-area:followup;margin:0}.section-label{grid-area:care;margin:0;align-self:end}.growth-shortcuts{grid-area:shortcuts;margin:0;gap:12px}.recent-visits-card{grid-area:recent;margin:0}.growth-shortcut{padding:18px}.recent-empty{padding:24px 0 22px}
}
@media(max-width:600px){
  .hero-eyebrow,.hero-seal>span,.section-label>span{display:none}
  body{padding-bottom:100px}
  .topbar-inner{padding:9px 17px 6px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand bell" "context context";gap:7px 12px}
  .app-brand{gap:10px}.app-brand img{width:47px;height:47px}.brand-identity strong{font-size:15px;letter-spacing:.35px}.brand-identity small{font-size:10px}
  .header-context{justify-content:space-between;gap:7px;border-top:1px solid var(--color-border);padding-top:5px}
  .header-section{font-size:11px;overflow-wrap:anywhere}
  .header-clock{padding:3px 0;border:0;background:none}
  .header-date{font-size:11px}.header-time{font-size:12px}
  main{padding:16px 17px 15px}.home-heading{margin-bottom:14px}.home-heading h1,.page-heading h1{font-size:24px}.brand-eyebrow{font-size:9px;letter-spacing:1.4px}
  .home-hero{padding:20px 15px;gap:0 12px;border-radius:19px}.home-hero h2{font-size:25px;line-height:1.55;letter-spacing:-.5px}.home-hero p{font-size:11px;margin:7px 0 16px;line-height:1.8;max-width:190px}.hero-actions{width:100%;gap:6px}.btn-hero{font-size:12px;padding:8px 5px;gap:4px}.btn-hero .ui-icon{width:15px;height:15px}.hero-seal{margin-inline:0}.hero-seal img{width:86px;height:86px;box-shadow:0 0 0 5px #ffe2ac22}
  .home-stats{gap:8px;margin:13px 0 24px}.stat-card{padding:13px 10px;border-radius:13px}.stat-label{font-size:11px;margin-bottom:6px;gap:3px}.stat-label .ui-icon{width:15px;height:15px}.stat-card strong{font-size:22px;line-height:1.7}.stat-card small{font-size:9px;line-height:1.7}
  .section-label h2{font-size:16px}.growth-shortcuts{gap:10px;margin-bottom:21px}.growth-shortcut{padding:17px 14px;border-radius:15px}.growth-shortcut strong{font-size:15px}.growth-shortcut small{font-size:11px;margin-top:5px}.shortcut-top{margin-bottom:13px}.shortcut-icon{width:35px;height:35px;border-radius:11px}.shortcut-icon .ui-icon{width:19px;height:19px}.shortcut-arrow{width:15px;height:15px}
  .card{padding:18px;margin-bottom:14px}.card-heading h2{font-size:17px}.card-heading{margin-bottom:8px}.recent-empty{padding:20px 0 18px}.recent-empty p{font-size:11px}.recent-empty h3{font-size:13px}
  .bottom-nav{bottom:0;width:100%;max-width:100%;border:0;border-top:1px solid var(--color-border);border-radius:18px 18px 0 0;padding:7px 9px calc(7px + env(safe-area-inset-bottom));gap:2px;box-shadow:0 -5px 30px #6029410e}.bottom-nav button{font-size:10px;min-height:57px;padding:6px 2px;gap:4px;border-radius:12px}.bottom-nav .ui-icon{width:21px;height:21px}.toast{bottom:calc(85px + env(safe-area-inset-bottom));font-size:12px}
  .page-heading{margin-bottom:19px}.page-heading p{font-size:12px}.growth-program,.growth-campaign{padding:19px}.growth-tab-btn{font-size:11px;padding:10px}.growth-hero{padding:23px 20px}.growth-hero h2{font-size:24px}
}
@media(max-width:360px){
  .brand-identity strong{font-size:14px}.app-brand img{width:44px;height:44px}.topbar-inner{padding-inline:13px}
  main{padding-inline:13px}.home-hero{grid-template-areas:"copy seal" "actions actions";padding:17px 12px;column-gap:9px}.home-hero h2{font-size:22px}.hero-seal img{width:82px;height:82px}.home-hero p{font-size:10px}.stat-label .ui-icon{display:none}.stat-card strong{font-size:20px}.stat-card small{font-size:7.5px}.stat-label{font-size:10px}
  .growth-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.growth-shortcut{padding:14px 12px}.growth-shortcut strong{font-size:13px}.growth-shortcut small{font-size:9px}.home-heading h1{font-size:23px}.login-card{padding:27px 23px}.login-brand-logo{width:125px;height:125px}.login-brand-name{font-size:22px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
@media print{.bottom-nav,.topbar,.hero-actions,.text-action{display:none!important}body{background:white;padding:0}main{max-width:none;padding:0}.card{box-shadow:none}.home-hero{background:white;color:#302620}.home-hero h2,.home-hero p{color:#302620}}

/* ---- v3.3: install hint, center profile on the public card ---- */
[hidden]{display:none!important}

.appointment-services-list{max-height:10rem;overflow:auto}
.appointment-services-list label{display:flex;align-items:center;gap:8px;padding-block:4px;overflow-wrap:anywhere}
.appointment-services-list input{width:auto;min-height:auto;flex:none}
.service-duration-edit{margin-top:8px;gap:6px}
.service-duration-edit input{width:6.5rem}
.install-hint{margin-top:18px;padding:14px 15px;border:1px solid var(--color-border);border-radius:15px;background:var(--brand-rose-tint);text-align:start}
.install-hint p{margin:0 0 11px;font-size:13px;line-height:1.9;color:var(--color-text)}
.install-hint .row{gap:8px}
.card-public-footer{text-align:center}
.card-public-footer .owner{display:block;font:600 17px/1.6 Georgia,serif;color:var(--brand-rose);letter-spacing:.5px}
.card-public-footer .address{display:block;margin-top:4px;font-size:13px;color:var(--color-text-muted)}
.card-public-footer .actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px}
.card-public-footer a.phone{display:inline-block;padding:10px 18px;border-radius:12px;background:var(--brand-rose);color:#fff;font-weight:700;text-decoration:none}
.card-public-footer a.phone.wa{background:transparent;color:var(--brand-rose);border:1px solid var(--brand-rose)}
.card-public-footer .reset-note{display:block;margin-top:14px;font-size:12px;color:var(--color-text-muted)}

/* ---- v3.4: in-app "a new update arrived" notice (js/update.js) ---- */
.update-banner{position:fixed;z-index:120;top:calc(env(safe-area-inset-top,0px) + 10px);inset-inline:12px;margin-inline:auto;max-width:560px;display:flex;flex-direction:column;gap:12px;padding:15px 16px;background:var(--brand-hero-start);color:#fff;border:1px solid var(--brand-gold);border-radius:17px;box-shadow:0 12px 36px #3a1a2a59;animation:update-in .28s ease-out}
.update-banner strong{display:block;font-size:15px;line-height:1.6;color:var(--brand-gold)}
.update-banner p{margin:3px 0 0;font-size:12.5px;line-height:1.85;color:#f6e9ee}
.update-banner .update-error{color:#ffd9cc;font-weight:700}
.update-actions{display:flex;gap:9px}
.update-actions button{flex:1;min-width:0;min-height:46px;padding:10px 12px;border-radius:12px;font-size:14px;font-weight:700}
.update-apply{background:var(--brand-gold);color:var(--brand-hero-start);border:1px solid var(--brand-gold)}
.update-later{background:transparent;color:#fff;border:1px solid #ffffff59}
@keyframes update-in{from{opacity:0;transform:translateY(-14px)}}
@media (prefers-reduced-motion:reduce){.update-banner{animation:none}}
@media print{.update-banner{display:none!important}}

.database-status-card{margin-block-start:16px;padding:14px;border:1px solid var(--color-border);border-radius:14px}
.database-status-card h4{margin:0 0 4px;font-size:16px}
.database-status-card p{margin:0 0 10px}
.database-status-list{list-style:none;margin:0;padding:0}
.database-status-list:not(:empty){margin-block-end:10px}
.database-status-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:3px 8px;padding-block:8px;border-block-start:1px solid var(--color-border);font-size:13px}
.database-status-list bdi{grid-column:1/-1;overflow-wrap:anywhere;color:var(--color-text-muted);font-size:11px;text-align:left}
