/* Compact spacing, not smaller touch targets. Business dialogs keep their layout. */
.st-compact :focus-visible{outline:3px solid #0f766e;outline-offset:3px}
.st-compact .card{padding:12px;margin-bottom:12px;min-width:0}
.st-compact h2{line-height:1.4}
.st-compact details>summary{cursor:pointer;min-height:44px;box-sizing:border-box;padding:10px 8px;line-height:1.5}
.st-compact .st-disclosure{margin:0}
.st-compact .st-disclosure>summary{font-size:14px;font-weight:650}
.st-compact .st-disclosure[open]>summary{margin-bottom:8px;border-bottom:1px solid var(--line,#dce2e8)}
.st-compact .st-help{margin-left:auto;max-width:100%}
.st-compact .st-help>summary{white-space:nowrap;font-size:14px}
.st-compact .st-help .salon-help-shortcuts{margin:0!important;gap:6px!important}
.st-compact #appView>.page{padding-top:12px}
.st-compact #customerSearchHint{font-size:13px;line-height:1.5;margin:8px 0}
.st-compact #tabs button{min-height:44px}
.st-compact .hero{padding-top:20px;padding-bottom:14px}
.st-compact .panel{padding:16px}
.st-compact .layout{gap:16px}
.st-compact .choice{min-height:88px}
@media(min-width:901px){
 .st-compact #appView>.page{padding:16px 20px}
 .st-compact #appView>.bar{padding-top:6px;padding-bottom:6px}
}
@media(max-width:600px){
 .st-compact input:not([type=checkbox]):not([type=radio]),.st-compact select,.st-compact textarea{font-size:16px}
 .st-compact .btn,.st-compact button,.st-compact select{min-height:44px}
 .st-compact .page{padding-left:10px;padding-right:10px}
 .st-compact .row{gap:8px}
 .st-compact .row>label{max-width:100%;min-width:0}
 .st-compact #appView>.bar{gap:6px;padding:8px 10px}
 .st-compact #appView>.bar .st-help{flex-basis:100%;margin:0}
 .st-compact #appView>.bar .st-help:not([open]){flex-basis:auto;margin-left:auto}
 .st-compact #appView>.bar .st-help>summary{padding:8px;min-height:44px}
 .st-compact #tabs:not(.menu-open){display:none!important}
 .st-compact #p-ledger .dnav{position:static!important;inset:auto!important;background:var(--color-surface-raised,#fff)!important;color:var(--ink,#172033)!important;border:1px solid var(--line,#dce2e8);border-radius:10px;padding:8px!important;margin-bottom:10px}
 .st-compact #p-ledger .dnav{box-shadow:none!important;border:1px solid var(--line,#dce2e8)!important;border-radius:10px!important}
 .st-compact #p-ledger .dnav .dt{color:var(--ink,#172033)!important;flex:1 1 70%;font-size:17px!important}
 .st-compact #p-ledger .dnav label{display:flex!important;order:4;flex-basis:100%;margin-left:0!important}
 .st-compact #p-ledger .dnav label select{flex:1;min-width:0}
 .st-compact #p-ledger{padding-bottom:16px!important}
 .st-compact #p-ledger .dnav button{min-height:44px!important;font-size:14px!important}
 .st-compact .btn:not(.gray):not(.red):not(.danger):not(.secondary){background:#0f766e!important;color:#fff!important}
 .st-compact .btn.red,.st-compact .btn.danger{background:#b91c1c!important;color:#fff!important}
 .st-compact .st-record-table{width:100%!important;min-width:0!important}
 .st-compact .st-record-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .st-compact .st-record-table tbody{display:block}
 .st-compact .st-record-table tbody>tr{display:block;border:1px solid var(--line,#dce2e8);border-radius:10px;padding:8px;margin-bottom:10px}
 .st-compact .st-record-table td{display:grid;grid-template-columns:minmax(90px,32%) minmax(0,1fr);gap:8px;align-items:center;white-space:normal!important;text-align:left;padding:6px 0;overflow-wrap:anywhere}
 .st-compact .st-record-table td:before{content:attr(data-field);font-size:12px;color:var(--muted,#5e6878)}
 .st-compact .st-record-table td[colspan]{display:block}
 .st-compact .st-record-table td[colspan]:before{content:none}
 .st-compact .st-record-table td>*{max-width:100%;box-sizing:border-box}
 .st-compact .st-record-table td input:not([type=checkbox]){width:100%!important}
}
@media print{.st-compact .st-record-table thead{position:static;width:auto;height:auto;clip-path:none}}

/* 1511：押す所の下限だけ直す（余白は増やさない・予約表の写しには触らない） */
/* ① お客様の名前＝詳細を開く主操作。インラインの all:unset に勝つ必要があるので強い指定にする */
.st-compact #p-customers button[data-edit1139]{min-height:44px!important;display:inline-flex!important;align-items:center!important}
@media(max-width:900px){
 /* ② a.btn は inline なので min-height が効かない。押せる形にしてから下限を与える */
 .st-compact a.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
}

/* 1514：iPad 幅（601〜900）で右端が画面の外に出て押せなかったので、既存の並びを折り返す */
@media(min-width:601px) and (max-width:900px){
 .st-compact #tabs{flex-wrap:wrap;overflow-x:visible}
}
/* 1514：短いお名前でも押せる幅に（高さは 1511 で 44px にした。文字は左そろえのまま） */
.st-compact #p-customers button[data-edit1139]{min-width:44px!important;justify-content:flex-start!important}

/* 1515：管理メニューの 4 分類と機能検索（表示だけ。既存タブの見た目・権限・ふだんの仕事の切替は変えない） */
#tabs.nav1515 .navCategory{display:none!important}
#tabs .nav1515bar{display:flex;flex-direction:column;gap:6px;padding:4px 0 8px;flex:0 0 auto;width:100%;grid-column:1/-1;min-width:0}
#tabs .nav1515bar [hidden]{display:none!important}
#tabs .nav1515findrow{display:flex;gap:6px;align-items:flex-end}
#tabs .nav1515find{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0;font-size:12px;color:var(--muted)}
#tabs .nav1515find input{width:100%;min-height:40px;padding:6px 10px;font-size:16px;border:1px solid var(--line);border-radius:10px;background:var(--color-surface-raised,#fff)}
#tabs .nav1515status{margin:0;font-size:12px;color:var(--muted)}
#tabs .nav1515status:empty{display:none}
#tabs .nav1515cats{display:flex;flex-wrap:wrap;gap:4px}
#tabs .nav1515bar button{width:auto!important;min-height:40px!important;padding:6px 10px!important;font-size:13px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:var(--panel,#fff)!important;color:var(--ink)!important;white-space:nowrap!important;text-align:center!important;justify-content:center}
#tabs .nav1515bar button::before{content:none!important}
#tabs .nav1515cats button{flex:1 1 auto}
#tabs .nav1515cats button[aria-expanded="true"]{background:var(--navy)!important;color:var(--color-text-inverse,#fff)!important;border-color:var(--navy)!important;font-weight:700}
#tabs .nav1515res{display:flex;flex-direction:column;gap:4px}
#tabs .nav1515res button{text-align:left!important;justify-content:flex-start;white-space:normal!important}
#tabs.nav1515[data-open1515="daily"] button[data-cat1515]:not([data-cat1515="daily"]),
#tabs.nav1515[data-open1515="repeat"] button[data-cat1515]:not([data-cat1515="repeat"]),
#tabs.nav1515[data-open1515="manage"] button[data-cat1515]:not([data-cat1515="manage"]),
#tabs.nav1515[data-open1515="settings"] button[data-cat1515]:not([data-cat1515="settings"]){display:none!important}
#tabs.nav1515.finding1515 button[data-cat1515],#tabs.nav1515.finding1515 .nav1515cats{display:none!important}
#tabs .nav1515label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:601px){#tabs .nav1515bar{flex-direction:row;flex-wrap:wrap;align-items:center}#tabs .nav1515findrow{flex:1 1 220px}#tabs .nav1515cats{flex:1 1 360px}#tabs .nav1515status,#tabs .nav1515res{flex:1 1 100%}}
@media(max-width:900px){#tabs .nav1515bar button,#tabs .nav1515find input{min-height:44px!important}}

/* 00c: headquarters business tables; AW competitor measurement. */
.st-hq00c main{min-width:0}
.st-hq00c .hqnav a{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;box-sizing:border-box}
.st-hq00c .row>*{min-width:0;max-width:100%;box-sizing:border-box}
.st-hq00c button,.st-hq00c a.btn{touch-action:manipulation}
@media(min-width:768px){
 .st-hq00c{font-size:14px;line-height:1.5}
 .st-hq00c main{padding-top:12px}
 .st-hq00c .card{padding:10px 12px;margin:8px 0}
 .st-hq00c h2{margin-top:16px}
 .st-hq00c td,.st-hq00c th{padding:5px 8px;font-variant-numeric:tabular-nums}
}
