:root {
  color-scheme: light;
  --cream: #fbf7ef;
  --paper: #fffdf8;
  --ink: #341e26;
  --muted: #66525a;
  --wine: #62263c;
  --line: #e3d4cb;
  --rose: #f2e3df;
  --gold: #8b5c3c;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: system-ui, -apple-system, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cream); color: var(--ink); font: 16px/1.62 var(--sans); }
a { color: inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--wine); outline-offset: 4px;
}
img { display: block; max-width: 100%; }
h1,h2,h3,p,figure { margin: 0; }
h1,h2,h3 { font-family: var(--serif); line-height: 1.04; font-weight: 400; }
h1 { font-size: clamp(3.25rem, 6.4vw, 6.6rem); letter-spacing: -.067em; }
h2 { font-size: clamp(2.55rem, 4.65vw, 4.45rem); letter-spacing: -.055em; }
h3 { font-size: 1.85rem; letter-spacing: -.03em; }
em { color: var(--wine); font-weight: inherit; }
.shell { width: min(1192px, calc(100% - 104px)); margin-inline: auto; }
.skip { position: fixed; top: 8px; left: 8px; transform: translateY(-160%); z-index: 2; background: var(--paper); padding: 10px 18px; }
.skip:focus { transform: none; }
.top { border-bottom: 1px solid var(--line); }
.nav { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.nav nav { display: flex; align-items: center; gap: clamp(16px, 3vw, 36px); font-size: .87rem; }
.nav nav a { text-decoration: none; }
.nav-link:hover, .footer a:hover, .text-link:hover { color: var(--wine); text-decoration: underline; text-underline-offset: 5px; }
.wordmark { display: block; flex: none; width: clamp(132px, 23vw, 195px); }
.wordmark img { display: block; width: 100%; height: auto; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 15px; padding: 12px 19px; min-height: 46px; font: 650 .86rem/1.3 var(--sans); cursor: pointer; text-decoration: none; border: 1px solid transparent; }
.button span { font-size: 1rem; }
.button.primary { background: var(--wine); color: #fffaf5; }
.button.primary:hover { background: #492034; }
.button.outline { color: var(--wine); border-color: #ad8791; background: transparent; }
.button.outline:hover { background: var(--rose); }
.hero { border-bottom: 1px solid var(--line); background: radial-gradient(ellipse at 6% 88%, #f8efe4, transparent 55%); }
.hero-grid { display: grid; grid-template-columns: 1.04fr 1fr; align-items: center; gap: clamp(30px, 5vw, 78px); padding-block: 45px 36px; }
.hero-copy { padding-bottom: 24px; }
.eyebrow { display: flex; align-items: center; gap: 12px; color: var(--gold); font: 700 .7rem/1.4 var(--sans); letter-spacing: .17em; text-transform: uppercase; }
.eyebrow > span { display: inline-block; width: 28px; height: 1px; background: currentColor; }
.hero h1 { margin-top: 24px; }
.intro { color: var(--muted); max-width: 395px; margin: 23px 0 26px; }
.actions { display: flex; align-items: center; flex-wrap: wrap; gap: 21px; }
.text-link { color: var(--ink); text-underline-offset: 4px; font-size: .89rem; font-weight: 650; }
.text-link span { margin-left: 4px; }
.portrait img { width: 100%; height: clamp(340px, 43vw, 555px); object-fit: cover; object-position: 50% 36%; background: #633829; border-radius: 47% 47% 3px 3px / 34% 34% 3px 3px; }
.portrait figcaption { display: flex; justify-content: space-between; gap: 10px; margin-top: 11px; font-size: .65rem; color: var(--muted); letter-spacing: .075em; }
.services { padding-block: 78px 86px; }
.section-heading h2, .booking h2 { margin-top: 13px; }
.service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 32px; border-block: 1px solid var(--line); }
.service { padding: 24px 28px; }
.service:first-child { padding-left: 0; }
.service + .service { border-left: 1px solid var(--line); }
.service .index { color: var(--gold); font-size: .7rem; letter-spacing: .1em; }
.service h3 { margin-top: 16px; }
.service p { margin-block: 12px 17px; color: var(--muted); max-width: 28ch; font-size: .92rem; }
.price-note { margin-top: 12px; color: var(--muted); font-size: .89rem; }
.service-bottom { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 12px; padding-top: 13px; border-top: 1px solid var(--line); }
.price { display: grid; color: var(--wine); }
.price small { color: var(--muted); font-size: .7rem; }
.price strong { font: 400 1.65rem/1.2 var(--serif); }
.visit { background: #f6ede4; border-top: 1px solid var(--line); }
.visit-inner { display: flex; align-items: center; justify-content: space-between; gap: 26px; padding-block: 42px; }
.visit h2 { margin-top: 12px; }
.visit address { margin-top: 13px; color: var(--muted); font-style: normal; }
.visit-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.booking { background: var(--rose); border-block: 1px solid var(--line); }
.booking-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(25px, 7vw, 98px); padding-block: 70px; align-items: start; }
.form-panel { background: var(--paper); border: 1px solid var(--line); padding: clamp(20px, 4vw, 36px); }
.fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0 15px; }
label { display: block; font-size: .82rem; font-weight: 650; margin-bottom: 15px; }
label span { color: var(--muted); font-size: .72rem; font-weight: 400; }
input,select,textarea { width: 100%; padding: 10px 11px; margin-top: 5px; border: 1px solid #cdbab5; border-radius: 0; min-height: 44px; background: #fff; color: var(--ink); font: 400 1rem/1.35 var(--sans); }
textarea { resize: vertical; }
.trap { display: none; }
.fine { color: var(--muted); font-size: .75rem; margin-bottom: 15px; }
.error { color: #8b182d; background: #f8e4e7; padding: 10px 12px; margin-bottom: 16px; }
.success h3 { margin-block: 10px 16px; }
.success p:not(.eyebrow) { margin-bottom: 15px; }
.footer { padding-block: 26px; }
.footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.footer p,.footer-inner > div { color: var(--muted); font-size: .77rem; }
.footer-inner > div { display: flex; gap: 18px; }
.admin { max-width: 920px; padding-block: 64px 80px; min-height: 60vh; }
.admin h1 { font-size: clamp(3rem, 6vw, 5rem); margin-block: 12px 20px; }
.admin > p { margin-bottom: 17px; }
.login { max-width: 450px; }
.admin-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.filters,.pagination { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.filters a,.pagination a { padding: 7px 12px; border: 1px solid var(--line); text-decoration: none; font-size: .84rem; }
.filters [aria-current] { background: var(--wine); color: white; border-color: var(--wine); }
.empty,.success-line { padding: 18px 22px; background: var(--rose); }
.enquiry { display: grid; grid-template-columns: minmax(0, 1fr) 150px; gap: 20px; background: var(--paper); padding: 24px; margin-bottom: 13px; border: 1px solid var(--line); overflow-wrap: anywhere; }
.enquiry h2 { font-size: 2rem; margin-top: 8px; }
.enquiry dl { display: grid; grid-template-columns: 90px 1fr; gap: 4px; font-size: .88rem; }
.enquiry dt { font-weight: 700; }
.enquiry dd { margin: 0; }
.status-actions { gap: 8px; }
.status-actions .button { padding-inline: 12px; }
.notes { white-space: pre-wrap; color: var(--muted); }
@media (max-width: 850px) {
  .shell { width: calc(100% - 48px); }
  .hero-grid { gap: 25px; }
  .fields { grid-template-columns: 1fr; }
  .service { padding-inline: 16px; }
}
@media (max-width: 650px) {
  .shell { width: calc(100% - 36px); }
  .nav { min-height: 68px; }
  .nav .nav-link { display: none; }
  .hero-grid, .booking-grid { grid-template-columns: 1fr; padding-block: 38px 27px; }
  .hero-copy { padding-bottom: 6px; }
  .portrait img { height: min(116vw, 480px); }
  .services { padding-block: 44px; }
  .service-grid { grid-template-columns: 1fr; margin-top: 23px; }
  .service,.service:first-child { padding: 19px 0; }
  .service + .service { border-left: none; border-top: 1px solid var(--line); }
  .service h3 { margin-top: 8px; }
  .service p { max-width: 40ch; }
  .visit-inner { align-items: flex-start; flex-direction: column; padding-block: 35px; }
  .booking-grid { padding-bottom: 38px; }
  .footer-inner { flex-wrap: wrap; }
  .footer p { order: 3; width: 100%; }
  .enquiry { grid-template-columns: 1fr; padding: 18px; }
  .admin { padding-block: 39px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

.nav [aria-current="page"].nav-link { color: var(--wine); text-decoration: underline; text-underline-offset: 5px; }
.page-intro { background: #f6ede4; border-bottom: 1px solid var(--line); padding-block: 57px 50px; }
.page-intro h1 { margin-top: 14px; font-size: clamp(3rem, 6vw, 5.8rem); }
.page-intro .intro { max-width: 56ch; margin-bottom: 0; }
.page-intro + .services { padding-block: 36px 54px; }
.section-action { margin-top: 20px; }
.page-end { padding-block: 0 54px; }
.location-grid + .page-end, .visit + .page-end { padding-top: 28px; }
.bridal-callout { background: #f2e3df; border-block: 1px solid var(--line); }
.bridal-callout h2, .reviews h2 { margin-top: 12px; }
.bridal-callout .intro { margin: 13px 0 0; }
.hours { margin-top: 7px; font-size: .88rem; font-weight: 650; }
.hours span { color: var(--muted); font-weight: 400; }
.location-actions { margin-top: 18px; }
.location-grid,.reviews-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(22px, 5vw, 65px); padding-block: 52px; }
.map { width: 100%; height: clamp(270px, 36vw, 370px); border: 1px solid var(--line); background: var(--paper); }
.rating { margin-top: 16px; }
.rating span { color: var(--gold); letter-spacing: .13em; }
.reviews .fine { margin-top: 4px; }
.quotes { display: grid; gap: 12px; }
.quotes figure { background: var(--paper); border: 1px solid var(--line); padding: 17px 20px; }
.quotes blockquote { margin: 0; font: 1.16rem/1.4 var(--serif); }
.quotes figcaption { margin-top: 6px; color: var(--muted); font-size: .76rem; }
.guide { padding-block: 42px; }
.guide ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin: 22px 0 0; padding-left: 22px; }
.guide li h3 { font-size: 1.35rem; line-height: 1.2; }
.guide li p { color: var(--muted); margin-top: 9px; }
.booking-contact { color: var(--muted); }
.gallery-actions { gap: 16px 26px; margin-top: 6px; }
.portfolio { padding-block: 38px 58px; }
.portfolio-section { margin-top: 28px; }
.portfolio-section h2 { margin-bottom: 16px; font-size: clamp(2rem, 4vw, 3.2rem); }
.portfolio-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
#mehndi .portfolio-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.portfolio-card { border: 1px solid var(--line); background: var(--paper); overflow: hidden; }
.portfolio-photo { aspect-ratio: 4 / 5; background: #ede2d8; overflow: hidden; }
.portfolio-photo img { width: 100%; height: 100%; object-fit: contain; }
.portfolio-card figcaption { padding: 11px 14px; font: 1.15rem/1.3 var(--serif); }
.portfolio-card figcaption small { display: block; margin-top: 5px; color: var(--muted); font: .75rem/1.4 var(--sans); }
.portfolio .gallery-actions { margin-top: 25px; }
@media (max-width: 850px) { .portfolio-grid, #mehndi .portfolio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 460px) {
  .portfolio { padding-block: 23px 38px; }
  .portfolio-grid, #mehndi .portfolio-grid { grid-template-columns: 1fr; }
}
.founder { background: var(--paper); border-block: 1px solid var(--line); }
.founder h2 { margin-top: 12px; }
.founder .intro { margin: 13px 0 0; }
.founder-story { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1fr); align-items: center; gap: clamp(24px, 7vw, 92px); padding-block: 53px; }
.founder-portrait { width: min(100%, 380px); }
.founder-portrait img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 48% 48% 4px 4px / 27% 27% 4px 4px; }
.founder-role { margin-top: 10px; color: var(--gold); font-size: .9rem; }
.founder-copy { max-width: 58ch; color: var(--muted); margin-top: 18px; }
.founder-copy p { margin-bottom: 15px; }
.whatsapp { position: fixed; z-index: 1; bottom: max(16px, env(safe-area-inset-bottom)); right: 17px; display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; min-height: 45px; border-radius: 99px; color: white; background: #205740; font-size: .81rem; font-weight: 700; text-decoration: none; box-shadow: 0 4px 14px #34212928; }
.whatsapp:hover { background: #174433; }
.public-footer { padding-bottom: 75px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 650px) {
  .nav:has(.main-nav) { flex-wrap: wrap; gap: 8px; padding-block: 13px 9px; }
  .nav .main-nav { width: 100%; justify-content: space-between; gap: 4px; font-size: .78rem; }
  .nav .main-nav .nav-link { display: inline-flex; min-height: 44px; align-items: center; padding-inline: 3px; }
  .nav .main-nav .button { padding: 7px 9px; font-size: .76rem; gap: 5px; min-height: 42px; }
  .nav .main-nav .button span { display: none; }
  .page-intro { padding-block: 37px; }
  .location-grid,.reviews-grid,.guide ol,.founder-story { grid-template-columns: 1fr; }
  .location-grid,.reviews-grid { padding-block: 35px; }
  .guide ol { gap: 19px; }
  .founder-story { padding-block: 36px; }
  .whatsapp { right: 12px; }
}

.menu-list { padding-block: 32px 60px; }
.menu-filter { display: grid; grid-template-columns: minmax(140px, 1fr) minmax(120px, .7fr) auto auto; gap: 12px; align-items: end; background: var(--paper); border: 1px solid var(--line); padding: 16px; }
.menu-filter label { margin: 0; }
.menu-filter .text-link { align-self: center; }
.menu-category { margin-top: 34px; }
.menu-category h2 { font-size: clamp(1.9rem, 3vw, 2.8rem); }
.menu-category .service-grid { margin-top: 15px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 245px), 1fr)); }
.service { overflow-wrap: anywhere; }
.service-meta { font-weight: 650; }
.selected-service { background: var(--rose); margin-bottom: 16px; padding: 12px; color: var(--wine); }
.selected-service strong { display: block; }
.admin-menu { margin-bottom: 20px; }
.service-editor { margin-bottom: 24px; }
.service-editor h2 { font-size: 2rem; margin-bottom: 18px; }
.checkboxes { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.checkboxes label { display: flex; align-items: center; gap: 8px; min-height: 44px; }
.checkboxes input { width: 18px; min-height: 18px; height: 18px; margin: 0; }
.catalogue-admin-list { list-style: none; margin: 0; padding: 0; }
.catalogue-admin-list li { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 14px 0; border-top: 1px solid var(--line); overflow-wrap: anywhere; }
.catalogue-admin-list p { color: var(--muted); font-size: .82rem; }
@media (max-width: 650px) {
  .menu-filter { grid-template-columns: 1fr; align-items: stretch; }
  .menu-category .service-grid { grid-template-columns: 1fr; }
}

.home-hero .hero-grid { grid-template-columns: .9fr 1.1fr; gap: clamp(28px, 5vw, 76px); padding-block: 55px 43px; }
.home-hero h1 { font-size: clamp(3.1rem, 6vw, 5.7rem); }
.home-photo img { height: auto; aspect-ratio: 4 / 3; border-radius: 42% 42% 4px 4px / 29% 29% 4px 4px; object-position: center; }
.home-section-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; }
.home-section-head h2 { margin-top: 13px; }
.home-offerings { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 28px; }
.home-offering { padding: 24px; border: 1px solid var(--line); background: var(--paper); }
.home-offering h3 { font-size: 1.65rem; }
.home-offering p { color: var(--muted); font-size: .9rem; margin-top: 10px; }
.home-offering ul { display: flex; flex-wrap: wrap; gap: 7px 14px; list-style: none; padding: 0; margin: 16px 0 0; }
.home-offering a { display: inline-block; padding-block: 3px; font-size: .82rem; }
@media (max-width: 900px) {
  .home-offerings { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  .home-hero .hero-grid { grid-template-columns: 1fr; padding-block: 35px 24px; }
  .home-section-head { align-items: start; flex-direction: column; }
  .home-offerings { grid-template-columns: 1fr; margin-top: 20px; }
  .home-offering { padding: 20px; }
}

.admin-google { margin-top: 14px; }
.page-brush { display: none; }
@media (prefers-reduced-motion: no-preference) {
  .top { position: relative; }
  .page-brush {
    display: block;
    position: absolute;
    inset: calc(100% + 8px) max(18px, 4vw) auto auto;
    width: clamp(58px, 8vw, 82px);
    color: var(--wine);
    pointer-events: none;
    animation: brush-reveal 1100ms ease-out both;
  }
  .brush-tool {
    transform-origin: 28px 22px;
    animation: brush-sweep 670ms ease-out both;
  }
  .brush-trail {
    stroke-dasharray: 1;
    animation: brush-stroke 530ms 100ms ease-out both;
  }
  .brush-sparkles { animation: brush-sparkle 500ms 380ms ease-out both; }
  @keyframes brush-reveal {
    0%, 100% { opacity: 0; }
    18%, 70% { opacity: .9; }
  }
  @keyframes brush-sweep {
    from { transform: translate(-6px, 5px) rotate(-13deg); }
    to { transform: translate(18px, 0) rotate(6deg); }
  }
  @keyframes brush-stroke {
    from { stroke-dashoffset: 1; }
    to { stroke-dashoffset: 0; }
  }
  @keyframes brush-sparkle {
    0%, 100% { opacity: 0; }
    40% { opacity: 1; }
  }
}

.home-hero { position: relative; isolation: isolate; overflow: hidden; }
.salon-motion {
  position: absolute;
  left: max(-7rem, calc((100% - 1370px)/2));
  bottom: -1.7rem;
  width: min(60%, 770px);
  height: auto;
  z-index: -1;
  pointer-events: none;
}
.salon-glints { opacity: .28; }
.salon-brush { opacity: 0; }
@media (prefers-reduced-motion: no-preference) {
  .salon-motion .salon-powder,
  .salon-motion .salon-ribbon {
    stroke-dasharray: 1;
    animation: salon-draw 1.7s .12s ease-in-out both;
  }
  .salon-motion .salon-ribbon-fine { animation-delay: .23s; }
  .salon-motion .salon-glints { animation: salon-glint .8s 1.1s ease-in-out both; }
  .salon-motion .salon-brush {
    offset-path: path('M54 242C146 268 203 138 339 151c92 9 136 77 232 23 44-25 76-57 103-105');
    offset-anchor: 0 0;
    offset-rotate: auto;
    animation: salon-sweep 1.72s .1s ease-in-out both;
  }
  @keyframes salon-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
  @keyframes salon-sweep {
    0% { offset-distance: 0%; opacity: 0; }
    14%, 70% { opacity: .63; }
    100% { offset-distance: 100%; opacity: 0; }
  }
  @keyframes salon-glint {
    0% { opacity: 0; }
    40% { opacity: .85; }
    100% { opacity: .28; }
  }
}
@media (max-width: 650px) {
  .salon-motion { width: min(110%, 450px); left: -5%; bottom: auto; top: 174px; }
}

.dashboard-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-block: 22px; }
.dashboard-cards, .dashboard-panels { display: grid; gap: 14px; }
.dashboard-cards { grid-template-columns: repeat(auto-fit, minmax(min(100%, 195px), 1fr)); }
.dashboard-panels { grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); margin-top: 20px; }
.dashboard-card, .dashboard-panel { border: 1px solid var(--line); border-radius: 12px; padding: 18px; }
.dashboard-card { display: grid; gap: 5px; text-decoration: none; }
.dashboard-card:hover, .dashboard-card:focus-visible { border-color: var(--wine); }
.dashboard-card strong { font-size: 2rem; color: var(--wine); }
.dashboard-card small, .dashboard-panel small { display: block; color: var(--muted); }
.dashboard-panel h2 { margin: 0 0 10px; font-size: 1.65rem; }
.dashboard-panel p { color: var(--muted); }
.dashboard-panel ul { list-style: none; padding: 0; margin: 12px 0; }
.dashboard-panel li { display: flex; justify-content: space-between; gap: 12px; padding-block: 10px; border-top: 1px solid var(--line); }
.dashboard-panel time { text-align: right; flex: none; }

.studio-dashboard { width: min(95%, 1360px); display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 22px; }
.dashboard-sidebar, .dashboard-content { border-radius: 20px; padding: clamp(14px, 2vw, 26px); }
.dashboard-sidebar { border: 1px solid var(--line); align-self: start; background: #fff; }
.dashboard-sidebar nav { display: grid; gap: 6px; margin-bottom: 22px; }
.dashboard-sidebar nav a, .dashboard-period a { text-decoration: none; padding: 9px 12px; border-radius: 9px; }
.dashboard-sidebar nav a:hover, .dashboard-period a:hover { background: #f4e6eb; }
.dashboard-sidebar nav [aria-current], .dashboard-period [aria-current] { background: #65243b; color: white; }
.dashboard-content { background: #f8f4f6; }
.dashboard-welcome { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: 14px; margin-bottom: 20px; }
.dashboard-welcome p, .dashboard-welcome h1 { margin: 0; }
.dashboard-welcome h1 { font-style: italic; color: var(--wine); }
.dashboard-welcome small { display: block; margin-top: 7px; color: var(--muted); }
.dashboard-period { display: flex; gap: 4px; background: white; padding: 4px; border-radius: 12px; }
.dashboard-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dashboard-card, .dashboard-panel { background: white; }
.dashboard-card:nth-child(2) { background: #f9eaf0; }
.dashboard-card:nth-child(3) { background: #edf4eb; }
.dashboard-card:nth-child(4) { background: #fbf2df; }
.dashboard-followup { margin-top: 14px; padding: 17px; border-radius: 12px; background: #f0e5f1; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.dashboard-followup h2, .dashboard-followup p { margin: 0; }
.dashboard-followup h2 { font-size: 1.45rem; }
.dashboard-panel table { width: 100%; border-collapse: collapse; font-size: .86rem; }
.dashboard-panel :is(th,td) { text-align: start; padding: 9px 4px; border-bottom: 1px solid var(--line); }
.dashboard-panel summary { cursor: pointer; margin-top: 12px; }
.chart-legend, .chart-dates { display: flex; gap: 16px; font-size: .78rem; }
.chart-dates { justify-content: space-between; }
.chart-legend span::before { content: ''; display: inline-block; width: .7em; height: .7em; border-radius: 50%; margin-right: 5px; background: #71334d; }
.chart-legend span + span::before { background: #467458; }
.activity-chart { height: 150px; display: flex; align-items: stretch; gap: 2px; border-bottom: 1px solid var(--line); }
.activity-chart > div { display: flex; flex: 1; min-width: 0; justify-content: center; }
.activity-chart meter { writing-mode: vertical-lr; direction: rtl; width: min(42%, 12px); height: 100%; appearance: none; }
.activity-chart meter::-webkit-meter-bar { border: 0; background: transparent; }
.activity-chart meter::-webkit-meter-optimum-value { background: #71334d; border-radius: 3px; }
.activity-chart meter + meter::-webkit-meter-optimum-value { background: #467458; }
.activity-chart meter::-moz-meter-bar { background: #71334d; }
.activity-chart meter + meter::-moz-meter-bar { background: #467458; }
@media (max-width: 850px) {
  .studio-dashboard { grid-template-columns: 1fr; }
  .dashboard-sidebar nav { display: flex; flex-wrap: wrap; }
}
@media (max-width: 650px) {
  .dashboard-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: no-preference) {
  .dashboard-card { transition: transform .2s ease, box-shadow .2s ease; }
  .dashboard-card:hover, .dashboard-card:focus-visible { transform: translateY(-3px); box-shadow: 0 7px 16px #65243b15; }
  .activity-chart { animation: studio-chart-enter .4s ease-out both; transform-origin: bottom; }
  @keyframes studio-chart-enter { from { opacity: .3; transform: scaleY(.7); } }
}
