:root{
  --accent:#1f6c67;
  --accent-mid:#4d8e87;
  --accent-soft:#e4efec;
  --bg:#f5f2ec;
  --line:#deddd6;
  --ink:#213536;
  --muted:#6e7b79;
  --surface:#fffdf8;
  --surface-2:#edf3f0;
  --warm:#ca7357;
  --warm-soft:#f7e8e1;
  --danger:#a64b5c;
  --shadow:0 10px 32px rgba(38,64,61,.10);
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;text-rendering:optimizeLegibility}
html,body{background:#dfe8e4;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Noto Sans TC","Microsoft JhengHei",sans-serif}
body{-webkit-font-smoothing:auto;font-synthesis:none}
#app{max-width:600px;background:var(--bg)}
button,input,textarea,select{font-family:inherit;letter-spacing:0}
.topbar{height:62px;min-height:62px;padding:0 14px;background:var(--surface);border-bottom:1px solid #e5e2da;box-shadow:none;transform:none}
.topbar h1{font-size:16px!important;line-height:20px;font-weight:700;letter-spacing:0;transform:none!important;text-rendering:optimizeLegibility;-webkit-font-smoothing:auto}
.topbar .left,.topbar .right{gap:4px}
.text-action{color:var(--accent);font-size:13px;font-weight:650}
.icon-button{min-width:40px;min-height:42px;color:var(--accent);border-radius:12px}
.icon-button:active{background:var(--accent-soft)}
.date-title{font-size:17px;font-weight:750;color:var(--ink)}
.toolbar-pill{background:var(--surface-2);border:1px solid #dce7e3;border-radius:16px;padding:1px 3px}
.nav{height:calc(66px + var(--safe-bottom));margin:8px 10px 10px;padding:4px 5px var(--safe-bottom);border:1px solid #d8e2de;border-radius:20px;background:rgba(255,253,248,.98);box-shadow:0 8px 28px rgba(30,67,63,.14)}
.nav button{border-radius:14px;color:#7c8885;font-size:11px;font-weight:650;transition:background .15s,color .15s}
.nav button.active{color:var(--accent);background:var(--accent-soft)}
.nav button svg{width:21px;height:21px}
.scroll{padding:8px 0 18px;scrollbar-color:#b9c9c4 transparent}
.section-label{margin:18px 16px 7px;color:#61706e;font-size:10px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.card{margin:8px 12px;border:1px solid #e2dfd8;border-radius:16px;background:var(--surface);box-shadow:0 6px 18px rgba(48,65,62,.05)}
.card.large-radius{border-radius:22px}
.row{min-height:52px;padding:10px 14px;border-bottom-color:#ece9e2}
.row .label{color:var(--ink);font-weight:600}
.row .value{color:var(--accent);font-weight:650}
.row-button{color:var(--ink)}
.row .chevron{color:#9eaaa7}
.primary{min-height:42px;border-radius:12px;background:var(--accent);font-weight:700;box-shadow:0 7px 18px rgba(31,108,103,.18)}
.primary:active{background:#185955}
.outline{min-height:38px;border:1px solid #aac4bd;border-radius:12px;background:var(--surface);color:var(--accent);font-weight:650}
.soft{border-radius:12px;background:var(--accent-soft);color:var(--accent);font-weight:650}
.danger-outline{border-color:#d5a7b0;color:var(--danger)}
.segmented{gap:6px}
.segmented button{min-height:34px;padding:7px 12px;border-color:#d5dfdc;border-radius:10px;background:#faf9f5;color:#647370}
.segmented button.selected{border-color:var(--accent);background:var(--accent);color:#fff}
.tabs{margin:6px 10px;border:1px solid #e1dfd8;border-radius:15px;background:var(--surface);box-shadow:0 4px 14px rgba(48,65,62,.05)}
.tabs button{padding:10px 14px;color:#75827f;border-bottom:0;border-radius:12px;font-weight:650}
.tabs button.active{background:var(--accent-soft);color:var(--accent)}
.tabs.solid{background:var(--surface);min-height:42px}
.tabs.solid button{color:#73817e}
.tabs.solid button.active{background:var(--accent);color:#fff}
.tabs.solid button.active:after{display:none}
.search-bar{position:relative;top:auto;margin:8px 10px;padding:7px 8px;border:1px solid #dedfd9;border-radius:16px;background:var(--surface);box-shadow:0 4px 14px rgba(48,65,62,.05)}
.search-inner{padding-left:6px}
.search-bar button{border-radius:11px;background:var(--warm);font-weight:700}
.member-tabs.single{min-height:58px;padding:9px 14px;border-bottom:1px solid #e4e2dc;background:var(--surface)}
.member-tabs.single>strong{color:var(--ink);font-size:15px}
.member-row{min-height:72px;margin:8px 12px;padding:11px 12px;border:1px solid #e2dfd8;border-radius:16px;background:var(--surface);box-shadow:0 6px 18px rgba(48,65,62,.05)}
.member-info strong{color:var(--ink);font-size:13px}
.member-info small{color:var(--muted);font-size:11px}
.calendar{padding:7px;background:var(--bg)}
.weekdays{height:32px;color:#62716e;font-size:11px;font-weight:700}
.month-grid{gap:4px;padding:2px;border-top:0;background:transparent}
.day{border:1px solid #e1ded7;border-radius:12px;background:var(--surface);padding:5px 4px}
.day.today{background:#e8f3f0;border-color:#77aaa1;box-shadow:inset 0 0 0 1px #77aaa1}
.date-number{color:#596764;font-weight:650}
.day.today .date-number{color:var(--accent)}
.birthday{color:var(--warm);font-weight:650}
.appointment-dot{margin-top:3px;padding:4px;border:0;border-left:3px solid var(--accent)!important;border-radius:6px;background:var(--accent-soft);color:#245e5a;font-size:9px;font-weight:650}
.day .appointment-dot:has(+ .appointment-dot){margin-bottom:1px}
.week-strip.modern{grid-template-columns:34px repeat(7,1fr) 34px;margin:0 10px 8px;padding:7px;border:1px solid #e2dfd8;border-radius:18px;background:var(--surface);box-shadow:0 5px 16px rgba(48,65,62,.05)}
.week-strip.modern button{display:flex;flex-direction:column;gap:4px;align-items:center;border-radius:11px;color:#6d7a77}
.week-strip.modern button span{font-size:10px}
.week-strip.modern button b{font-size:13px}
.week-strip.modern .selected{background:var(--accent);color:#fff}
.day-overview{display:flex;align-items:center;justify-content:space-between;margin:10px 12px;padding:17px 18px;border-radius:20px;background:linear-gradient(135deg,#173f3c,#2b7771);color:#fff;box-shadow:0 12px 30px rgba(23,63,60,.20)}
.day-overview .eyebrow{font-size:11px;letter-spacing:.08em;opacity:.75}
.day-overview h2{margin:5px 0 0;font-size:22px;line-height:1.1}
.filter-chip{display:flex;align-items:center;gap:5px;padding:9px 11px;border-radius:12px;background:#ffffff1c;color:#fff;font-size:11px;font-weight:700}
.filter-chip svg{width:15px;height:15px}
.schedule-scroll{padding-top:0;background:transparent}
.schedule-list{display:flex;flex-direction:column;gap:10px;padding:3px 12px 18px}
.appointment-card{position:relative;display:grid;grid-template-columns:60px minmax(0,1fr) auto 20px;align-items:center;gap:10px;width:100%;min-height:78px;padding:13px 14px;border:1px solid #dddcd5;border-radius:18px;background:var(--surface);box-shadow:0 8px 22px rgba(48,65,62,.07);text-align:left}
.appointment-card:active:not(.is-settled){transform:translateY(1px);box-shadow:0 4px 12px rgba(48,65,62,.08)}
.appointment-time{font-size:17px;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums}
.appointment-main{min-width:0;display:flex;flex-direction:column;gap:5px}
.appointment-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:var(--ink)}
.appointment-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px}
.appointment-card>.icon{width:17px;color:#92a09d}
.status-chip{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:4px 9px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}
.status-chip.pending{background:#f3eee2;color:#8b6a33}
.status-chip.arrived{background:#e1f0e7;color:#35704f}
.status-chip.settled{background:#dbe7e5;color:#315f5b}
.appointment-card.is-settled{grid-template-columns:60px minmax(0,1fr) auto;background:#eef0ec;border-style:dashed;box-shadow:none;color:#68716f;cursor:default}
.appointment-card.is-settled .appointment-time,.appointment-card.is-settled .appointment-main b{color:#68716f}
.settled-meta{grid-column:2/4;margin-top:-5px;color:#84908d;font-size:10px}
.schedule-empty{padding:12px;border:1px dashed #cad4d0;border-radius:20px;background:#ffffff90;text-align:center}
.schedule-empty .empty{min-height:210px}
.schedule-empty>.primary{width:100%;margin-top:5px}
.detail-scroll{padding:12px}
.appointment-hero{position:relative;padding:22px;border-radius:24px;background:linear-gradient(140deg,#173f3c,#2c7771);color:#fff;box-shadow:0 14px 34px rgba(23,63,60,.22)}
.appointment-hero .eyebrow{font-size:11px;letter-spacing:.08em;opacity:.75}
.appointment-hero h2{margin:8px 0 5px;font-size:25px;line-height:1.15}
.appointment-hero p{margin:0;max-width:78%;color:#d5e9e5;font-size:12px;line-height:1.6}
.appointment-hero>.status-chip{position:absolute;right:18px;top:18px;background:#ffffff20;color:#fff}
.settlement-card{margin-top:12px;padding:17px 18px;border:1px solid #c9dbd6;border-radius:18px;background:var(--accent-soft)}
.settlement-card h3{margin:8px 0 4px;color:#245e5a;font-size:16px}
.settlement-card p{margin:0;color:#617572;font-size:11px}
.detail-card{margin-top:12px;border:1px solid #e0ddd6;border-radius:18px;background:var(--surface);overflow:hidden;box-shadow:0 6px 18px rgba(48,65,62,.05)}
.detail-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:15px;padding:13px 15px;border-bottom:1px solid #ebe8e1}
.detail-row:last-child{border-bottom:0}
.detail-row span{color:var(--muted);font-size:11px}
.detail-row strong{text-align:right;color:var(--ink);font-size:12px;line-height:1.55}
.appointment-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:12px 0 2px}
.record-locked{background:#eef0ec;color:#7c8583;cursor:default}
.record-locked .icon{color:#879490}
.records-list{padding:4px 10px}
.list-order{margin:7px 0;border:1px solid #e1ded7;border-radius:15px;background:var(--surface);box-shadow:0 4px 14px rgba(48,65,62,.05)}
.dialog{border:1px solid #e0ddd5;border-radius:20px;background:var(--surface);box-shadow:0 20px 60px rgba(28,48,46,.25)}
.dialog h2{font-size:18px;color:var(--ink)}
.dialog-actions{grid-template-columns:1fr 1fr}
.sheet{border-radius:24px 24px 0 0;background:var(--bg)}
.sheet .option{border:1px solid #dde2df;border-radius:13px;background:var(--surface);color:#62706d}
.sheet .option.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.wallet-card{border-color:#d1dfda;border-radius:20px;background:linear-gradient(145deg,#fffdf8,#e9f2ef);box-shadow:var(--shadow)}
.wallet-card>strong{color:var(--accent)}
.admin-hero{border-radius:22px;background:linear-gradient(140deg,#173f3c,#2d766f);box-shadow:0 12px 30px rgba(23,63,60,.20)}
.stat-card{margin:12px;border:1px solid #e2dfd8;border-radius:18px;background:var(--surface);box-shadow:0 7px 20px rgba(48,65,62,.06);overflow:hidden}
.stat-head{border-radius:0;background:#2b726c}
.salary{background:linear-gradient(140deg,#173f3c,#2d766f)}
.finance-store{color:var(--accent);background:var(--surface)}
.info-banner{border-color:#d8e3df;border-radius:14px;background:#edf4f1;color:#536d68}
#toast{border-radius:14px;background:#183e3bee;box-shadow:0 12px 30px rgba(24,62,59,.28)}
.checkout-summary{border-top-color:#91aaa4}
.checkout-summary p{padding:7px 0;border-bottom:1px solid #ebe8e1;color:#586764}
.checkout-summary p:last-child{border-bottom:0}
.checkout-summary strong{color:var(--ink)}
@media(min-width:650px){
  body{padding:18px 0}
  #app{height:calc(100dvh - 36px);border:1px solid #cfd9d5;border-radius:28px;box-shadow:0 24px 70px rgba(24,62,59,.18)}
  .nav{margin-bottom:12px}
}
@media(max-width:390px){
  .topbar{padding:0 9px}
  .date-title{font-size:15px}
  .toolbar-pill .icon-button{min-width:34px}
  .appointment-card{grid-template-columns:52px minmax(0,1fr) auto 16px;padding:12px 10px}
  .appointment-time{font-size:15px}
  .status-chip{padding:4px 7px}
  .day-overview{padding:15px}
}
@media(prefers-reduced-motion:reduce){
  .appointment-card,.nav button{transition:none}
}

/* StarSpa v4 formal service catalog and pricing */
.topbar,.topbar h1,.topbar .left,.topbar .right{filter:none!important;backdrop-filter:none!important;perspective:none!important;will-change:auto!important}
.topbar h1{font-family:Arial,"Noto Sans TC","Microsoft JhengHei",sans-serif;font-size:16px!important;line-height:20px!important;font-weight:700!important;letter-spacing:0!important;transform:none!important}
.service-picker-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:5px 2px 12px}
.service-picker-switch button{min-height:40px;border:1px solid #d8dedb;border-radius:12px;background:var(--surface);color:var(--muted);font-weight:750}
.service-picker-switch button.selected{border-color:var(--accent);background:var(--accent);color:#fff}
.service-price-menu{display:flex;flex-direction:column;gap:12px;padding-bottom:6px}
.price-category{overflow:hidden;border:1px solid #cee0dd;border-radius:19px;background:linear-gradient(145deg,#f8fffd,#fffdf8)}
.price-category.addon-category{border-color:#efd1c2;background:linear-gradient(145deg,#fffaf7,#fffdf8)}
.price-category>header{display:flex;align-items:center;gap:10px;padding:12px 13px;border-bottom:1px solid #e3e7e4}
.price-category>header>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--accent);color:#fff;font-size:17px;font-weight:800}
.price-category.addon-category>header>span{background:var(--warm)}
.price-category>header div{display:flex;flex-direction:column;gap:2px}
.price-category>header b{font-size:14px;color:var(--ink)}
.price-category>header small{font-size:10px;color:var(--muted)}
.price-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}
.price-service-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:148px;padding:13px;border:1px solid #dde5e2;border-radius:15px;background:#fff;text-align:left}
.price-service-card.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),0 7px 18px rgba(31,108,103,.12)}
.addon-category .price-service-card.selected{border-color:var(--warm);box-shadow:inset 0 0 0 1px var(--warm),0 7px 18px rgba(202,115,87,.12)}
.service-check{position:absolute;right:9px;top:9px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:850}
.addon-category .service-check{background:var(--warm-soft);color:var(--warm)}
.price-service-card strong{padding-right:27px;font-size:13px;line-height:1.45;color:var(--ink)}
.price-service-card>small{min-height:31px;font-size:10px;line-height:1.5;color:var(--muted)}
.service-duration{font-size:10px;font-weight:700;color:var(--accent)}
.price-line{display:flex;flex-direction:column;gap:2px;margin-top:auto}
.price-line del{font-size:10px;color:#989a96}
.price-line em{font-size:15px;font-style:normal;font-weight:850;color:var(--accent)}
.addon-category .price-line em{color:var(--warm)}

.pos-content{background:var(--bg)}
.pos-catalog{display:flex;flex-direction:column;gap:9px;padding:2px 11px 18px}
.pos-catalog-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:14px;border:1px solid #d9e3df;border-radius:17px;background:var(--surface);box-shadow:0 5px 16px rgba(48,65,62,.05)}
.pos-catalog-card.addon{border-color:#efd4c7}
.pos-catalog-card .catalog-kind{grid-column:1/-1;width:max-content;padding:3px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:9px;font-weight:800}
.pos-catalog-card.addon .catalog-kind{background:var(--warm-soft);color:var(--warm)}
.pos-catalog-card>div{min-width:0;display:flex;flex-direction:column;gap:5px}
.pos-catalog-card b{font-size:13px;line-height:1.45;color:var(--ink)}
.pos-catalog-card small{font-size:10px;line-height:1.5;color:var(--muted)}
.pos-catalog-card>strong{align-self:center;color:var(--accent);font-size:16px}
.pos-catalog-card>.outline,.pos-catalog-card>.disabled{grid-column:1/-1;width:100%}
.cart-summary{margin:8px 11px;border:1px solid #dedfd8;border-radius:18px;background:var(--surface);overflow:hidden}
.cart-total{background:var(--accent-soft)}
.cart-total b:last-child{font-size:18px;color:var(--accent)}
.stat-card{padding-bottom:12px;overflow:visible!important}
.stat-link{position:static!important;display:flex;align-items:center;justify-content:center;width:calc(100% - 24px);min-height:40px;margin:0 12px;border-radius:12px!important;background:var(--accent)!important;color:#fff!important;box-shadow:none!important}
.finance-subgroups{padding-bottom:12px}
.income-period,.stat-content,.finance-subgroups{position:relative;z-index:1}
.income-period+*{position:relative}
.settings-content{padding-bottom:18px}
@media(max-width:390px){
 .price-service-grid{grid-template-columns:1fr}
 .price-service-card{min-height:132px}
 .pos-catalog-card{grid-template-columns:minmax(0,1fr) auto}
}

.day .appointment-dot{display:-webkit-box;max-height:49px;padding:4px 5px;white-space:pre-line;line-height:1.25;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;font-size:9px;font-weight:700}
.day .appointment-dot:first-line{font-size:10px;font-weight:850}
@media(max-width:390px){.day .appointment-dot{max-height:43px;font-size:8px;-webkit-line-clamp:3}}

/* v4 design-review: remove residual legacy purple accents */
.avatar{background:linear-gradient(145deg,var(--accent),var(--warm));font-family:Arial,"Noto Sans TC","Microsoft JhengHei",sans-serif;font-style:normal;font-weight:800}
.profile-actions button,.settings-foot button,.tag-row svg,.member-row>.icon{color:var(--accent)}
.settings-content .row .icon{color:var(--accent-mid)}
.settings-content .row .value{color:var(--accent);font-weight:700}
.settings-content .row .chevron,.row .chevron{color:#91aaa4}
.switch{background:#9eaaa7}
.switch.on{background:var(--accent)}
.stepper{border-color:var(--accent);color:var(--accent)}
.stepper button{background:var(--accent-soft)}
.stepper>*+*{border-left-color:#aac4bd}
.field-note{color:var(--warm)}
.finance-store,.income-period,.stat-content,.stat-grid label,.finance-subgroup h4,.finance-subgroup p{color:var(--accent-mid)}
.stat-grid .group-label,.finance-subgroup h4{background:var(--accent-soft)}
.table th{background:#aac4bd;color:var(--ink)}
.order-card-head{background:var(--accent-soft);color:var(--accent)}
.order-metrics b,.receipt-item .price,.receipt-head{color:var(--accent)}
.template-edit .radio-line,.variable-line button{color:var(--accent)}
.variable-line button{border-color:#aac4bd}
.tag-color{box-shadow:0 0 0 1px #d8e2de}
.info-banner{color:#536d68!important;background:#edf4f1!important;border-color:#d8e3df!important}


/* StarSpa v5: concise calendar labels, guest checkout, analytics and settlement administration */
.day .appointment-dot{display:block!important;max-height:none!important;margin-top:3px;padding:2px 4px;border:0!important;border-left:3px solid var(--staff-color)!important;border-radius:4px;background:transparent!important;color:var(--staff-color)!important;font-size:10px!important;font-weight:800!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;-webkit-line-clamp:unset!important}
.day .appointment-dot.is-settled{--staff-color:#8b918f!important;color:#8b918f!important;border-left-color:#8b918f!important;font-weight:650!important}
.leave-label{display:block;margin-top:3px;padding:2px 4px;border-radius:4px;background:#fff0f0;color:#bd2f3a;font-size:9px;font-weight:850;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.guest-option{margin-bottom:8px;border:1px solid #d6dedb;border-radius:14px;background:var(--surface-2)}
.guest-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;font-weight:850}
.tag-row .label{display:flex;flex-direction:column;gap:3px;flex:1}.tag-row .label small{color:var(--muted);font-size:10px}.tag-row>.icon:last-child{width:15px;color:#91aaa4}
.named-colors button{position:relative;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;text-shadow:0 1px 2px #0008}.named-colors button span{position:absolute;top:48px;color:var(--ink);text-shadow:none;font-size:10px}

.analysis-bars{display:flex;flex-direction:column;gap:9px;padding:16px 14px;background:var(--surface)}
.analysis-bar-row{display:grid;grid-template-columns:104px minmax(0,1fr) 64px;align-items:center;gap:9px;font-size:11px}
.analysis-bar-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-weight:650}
.analysis-bar-row>div{height:9px;border-radius:999px;background:#e5ebe8;overflow:hidden}.analysis-bar-row i{display:block;height:100%;border-radius:inherit;background:var(--accent)}
.analysis-bar-row>strong{text-align:right;color:var(--accent);font-variant-numeric:tabular-nums}
.settlement-admin-row{display:grid;grid-template-columns:76px minmax(0,1fr) auto 18px;align-items:center;gap:10px;width:calc(100% - 24px);min-height:78px;margin:9px 12px;padding:12px;border:1px solid #dce2df;border-radius:16px;background:var(--surface);box-shadow:0 5px 16px rgba(48,65,62,.05);text-align:left}
.settlement-admin-date{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:9px}.settlement-admin-date b{color:var(--accent);font-size:16px}.settlement-admin-row .label{min-width:0}.settlement-admin-row .label b,.settlement-admin-row .label small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settlement-admin-row .label small{margin-top:5px;color:var(--muted);font-size:10px;line-height:1.45}.settlement-admin-row>strong{color:var(--accent)}
.settlement-edit-hero{display:flex;flex-direction:column;gap:5px;margin:8px 12px;padding:18px;border-radius:20px;background:linear-gradient(135deg,#173f3c,#2b7771);color:#fff}.settlement-edit-hero span,.settlement-edit-hero small{font-size:10px;opacity:.8}.settlement-edit-hero b{font-size:20px}
.settlement-edit-form .field{min-height:56px}.settlement-edit-form select,.settlement-edit-form input{width:100%;border:1px solid #d9dfdc;border-radius:10px;background:#fff;padding:9px;color:var(--ink)}
.settlement-items-edit{display:flex;flex-direction:column;gap:9px;padding:0 12px 20px}.settlement-item-edit{display:grid;grid-template-columns:minmax(0,1fr) 72px 92px auto;align-items:end;gap:8px;padding:13px;border:1px solid #dedfd8;border-radius:15px;background:var(--surface)}
.settlement-item-edit b{align-self:center;font-size:12px}.settlement-item-edit label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:9px}.settlement-item-edit input{width:100%;border:1px solid #d7ddda;border-radius:8px;padding:8px}.settlement-item-edit>span{align-self:center;color:var(--accent);font-weight:800}
@media(max-width:430px){.analysis-bar-row{grid-template-columns:86px minmax(0,1fr) 58px}.settlement-item-edit{grid-template-columns:1fr 64px 82px}.settlement-item-edit>b{grid-column:1/-1}.settlement-item-edit>span{display:none}}

/* Independent brand workspace: the legacy operations surface keeps its own theme. */
html[data-starspa-platform] body:not(.enterprise-active){background:#edf1f0;padding:0}
html[data-starspa-platform] body:not(.enterprise-active) .e-return{z-index:20;top:max(8px,env(safe-area-inset-top));bottom:auto;left:12px;right:auto;max-width:calc(100% - 24px);min-height:40px;border:1px solid #c4d0c9;border-radius:6px;background:#edf1f0;color:#31584d;box-shadow:none;font-size:12px;font-weight:600}
html[data-starspa-platform] body:not(.enterprise-active):has(.e-return.visible) #app .operations-context{padding-top:58px}
html[data-starspa-platform] body:not(.enterprise-active) #modal-root{--accent:#285e59;--accent-soft:#e9f0ee;--bg:#fff;--surface:#fff;--ink:#263b38;--muted:#626e6b;--line:#dde4e1}
html[data-starspa-platform] body:not(.enterprise-active) #modal-root :where(.dialog,.sheet){border-radius:12px;background:#fff}
html[data-starspa-platform] body:not(.enterprise-active) #modal-root .month-picker button{min-height:44px;background:#f1f4f2;color:#31584d;font-size:14px;border-radius:6px}
html[data-starspa-platform] body:not(.enterprise-active) #modal-root .month-picker button.selected{background:#285e59;color:#fff}
html[data-starspa-platform] body:not(.enterprise-active) #app{
 --accent:#285e59;--accent-mid:#446c67;--accent-soft:#e9f0ee;--bg:#fff;--surface:#fff;--surface-2:#f4f6f5;--ink:#263b38;--muted:#626e6b;--line:#dde4e1;--warm:#9a5139;--warm-soft:#f7ece6;--shadow:none;
 max-width:none;width:100%;height:100dvh;margin:0;border:0;border-radius:0;box-shadow:none;background:var(--surface);font-size:calc(14px * var(--text-scale,1));line-height:1.5;isolation:isolate;
}
html[data-starspa-platform] body:not(.enterprise-active) #app :where(button,input,select,textarea){caret-color:var(--accent)}
html[data-starspa-platform] body:not(.enterprise-active) #app ::selection{background:#d3e4df;color:#183c35}
html[data-starspa-platform] body:not(.enterprise-active) #app :where(button,a,input,textarea,select):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
html[data-starspa-platform] body:not(.enterprise-active) #app :where(input,textarea)::placeholder{color:#65716e}
html[data-starspa-platform] body:not(.enterprise-active) #app :where(.scroll,.calendar){scrollbar-color:#a6b7b0 #f3f5f4;scrollbar-width:thin}
html[data-starspa-platform] body:not(.enterprise-active) #app .operations-context{display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex-shrink:0;min-height:52px;padding:12px 16px;background:#edf1f0;border-bottom:1px solid var(--line);font-size:12px}
html[data-starspa-platform] body:not(.enterprise-active) #app .operations-context strong{font-size:14px;overflow-wrap:anywhere}
html[data-starspa-platform] body:not(.enterprise-active) #app .operations-context>span{color:var(--muted);border-left:1px solid #bccac4;padding-left:12px;overflow-wrap:anywhere}
html[data-starspa-platform] body:not(.enterprise-active) #app .operations-title{font-size:17px;line-height:1.4;margin:0 0 0 auto;font-weight:650}
html[data-starspa-platform] body:not(.enterprise-active) #app .topbar{min-height:64px;height:auto;padding:10px 16px;border-color:var(--line);flex-shrink:0}
html[data-starspa-platform] body:not(.enterprise-active) #app .topbar h1{font-size:18px!important}
html[data-starspa-platform] body:not(.enterprise-active) #app .icon-button{min-width:44px;min-height:44px;border-radius:6px}
html[data-starspa-platform] body:not(.enterprise-active) #app .toolbar-pill{border:0;border-radius:6px;background:#f3f5f4}
html[data-starspa-platform] body:not(.enterprise-active) #app .nav{margin:0;padding:4px 8px max(6px,var(--safe-bottom));min-height:68px;height:auto;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;background:#f8faf9}
html[data-starspa-platform] body:not(.enterprise-active) #app .nav button{min-height:52px;border-radius:6px;color:#596762;font-size:12px;font-weight:500}
html[data-starspa-platform] body:not(.enterprise-active) #app .nav button.active{background:#e2e9e5;color:#214a40;font-weight:650}
html[data-starspa-platform] body:not(.enterprise-active) #app .desktop-only-nav{display:none}
html[data-starspa-platform] body:not(.enterprise-active) #app :where(.card,.member-row,.tabs,.search-bar,.week-strip.modern,.appointment-card,.detail-card,.list-order,.stat-card,.pos-catalog-card,.settlement-admin-row){box-shadow:none;border-color:var(--line);border-radius:8px}
html[data-starspa-platform] body:not(.enterprise-active) #app :where(.primary,.outline,.soft){box-shadow:none;border-radius:6px;min-height:44px}
html[data-starspa-platform] body:not(.enterprise-active) #app :where(.day-overview,.appointment-hero,.wallet-card,.salary,.profile-hero,.avatar,.settlement-edit-hero){background:var(--surface-2);box-shadow:none;color:var(--ink);border-radius:8px}
html[data-starspa-platform] body:not(.enterprise-active) #app :where(.appointment-hero p,.appointment-hero .eyebrow,.day-overview .eyebrow){color:var(--muted);opacity:1}
html[data-starspa-platform] body:not(.enterprise-active) #app .avatar{background:#e2e9e5;color:#294e43}
html[data-starspa-platform] body:not(.enterprise-active) #app .filter-chip{background:#e2e9e5;color:#294e43}
html[data-starspa-platform] body:not(.enterprise-active) #app .scroll{padding:16px;min-width:0}
html[data-starspa-platform] body:not(.enterprise-active) #app :where(.row .label,.row .value,.member-info strong){font-size:calc(14px * var(--text-scale,1))}
html[data-starspa-platform] body:not(.enterprise-active) #app :where(.row .label,.row .value){overflow-wrap:anywhere;min-width:0}
html[data-starspa-platform] body:not(.enterprise-active) #app :where(.member-info small,.finance-subgroup p,.stat-grid label,.settings-content small){font-size:calc(12px * var(--text-scale,1));color:var(--muted)}
html[data-starspa-platform] body:not(.enterprise-active) #app .section-label{font-size:13px;letter-spacing:0;text-transform:none;color:var(--ink);margin:28px 0 10px;font-weight:650}
html[data-starspa-platform] body:not(.enterprise-active) #app .settings-content>.card{margin:0;border:0;border-top:1px solid var(--line);border-radius:0}
html[data-starspa-platform] body:not(.enterprise-active) #app .settings-content .row{min-height:60px;padding:12px 0;gap:12px}
html[data-starspa-platform] body:not(.enterprise-active) #app .settings-content .row .value{max-width:45%;font-weight:400;color:var(--muted)}
html[data-starspa-platform] body:not(.enterprise-active) #app .profile-hero{padding:20px;min-height:104px}
html[data-starspa-platform] body:not(.enterprise-active) #app .profile-actions{background:transparent;border-bottom:1px solid var(--line);padding:8px 0}
html[data-starspa-platform] body:not(.enterprise-active) #app .profile-actions button{min-height:44px}
html[data-starspa-platform] body:not(.enterprise-active) #app .calendar{padding:0 12px 12px;background:#fff;overflow:auto}
html[data-starspa-platform] body:not(.enterprise-active) #app .weekdays{height:40px;font-size:12px}
html[data-starspa-platform] body:not(.enterprise-active) #app .month-grid{gap:0;padding:0;min-height:360px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
html[data-starspa-platform] body:not(.enterprise-active) #app .day{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;align-items:stretch;padding:8px 3px;background:#fff}
html[data-starspa-platform] body:not(.enterprise-active) #app .day.other{background:#fafbf9}
html[data-starspa-platform] body:not(.enterprise-active) #app .day.today{background:#edf4f0;box-shadow:inset 0 2px var(--accent)}
html[data-starspa-platform] body:not(.enterprise-active) #app .date-number{font-size:12px;text-align:center;margin-bottom:4px}
html[data-starspa-platform] body:not(.enterprise-active) #app .day .appointment-dot{font-size:11px!important;font-variant-numeric:tabular-nums}
html[data-starspa-platform] body:not(.enterprise-active) #app :where(.date-number,.date-title,.member-info small){font-variant-numeric:tabular-nums}
html[data-starspa-platform] body:not(.enterprise-active) #app .member-tabs.single{padding:12px 16px;min-height:64px;height:auto;border-color:var(--line)}
html[data-starspa-platform] body:not(.enterprise-active) #app .member-tabs.single>strong{display:none}
html[data-starspa-platform] body:not(.enterprise-active) #app .member-tools{background:transparent;margin-left:0;gap:8px}
html[data-starspa-platform] body:not(.enterprise-active) #app .search-bar{margin:12px 16px 0;min-height:48px;border-radius:6px}
html[data-starspa-platform] body:not(.enterprise-active) #app .search-bar input{font-size:16px}
html[data-starspa-platform] body:not(.enterprise-active) #app .search-bar button{min-height:40px;border-radius:5px;background:var(--accent)}
html[data-starspa-platform] body:not(.enterprise-active) #app .member-row{margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:16px 0;gap:12px;flex-wrap:wrap}
html[data-starspa-platform] body:not(.enterprise-active) #app .member-info{min-width:140px}
html[data-starspa-platform] body:not(.enterprise-active) #app .member-actions{gap:4px;flex-wrap:wrap}
html[data-starspa-platform] body:not(.enterprise-active) #app .member-actions .icon-button{min-width:40px;width:40px;min-height:44px}
html[data-starspa-platform] body:not(.enterprise-active) #app .empty{min-height:220px;padding:36px 20px;color:var(--muted);font-size:14px}
html[data-starspa-platform] body:not(.enterprise-active) #app .empty>svg{width:48px;height:48px;opacity:.6}
html[data-starspa-platform] body:not(.enterprise-active) #app fieldset[disabled]{min-width:0;margin:0;padding:6px 10px;border:0;border-radius:5px;background:#f2f4f3;color:var(--muted)}
html[data-starspa-platform] body:not(.enterprise-active) #app fieldset[disabled] legend{float:left;width:100%;padding:0;font-size:11px;line-height:1.5;color:#58655f}
html[data-starspa-platform] body:not(.enterprise-active) #app fieldset[disabled] button{opacity:1;color:#68736e}
html[data-starspa-platform] body:not(.enterprise-active) #app :where(.member-tools,.member-actions) fieldset[disabled]{display:flex;align-items:center;position:relative;padding:0;background:transparent}
html[data-starspa-platform] body:not(.enterprise-active) #app :where(.member-tools,.member-actions) fieldset[disabled] legend{float:none;position:absolute;bottom:0;left:0;width:max-content;max-width:120px;font-size:11px;background:#fff;line-height:1.2}
html[data-starspa-platform] body:not(.enterprise-active) #app :where(.member-tools,.member-actions) fieldset[disabled] .icon-button{margin-bottom:16px}
html[data-starspa-platform] body:not(.enterprise-active) #app .finance-store{padding:0 0 12px;text-align:left;color:var(--muted)}
html[data-starspa-platform] body:not(.enterprise-active) #app .income-period{padding:12px 16px;color:var(--ink);gap:12px;flex-wrap:wrap}
html[data-starspa-platform] body:not(.enterprise-active) #app .income-period button{min-height:44px;font-size:calc(14px * var(--text-scale,1))}
html[data-starspa-platform] body:not(.enterprise-active) #app .period-tabs button{color:var(--muted)}
html[data-starspa-platform] body:not(.enterprise-active) #app .period-tabs button.active{color:var(--accent);font-weight:650}
html[data-starspa-platform] body:not(.enterprise-active) #app .salary{padding:24px 16px;border-top:1px solid var(--line)}
html[data-starspa-platform] body:not(.enterprise-active) #app .salary strong{font-size:32px;line-height:1.3;color:var(--ink);font-variant-numeric:tabular-nums}
html[data-starspa-platform] body:not(.enterprise-active) #app .salary small{color:var(--muted);font-size:13px}
html[data-starspa-platform] body:not(.enterprise-active) #app .salary .detail-link{position:static;display:inline-flex;align-items:center;margin-top:12px;padding:8px 0;background:none;color:var(--accent);border-radius:0;min-height:44px;font-size:calc(13px * var(--text-scale,1))}
html[data-starspa-platform] body:not(.enterprise-active) #app .stat-card{margin:20px 0 0;border:1px solid var(--line);padding:0 0 12px}
html[data-starspa-platform] body:not(.enterprise-active) #app .stat-head{background:transparent;color:var(--ink);padding:16px;border-bottom:1px solid var(--line);font-size:15px}
html[data-starspa-platform] body:not(.enterprise-active) #app .stat-head>span:last-child{font-variant-numeric:tabular-nums;font-weight:650}
html[data-starspa-platform] body:not(.enterprise-active) #app .stat-content{padding:16px;color:var(--ink)}
html[data-starspa-platform] body:not(.enterprise-active) #app .stat-grid{gap:12px}
html[data-starspa-platform] body:not(.enterprise-active) #app .metric{gap:8px}
html[data-starspa-platform] body:not(.enterprise-active) #app .metric span{color:var(--ink);font-size:14px;font-variant-numeric:tabular-nums}
html[data-starspa-platform] body:not(.enterprise-active) #app .finance-subgroup h4{background:#f4f6f5;color:var(--ink);font-weight:500}
html[data-starspa-platform] body:not(.enterprise-active) #app .stat-link{background:transparent!important;color:var(--accent)!important;border-top:1px solid var(--line);border-radius:0!important;justify-content:flex-end;min-height:44px;font-size:calc(13px * var(--text-scale,1))}
html[data-starspa-platform] body:not(.enterprise-active) #app .tab-content-heading{border-color:var(--line);color:var(--muted);padding:20px 0 0}
html[data-starspa-platform] body:not(.enterprise-active) #app .table th{background:#f3f5f4;color:var(--ink)}
@media(hover:hover){html[data-starspa-platform] body:not(.enterprise-active) #app :where(.row-button,.member-info,.icon-button,.nav button):hover{background:#edf2ef}}
@media(min-width:1024px){
 /* 208px navigation + remaining white sheet; sheet gutters are 28px each. */
 html[data-starspa-platform] body:not(.enterprise-active) #app{padding:8px 8px 8px 208px;background:#edf1f0}
 html[data-starspa-platform] body:not(.enterprise-active) .e-return{top:auto;bottom:16px;left:12px;width:184px;max-width:184px;justify-content:center;min-height:44px}
 html[data-starspa-platform] body:not(.enterprise-active):has(.e-return.visible) #app .operations-context{padding-top:8px}
 html[data-starspa-platform] body:not(.enterprise-active) #app .operations-context{min-height:56px;padding:8px 28px;border:0;flex-wrap:nowrap}
 html[data-starspa-platform] body:not(.enterprise-active) #app .operations-context>strong{position:absolute;left:20px;top:28px;width:168px;max-height:76px;overflow:auto;font-size:17px;line-height:1.5}
 html[data-starspa-platform] body:not(.enterprise-active) #app .operations-context>span{border:0;padding:0;font-size:13px}
 html[data-starspa-platform] body:not(.enterprise-active) #app .operations-title{font-size:18px;margin-left:20px}
 html[data-starspa-platform] body:not(.enterprise-active) #app .nav{position:absolute;left:12px;top:126px;bottom:88px;width:184px;height:auto;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:4px;justify-content:flex-start;border:0;padding:0;background:transparent}
 html[data-starspa-platform] body:not(.enterprise-active) #app .nav button{flex:none;flex-direction:row;justify-content:flex-start;gap:12px;padding:12px;min-height:48px;font-size:14px}
 html[data-starspa-platform] body:not(.enterprise-active) #app .nav button svg{width:18px;height:18px}
 html[data-starspa-platform] body:not(.enterprise-active) #app .topbar{padding:18px 28px;min-height:80px;border-radius:10px 10px 0 0;background:#fff}
 html[data-starspa-platform] body:not(.enterprise-active) #app .topbar h1{font-size:22px!important}
 html[data-starspa-platform] body:not(.enterprise-active) #app .topbar:has(.date-title){grid-template-columns:minmax(0,1fr) auto}
 html[data-starspa-platform] body:not(.enterprise-active) #app .topbar:has(.date-title) .right{grid-column:2}
 html[data-starspa-platform] body:not(.enterprise-active) #app .date-title{font-size:22px}
 html[data-starspa-platform] body:not(.enterprise-active) #app .scroll{padding:24px 28px;background:#fff;border-radius:0 0 10px 10px}
 html[data-starspa-platform] body:not(.enterprise-active) #app .calendar{padding:0 28px 28px;border-radius:0 0 10px 10px}
 html[data-starspa-platform] body:not(.enterprise-active) #app .month-grid{min-height:480px}
 html[data-starspa-platform] body:not(.enterprise-active) #app .day{padding:10px 8px;text-align:left}
 html[data-starspa-platform] body:not(.enterprise-active) #app .date-number{text-align:left;font-size:13px}
 html[data-starspa-platform] body:not(.enterprise-active) #app .day .appointment-dot{font-size:12px!important;line-height:1.5!important}
 html[data-starspa-platform] body:not(.enterprise-active) #app .member-tabs.single{padding:16px 28px;border-radius:10px 10px 0 0}
 html[data-starspa-platform] body:not(.enterprise-active) #app .search-bar{margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 28px}
 html[data-starspa-platform] body:not(.enterprise-active) #app .member-row{min-height:84px;flex-wrap:nowrap}
 html[data-starspa-platform] body:not(.enterprise-active) #app .member-info{display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,1fr);gap:16px;align-items:center}
 html[data-starspa-platform] body:not(.enterprise-active) #app .member-info small{margin:0}
 html[data-starspa-platform] body:not(.enterprise-active) #app[data-route="income"]>.scroll{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;gap:20px;align-content:start}
 html[data-starspa-platform] body:not(.enterprise-active) #app[data-route="income"]>.scroll>:where(.finance-store,.card,.tab-content-heading,.stat-card:first-of-type){grid-column:1/-1}
 html[data-starspa-platform] body:not(.enterprise-active) #app[data-route="income"]>.scroll>:where(.card,.stat-card,.tab-content-heading){margin:0}
 html[data-starspa-platform] body:not(.enterprise-active) #app[data-route="income"] .finance-subgroups{grid-template-columns:repeat(5,minmax(0,1fr))}
 html[data-starspa-platform] body:not(.enterprise-active) #app .settings-content{display:grid;grid-template-columns:160px minmax(0,1fr);grid-auto-rows:max-content;gap:24px;align-content:start}
 html[data-starspa-platform] body:not(.enterprise-active) #app .settings-content>.section-label{margin:0;padding-top:16px;grid-column:1}
 html[data-starspa-platform] body:not(.enterprise-active) #app .settings-content>.card{grid-column:2}
 html[data-starspa-platform] body:not(.enterprise-active) #app .settings-content>:where(.profile-hero,.profile-actions){grid-column:1/-1}
 html[data-starspa-platform] body:not(.enterprise-active) #app .settings-content>.profile-hero{border-radius:10px;margin:0}
 html[data-starspa-platform] body:not(.enterprise-active) #app .settings-content .row{padding:16px 0}
}
@media(max-width:420px){
 html[data-starspa-platform] body:not(.enterprise-active) #app .operations-context{gap:8px;padding:10px 12px}
 html[data-starspa-platform] body:not(.enterprise-active) #app .operations-title{font-size:14px}
 html[data-starspa-platform] body:not(.enterprise-active) #app .topbar{padding:8px;gap:2px}
 html[data-starspa-platform] body:not(.enterprise-active) #app .topbar:has(.date-title){grid-template-columns:1fr;gap:4px}
 html[data-starspa-platform] body:not(.enterprise-active) #app .topbar:has(.date-title) .left{grid-column:1;grid-row:1}
 html[data-starspa-platform] body:not(.enterprise-active) #app .topbar:has(.date-title) .right{grid-column:1;grid-row:2;justify-self:end}
 html[data-starspa-platform] body:not(.enterprise-active) #app .scroll{padding:12px}
 html[data-starspa-platform] body:not(.enterprise-active) #app .calendar{padding:0 6px 8px}
 html[data-starspa-platform] body:not(.enterprise-active) #app .member-actions{width:100%;justify-content:flex-end}
 html[data-starspa-platform] body:not(.enterprise-active) #app .settings-content .row{gap:8px}
}

.promotion-items .label{min-width:0}
.promotion-items .label b,.promotion-items .label small{display:block}
.promotion-items .label small{margin-top:6px;color:var(--muted);font-weight:400;line-height:1.5}
@media(min-width:1024px){.promotion-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.promotion-items .row{border-bottom:1px solid var(--line)}}
