/* Shared furniture for the working rooms: warm paper, soft edges, quiet actions. */
:root { --tools-paper: #fcf7ee; --tools-wine: #702b35; --tools-line: #ad7d6038; --tools-text: #594637; --tools-muted: #8a7666; }
body :is(.workspace-dialog,.finance-dialog,.subscription-dialog,.student-tools-dialog,.schedule-tools-dialog,.booking-dialog),body :is(#action-dialog,#balance-offer-dialog) {
  box-sizing: border-box; width: min(580px,calc(100% - 28px)); max-width: calc(100% - 28px); max-height: calc(100dvh - 40px);
  padding: clamp(22px,5vw,34px); border: 1px solid var(--tools-line); border-radius: 28px;
  background: radial-gradient(ellipse at 100% 0,#e6e8d752,transparent 65%),var(--tools-paper); color: var(--tools-text);
  box-shadow: 0 22px 80px #3e28282b; overflow: auto; overscroll-behavior: contain;
}
body dialog::backdrop { background: #39292268; backdrop-filter: blur(5px); }
body :is(.workspace-dialog,.finance-dialog,.subscription-dialog,.student-tools-dialog,.schedule-tools-dialog,.booking-dialog) :is(h2,h3) {
  font-family: Georgia,'Times New Roman',serif; font-weight: 400; color: var(--tools-wine); letter-spacing: -.5px; overflow-wrap: anywhere;
}
body :is(.workspace-dialog,.finance-dialog,.subscription-dialog,.student-tools-dialog,.schedule-tools-dialog,.booking-dialog) h2 { font-size: clamp(27px,6vw,35px); line-height: 1.15; }
body :is(.workspace-dialog,.finance-dialog,.subscription-dialog,.student-tools-dialog,.schedule-tools-dialog,.booking-dialog) label {
  font-size: 12px; color: #806b5c; line-height: 1.6;
}
body :is(.workspace-dialog,.finance-dialog,.subscription-dialog,.student-tools-dialog,.schedule-tools-dialog,.booking-dialog) :is(input:not([type=checkbox]):not([type=radio]),select,textarea),
:is(#student-tools-profiles,#student-tools-materials,#student-songs,#subscription-tools-admin,#student-subscriptions,#schedule-tools-recurring,#schedule-tools-waitlist,#student-waitlist,#studio-reports-finance) :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
  box-sizing: border-box; min-width: 0; max-width: 100%; min-height: 44px; padding: 12px 14px;
  border: 1px solid var(--tools-line); border-radius: 14px; background: var(--tools-field,#fffcf6); color: var(--tools-text); font: inherit; font-size: var(--tools-field-size,13px); box-shadow: none;
}
body :is(.workspace-dialog,.finance-dialog,.subscription-dialog,.student-tools-dialog,.schedule-tools-dialog,.booking-dialog) :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { width: 100%; }
body dialog textarea { resize: vertical; }
body dialog :is(input[type=checkbox],input[type=radio]) { accent-color: var(--tools-wine); }
body :is(.workspace-dialog,.finance-dialog,.subscription-dialog,.student-tools-dialog,.schedule-tools-dialog,.booking-dialog) button,
:is(#student-tools-profiles,#student-tools-materials,#student-songs,#subscription-tools-admin,#student-subscriptions,#schedule-tools-recurring,#schedule-tools-waitlist,#student-waitlist,#finance-debts,#studio-reports-finance,#studio-reports-backups,#orders-list) button,
.admin-body .student-notes-button {
  box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; max-width: 100%; padding: 11px 17px; border: 1px solid var(--tools-line); border-radius: 24px;
  background: #f2e7d8; color: var(--tools-wine); font: 12px/1.5 Arial,Helvetica,sans-serif; text-align: center; text-decoration: none; white-space: normal; cursor: pointer;
  transition: background .18s ease,transform .18s ease,box-shadow .18s ease;
}
body :is(.workspace-dialog,.finance-dialog,.subscription-dialog,.student-tools-dialog,.schedule-tools-dialog,.booking-dialog) :is(button.primary,button.button,button[type=submit]),
:is(#schedule-tools-recurring,#student-waitlist) .schedule-tools-button:not(.schedule-tools-subtle):not(.schedule-tools-close) {
  background: var(--tools-wine); color: #fff7ea; border-color: var(--tools-wine); box-shadow: 0 5px 12px #702b3510;
}
body .workspace-question button.workspace-danger { background: #8b493f; border-color: #8b493f; }
body dialog :is(button:disabled,button[aria-busy=true]) { opacity: .55; cursor: wait; transform: none; }
body :is(.workspace-dialog,.finance-dialog,.subscription-dialog,.student-tools-dialog,.schedule-tools-dialog,.booking-dialog) :is(input,select,textarea,button):focus { outline: none; box-shadow: none; }
@media(hover:hover) {
  body dialog button:not(:disabled):hover,.admin-body .student-notes-button:hover { transform: translateY(-1px); box-shadow: 0 5px 12px #6d493114; }
}
.workspace-question form { display: grid; gap: 16px; }
.workspace-question h2,.workspace-question p { margin: 0; }
.workspace-question-mark { justify-self: end; width: 34px; height: 34px; border: 1px solid var(--tools-line); border-radius: 50%; color: #b28b70; display: grid; place-items: center; font-size: 23px; }
.workspace-eyebrow { color: var(--tools-muted); font: 9px/1.7 Arial,Helvetica,sans-serif; letter-spacing: 1.6px; text-transform: uppercase; }
.workspace-question-copy { font-size: 13px; line-height: 1.8; }
.workspace-question label { display: grid; gap: 8px; }
.workspace-field-hint { color: var(--tools-muted); font-size: 11px; }
.workspace-question-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.workspace-question-actions button { flex: 1 1 140px; width: auto; }
body dialog :is(.student-tools-actions,.subscription-controls)>button { flex: 1 1 130px; width: auto; }
.admin-body .admin-toolbox { margin: 20px 0; padding: 0; border: 1px solid var(--tools-line); border-radius: 23px; background: linear-gradient(115deg,#f1e6d6,#faf4e9); overflow: clip; }
.admin-toolbox>summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 76px; padding: 20px 24px; color: var(--tools-wine); cursor: pointer; font: 24px/1.25 Georgia,'Times New Roman',serif; }
.admin-toolbox>summary::-webkit-details-marker { display: none; }
.admin-toolbox>summary>span { min-width: 0; }
.admin-toolbox>summary small { display: block; margin-top: 6px; color: var(--tools-muted); font: 11px/1.5 Arial,Helvetica,sans-serif; }
.admin-toolbox>summary::after { content: '+'; display: grid; place-items: center; flex: 0 0 30px; height: 30px; border: 1px solid var(--tools-line); border-radius: 50%; font: 20px/1 Georgia,serif; color: #a17b61; }
.admin-toolbox[open]>summary::after { content: '−'; }
.admin-toolbox[open]>summary { border-bottom: 1px solid var(--tools-line); }
.admin-toolbox>.admin-toolbox-body { padding: 4px 20px 20px; }
.admin-toolbox .admin-toolbox-body> :is(.schedule-tools,.studio-report,#subscription-tools-admin) { margin: 14px 0 0; border: 0; padding: 10px 0 0; background: transparent; box-shadow: none; }
.admin-toolbox-files { margin-top: 28px; }
.student-notes-button { margin: 12px 10px 8px 0; }
@media(max-width:480px) {
  .admin-toolbox>summary { padding: 18px 20px; font-size: 23px; }
  .admin-toolbox>.admin-toolbox-body { padding: 4px 16px 16px; }
  body :is(.workspace-dialog,.finance-dialog,.subscription-dialog,.student-tools-dialog,.schedule-tools-dialog,.booking-dialog),body :is(#action-dialog,#balance-offer-dialog) { border-radius: 24px; padding: 23px 20px; }
}
@media(prefers-reduced-motion:reduce) { body dialog button,.admin-body .student-notes-button { transition: none; } body dialog button:not(:disabled):hover,.admin-body .student-notes-button:hover { transform: none; } }

/* Long pupil content and short mobile viewports must not break the working room. */
:is(.admin-main,.mini-shell,dialog) :is(h1,h2,h3,h4,p,a,summary,label){overflow-wrap:anywhere}
:is(.admin-main,.mini-shell,dialog) :is(input,select,textarea){min-width:0}
.admin-body :is(.admin-toolbox,[data-section],.calendar-day-panel){scroll-margin-top:var(--admin-nav-space,150px)}
.admin-authenticated .admin-welcome{padding:19px 27px;min-height:100px;gap:20px}
.admin-authenticated .admin-welcome .eyebrow{margin-bottom:9px}
.admin-authenticated .admin-welcome h1{font-size:clamp(25px,3vw,34px);margin:0;letter-spacing:-.7px}
.admin-authenticated .admin-welcome h1 br{display:none}
.admin-authenticated .admin-welcome h1 em::before{content:' '}
.admin-authenticated .welcome-note{display:none}
.admin-authenticated .welcome-illustration{position:static;width:90px;height:90px;min-width:90px;margin:0}
@media(max-width:700px){.admin-authenticated .admin-welcome{padding:18px 20px;gap:9px}.admin-authenticated .admin-welcome h1{font-size:26px}.admin-authenticated .welcome-illustration{width:64px;height:70px;min-width:64px}.admin-authenticated .admin-welcome .eyebrow{font-size:8px;letter-spacing:1px}}
@media(max-height:500px){.admin-body .admin-tabs,.telegram-admin .admin-tabs{position:static;top:auto}.admin-authenticated .admin-welcome{display:none}}
@media(pointer:coarse){body{--tools-field-size:16px}.admin-body :is(input:not([type=checkbox]):not([type=radio]),select,textarea),.mini-shell :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px}}
@media(max-width:700px){.admin-body .admin-filters:not(.schedule-filters){grid-template-columns:minmax(0,1fr) auto;gap:10px}.admin-body .admin-filters:not(.schedule-filters)>label{grid-column:1/-1}.admin-body .admin-filters:not(.schedule-filters)>.filter-reset{grid-column:2;grid-row:2}.admin-body .admin-filters:not(.schedule-filters)>.filter-count{grid-column:1;grid-row:2;align-self:center}}
.workspace-toast{position:fixed;z-index:30;bottom:calc(18px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:flex-start;gap:15px;width:min(520px,calc(100% - 28px));max-height:30dvh;overflow:auto;padding:16px 17px;border:1px solid var(--tools-line);border-radius:20px;background:var(--tools-paper);color:var(--tools-text);box-shadow:0 12px 45px #5134282b;font:13px/1.65 Arial,Helvetica,sans-serif;box-sizing:border-box}
.workspace-toast>span{flex:1;min-width:0;overflow-wrap:anywhere}.workspace-toast>button{flex:0 0 44px;width:44px;height:44px;border:1px solid var(--tools-line);border-radius:50%;background:transparent;color:var(--tools-wine);font:22px/1 Georgia,serif;cursor:pointer}.workspace-toast[hidden]{display:none}body:has(.mini-shell) .workspace-toast{bottom:calc(105px + env(safe-area-inset-bottom))}
.workspace-nav-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;overflow:visible}
.workspace-nav-count{position:absolute;top:-5px;right:-9px;min-width:17px;height:17px;padding:0 4px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#762c3a;color:#fff8ed;box-shadow:0 0 0 2px var(--cream,#f5eee4);font:600 10px/1 Arial,sans-serif;letter-spacing:0;white-space:nowrap;pointer-events:none}
.workspace-nav-count[hidden]{display:none!important}
.workspace-swipe{position:relative;min-width:0;width:100%;isolation:isolate;border-radius:20px;overflow:hidden;background:#873b47;touch-action:pan-y}
.workspace-swipe>.workspace-swipe-content{position:relative;z-index:1;margin:0!important;min-width:0;transition:transform .22s cubic-bezier(.22,.7,.2,1);background-color:var(--tile-bg,#fcf7ee)}
.workspace-swipe.is-open>.workspace-swipe-content{transform:translate3d(-84px,0,0)}
.workspace-swipe.is-dragging>.workspace-swipe-content{transition:none;user-select:none;will-change:transform}
.workspace-swipe-delete{position:absolute!important;right:0;top:0;bottom:0;width:84px;min-height:64px!important;margin:0!important;padding:10px 8px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0!important;border-radius:0!important;background:#873b47!important;color:#fff5e5!important;font:11px/1.2 Arial,sans-serif!important;opacity:0;pointer-events:none;box-shadow:none!important;transform:none!important}
.workspace-swipe-delete svg{width:33px;height:39px;flex:none}
.workspace-swipe:is(.is-open,.is-dragging)>.workspace-swipe-delete{opacity:1;pointer-events:auto}
.workspace-swipe-handle{min-width:40px;min-height:36px!important;padding:0 10px!important;margin:0!important;border:1px solid #bba18a55!important;border-radius:99px!important;color:#80634e!important;background:#f3e8da!important;box-shadow:none!important;font:22px/1 Georgia,serif!important;letter-spacing:2px}
.workspace-swipe-handle[hidden],.workspace-swipe-content button[hidden]{display:none!important}
.workspace-swipe .material-download,.workspace-swipe .song-tools-file{padding:16px;background:#fcf7ee}
.pending-payments{margin:8px 0 26px;padding:22px;background:#f0e8d9;border:1px solid #d3c2aa;border-radius:24px}
.pending-payments h3{margin:0 0 16px}.pending-payments .empty-state{margin:0}
.order-remainder{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:9px 13px;margin:8px 0;border-radius:14px;background:#e8ecdf;color:#4e6148;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.order-remainder::before{content:'✦';font-size:17px;color:#788466}
.notification-form #notification-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:18px;min-width:0}
.admin-body #notification-fields label.notification-channel-field{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;align-items:start;padding:14px 16px;margin:0 0 5px;border-radius:16px;background:#ede4d5;min-width:0}
.admin-body #notification-fields .notification-channel-field select{display:block;width:100%;max-width:100%;min-width:0;min-height:48px;padding:12px 36px 12px 14px;border:1px solid #cbb69d;border-radius:12px;background-color:#fbf5eb;color:#604733;box-sizing:border-box}
.notification-copy{min-width:0}.notification-copy strong,.notification-copy small{display:block;overflow-wrap:anywhere}.notification-copy small{line-height:1.6;margin-top:4px}
.mini-pane-stage{position:absolute;visibility:hidden;pointer-events:none;top:0;left:0}.mini-pane{min-width:0}
#view{position:relative}
.report-settings{margin:16px 0;padding:12px 16px;border:1px solid #d4c3ad;border-radius:18px;background:#f6eee2}.report-settings summary{cursor:pointer;font-size:14px;color:#745844}
.report-reset-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.report-reset-actions button{white-space:normal;text-align:left;min-height:52px;border:1px solid #d8c4ae;border-radius:14px;background:#fffbf3;padding:12px;font-size:13px;color:#73433d}
@media(max-width:480px){.pending-payments{padding:16px}.report-reset-actions{grid-template-columns:minmax(0,1fr)}.notification-form #notification-fields{padding:12px}}
@media(prefers-reduced-motion:reduce){.workspace-swipe>.workspace-swipe-content{transition:none}}
.bottom-nav button .workspace-nav-icon{display:inline-flex;font:inherit;line-height:1}
.bottom-nav button .workspace-nav-count{display:flex;font:600 10px/1 Arial,sans-serif}
.mini-pane>.workspace-swipe,.lesson-history>.workspace-swipe,.completed-homework>.workspace-swipe{margin-bottom:14px}
.workspace-subtabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px;padding:10px;border:1px solid #d8c6b1;border-radius:20px;background:#efe4d5}
.workspace-subtabs>button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;flex:1;min-width:130px;padding:12px 16px;border:1px solid transparent;border-radius:14px;background:#fcf7ee;color:#80614c;font-size:13px}
.workspace-subtabs>button.active{background:var(--wine,#702b35);color:#fff8ed}.workspace-subtabs svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;flex:none}
.release-card{border:1px solid #d8c6b1;border-radius:20px;padding:22px;background:#fffbf4;margin:16px 0}.release-card li{line-height:1.7;margin:9px 0;overflow-wrap:anywhere}.release-card ul{padding-left:20px}
.workspace-swipe-handle.workspace-delete-cross{min-width:36px;min-height:36px!important;width:36px;height:36px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;border:1px solid #c5a28a66!important;border-radius:50%!important;background:#f7ecdf!important;color:#986c65!important;font:300 25px/1 Georgia,serif!important;letter-spacing:0;box-shadow:inset 0 1px 0 #fff9ef}
.workspace-delete-cross:hover{background:#eedacd!important;color:#702b35!important}
.media-files{margin-top:24px;min-width:0}
@media(max-width:360px){.bottom-nav button{font-size:7.5px;gap:4px}.bottom-nav button svg{width:19px;height:19px}.bottom-nav .workspace-nav-count{right:-6px}}
