/* Customer: phone only. Desktop exposes a device review canvas. */
.design-workspace{min-height:100vh;background:#eeeee7}
.preview-header{height:94px;margin:0 4.5%;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #d6dace}
.preview-header .brand-name{font-size:23px}
.preview-header .brand-mark{width:29px;height:36px}
.preview-header nav{display:flex;padding:5px;background:#e3e6dc;border:1px solid #daddd1;border-radius:9px;gap:4px}
.preview-header nav button{font-size:13px;padding:10px 20px;border-radius:6px;min-height:44px}
.preview-header nav button span{margin-left:8px;font-size:10px;opacity:.65}
.preview-header nav button.active{background:#fffefa;box-shadow:0 2px 8px #2d40240a}
.preview-version{font:10px Georgia,serif;letter-spacing:.12em;color:var(--muted)}
.preview-canvas{position:relative;max-width:1280px;margin:auto;display:grid;grid-template-columns:1fr 1.1fr .6fr;gap:50px;align-items:center;padding:38px 50px 35px;min-height:calc(100vh - 94px)}
.preview-intro .eyebrow{font-size:10px;color:#6b785e;letter-spacing:.15em}
.preview-intro h1{font-family:var(--serif);font-weight:400;font-size:45px;line-height:1.7;letter-spacing:.05em;margin:23px 0 20px}
.preview-intro>p{font-size:14px;line-height:2.2;color:var(--muted)}
.preview-spec{margin-top:38px;padding-top:21px;border-top:1px solid #cfd5c4;display:flex;justify-content:space-between;gap:25px;font-size:12px;max-width:255px}
.preview-spec strong{font:13px Georgia,serif;letter-spacing:.03em}
.preview-width{display:flex;gap:7px;margin-top:19px}
.preview-width button{padding:8px 17px;border:1px solid #c7cebd;border-radius:5px;font-size:12px;min-height:37px}
.preview-width button.active{background:var(--green);border-color:var(--green);color:white}
.preview-intro .preview-caption{font-size:11px;line-height:1.9;margin-top:24px;color:#78806e}
.phone-stage{display:flex;align-items:center;flex-direction:column;gap:20px}
.phone-frame{width:calc(var(--device-width) + 14px);height:min(860px,calc(100dvh - 173px));min-height:600px;border-radius:46px;border:7px solid #2e352d;outline:1px solid #838b7c;background:var(--paper);box-shadow:0 30px 60px -20px #34472c40,0 4px 10px #35442b20;overflow:hidden;display:flex;flex-direction:column}
.device-status{height:35px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:6px 23px 0;font:600 12px system-ui,sans-serif;position:relative;background:var(--paper);color:#2b352b}
.device-island{width:89px;height:22px;background:#263025;border-radius:20px;position:absolute;top:4px;left:50%;margin-left:-44px}
.device-signals{font-size:10px;letter-spacing:1px}
.device-signals>span{font-size:9px;margin:0 2px}
.phone-frame iframe{width:100%;border:0;flex:1;min-height:0;background:var(--paper)}
.device-home{height:14px;display:grid;place-items:center;background:#fffefa;flex-shrink:0}
.device-home>span{height:4px;width:110px;background:#28382b;border-radius:4px}
.phone-stage-label{font:9px Georgia,serif;letter-spacing:.2em;color:#798271}
.preview-index{align-self:center;display:flex;flex-direction:column;align-items:center;gap:24px;justify-self:end;font:11px Georgia,serif;letter-spacing:.15em;color:#77816f}
.preview-index i{width:1px;height:120px;background:#c8d0bf}
.preview-index>span:last-child{writing-mode:vertical-rl;font-family:var(--serif);font-size:12px;letter-spacing:.5em}
.phone-embedded .view-switch{display:none}
.phone-embedded .customer-main{padding-bottom:100px}
.phone-embedded .toast{bottom:92px}
.phone-embedded .admin-main{padding-bottom:110px}
.phone-embedded .overlay{padding:12px}
.phone-embedded .modal{max-height:calc(100dvh - 24px)}
.phone-embedded .customer-header{margin:0 22px;height:76px}
.phone-embedded .customer-header .brand-name{font-size:23px}
.phone-embedded .customer-header .brand-mark{width:27px;height:34px}
.phone-embedded .customer-header .brand-name small{font-size:8px}
.phone-embedded .customer-header .header-right>.icon-button{min-height:44px;min-width:44px}
.phone-greeting{margin:1px 0 21px}
.phone-greeting .eyebrow{font-size:9px;color:#758067;letter-spacing:.16em;margin-bottom:9px}
.phone-greeting h1{font:500 29px/1.6 var(--serif);letter-spacing:.02em}
.phone-greeting p{font-size:15px;color:var(--muted);margin-top:4px}
.greeting-location{display:flex;gap:4px;align-items:center;font-size:11px;white-space:nowrap}
.greeting-location svg{width:13px;height:13px}
.mobile-balance{position:relative;display:flex;align-items:center;justify-content:space-around;gap:12px;border-radius:10px;background:#344c3b;color:#f8f8ed;padding:18px 16px 20px;margin:0 0 22px;overflow:hidden;box-shadow:0 6px 20px #29412c0d}
.mobile-balance>div,.mobile-balance>button{display:flex;flex-direction:column;align-items:center;gap:5px;position:relative;z-index:1;padding:0}
.mobile-balance .number{font-size:35px;line-height:1.3;letter-spacing:-.04em}
.mobile-balance>div>span:last-child,.mobile-balance>button>span:last-child{display:flex;align-items:center;gap:2px;font-size:12px;color:#e1e8d9}
.mobile-balance>button{min-height:67px}
.mobile-balance>button svg{width:11px;height:11px}
.mobile-balance>i{height:30px;width:1px;background:#ffffff24;flex-shrink:0}
.mobile-balance .balance-watermark{position:absolute;right:-16px;top:0;opacity:.06;transform:rotate(-15deg);pointer-events:none}
.balance-watermark svg{width:150px;height:150px}
.phone-editorial{position:relative;height:155px;border-radius:45px 7px 7px 7px;overflow:hidden;margin-bottom:20px;background:#d9d7c8}
.phone-editorial>img{object-position:center 63%;filter:saturate(.65)}
.phone-editorial:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#162b22a0,#162b2210)}
.phone-editorial-copy{position:absolute;left:24px;bottom:26px;color:#fff;z-index:1}
.phone-editorial-copy .eyebrow{font-size:7px;letter-spacing:.16em;color:#ffffffe0}
.phone-editorial-copy h2{font:400 23px/1.5 var(--serif);margin-top:10px;letter-spacing:.02em}
.editorial-index{position:absolute;right:17px;bottom:13px;font:9px Georgia,serif;letter-spacing:.07em;color:#fff;z-index:1}
.pending-service{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #e5d4c1;background:#f5ebe0;padding:16px 14px;margin-bottom:19px;border-radius:8px}
.pending-service-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#eadbc8;color:#8f5938;flex-shrink:0}
.pending-service-icon svg{width:18px;height:18px}
.pending-service strong{font-size:15px;font-weight:500;display:block;color:#6e4c32}
.pending-service small{font-size:12px;display:block;color:#80664e;margin-top:5px;line-height:1.6}
.pending-service>svg:last-child{width:16px;height:16px;margin-left:auto;color:#94653f}
.phone-next-booking{padding:18px;border:1px solid #dce1d3;background:#edf0e7;border-radius:9px;margin-bottom:31px}
.phone-next-booking .eyebrow{font-size:11px;letter-spacing:.08em;color:#596b4f;font-weight:400}
.phone-next-booking .badge{font-size:10px;padding:3px 7px;background:#dce5d3;color:#46613b}
.phone-next-main{display:flex;align-items:center;gap:15px;margin-top:15px}
.phone-next-date{display:flex;align-items:baseline;gap:5px;border-right:1px solid #d3ddc7;padding-right:15px;flex-shrink:0}
.phone-next-date .number{font-size:34px;line-height:1.2}
.phone-next-date small{font-size:10px;color:#687b5a}
.phone-next-main h3{font:500 17px/1.6 var(--serif)}
.phone-next-main p{font-size:11px;line-height:1.8;margin-top:4px;color:#5c6c52}
.phone-next-main .icon-button{margin-left:auto;min-width:36px;min-height:44px;border:0}
.phone-next-main .icon-button svg{width:18px;height:18px}
.phone-projects .section-heading{margin-bottom:15px}
.phone-projects .section-heading h2{font-size:25px}
.phone-project-filters{margin-bottom:19px;gap:8px}
.phone-project-filters button{min-height:40px;padding:8px 18px;font-size:14px;border-radius:30px;border-color:#dadfd1;background:#f9faf5}
.phone-project-filters button.active{background:#e5ebdc;border-color:#c5d2b8;color:#354e2c}
.phone-projects .care-image{height:146px}
.phone-projects .care-body{padding:22px}
.phone-projects .care-body h3{font-size:25px;margin-bottom:17px}
.phone-projects .care-category{font-size:9px}
.phone-projects .care-balance .number{font-size:45px}
.phone-projects .care-balance small{font-size:12px}
.phone-projects .care-body .expiry{font-size:14px}
.phone-projects .care-body .expiry+.expiry{font-size:12px}
.phone-projects .care-buttons .btn{min-height:50px;font-size:15px}
.phone-help{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:27px 0 7px;margin-top:28px}
.phone-help-icon{width:39px;height:39px;background:#e8ede0;border-radius:50%;display:grid;place-items:center;flex-shrink:0}
.phone-help-icon svg{width:18px;height:18px}
.phone-help h3{font:500 16px/1.6 var(--serif)}
.phone-help p{font-size:11px;line-height:1.8;color:var(--muted);margin-top:5px}
.phone-help>.icon-button{min-width:36px;min-height:44px;margin-left:auto;border:0}
.customer.large-text .phone-greeting p{font-size:18px}
.customer.large-text .phone-greeting h1{font-size:31px}
.customer.large-text .mobile-balance>div>span:last-child,.customer.large-text .mobile-balance>button>span:last-child{font-size:14px}
.customer.large-text .phone-next-main h3{font-size:20px}
.customer.large-text .phone-next-main p,.customer.large-text .phone-help p,.customer.large-text .pending-service small{font-size:15px}
.customer.large-text .pending-service strong,.customer.large-text .phone-help h3{font-size:19px}
.customer.large-text .phone-next-main{gap:10px;flex-wrap:wrap}
.customer.large-text .phone-projects .care-body .expiry{font-size:18px}
.customer.large-text .phone-projects .care-body .expiry+.expiry{font-size:16px}
.customer.large-text .phone-projects .care-buttons .btn{font-size:18px;min-height:56px}
.customer.large-text .phone-projects .care-category{font-size:13px}
.admin-mobile-tabs{display:none}
.care-ops-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.care-task-description{padding:0 23px 23px;font-size:12px;color:var(--muted);line-height:1.9}
.care-task-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 23px;border-top:1px solid var(--line)}
.care-task-footer .text-link{font-size:12px;min-height:40px}
.care-task-footer .badge{font-size:10px}
.sidebar>.sidebar-nav{overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#69805d transparent}
.sidebar .nav-bottom{flex-shrink:0}
@media(max-width:1100px){
  .care-ops-grid{grid-template-columns:1fr}
  .preview-canvas{grid-template-columns:1fr 1.5fr;gap:28px;padding:30px}
  .preview-intro h1{font-size:35px}.preview-index{display:none}.preview-version{display:none}
  .preview-header nav button{padding:9px 13px}.preview-header{margin:0 30px}
}
@media(max-width:800px){.preview-intro{display:none}.preview-canvas{display:flex;justify-content:center;padding:30px}.preview-header nav button span{display:none}.preview-header .brand-name small{font-size:8px}}
@media(max-width:700px){
  .care-task-description{font-size:14px}.care-task-footer .btn{min-height:44px;font-size:13px}
  .customer-main{padding-top:24px}
  .customer-header{height:76px}
  .customer .mobile-nav{padding-top:8px;min-height:73px;box-shadow:0 -4px 20px #34442b04}
  .customer .mobile-nav button{font-size:13px;min-width:90px;gap:4px}
  .customer .mobile-nav button.active{position:relative}
  .customer .mobile-nav button.active:before{content:'';position:absolute;width:29px;height:3px;border-radius:3px;background:#557445;top:-9px}
  .admin-mobile-tabs{position:fixed;bottom:0;left:0;right:0;z-index:18;background:#fffefaef;backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:space-around;border-top:1px solid var(--line);padding:7px 6px max(10px,env(safe-area-inset-bottom));min-height:73px;box-shadow:0 -4px 20px #34442b05}
  .admin-mobile-tabs button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;min-width:73px;min-height:50px;font-size:11px;color:#6d7767}
  .admin-mobile-tabs button.active{color:#35522c}
  .admin-mobile-tabs button.active svg{stroke-width:2.1}
  .admin-mobile-tabs svg{width:21px;height:21px}
  .admin .view-switch{bottom:86px}
  .admin .toast{bottom:143px}
  .phone-embedded .admin .toast{bottom:90px}
  .admin-main{padding-bottom:165px}
  .admin-header{height:67px;background:#f8f9f3}
  .admin-header .breadcrumbs{font-size:13px}
  .admin-intro h1{font-size:27px;line-height:1.5}
  .admin-intro p{font-size:12px}
  .admin-intro .btn{font-size:12px;min-height:44px}
  .admin-intro .eyebrow{font-size:9px}
  .metric .metric-label{font-size:12px}.metric .metric-foot{font-size:11px;line-height:1.8}
  .schedule-item h3{font-size:14px}.schedule-item p{font-size:12px}
  .day-picker button{min-height:61px;min-width:37px;font-size:14px}.day-picker button small{font-size:11px}
  .sidebar-nav button{font-size:15px;min-height:49px}.sidebar-nav button svg{width:20px;height:20px}
  .sidebar{width:258px;z-index:40}
  .admin.menu-open:before{z-index:39}
  .sidebar .store-selector strong{font-size:13px}.sidebar .store-selector small{font-size:11px}
  .staff-profile>div>div{font-size:14px!important}.staff-profile small{font-size:11px}
  .sidebar .nav-bottom{padding-top:18px}
  .table-toolbar{padding:16px;gap:14px;display:flex;flex-direction:column;align-items:stretch}
  .table-toolbar .filter-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;gap:7px}
  .table-toolbar .filter-chips button{white-space:nowrap;min-height:42px;font-size:13px;padding:8px 14px}
  .table-toolbar .search-box input{font-size:15px;min-height:26px}
  .table-scroll{overflow:visible;background:#f1f3ec;padding:14px}
  .data-table{white-space:normal;display:block}
  .data-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .data-table tbody{display:flex;flex-direction:column;gap:14px}
  .data-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px 18px;border:1px solid #dee4d4;border-radius:9px;padding:19px;background:var(--white);min-width:0}
  .data-table tbody tr:hover{background:var(--white)}
  .data-table tbody td{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;border:0;padding:0;font-size:14px;min-width:0;overflow-wrap:anywhere;line-height:1.7}
  .data-table tbody td:before{content:attr(data-label);display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-bottom:5px;flex-shrink:0}
  .data-table tbody td:first-child{grid-column:1/-1;padding-bottom:13px;margin-bottom:2px;border-bottom:1px solid var(--line);font-size:16px;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
  .data-table tbody td:first-child:before{display:none}
  .data-table tbody td:first-child small{margin-left:auto}
  .data-table tbody td:first-child .row{width:100%;font-size:17px}
  .data-table tbody td:first-child .avatar{width:38px;height:38px;font-size:15px}
  .data-table tbody td:first-child .row small{font-size:12px}
  .data-table tbody td:last-child{grid-column:1/-1;padding-top:13px;border-top:1px solid var(--line);align-items:stretch}
  .data-table tbody td:last-child:before{display:none}
  .data-table tbody td:last-child .text-link{justify-content:center;width:100%;border:1px solid #cdd7c0;border-radius:6px;min-height:44px;background:#edf1e6;font-size:14px;gap:9px}
  .data-table tbody td .badge{font-size:11px;padding:4px 8px}
  .data-table tbody td small{font-size:11px;margin-top:4px;white-space:normal}
  .data-table tbody td[colspan]{grid-column:1/-1!important;border:0!important;display:block!important;font-size:14px!important;padding:25px 0!important;text-align:center}
  .data-table tbody td[colspan]:before{display:none}
  .table-footer{gap:15px;flex-wrap:wrap;align-items:flex-start;font-size:11px;line-height:1.8}
  .table-footer .btn{min-height:44px;font-size:12px}
  .inline-callout{font-size:12px;line-height:1.9}
  .settings-row p{font-size:13px;line-height:1.8}.settings-row h3{font-size:15px}
  .phone-embedded .phone-next-main p{font-size:12px}
  .phone-embedded .record-item p{font-size:13px}
  .phone-embedded .booking-card p{font-size:14px}
  .date-options .date-option strong{font-size:12px;white-space:nowrap}
  .customer .view-switch{bottom:88px}
}
@media(max-width:374px){
  .customer-main{padding-left:17px;padding-right:17px}.customer-header{margin:0 17px}
  .phone-greeting h1{font-size:27px}.greeting-location{font-size:10px}
  .mobile-balance{gap:9px;padding:16px 12px}.mobile-balance>div>span:last-child,.mobile-balance>button>span:last-child{font-size:11px}
  .phone-next-main{gap:11px}.phone-next-date{padding-right:11px}.phone-next-main h3{font-size:16px}.phone-next-main p{font-size:11px}
  .phone-next-booking{padding:16px}.phone-next-main .icon-button{min-width:28px}
  .phone-help{gap:9px}.phone-help h3{font-size:15px}
}
