/* Shared studio workspace, calendar and member register. */
.payments-list-wrap{width:100%;overflow-x:auto;background:#fff;border:1px solid #e3dce1;border-radius:8px}
.studio-app .payments-list{min-width:1000px;border-collapse:collapse;margin:0;table-layout:fixed}
.studio-app .payments-list th{background:#f7f3f6;font-size:11px;color:#7b6574;font-weight:700;text-align:left;border-bottom:1px solid #e3dce1;padding:14px 16px}
.studio-app .payments-list td{padding:16px;border-bottom:1px solid #eee7ec;vertical-align:top;font-size:13px;overflow-wrap:anywhere}
.payments-list tr:last-child td{border-bottom:0}.payments-list tbody tr:hover{background:#fcf9fb}
.payments-list th:nth-child(1){width:12%}.payments-list th:nth-child(2){width:21%}.payments-list th:nth-child(3){width:20%}.payments-list th:nth-child(4){width:13%}.payments-list th:nth-child(5){width:12%}.payments-list th:nth-child(6){width:10%}.payments-list th:nth-child(7){width:12%}
.payments-list small{display:block;font-size:11px;line-height:1.5;color:#8a7783;margin-top:5px}.payments-list strong,.payment-member a{font-weight:600;color:#41333c;font-size:13px}
.studio-app .payments-list .payment-amount{text-align:right;font-variant-numeric:tabular-nums}.payments-list .payment-amount>strong{white-space:nowrap;font-size:15px}
.payment-note{margin-top:7px}.payment-note summary{font-size:11px;color:#9c3474;cursor:pointer}.payment-note p{font-size:12px;line-height:1.5;margin:8px 0 0}
.payment-row-actions{display:grid;gap:8px}.payment-row-actions .btn{width:100%;min-height:32px;font-size:11px;padding:6px 8px}
.payment-pagination,.payment-pagination>div{display:flex;align-items:center;gap:14px}.payment-pagination{justify-content:space-between;margin-top:20px;font-size:12px;flex-wrap:wrap}
.studio-app .payments-list .payment-empty{text-align:center;padding:36px}.payments-list-wrap:focus-visible{outline:2px solid #a32f76;outline-offset:3px}
.studio-week-strip{display:grid;grid-template-columns:32px repeat(7,minmax(0,1fr)) 32px;gap:6px;margin:20px 0 24px}
.studio-week-strip a{display:grid;justify-items:center;align-content:center;gap:6px;padding:12px 2px;background:white;border:1px solid #e5dce2;border-radius:6px;color:#685661;min-width:0;text-decoration:none}
.studio-week-strip a.active{background:#a32f76;border-color:#a32f76;color:white}.studio-week-strip strong{font-size:20px}.studio-week-strip span{font-size:12px}.studio-week-strip .week-arrow{background:transparent;border:0}
.group-class-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px;align-items:start}
.overview-schedule .group-class-grid{grid-template-columns:1fr}
.group-class-card{background:#fff;border:1px solid #e6dfe4;border-radius:8px;overflow:hidden;min-width:0;scroll-margin-top:95px}
.group-class-card>header{display:flex;gap:16px;align-items:center;padding:20px;border-bottom:1px solid #eee7eb;background:#fff9fc}
.group-time{display:grid;gap:5px;border-right:1px solid #eadbe4;padding-right:16px;flex-shrink:0}.group-time strong{font-size:23px;font-variant-numeric:tabular-nums}.group-time small{font-size:12px;color:#84717e}
.group-title{flex:1;min-width:0}.studio-app .group-title h3{font-size:17px;line-height:1.4;margin:0 0 5px}.group-title span{font-size:12px;color:#796a74}
.group-occupancy{display:flex;justify-content:space-between;gap:8px;padding:16px 20px 10px;font-size:13px;color:#72616d}.group-occupancy strong{color:#42333d;font-size:16px}
.group-class-card progress{display:block;width:calc(100% - 40px);height:6px;margin:0 20px 12px;border:0;border-radius:4px;accent-color:#a32f76}.group-class-card progress::-webkit-progress-bar{background:#f0e6ec;border-radius:4px}.group-class-card progress::-webkit-progress-value{background:#a32f76;border-radius:4px}
.group-members{list-style:none;margin:0;padding:0 20px}.group-members li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #f0e8ed}.group-members li>span{display:grid;gap:4px;min-width:0}.group-members a{font-size:14px;font-weight:600;color:#41333c;overflow-wrap:anywhere}.group-members small{font-size:11px;color:#85717f}.group-members .group-empty{color:#8a7783;font-size:13px;padding:20px 0}
.group-add-member{padding:18px 20px;display:grid;gap:8px}.group-add-member>div{display:flex;gap:8px;min-width:0}.group-add-member select{flex:1;width:0;text-overflow:ellipsis}.group-add-member button{flex-shrink:0}.group-full{padding:14px 20px;color:#ac3755;font-weight:600}
.group-settings{border-top:1px solid #eee7eb;padding:12px 20px}.group-settings summary{font-size:12px;color:#806c79;cursor:pointer}.group-settings form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;padding:14px 0 4px}.group-settings label{width:110px}
.new-group-class{border-top:1px solid #e2d8df;margin:26px 0;padding:20px 0;scroll-margin-top:100px}.new-group-class>summary{cursor:pointer;font-size:16px;font-weight:600;color:#982b6f}.new-group-class form{padding:24px 0}
.studio-app .schedule-toolbar>.schedule-filters{flex:1 1 600px;min-width:0;margin-bottom:0}.studio-app .schedule-toolbar>.schedule-filters label{flex:0 1 200px}
@media(max-width:1100px){.group-class-grid{grid-template-columns:1fr}}
@media(max-width:600px){.studio-week-strip{grid-template-columns:22px repeat(7,minmax(0,1fr)) 22px;gap:3px}.studio-week-strip a{padding:10px 0}.studio-week-strip strong{font-size:17px}.studio-week-strip span{font-size:10px}.group-class-card>header{padding:16px 12px;gap:10px;flex-wrap:wrap}.group-class-card>header>.pill{margin-left:auto}.group-time{padding-right:10px}.group-time strong{font-size:21px}.studio-app .group-title h3{font-size:15px}.group-occupancy{padding-left:12px;padding-right:12px}.group-members{padding:0 12px}.group-add-member,.group-settings{padding:14px 12px}}
.studio-app { --studio-shadow: none; font-size:14px; }
.studio-app .admin-desktop-layout { max-width:1800px; grid-template-columns:220px minmax(0,1fr); }
.studio-app .admin-sidebar { width:220px; background:#fff; }
.studio-app .admin-main>.content { padding:28px 32px 48px; }
.studio-app .page-head h1,.studio-app .studio-page-header h1,.studio-app .member-welcome h1 { font-size:28px; line-height:1.2; }
.studio-app h2 { font-size:19px; }.studio-app h3 { font-size:16px; }
.studio-app .page-head p,.studio-app .studio-page-header p,.studio-app .member-welcome p { font-size:14px; }
.studio-app .admin-nav a { font-size:13px; min-height:44px; }
.studio-app .panel { border:0; border-top:1px solid var(--studio-line); border-radius:0; box-shadow:none; padding:22px 0; background:transparent; }
.studio-app .panel .panel { border:0; padding:12px 0; }
.studio-app .tabs { display:flex; flex-wrap:wrap; gap:4px; border-bottom:1px solid var(--studio-line); padding:0 0 8px; margin:20px 0; background:transparent; }
.studio-app .tabs a { font-size:13px; padding:10px 15px; border-radius:6px; color:#65545f; }
.studio-app .tabs a.active { background:#f8e8f0; color:#922657; box-shadow:inset 0 -2px #b83280; }
.studio-app .btn,.studio-app .mini-action { font-size:13px; box-shadow:none; min-height:40px; white-space:normal; }
.studio-app label { font-size:13px; line-height:1.5; }
.studio-app input:not([type=checkbox]):not([type=radio]),.studio-app select,.studio-app textarea { font-size:14px; min-width:0; }
.studio-app .form-grid { gap:18px; }.studio-app .form-stack { gap:18px; }
.studio-app .form-stack>button { justify-self:start; }
.studio-app .pill { font-size:11px; line-height:1.4; padding:5px 9px; white-space:normal; }
.studio-app .section-title { align-items:center; flex-wrap:wrap; margin-bottom:16px; }
.studio-app .section-title h2 { font-size:18px; }
.studio-app .text-action { font-size:13px; }
.studio-app .studio-page-header { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:24px; }
.studio-page-actions { display:flex; gap:10px; flex-wrap:wrap; }
.studio-app .overview-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:32px; }
.overview-metrics article { min-width:0; background:#fff; border:1px solid #e7e2e5; border-radius:8px; padding:20px; border-top:3px solid #b83280; }
.overview-metrics article:nth-child(2) { border-top-color:#348b83; }.overview-metrics article:nth-child(3) { border-top-color:#607bba; }.overview-metrics article:nth-child(4) { border-top-color:#bd8729; }
.overview-metrics article>span { display:flex; align-items:center; gap:8px; color:#746670; font-size:13px; }
.overview-metrics strong { display:block; font-size:28px; margin-top:14px; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.overview-columns { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:32px; }
.overview-schedule,.overview-aside { min-width:0; }
.overview-aside { border-left:1px solid #e5dfe3; padding-left:24px; }
.overview-aside>section { margin-bottom:32px; }.overview-aside h2 { margin:8px 0 16px; }
.attention-link { display:flex; align-items:center; gap:12px; padding:16px 0; color:#453640; border-bottom:1px solid #e7e2e5; font-size:13px; }
.attention-link>span { flex:1; }.attention-link strong { display:block; margin-top:4px; font-size:20px; }
.activity-entry { padding:14px 0; border-bottom:1px solid #e7e2e5; display:grid; gap:6px; }
.activity-entry strong { font-size:13px; font-weight:600; }.activity-entry time { font-size:12px; color:#776a73; }
.inline-date { display:flex; gap:8px; align-items:center; }.inline-date input { max-width:165px; }
.studio-empty { padding:36px 18px; text-align:center; background:#fff; border:1px dashed #daceD5; border-radius:8px; margin-bottom:20px; }
.studio-empty>i { display:block; color:#b83280; font-size:28px; margin-bottom:12px; }.studio-empty p { color:#776a73; }
.studio-class { border:1px solid #e3dce1; border-radius:8px; background:white; margin-bottom:12px; scroll-margin-top:100px; }
.studio-class>summary { display:grid; grid-template-columns:66px minmax(0,1fr) auto 16px; align-items:center; gap:16px; padding:18px; list-style:none; cursor:pointer; }
.studio-class>summary::-webkit-details-marker { display:none; }
.studio-class[open]>summary { border-bottom:1px solid #e9e1e6; background:#fcf7fa; }
.studio-class[open]>summary>i { transform:rotate(180deg); }
.class-clock,.class-name { display:grid; gap:5px; min-width:0; }.class-clock strong { font-size:18px; font-variant-numeric:tabular-nums; }.class-name strong { font-size:15px; }
.class-clock small,.class-name small { color:#7b6d77; font-size:12px; }.class-count { color:#2b7763; background:#edf7f2; padding:6px 10px; border-radius:6px; font-size:12px; }
.class-members { padding:16px; }.class-members h3 { margin:0; }
.studio-app .reservation-line>summary { display:grid; grid-template-columns:4px 55px minmax(0,1fr) auto auto; gap:12px; align-items:center; padding:12px; min-width:0; }
.studio-app .reservation-line .line-main { min-width:0; }.studio-app .reservation-line .line-main strong { font-size:14px; }.studio-app .reservation-line .line-main small { font-size:12px; white-space:normal; }
.studio-app .reservation-line { border:0; border-bottom:1px solid #eee7ec; border-radius:0; box-shadow:none; }
.schedule-toolbar,.schedule-navigation { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }.schedule-toolbar { justify-content:space-between; margin-bottom:18px; }
.schedule-navigation h2 { margin:0 6px; font-size:18px; }.studio-app .icon-control { width:40px; padding:0; flex-shrink:0; }
.studio-app .compact-tabs { margin:0; padding:4px; border:1px solid #e4dce1; border-radius:8px; background:#fff; }
.schedule-filters { display:flex; align-items:flex-end; gap:14px; flex-wrap:wrap; margin-bottom:22px; }.schedule-filters label { min-width:170px; flex:0 1 250px; }
.schedule-scroll { overflow-x:auto; border:1px solid #e3dce1; border-radius:8px; background:#fff; }
.studio-calendar { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); min-width:840px; }
.schedule-day { padding:10px; border-right:1px solid #ebe5e9; border-bottom:1px solid #ebe5e9; min-width:0; }
.schedule-day:nth-child(7n) { border-right:0; }.schedule-day.selected { background:#fcf0f6; }.schedule-day.is-today .schedule-day-title strong { background:#b83280; color:#fff; border-radius:6px; }
.schedule-day-title { display:grid; gap:4px; justify-items:center; color:#66565f; margin-bottom:12px; font-size:12px; }.schedule-day-title strong { font-size:20px; padding:4px 10px; }.schedule-day-title small { font-size:11px; }
.schedule-event { display:grid; gap:5px; padding:10px 8px; margin:8px 0; border-left:3px solid #b83280; background:#f9f4f7; border-radius:4px; color:#45323e; overflow-wrap:anywhere; }
.schedule-event:hover { background:#f5e4ee; }.schedule-event time { font-size:13px; font-weight:700; }.schedule-event strong { font-size:12px; line-height:1.4; }.schedule-event small { font-size:11px; color:#786772; }.schedule-event>span { font-size:11px; color:#27735e; }
.schedule-no-events { display:block; text-align:center; font-size:11px; color:#998993; padding:12px 0; }.day-roster { margin:28px 0; scroll-margin-top:100px; }
.studio-app .detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.studio-app .detail-grid>span { min-width:0; overflow-wrap:anywhere; }
.studio-app .detail-grid small { display:block; color:#7b6d77; }.studio-app .detail-grid strong { font-size:14px; }
.studio-app details.modal-edit[open] .edit-form-body { width:min(760px,calc(100vw - 28px)); max-height:85dvh; overflow-y:auto; padding:28px; border-radius:8px; }
.studio-app .user-card,.studio-app .worker-card,.studio-app .salon-card,.studio-app .reservation-card { box-shadow:none; overflow-wrap:anywhere; }
.studio-app .stats-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:14px; }
.studio-app .stat strong { font-size:24px; overflow-wrap:anywhere; }.studio-app .stat small { font-size:12px; }
.studio-app table { width:100%; font-size:13px; }.studio-app th,.studio-app td { padding:12px; vertical-align:middle; }
.studio-app .salon-splash,.studio-app .welcome-screen { display:none!important; }
.studio-mode-user .member-summary-card small { white-space:normal; font-size:12px; }.studio-mode-user .next-class-copy p { font-size:14px; }.studio-mode-user .next-class-copy h2 { font-size:22px; }
@media(max-width:1200px){.overview-columns{grid-template-columns:1fr}.overview-aside{border-left:0;padding-left:0;display:grid;grid-template-columns:1fr 1fr;gap:28px}.overview-metrics strong{font-size:24px}}
@media(max-width:991.98px){.studio-app .admin-desktop-layout{display:block}.studio-app .admin-sidebar{width:280px}.studio-app .admin-main>.content{padding:22px 18px}.studio-app .overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.studio-app .studio-page-header{align-items:stretch;flex-direction:column}.studio-app .studio-page-header h1,.studio-app .page-head h1{font-size:25px}.overview-metrics article{padding:14px}.overview-metrics article>span{font-size:12px}.overview-aside{grid-template-columns:1fr}.studio-class>summary{grid-template-columns:52px minmax(0,1fr) 16px;gap:10px;padding:14px}.class-count{grid-column:2;grid-row:2;justify-self:start}.studio-class>summary>i{grid-column:3;grid-row:1}.class-members{padding:10px}.studio-app .reservation-line>summary{grid-template-columns:42px minmax(0,1fr) auto;gap:8px}.reservation-line .line-accent{display:none}.reservation-line .pill{grid-column:2;justify-self:start}.reservation-line .edit-button{grid-column:3;grid-row:1}.studio-app .detail-grid{grid-template-columns:1fr}.schedule-filters label{flex:1 1 140px;min-width:0}.inline-date{width:100%}.inline-date input{max-width:none}.studio-page-actions .btn{flex:1}.studio-app .member-summary-grid{grid-template-columns:1fr!important}}
