/* Studio figures form one ledger; the application window is a separate decision. */
.studio-status { color: var(--ink); background: var(--paper, #fff4df); border: 2px solid var(--ink); border-radius: 24px; overflow: hidden; box-shadow: 5px 6px 0 rgba(43,20,9,.15); }
.studio-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:28px 32px 22px; }
.studio-kicker { display:block; font-size:10px; font-weight:700; letter-spacing:.16em; }
.studio-heading h2 { font-family:var(--font-display); font-weight:400; font-size:27px; line-height:1.3; margin:7px 0 0; }
.studio-stamp { font-size:10px; letter-spacing:.1em; opacity:.6; text-align:right; }
.studio-metrics { display:grid; grid-template-columns:repeat(3,1fr) 1.45fr; padding:3px 12px 27px; }
.studio-metric { min-width:0; padding:6px 22px 0; border-left:1px solid var(--line-dark); }
.studio-metric:first-child { border:0; }
.studio-label { font-size:12px; font-weight:700; }
.studio-metric strong { display:block; font-family:var(--font-masthead, var(--font-body)); font-weight:700; font-size:53px; letter-spacing:-.045em; line-height:1.25; margin:13px 0 9px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.studio-metric--date strong { font-family:var(--font-body); font-size:30px; letter-spacing:-.06em; margin-top:29px; margin-bottom:16px; white-space:nowrap; }
.studio-metric p { font-size:11px; color:var(--ink-soft); margin:0; line-height:1.6; }
.commission-window { border-top:2px solid var(--ink); display:grid; grid-template-columns:1fr 3.45fr; background:#f6e3c4; }
.commission-slots { padding:25px 32px; border-right:1px solid rgba(43,20,9,.2); }
.commission-slots>div { display:flex; align-items:baseline; gap:10px; margin-top:8px; }
.commission-slots strong { font-family:var(--font-masthead, var(--font-body)); font-size:43px; line-height:1.2; letter-spacing:-.04em; overflow-wrap:anywhere; }
.commission-slots>div>span { font-size:10px; font-weight:700; letter-spacing:.08em; }
.commission-slots p { font-size:10px; margin:9px 0 0; color:var(--ink-soft); }
.commission-schedule { min-width:0; padding:23px 30px; }
.schedule-topline { display:flex; gap:12px; justify-content:space-between; align-items:center; }
.schedule-badge { border:1px solid currentColor; border-radius:99px; font-size:10px; font-weight:700; letter-spacing:.03em; padding:4px 10px; white-space:nowrap; }
.schedule-badge::before { content:''; display:inline-block; width:5px; height:5px; background:currentColor; border-radius:50%; margin-right:6px; vertical-align:2px; }
.schedule-display { min-height:52px; display:flex; align-items:baseline; flex-wrap:wrap; gap:10px; font-size:34px; font-weight:700; line-height:1.4; margin-top:8px; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.schedule-display small { font-size:11px; font-weight:500; letter-spacing:0; margin-left:3px; }
.schedule-caption, .schedule-period { font-size:11px; margin:4px 0 0; line-height:1.7; color:var(--ink-soft); }
.schedule-period { opacity:.8; font-size:10px; }
.commission-window[data-phase="open"] { background:#f5dfaa; }
.commission-window[data-phase="open"] .schedule-badge { color:#31553b; }
.commission-window[data-phase="upcoming"] .schedule-display { color:#bc421d; }
.studio-load-message { border-top:1px solid var(--line-dark); padding:12px 32px; font-size:11px; margin:0; }
.home-footer-line { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.home-admin-entry { border:0; color:inherit; background:none; display:inline-flex; gap:6px; align-items:center; font-size:10px; padding:12px 0 12px 12px; opacity:.55; cursor:pointer; white-space:nowrap; }
.home-admin-entry:hover, .home-admin-entry:focus-visible { opacity:1; }
.home-dialog { width:min(860px,calc(100% - 32px)); max-height:90dvh; overflow-y:auto; border:2px solid var(--ink); border-radius:22px; background:#fff5e5; color:var(--ink); padding:24px 28px; box-shadow:10px 12px 0 rgba(43,20,9,.2); }
.home-dialog::backdrop { background:rgba(40,19,9,.65); backdrop-filter:blur(5px); }
.home-dialog [hidden] { display:none !important; }
.home-dialog-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.home-icon-button { background:none; color:inherit; font-size:28px; line-height:1; border:0; padding:4px 7px; cursor:pointer; }
.home-dialog h2 { margin:8px 0 10px; font-family:var(--font-display); font-weight:400; font-size:30px; }
.home-login { max-width:400px; margin:20px 0 12px; }
.home-login p, .home-editor-intro { font-size:12px; color:var(--ink-soft); line-height:1.8; }
.home-login label { font-size:12px; display:block; margin:20px 0 8px; font-weight:700; }
.home-dialog input, .home-dialog select { color:var(--ink); background:#fffaf1; border:1px solid rgba(43,20,9,.3); border-radius:8px; min-width:0; }
.home-login input { padding:12px; width:100%; margin-bottom:14px; }
.home-primary { display:inline-flex; justify-content:space-between; align-items:center; gap:30px; border:1.5px solid var(--ink); border-radius:8px; color:#fff8e9; background:var(--ink); padding:12px 20px; font-size:12px; font-weight:700; cursor:pointer; }
.home-primary:hover { background:#59301d; }
.home-primary:disabled { opacity:.5; cursor:wait; }
.home-editor-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:20px 0; }
.home-editor-section { min-width:0; padding:18px; border:1px solid var(--line-dark); border-radius:12px; background:#f8ecd9; }
.home-editor-section h3 { font-size:14px; margin:0 0 18px; }
.home-editor-section h3>span { font-size:10px; opacity:.5; margin-right:8px; }
.home-editor-section h4 { font-size:12px; margin:24px 0 12px; }
.home-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px 12px; }
.home-field label, .home-date-field label, .home-select-label { font-size:11px; font-weight:700; display:block; margin-bottom:7px; }
.home-stepper { display:flex; border:1px solid rgba(43,20,9,.3); border-radius:8px; overflow:hidden; background:#fffaf1; }
.home-stepper input { border:0; border-radius:0; width:100%; padding:8px 10px; font-size:23px; font-weight:600; appearance:textfield; -moz-appearance:textfield; font-variant-numeric:tabular-nums; }
.home-stepper input::placeholder { font-size:12px; font-weight:400; }
.home-stepper input::-webkit-inner-spin-button, .home-stepper input::-webkit-outer-spin-button { appearance:none; margin:0; }
.home-stepper>div { display:flex; flex-direction:column; border-left:1px solid var(--line-dark); }
.home-stepper button { border:0; padding:0 12px; min-height:24px; background:#f3e3cc; color:var(--ink); font-size:9px; cursor:pointer; flex:1; }
.home-stepper button+button { border-top:1px solid var(--line-dark); }
.home-stepper button:hover { background:#edc9a0; }
.home-dialog select { width:100%; padding:10px 8px; font-size:11px; }
.home-field-help { font-size:10px; color:var(--ink-soft); line-height:1.7; margin:9px 0 0; }
.home-date-field { margin-top:18px; }
.home-date-field input { width:100%; padding:11px 8px; font-size:12px; min-height:43px; }
.home-preview { border:1px dashed rgba(43,20,9,.3); border-radius:10px; padding:16px 20px; }
.home-preview>div { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.home-preview>strong { font-size:26px; font-variant-numeric:tabular-nums; display:block; margin:8px 0 0; }
.home-preview>p { margin:5px 0 0; font-size:11px; color:var(--ink-soft); }
.home-editor-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:22px; }
.home-text-button { border:0; padding:8px 8px 8px 0; background:none; color:var(--ink-soft); font-size:11px; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.home-save-note { font-size:10px; margin:10px 0 0; color:var(--ink-soft); }
.home-notice { padding:12px; background:#e5eddc; border:1px solid #778269; border-radius:8px; font-size:12px; line-height:1.7; }
.home-notice.is-error { background:#ffe3d7; border-color:#b74326; color:#8c2914; }
.home-dialog :focus-visible, .home-admin-entry:focus-visible { outline:2px solid #bd431d; outline-offset:3px; }
body.home-modal-open { overflow:hidden; }
@media(max-width:760px) {
  .studio-heading { padding:24px; } .studio-stamp { display:none; }
  .studio-metrics { grid-template-columns:1fr 1fr; padding:0 10px 22px; gap:22px 0; }
  .studio-metric { padding:3px 15px; } .studio-metric:nth-child(3) { border-left:0; }
  .studio-metric--date strong { font-size:27px; margin-top:28px; }
  .commission-window { grid-template-columns:1fr 2fr; }
  .commission-slots, .commission-schedule { padding:22px; }
  .schedule-display { font-size:28px; }
  .home-editor-grid { grid-template-columns:1fr; gap:14px; }
}
@media(max-width:460px) {
  .studio-heading h2 { font-size:24px; }
  .studio-metric strong { font-size:43px; } .studio-metric--date strong { font-size:23px; margin-top:26px; margin-bottom:12px; }
  .studio-metric p { font-size:10px; } .studio-label { font-size:11px; }
  .commission-window { grid-template-columns:1fr; }
  .commission-slots { display:grid; grid-template-columns:1fr auto; align-items:center; padding:16px 24px; border-right:0; border-bottom:1px solid var(--line-dark); }
  .commission-slots>div { grid-column:2; grid-row:1 / 3; margin:0; } .commission-slots strong { font-size:36px; }
  .commission-slots p { margin:4px 0 0; } .commission-schedule { padding:20px 24px; }
  .home-dialog { padding:18px; width:calc(100% - 20px); }
  .home-editor-actions { align-items:stretch; flex-direction:column-reverse; }
  .home-footer-line { align-items:flex-end; } .home-admin-entry span { display:none; }
}
