@charset "UTF-8";
/* Commerce shares the existing staff typography and form controls. */
.commerce-admin-tabs{display:flex;border-bottom:1px solid var(--tk-border-subtle);gap:8px;margin:20px 0}.commerce-admin-tabs button{border:0;background:transparent;padding:14px 18px;color:var(--tk-text-secondary-on-page);font-size:14px;min-height:52px}.commerce-admin-tabs button.selected{border-bottom:3px solid var(--tk-border-control);color:var(--tk-brand);font-weight:700}.commerce-bill-grid,.commerce-catalog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.commerce-bill-grid>.paper-card,.commerce-catalog-list>.paper-card{margin:0}.commerce-catalog-list{margin-top:22px}.commerce-figure{font-size:35px;font-weight:700;letter-spacing:-.04em;margin:18px 0}.commerce-figure small{font-weight:400;color:var(--tk-text-secondary-on-page);font-size:12px;display:block;letter-spacing:0}.commerce-ledger{margin:20px 0}.commerce-ledger>div{display:flex;align-items:center;gap:18px;padding:14px 0;border-bottom:1px solid var(--tk-border-subtle)}.commerce-ledger>div>span{flex:1;font-size:15px}.commerce-ledger small{font-size:12px;color:var(--tk-text-secondary-on-page)}.commerce-breakdown{display:grid;grid-template-columns:1fr auto;gap:10px;font-size:14px}.commerce-breakdown dt{color:var(--tk-text-secondary-on-page)}.commerce-breakdown dd{margin:0;text-align:right}.commerce-actions{display:flex;align-items:center;gap:16px;margin-top:20px;flex-wrap:wrap}.commerce-actions>.action{flex:1;min-width:190px;margin:0}.commerce-actions>.text-button{font-size:13px}.commerce-history-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left;background:white;border:1px solid var(--tk-border-subtle);border-radius:12px;padding:18px 22px;margin:12px 0;color:var(--tk-text-primary);min-height:64px}.commerce-history-row small{display:block;color:var(--tk-text-secondary-on-page)}.commerce-report-stats{display:flex;gap:50px;border-bottom:1px solid var(--tk-border-subtle);padding-bottom:18px}.commerce-report-stats span{font-size:13px;color:var(--tk-text-secondary-on-page)}.commerce-report-stats strong{font-size:23px;display:block;color:var(--tk-text-primary)}.commerce-modal-total{font-size:28px;font-weight:700;margin:22px 0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.commerce-admin .voided{color:#85938a}.commerce-admin .voided>strong{text-decoration:line-through}
@media(max-width:650px){.commerce-bill-grid,.commerce-catalog-list{grid-template-columns:1fr}.commerce-admin-tabs{gap:0}.commerce-admin-tabs button{padding:13px 10px;flex:1;font-size:12px}.commerce-figure{font-size:30px}.commerce-ledger>div{gap:10px}.commerce-ledger>div>span{font-size:13px}.commerce-actions{gap:10px}.commerce-actions>.action{min-width:0;flex-basis:100%}.commerce-history-row{padding:16px}.commerce-report-stats{gap:40px}}
:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;color:var(--tk-text-primary);background:#f2f4f3;font-synthesis:none;font-size:15px;line-height:1.7;--green:var(--tk-brand);--muted:var(--tk-text-secondary-on-page);--border:var(--tk-border-subtle);--paper:#fff;--soft:var(--tk-bg-soft)}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.52}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--tk-focus);outline-offset:3px}button svg{flex-shrink:0}a{color:var(--green)}h1,h2,h3,p{margin:0}h1{font-size:25px;letter-spacing:-.05em;line-height:1.55}h2{font-size:18px;line-height:1.6}h3{font-size:17px;line-height:1.7}p+p{margin-top:7px}h2+p,h3+p{margin-top:9px}fieldset{min-width:0;border:0;padding:0;margin:0}legend{font-weight:650;margin-bottom:12px;padding:0}small,.small{font-size:12px;line-height:1.8}.muted{color:var(--muted)}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.app-shell{min-height:100dvh;background:#f8faf8;margin:auto}.customer-shell{max-width:520px;border-left:1px solid var(--border);border-right:1px solid var(--border)}.staff-shell{max-width:1250px}.app-header{display:flex;align-items:center;justify-content:space-between;padding:17px 25px;background:white;border-bottom:1px solid var(--border);min-height:80px}.brand{text-decoration:none;display:flex;align-items:center;gap:17px;color:var(--tk-text-primary)}.brand-reds{position:relative;font-family:"Snell Roundhand","Brush Script MT",Georgia,serif;font-style:italic;font-size:35px;letter-spacing:-2px;line-height:1.1;color:#db304e}.brand-reds>span{font:8px sans-serif;letter-spacing:3px;display:block;text-align:right;color:#66545a}.powered{border-left:1px solid var(--border);padding-left:17px;font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--muted)}.header-right{display:flex;align-items:center;gap:7px}.audience-label{font-size:11px;border:1px solid var(--border);border-radius:20px;padding:4px 10px}.icon-button{border:0;background:transparent;display:grid;place-items:center;min-width:42px;min-height:42px;color:var(--green);border-radius:9px}.environment{font-size:10px;display:flex;align-items:center;gap:6px;padding:7px 24px;color:var(--tk-text-secondary-on-page);background:var(--tk-bg-soft)}.environment>span:last-child{margin-left:auto;color:var(--tk-text-secondary-on-page)}.status-dot{width:5px;height:5px;background:#428563;border-radius:50%}.app-main{padding:25px 24px 100px}.staff-shell .app-main{padding:32px 40px 110px}.store-heading{font-size:12px;color:var(--muted);margin-bottom:16px}.page-title{display:flex;align-items:flex-start;gap:8px;margin-bottom:24px}.page-title .icon-button{margin-left:-11px}.page-title p{font-size:13px;margin-top:7px}.greeting{margin:6px 0 24px}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:650;color:var(--tk-text-secondary-on-page);margin-bottom:8px}.greeting p.muted{font-size:13px;margin-top:7px}.visit-primary,.visit-secondary{display:flex;align-items:center;gap:16px;padding:24px 20px;width:100%;text-align:left;border-radius:14px;margin:12px 0}.visit-primary{border:0;background:linear-gradient(115deg,var(--tk-brand),var(--tk-brand));color:white;box-shadow:0 5px 14px #1f355314}.visit-secondary{background:#fff;border:1px solid var(--tk-border-subtle);color:var(--tk-brand)}.visit-primary>svg:last-child,.visit-secondary>svg:last-child{margin-left:auto}.visit-primary strong,.visit-secondary strong{display:block;font-size:22px}.visit-primary small,.visit-secondary small{display:block;font-size:11px;font-weight:400;opacity:.8}.round-outline{width:43px;height:43px;display:grid;place-items:center;border:1px solid #ffffff65;border-radius:50%;flex-shrink:0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:23px 0 12px}.section-heading h2{display:flex;align-items:center;gap:8px}.section-heading span:not(.badge){font-size:12px}.paper-card{background:white;border:1px solid var(--border);border-radius:14px;padding:22px;margin-bottom:15px;overflow-wrap:anywhere}.paper-card .section-heading{margin:0 0 14px}.paper-card h2{display:flex;align-items:center;gap:9px}.reservation-card h3{font-size:20px;letter-spacing:-.025em}.reservation-card h3>span{margin-left:6px}.reservation-note{font-size:13px;background:#f5f7f5;border-radius:8px;padding:12px;margin:13px 0}.badge{display:inline-flex;align-items:center;border-radius:20px;font-size:11px;line-height:1.5;padding:5px 10px;white-space:nowrap}.badge.pending{background:#fff3d8;color:#86600c}.badge.confirmed{background:#e7f3eb;color:#226644}.badge.cancelled{background:#f0f1f0;color:#728078}.cancelled{opacity:.75}.action{display:flex;justify-content:center;align-items:center;gap:9px;width:100%;min-height:52px;border:1px solid var(--green);border-radius:10px;padding:12px 18px;background:var(--green);color:white;font-weight:650;font-size:15px;line-height:1.6}.action:hover:not(:disabled){filter:brightness(1.06)}.action.secondary{background:white;border-color:var(--tk-border-subtle);color:var(--green)}.action+.action{margin-top:12px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:40px;padding:6px 0;background:none;border:0;color:var(--green);font-size:12px;font-weight:600;text-align:left}.text-button.danger{color:#a74a48}.card-actions{display:flex;align-items:center;gap:18px;margin-top:17px}.card-actions .action{min-height:43px;font-size:13px;width:auto;flex:1}.card-actions>.text-button{flex:1}.notice{display:flex;gap:10px;align-items:flex-start;padding:15px;background:var(--tk-bg-soft);border:1px solid var(--tk-border-subtle);border-radius:10px;font-size:13px;margin-bottom:17px;overflow-wrap:anywhere}.notice>svg{flex-shrink:0;margin-top:2px}.notice .text-button{display:flex;margin-top:4px}.notice.success{background:#edf7ef;color:#225539;border-color:#cfe4d4}.notice.warning{background:#fff6e5;border-color:#f0dcb1;color:#7d5b21}.empty{text-align:center;border:1px dashed var(--tk-border-subtle);padding:33px 18px;border-radius:13px;color:var(--muted);background:#f5f8f5;margin-bottom:20px}.empty svg{color:var(--tk-text-secondary-on-page);margin-bottom:8px}.empty p{font-size:13px}.bottom-nav{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);max-width:520px;width:100%;display:flex;background:#ffffffef;backdrop-filter:blur(10px);border:1px solid var(--border);border-bottom:0;padding:8px 10px max(9px,env(safe-area-inset-bottom))}.bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;border:0;background:none;color:var(--tk-text-secondary-on-page);font-size:10px;min-height:47px;border-radius:9px;padding:5px}.bottom-nav button.selected{color:var(--tk-brand);background:var(--tk-bg-selected);font-weight:700}.staff-shell .bottom-nav{max-width:500px;border-radius:15px 15px 0 0;box-shadow:0 -6px 25px #1f355308}.app-footer{display:flex;justify-content:space-between;align-items:center;margin-top:42px;padding-top:20px;border-top:1px solid var(--border);font-size:10px;color:var(--tk-text-secondary-on-page)}.app-footer>span{letter-spacing:.17em}.app-footer a{text-decoration:none;color:var(--muted)}.steps{display:flex;border-bottom:1px solid var(--border);font-size:12px;gap:24px;margin-bottom:13px}.steps span{padding:0 0 10px;color:var(--tk-text-secondary-on-page)}.steps span.active{color:var(--green);font-weight:650;border-bottom:2px solid var(--green)}.save-state{display:flex;align-items:center;gap:7px;font-size:11px;color:#63816d;margin:0 0 22px}.save-state.failed{color:#a46624}.form-stack{display:flex;flex-direction:column;gap:25px}.field{display:flex;flex-direction:column;gap:9px;font-size:14px}.field>span{font-weight:650}.field small{font-size:11px;font-weight:400;margin-left:5px;color:var(--muted)}input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select{width:100%;border:1px solid var(--tk-border-control);border-radius:9px;padding:12px 13px;background:#fff;color:var(--tk-text-primary);font-size:16px;min-width:0;min-height:49px}textarea{resize:vertical;line-height:1.8}input::placeholder,textarea::placeholder{color:var(--tk-text-secondary-on-page);font-size:12px}.two-fields{display:grid;grid-template-columns:1.15fr 1fr;gap:12px}.two-fields .field>span{font-size:12px;color:var(--muted)}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.choice{padding:12px 6px;background:white;border:1px solid var(--tk-border-subtle);border-radius:9px;min-height:64px;color:var(--tk-text-secondary-on-page);font-size:21px;display:flex;align-items:center;justify-content:center;gap:4px}.choice small{font-size:11px}.choice.selected{background:var(--tk-bg-selected);border-color:var(--tk-border-control);color:var(--tk-brand);box-shadow:inset 0 0 0 1px #1f355320}.day-choices{margin-bottom:17px}.day-choices .choice{flex-direction:column;gap:3px}.day-choices strong{font-size:12px;line-height:1.5}.counter{display:flex;align-items:center;justify-content:space-between;background:white;border:1px solid var(--border);border-radius:10px;padding:7px}.counter button{height:45px;width:51px;border:0;border-radius:7px;background:var(--tk-bg-soft);color:var(--green);display:grid;place-items:center}.counter output{font-size:26px;font-weight:650}.counter output small{font-size:12px;margin-left:8px;font-weight:400}.confirmation dl{display:grid;grid-template-columns:90px 1fr;gap:18px 15px;font-size:14px;margin:22px 0 0}.confirmation dt{color:var(--muted);font-size:12px}.confirmation dd{margin:0}.confirmation .paper-card{padding:24px 21px}.form-foot{display:flex;justify-content:center;gap:6px;align-items:center;margin-top:20px}.queue{border-top:1px solid var(--border);margin-top:25px}.queue-item{padding:16px;background:#fff9ed;border:1px solid #ead9b8;border-radius:10px;margin-top:12px;font-size:12px}.queue-item strong{font-size:14px}.inline-actions{display:flex;gap:16px;flex-wrap:wrap}.recovery{font-size:12px;margin-top:25px;border-top:1px solid var(--border);padding-top:16px}.recovery summary{cursor:pointer;display:flex;align-items:center;gap:7px;min-height:38px;color:var(--tk-text-secondary-on-page)}.recovery input{margin:15px 0;max-width:100%}.modal{border:1px solid var(--border);border-radius:16px;padding:25px;width:min(440px,calc(100% - 30px));max-height:85dvh;overflow:auto;color:var(--tk-text-primary);background:#fafcf9;box-shadow:0 20px 100px #1f355330}.modal::backdrop{background:#1f35535c;backdrop-filter:blur(2px)}.modal h2{margin-bottom:16px}.modal .action{margin-top:18px}.modal .field,.modal fieldset{margin-top:18px}.modal .paper-card{margin-top:15px}.loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:26px;font-size:13px;color:var(--tk-text-secondary-on-page)}.spin{animation:spin 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-layout{padding:15px 0;max-width:490px;margin:0 auto}.login-card{text-align:center;margin-top:25px;padding:30px 24px}.login-card>svg{color:var(--tk-text-primary);margin-bottom:15px}.login-card h2{display:block}.login-card p{font-size:13px}.login-card .action{margin-top:24px;margin-bottom:15px}.offline-bar{display:flex;justify-content:center;align-items:center;gap:8px;background:#fff1d2;padding:8px;font-size:11px;color:#85602a}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:20px 0 26px}.metrics>div{padding:20px 24px;background:#fff;border:1px solid var(--border);border-radius:13px;display:flex;flex-direction:column}.metrics span{font-size:12px;color:var(--muted)}.metrics strong{font-size:31px;color:var(--green);letter-spacing:-.02em}.metrics small{font-size:12px;margin-left:7px;font-weight:400}.staff-shell .reservation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.customer-name{font-size:17px!important;margin-bottom:10px}.team-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(350px,1.3fr);align-items:start;gap:25px}.team-grid>.paper-card>h2{margin-bottom:22px}.check-row{display:flex;align-items:center;gap:12px;padding:9px 0;min-height:44px;font-size:14px}.check-row input{width:20px;height:20px;accent-color:var(--green)}.invite-code{display:block;font-size:12px;word-break:break-all;background:#fff;padding:10px;border-radius:7px;margin-top:5px}.invite-link{font-size:12px!important;margin-top:10px}.store-selector{max-width:320px;margin-bottom:24px}
@media(min-width:900px){.staff-shell .app-header{padding-left:40px;padding-right:40px}.staff-shell .environment{padding-left:40px;padding-right:40px}.staff-shell .app-main{min-height:calc(100dvh - 110px)}.staff-shell .page-title h1{font-size:28px}}
@media(max-width:650px){.staff-shell .app-main{padding:24px 20px 110px}.staff-shell .reservation-grid,.team-grid{grid-template-columns:1fr}.metrics{gap:9px}.metrics>div{padding:14px 12px}.metrics strong{font-size:26px}.metrics span{font-size:10px}.app-main{padding-left:20px;padding-right:20px}.app-header{padding-left:20px;padding-right:20px}.powered{display:none}.paper-card{padding:19px}.visit-primary,.visit-secondary{padding:21px 17px;gap:12px}.visit-primary strong,.visit-secondary strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}

.tablet-device-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.tablet-device{margin:0}.tablet-table-name{font-size:24px;font-weight:650;margin:10px 0}.tablet-table-name small{font-weight:400}.tablet-device .action{margin-top:16px}.tablet-settings{margin-top:30px;border-top:1px solid var(--border);padding-top:20px}.tablet-settings>summary{cursor:pointer;font-weight:650;padding:12px 0;min-height:48px}.tablet-settings .field{margin-top:16px}.tablet-settings>.team-grid{margin-top:16px}.tablet-url{display:block;overflow-wrap:anywhere;padding:15px;background:var(--soft);font-size:12px;margin-top:15px}.tablet-settings>h3{margin:20px 0 10px}

.commerce-catalog-filters{margin-top:22px}.modal h2:focus{outline:none}

/* Staff setup: job and access permission are separate choices. */
.team-steps{display:flex;gap:24px;flex-wrap:wrap;margin:24px 0;color:var(--muted);font-size:13px}.team-steps span{display:flex;align-items:center;gap:9px}.team-steps b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--soft);color:var(--green)}.team-summary{display:flex;gap:40px;margin:24px 0 30px}.team-summary span{font-size:12px;color:var(--muted)}.team-summary strong{display:block;font-size:26px;color:var(--green)}.team-fields{display:grid;gap:25px;margin-top:22px}.team-job-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.team-job-option{display:flex;align-items:center;gap:10px;min-height:66px;padding:14px;border:1px solid var(--border);border-radius:10px;background:white;cursor:pointer}.team-job-option.selected{border-color:var(--green);background:var(--soft)}.team-job-option input{width:20px;height:20px;accent-color:var(--green);flex-shrink:0}.team-person{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px 0;border-bottom:1px solid var(--border)}.team-person:last-child{border-bottom:0}.team-person h3{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.team-person p{font-size:13px}.team-person-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.team-person-actions .action{margin:0;min-width:170px}.team-self{display:grid;grid-template-columns:100px 1fr;gap:15px;margin:24px 0}.team-self dt{color:var(--muted)}.team-self dd{margin:0}.team-invite-result{border-color:var(--tk-border-subtle);background:var(--tk-bg-page)}.team-invite-result input{margin-top:15px;font-size:12px!important}.team-invite-result details{margin-top:14px}.modal .team-job-options{grid-template-columns:1fr}.modal .team-job-option{min-height:52px}.team-fields~.action{margin-top:20px}
@media(max-width:650px){.team-steps{gap:10px;flex-direction:column}.team-summary{gap:25px}.team-summary strong{font-size:23px}.team-job-options{grid-template-columns:1fr}.team-job-option{min-height:56px}.team-person{align-items:stretch;flex-direction:column;gap:15px}.team-person-actions{justify-content:flex-start}.team-person-actions .action{flex:1}.team-fields .field small{font-size:11px}}

/* Desktop management shares the same accessible inputs and saved business forms. */
.admin-shell{max-width:none;background:#f6f8f7;min-height:100vh}.admin-shell .app-header{max-width:none}.admin-brand{font-size:25px;letter-spacing:.06em;color:var(--tk-brand)}.admin-shell .app-main{max-width:1240px;margin:auto;padding:40px 32px 130px}.admin-login{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;min-height:65vh}.admin-login-intro h1{font-size:44px;line-height:1.5;letter-spacing:.03em;margin:22px 0}.admin-login-intro>p{line-height:2;color:var(--tk-text-secondary-on-page)}.admin-login-points{display:grid;grid-template-columns:24px 1fr;gap:18px 12px;margin-top:35px;align-items:center;color:var(--tk-text-primary);font-size:14px}.admin-login-card{padding:36px;display:grid;gap:18px}.admin-login-card h2{margin:4px 0 10px}.admin-login-card form{display:grid;gap:18px}.admin-login-links{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.admin-link{padding-top:24px;border-top:1px solid var(--tk-border-subtle);display:grid;gap:14px}.admin-qr{width:220px;height:220px;justify-self:center;background:#fff}.private-key{font-family:monospace;overflow-wrap:anywhere}.recovery-codes{padding:18px;background:#f6f8f7;border:1px solid var(--tk-border-subtle);border-radius:12px}.recovery-codes pre{columns:2;font-size:13px;line-height:1.8;white-space:pre-wrap}.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:25px 0 28px}.admin-metrics .paper-card{display:grid;gap:18px;padding:24px}.admin-metrics span{font-size:13px;color:var(--tk-text-secondary-on-page)}.admin-metrics strong{font-size:29px;color:var(--tk-brand)}.admin-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:28px}.admin-shortcuts button{display:flex;justify-content:space-between;align-items:center;text-align:left;color:var(--tk-brand);cursor:pointer}.admin-shortcuts strong{display:block;font-size:17px;margin-bottom:10px}.admin-shortcuts small{display:block;color:var(--tk-text-secondary-on-page)}.modal .admin-login{display:block;min-height:0}.modal .admin-login-intro{display:none}.modal .admin-login-card{border:0;padding:0;box-shadow:none}.admin-dashboard h2{font-size:19px}
@media(min-width:1100px){.admin-shell:has(.bottom-nav) .app-main{margin-left:240px;max-width:1320px}.admin-shell .bottom-nav{position:fixed;top:145px;bottom:auto;left:24px;right:auto;transform:none;width:205px;display:flex;flex-direction:column;align-items:stretch;padding:12px;gap:8px;border-radius:15px}.admin-shell .bottom-nav button{display:flex;flex-direction:row;justify-content:flex-start;gap:12px;text-align:left;padding:15px 12px;font-size:13px}.admin-shell .bottom-nav button.selected{border-radius:9px}}
@media(max-width:760px){.admin-shell .app-main{padding:25px 18px 125px}.admin-login{display:block;min-height:0}.admin-login-intro{margin-bottom:28px}.admin-login-intro h1{font-size:30px}.admin-login-intro>p,.admin-login-points{display:none}.admin-login-card{padding:24px}.admin-metrics{grid-template-columns:1fr 1fr;gap:12px}.admin-metrics .paper-card{padding:18px}.admin-metrics strong{font-size:25px}.admin-shortcuts{grid-template-columns:1fr}.admin-shell .bottom-nav button{font-size:9px;min-width:0}.admin-shell .bottom-nav{max-width:calc(100vw - 20px)}}

@media(max-width:1099px){.admin-shell .bottom-nav{overflow-x:auto;justify-content:flex-start;gap:4px}.admin-shell .bottom-nav button{flex:0 0 90px;font-size:11px}.admin-shell .app-header{padding:14px 18px}.admin-shell .powered{display:none}}

.staff-next h2{margin:10px 0}.staff-next p{font-size:13px;color:var(--muted);margin-bottom:22px}.staff-home-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.staff-home-grid>button{display:grid;text-align:left;gap:11px;color:var(--green);position:relative;margin:0;min-height:160px}.staff-home-grid strong{font-size:17px}.staff-home-grid small{font-size:11px;color:var(--muted)}.staff-home-grid svg:last-child{position:absolute;right:15px;top:20px}

/* Management inbox uses large, full-row targets and keeps unknown counts distinct. */
.dashboard-attention h2{display:flex;align-items:center;gap:9px;margin:0}
.dashboard-attention>.section-heading{gap:12px;flex-wrap:wrap}
.dashboard-task-list{display:grid;gap:0;margin:16px 0}
.dashboard-task{display:flex;align-items:center;gap:16px;width:100%;min-height:84px;padding:16px 4px;text-align:left;background:none;border:0;border-bottom:1px solid var(--line,#e5e7e5);color:inherit;cursor:pointer;font:inherit}
.dashboard-task:hover{background:#f5f8f6}
.dashboard-task:focus-visible{outline:2px solid var(--tk-focus);outline-offset:3px;border-radius:8px}
.dashboard-task-count{display:flex;align-items:baseline;justify-content:center;gap:3px;flex:0 0 54px;padding:8px 4px;background:#f5ede2;border-radius:12px;color:#85531c;font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}
.dashboard-task-count small{font-size:12px;font-weight:500}
.dashboard-task-count.zero{background:#f0f3f1;color:var(--tk-text-secondary-on-page)}
.dashboard-task-copy{display:grid;gap:5px;flex:1;min-width:0}
.dashboard-task-copy strong{font-size:16px;font-weight:650;line-height:1.5}
.dashboard-task-copy small{font-size:12px;color:var(--tk-text-secondary-on-page);line-height:1.7}
.dashboard-task>svg{flex-shrink:0;color:var(--tk-text-secondary-on-page)}
.dashboard-clear{display:flex;align-items:center;gap:10px;padding:18px 0;color:var(--tk-brand)}
.dashboard-unavailable{padding:18px 0;color:var(--tk-text-secondary-on-page)}
.dashboard-zero{margin:16px 0}
.dashboard-zero>summary{cursor:pointer;padding:12px 0;font-size:13px;color:var(--tk-text-secondary-on-page)}
@media(max-width:600px){.dashboard-task{gap:10px;padding:14px 0}.dashboard-task-count{flex-basis:44px;font-size:22px}.dashboard-attention{padding:18px}.dashboard-attention h2{font-size:18px}.dashboard-task-copy strong{font-size:15px}}

.website .paper-card h2{display:flex;gap:10px;align-items:center}.website fieldset{min-width:0;border:0;padding:0;margin:0}.website .check-row{min-height:48px}.website-summary{display:flex;gap:20px;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line,#e3e6ea)}.website-preview{padding:16px;border:1px solid var(--line,#e3e6ea);border-radius:12px;margin:16px 0}.website-preview p{overflow-wrap:anywhere}.website>button{margin-bottom:18px}
.commerce-recovery-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.commerce-recovery-confirm-actions{display:grid;gap:10px}
.commerce-recovery-actions>.action,.commerce-recovery-confirm-actions>.action{width:100%;min-width:0;min-height:44px;margin:0;padding:10px 12px;gap:7px}
.commerce-recovery-actions>.action svg{flex-shrink:0}
.commerce-recovery-archive{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:14px 0;color:var(--tk-text-secondary-on-page);font-size:14px}
.commerce-recovery-archive>.action{min-height:44px;margin:0;padding:10px 12px;gap:7px}
@media(max-width:650px){.commerce-recovery-actions{grid-template-columns:1fr}}

/* Dashboard: compact indicators and secondary zero-count navigation. */
.admin-dashboard .admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.dashboard-zero-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}
.admin-dashboard .dashboard-zero-list .dashboard-task{min-height:44px;padding:7px 0;gap:8px}
.dashboard-zero-list .dashboard-task-count{flex-basis:24px;padding:0;font-size:14px;background:none}
.dashboard-zero-list .dashboard-task-copy strong{font-size:14px;font-weight:400}
.dashboard-owner-wait{margin:16px 0 0}
@media(max-width:600px){.admin-dashboard .admin-metrics{grid-template-columns:1fr 1fr}.admin-dashboard .dashboard-metric-link:first-child{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-dashboard .dashboard-metric-link:first-child .metric-label{flex:1}.dashboard-zero-list{grid-template-columns:1fr}.admin-dashboard .dashboard-zero-list .dashboard-task-copy strong{font-size:14px}}
/* 初期設定チェックリスト（店長・オーナーのホームの上）。済み・未設定は文字とアイコンでも示す。次にやることを先頭で強調し、済みの行は詰める */
.setup-card{margin:16px 0}.setup-card h2{display:flex;align-items:center;gap:9px;margin:0;font-size:20px}
.setup-loading{color:var(--tk-text-secondary-on-page);font-size:14px}
.setup-progress{display:grid;gap:8px;margin:12px 0 6px;font-size:14px;font-weight:650}
.setup-bar{display:block;height:8px;border-radius:999px;background:var(--tk-status-neutral-bg,#eef2f1);overflow:hidden}.setup-bar i{display:block;height:100%;border-radius:inherit;background:var(--tk-brand)}
.setup-list{list-style:none;margin:8px 0 0;padding:0;display:grid}
.setup-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px 14px;padding:14px 0;border-bottom:1px solid var(--tk-border-subtle,#e5e7e5)}
.setup-row:last-child{border-bottom:0}
.setup-row.is-done{padding:8px 0}.setup-row.is-done .setup-copy strong{font-weight:500;color:var(--tk-text-secondary-on-page)}
.setup-row.is-next{margin:4px -12px;padding:14px 12px;border:1px solid var(--tk-border-control,#c9d6df);border-radius:12px;background:var(--tk-bg-soft,#f3f7fa)}
.setup-status{display:inline-flex;align-items:center;gap:5px;min-width:64px;font-size:12px;font-weight:650;color:var(--tk-status-wait-text,#85531c)}
.setup-row.is-done .setup-status{color:var(--tk-status-success-text,#2b6a4a)}
.setup-copy{display:grid;gap:4px;min-width:0}.setup-copy strong{font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.setup-copy p{margin:0;font-size:13px;line-height:1.7;color:var(--tk-text-secondary-on-page);overflow-wrap:anywhere}
.setup-next-label{font-size:12px;font-weight:700;color:var(--tk-brand)}
.setup-copy .setup-owner-note{font-weight:650}
.setup-row .action{min-height:44px;margin:0;white-space:nowrap}
.setup-optional{margin-top:12px}.setup-optional>summary,.setup-complete>summary{min-height:44px;padding:11px 0;cursor:pointer;font-size:14px;line-height:1.6;color:var(--tk-text-secondary-on-page)}
.setup-complete>summary{font-size:15px;font-weight:650;color:var(--tk-status-success-text,#2b6a4a)}.setup-complete>summary svg{vertical-align:-4px;margin:0 6px 0 4px}
@media(max-width:600px){.setup-card{padding:16px}.setup-row{grid-template-columns:auto minmax(0,1fr);align-items:start}.setup-row .setup-status{padding-top:3px}.setup-row.is-done{align-items:center}.setup-row.is-done .setup-status{padding-top:0}.setup-row .action{grid-column:1/-1;width:100%}.setup-row.is-next{margin:4px -8px;padding:12px 8px}.setup-status{min-width:0}}

/* Common shell only: state notices and the LIFF entry page. */
.app-shell .common-login{max-width:480px;margin:24px auto}.common-login .page-title{margin-bottom:20px}.common-login .login-card{display:grid;justify-items:center;gap:20px;padding:28px 20px}.common-login .login-card .action,.common-login .login-card .notice{width:100%}.common-login .login-card .notice{margin:0}.common-login .common-saved p{font-size:13px;margin-bottom:14px;color:var(--tk-text-secondary-on-page)}.common-invite-intro{margin-top:-12px;margin-bottom:20px;font-size:14px}.app-shell .app-offline{min-height:40px;padding:8px 20px;font-size:13px}.app-update{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;margin-bottom:18px;border:1px solid var(--tk-border-subtle);border-radius:12px;background:var(--tk-bg-soft);font-size:14px}.app-update>div{display:flex;gap:12px;flex-shrink:0}.app-update .text-button{min-width:44px;min-height:44px;padding:8px}.app-update.has-error{background:#fff6e5;color:#7d5b21;border-color:#f0dcb1}.app-save-progress{position:fixed;z-index:50;top:max(16px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;min-height:48px;padding:12px 24px;border:1px solid var(--tk-border-subtle);border-radius:12px;background:#fff;box-shadow:0 4px 24px #1f355326;color:var(--tk-brand);font-size:14px}.app-save-spinner{width:18px;height:18px;border:2px solid var(--tk-border-subtle);border-top-color:var(--tk-border-subtle);border-radius:50%;animation:spin 1s linear infinite}.app-shell .header-location .store-selector select{min-height:44px}
@media(max-width:620px){.app-shell .common-login{margin:16px auto}.app-update{flex-wrap:wrap;gap:4px}.app-update>div{margin-left:auto}.app-update>span{flex:1 0 100%}}

/* Store-only commerce editors: keep targets visible without duplicating instructions. */
.commerce-edit-modal .commerce-modal-context{display:block;font-size:14px;font-weight:500;line-height:1.55;color:var(--muted);margin-top:5px;overflow-wrap:anywhere;text-wrap:wrap}
.commerce-edit-modal .commerce-edit-actions{gap:10px;padding:12px 0 2px;background:var(--paper,#fff)}
.commerce-edit-modal .commerce-edit-actions>.action{min-width:0;min-height:48px;padding:11px 12px}
.commerce-edit-modal .commerce-edit-actions>.secondary{flex:0 1 128px}
.commerce-edit-modal .commerce-cast-allocation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--border)}
.commerce-edit-modal .commerce-allocation-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}
.commerce-edit-modal .commerce-allocation-heading .text-button{min-height:44px;padding:6px 12px}
.commerce-edit-modal .commerce-opening-time{margin-bottom:18px;font-size:14px;color:var(--muted)}
.commerce-admin .commerce-attribution-history{padding:12px 0;border-top:1px solid var(--border)}
.commerce-admin .commerce-attribution-history p{margin:4px 0}
.commerce-admin .commerce-menu-tools{margin:12px 0;border-bottom:1px solid var(--border);padding-bottom:8px}
.commerce-admin .commerce-menu-tools>summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:14px;font-weight:600}
.commerce-admin .commerce-menu-tools>.wf-inline{padding:8px 0}
.commerce-admin .commerce-catalog-policy{margin:8px 0 16px}
.commerce-admin .commerce-catalog-filters{margin-top:12px}
.commerce-admin .commerce-time-lines{border-block:1px solid var(--border);margin:14px 0}
.commerce-admin .commerce-time-lines>summary{cursor:pointer;padding:14px 0;list-style:inside;display:flex;align-items:center;gap:12px;font-size:14px}
.commerce-admin .commerce-time-lines>summary:before{content:'＋'}
.commerce-admin .commerce-time-lines[open]>summary:before{content:'−'}
.commerce-admin .commerce-time-lines>summary span{flex:1}
.commerce-admin .commerce-time-lines .commerce-ledger{margin:0}
.commerce-admin .commerce-report-policy{margin-top:16px;font-size:13px}
.commerce-admin .commerce-report-policy>summary{min-height:44px;padding:10px 0;cursor:pointer}
.commerce-admin .commerce-ledger .text-button{min-width:44px;min-height:44px}
.commerce-admin .commerce-figure s,.commerce-admin .commerce-history-row s{color:var(--tk-text-secondary-on-page);text-decoration-thickness:2px}
.commerce-catalog-history .pay-history>summary{position:sticky;top:0;background:#fff;z-index:1;border-bottom:1px solid var(--border);padding-block:14px;font-size:14px}
.commerce-catalog-history .pay-history{overflow:visible}
.commerce-edit-modal .modal-body{scroll-padding-block:12px 108px;padding-bottom:0}
/* LINE customer cast page only (not an order screen style). */
.customer-shell .customer-cast-hobby{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:6px;margin:4px 0;font-size:13px;color:#5b4a3c;word-break:keep-all;overflow-wrap:anywhere}.customer-shell .customer-cast-hobby+p:not(.customer-cast-hobby){margin-top:10px}.customer-shell .customer-cast-hobby span{white-space:nowrap;padding:1px 8px;border:1px solid #dfd4c8;border-radius:999px;font-size:11px;font-weight:700}
/* キャスト紹介の出勤予定とInstagram（R2-18・F11・F207）。公開を許可したキャストだけに出る */
.customer-shell .customer-cast-schedule{display:grid;gap:4px;margin:12px 0 0;font-size:13px}.customer-shell .customer-cast-schedule div{display:flex;gap:10px}.customer-shell .customer-cast-schedule dt{color:#716964;min-width:6.5em}.customer-shell .customer-cast-schedule dd{margin:0}
.customer-shell .customer-cast-sns{display:inline-flex;align-items:center;gap:4px;min-height:44px;margin-top:4px;color:#773343;font-size:14px}
/* 会員ページの「お知らせを受け取る」（F98・決定事項18） */
.customer-shell .member-news{margin-top:24px;border-top:1px solid #ded4c9;padding-top:18px}.customer-shell .member-news-toggle{display:flex;align-items:center;gap:12px;min-height:48px;font-size:15px;line-height:1.6}.customer-shell .member-news-toggle input{width:22px;height:22px;flex-shrink:0;accent-color:#773343}.customer-shell .member-news-note{font-size:13px;color:#716964;margin:6px 0 0}
/* 会員ランク（P23）：有効期限・今使える特典・ランクの詳細 */
.customer-shell .member-card>p.member-valid{margin:6px 0 0;font-size:12px;color:#d9ccc0;letter-spacing:.03em}.customer-shell .member-valid .member-renewal{display:inline-block;margin-left:8px;padding:1px 8px;border:1px solid #d9ccc0;border-radius:999px;font-size:11px;letter-spacing:.02em}
.customer-shell .member-benefits ul{list-style:none;margin:0;padding:0}.customer-shell .member-benefits li{display:flex;flex-direction:column;gap:4px;padding:14px 16px;margin-bottom:10px;border:1px solid #e6ded5;border-left:3px solid #a04656;border-radius:10px;background:#fffdf9;color:#3d302b;font-size:14px;line-height:1.6}.customer-shell .member-benefits li small{font-size:12px;color:#817168}.customer-shell .member-benefits li strong{word-break:auto-phrase}
.customer-shell .member-next{margin:14px 0;font-size:14px;color:#3d302b}.customer-shell .member-next strong{font-size:18px;color:#853448}
.customer-shell .member-tiers{margin:10px 0 0;border-top:1px solid #dfd6cc}.customer-shell .member-tiers>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eee6dd;font-size:14px}.customer-shell .member-tiers dt{letter-spacing:.06em}.customer-shell .member-tiers dd{margin:0;color:#5b4c44}
/* マイページの「注文の履歴」（P25）。会員カード・特典と同じ温白と深赤 */
.customer-shell .member-orders{margin:16px 0 32px}.customer-shell .member-orders ul{list-style:none;margin:0 0 10px;padding:0}.customer-shell .member-orders li{margin-bottom:10px;border:1px solid #e6ded5;border-radius:10px;background:#fffdf9;color:#3d302b}.customer-shell .member-orders summary{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;min-height:48px;padding:10px 16px;cursor:pointer;font-size:14px;list-style:none}.customer-shell .member-orders summary::-webkit-details-marker{display:none}.customer-shell .member-orders summary strong{margin-left:auto;font-size:15px}.customer-shell .member-order-table{font-size:12px;color:#817168}.customer-shell .member-orders details[open] summary{border-bottom:1px solid #eee5dc}
.customer-shell .member-order-items{width:100%;border-collapse:collapse;margin:8px 0 0;font-size:14px}.customer-shell .member-order-items caption{text-align:left;padding:4px 16px;font-size:12px;color:#8d3b49}.customer-shell .member-order-items th{text-align:left;font-weight:400;padding:6px 8px 6px 16px;word-break:auto-phrase}.customer-shell .member-order-items th small{display:block;font-size:12px;color:#817168}.customer-shell .member-order-items td{padding:6px 16px 6px 4px;text-align:right;white-space:nowrap;vertical-align:top}.customer-shell .member-order-items tfoot th,.customer-shell .member-order-items tfoot td{border-top:1px solid #eee5dc;font-weight:600}
.customer-shell .member-order-bill{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:0;padding:10px 16px 14px;font-size:13px;line-height:1.6;color:#5d4d45}.customer-shell .member-order-bill strong{font-size:15px;color:#3d302b}.customer-shell .member-order-bill small{flex-basis:100%;font-size:12px;color:#817168}
.customer-shell .member-orders>p{word-break:auto-phrase}
/* スタッフの個人の LINE をつなぐ（P25・決定 A）。スタッフ画面の案内と、LINE の会員ページの続きの画面。既存の案内・カード・ボタンの見た目を使う */
.staff-line-notice{margin:0 0 14px;padding:8px 12px;border:1px solid var(--tk-border-subtle,#e4ded6);border-radius:10px;background:var(--tk-surface-muted,#faf7f3);font-size:13px}.staff-line-band{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:32px}.staff-line-band strong{font-size:13px;font-weight:600}.staff-line-band .text-button{font-size:13px;font-weight:700;white-space:nowrap;min-height:32px}.staff-line-notice details summary{font-size:12px;color:var(--tk-text-secondary,#6b6259);cursor:pointer}.staff-line-notice details p{margin:6px 0 2px;font-size:12px;word-break:auto-phrase}.staff-line-notice-error{font-weight:600;margin:4px 0 0}
.staff-line-claim .staff-line-claim-card{text-align:center;padding:30px 24px}.staff-line-claim .staff-line-claim-card>svg{color:var(--tk-text-primary);margin-bottom:12px}.staff-line-claim .staff-line-claim-card h2{display:block}.staff-line-claim .staff-line-claim-card p{font-size:14px;margin:10px 0 20px;word-break:auto-phrase}.staff-line-claim .action{text-decoration:none}.staff-line-claim>.action,.staff-line-claim>.small{margin-top:12px}
.staff-line-claim .staff-line-claim-card h2{word-break:auto-phrase}.staff-line-claim-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;max-width:320px;margin:0 auto}.staff-line-claim-actions .action{width:100%;min-width:0}

/* エラーコード（問い合わせ第1段）：本文の下に分けて出し、押すとコピーできる */
.error-code{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:12px;line-height:1.4}
.error-code-label{opacity:.75}
.error-code-copy{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;padding:6px 12px;border:1px solid currentColor;border-radius:10px;background:#fff;color:inherit;font:inherit;cursor:pointer;max-width:100%;text-align:left}
.error-code-action{display:inline-flex;align-items:center;gap:3px;font-weight:700;white-space:nowrap}
.error-code-copy code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;overflow-wrap:anywhere;word-break:break-all}
.error-code-failed{flex-basis:100%;font-size:12px}
.setup-operating>summary{min-height:44px;padding:11px 0;cursor:pointer;font-size:15px;font-weight:650;line-height:1.6}.setup-operating>summary svg{vertical-align:-4px;margin:0 6px 0 4px}.setup-summary-next{font-weight:400;font-size:14px;color:var(--tk-text-secondary-on-page)}
.setup-loading{min-height:44px;margin:0;padding:11px 0}.setup-summary-next{display:block;margin-left:30px}

.assistant-launcher{position:fixed;right:24px;bottom:24px;z-index:12;display:flex;align-items:center;gap:10px;min-height:54px;padding:12px 19px;border:1px solid var(--tk-border-subtle);border-radius:30px;background:var(--tk-brand);color:white;box-shadow:0 5px 24px #1f355326;font:600 15px system-ui;cursor:pointer}
.assistant-panel{position:fixed;inset:16px 16px 16px auto;margin:0;width:380px;height:calc(100dvh - 32px);max-width:none;max-height:none;border:1px solid var(--tk-border-subtle);border-radius:22px;padding:0;color:var(--tk-brand);background:#fff;box-shadow:0 10px 60px #1f355326;z-index:20;box-sizing:border-box;font:15px/1.7 system-ui;overflow:hidden}
.assistant-panel[open]{display:flex;flex-direction:column;animation:assistant-enter .2s ease-out}
.assistant-panel::backdrop{background:#1f355359}
.assistant-panel *{box-sizing:border-box}.assistant-panel button,.assistant-panel textarea{font:inherit}.assistant-panel button{cursor:pointer}.assistant-panel button:disabled{opacity:.48;cursor:not-allowed}.assistant-panel :focus-visible,.assistant-launcher:focus-visible{outline:3px solid #b67824;outline-offset:4px}
.assistant-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 22px 18px;border-bottom:1px solid var(--tk-border-subtle);background:#fff;flex-shrink:0}.assistant-header small{font-size:12px;color:var(--tk-text-secondary-on-page)}.assistant-header h2{font-size:20px;line-height:1.5;margin:2px 0 0}.assistant-close{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--tk-bg-soft);color:var(--tk-brand);flex-shrink:0}
.assistant-scroll{overflow-y:auto;overscroll-behavior:contain;padding:24px 22px;flex:1;min-height:0}.assistant-voice-stage{text-align:center;padding:2px 0 22px}.assistant-mic-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:124px;min-height:124px;border:1px solid var(--tk-border-subtle);border-radius:32px;background:var(--tk-bg-soft);color:var(--tk-brand);margin:0 auto 17px;font-weight:650!important}.is-listening .assistant-mic-button{background:#8d342f;color:white;border-color:#8d342f}.assistant-voice-stage p{margin:0;font-size:13px}.assistant-voice-stage .assistant-hint{margin-top:8px;color:var(--tk-text-secondary-on-page);line-height:1.7}.assistant-disclosure{display:block;font-size:11px;color:var(--tk-text-secondary-on-page);margin-top:14px;line-height:1.7}
.assistant-answer,.assistant-heard{padding:14px 16px;margin:0 0 16px;background:var(--tk-bg-soft);border-radius:14px;overflow-wrap:anywhere;white-space:pre-wrap}.assistant-answer small,.assistant-heard small{display:block;margin-bottom:5px;font-size:11px;color:var(--tk-text-secondary-on-page);font-weight:650}.assistant-answer p{margin:0;line-height:1.8}.assistant-heard{background:#f4f4f1;font-size:14px}.assistant-error{color:#8c3028;background:#fff1ee;padding:12px;border-radius:10px;font-size:14px;overflow-wrap:anywhere}
.assistant-panel details{border-top:1px solid var(--tk-border-subtle)}.assistant-panel summary{min-height:52px;padding:14px 0;font-weight:600;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}.assistant-panel summary:after{content:'＋';margin-left:auto}.assistant-panel details[open]>summary:after{content:'−'}.assistant-panel summary::-webkit-details-marker{display:none}.assistant-question{display:grid;gap:5px;font-size:13px}.assistant-question textarea{width:100%;min-height:90px;border:1px solid var(--tk-border-control);border-radius:10px;padding:12px;font-size:16px;resize:vertical;color:var(--tk-text-primary);background:white}.assistant-send{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;margin:10px 0 16px;border:0;border-radius:10px;background:var(--tk-brand);color:white;font-weight:600}.assistant-guides{display:grid;gap:8px;margin-bottom:16px}.assistant-guides button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:46px;border:1px solid var(--tk-border-subtle);border-radius:10px;background:#fff;color:var(--tk-brand);padding:9px 12px;text-align:left;font-size:14px}.assistant-panel>footer{border-top:1px solid var(--tk-border-subtle);padding:14px 22px;font-size:11px;line-height:1.7;color:var(--tk-text-secondary-on-page);flex-shrink:0;background:#fafcf9}
@media(min-width:840px){html.assistant-panel-open #app{margin-right:412px}html.assistant-panel-open .hiring-fields{grid-template-columns:1fr 1fr}html.assistant-panel-open .hiring-steps{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1099px){.assistant-launcher{bottom:90px;right:16px}}
@media(max-width:839px){.assistant-panel{inset:0 0 0 auto;width:100%;height:100dvh;border:0;border-radius:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.assistant-header{padding:16px 20px}.assistant-scroll{padding:20px}.assistant-panel>footer{padding:12px 20px}.assistant-launcher{min-height:48px;padding:10px 16px}}
@keyframes assistant-enter{from{transform:translateX(35px);opacity:0}to{transform:translateX(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.assistant-panel[open]{animation:none}.assistant-panel *{scroll-behavior:auto!important}}
.tablet-assistant-wrap{display:contents}
.assistant-highlight{outline:3px solid var(--tk-focus)!important;outline-offset:5px;background-color:var(--tk-bg-page)!important}.assistant-gaps{border:1px solid #e2c786;border-radius:14px;background:#fffbf0;padding:16px;margin:16px 0}.assistant-gaps h2{font-size:18px}.assistant-gap{padding:12px 0;border-top:1px solid #e6dcc3}.assistant-gap p{line-height:1.6;margin:4px 0;font-size:14px}.assistant-gap button{min-height:44px}

.assistant-launcher[hidden]{display:none}html:has(.assistant-panel[open][aria-modal=true]){overflow:hidden}

/* Keep text questions compact while retaining the voice entry point. */
.assistant-question textarea:disabled{background:#f2f5f3;color:var(--tk-text-secondary-on-page)}.assistant-question textarea{max-height:180px}.assistant-disclosure,.assistant-panel>footer{font-size:12px;color:var(--tk-text-secondary-on-page)}
.is-text-open .assistant-voice-stage:not(.is-listening){padding-bottom:12px}.is-text-open .assistant-voice-stage:not(.is-listening) .assistant-mic-button{flex-direction:row;min-width:0;min-height:48px;width:100%;border-radius:12px;margin-bottom:8px;gap:10px}.is-text-open .assistant-voice-stage:not(.is-listening) .assistant-mic-button svg{width:22px;height:22px}.is-text-open .assistant-voice-stage:not(.is-listening) .assistant-hint,.is-text-open .assistant-voice-stage:not(.is-listening) .assistant-disclosure{display:none}

.assistant-question textarea{resize:none}

/* Shared consultation: one input mode, with the composer above the visual keyboard. */
.assistant-header{padding:16px 20px}.assistant-header h2{font-size:20px}.assistant-modes{display:flex;gap:4px;margin:12px 20px 0;padding:4px;background:var(--tk-bg-soft);border-radius:12px;flex-shrink:0}.assistant-modes button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-height:44px;border:0;border-radius:9px;background:transparent;color:var(--tk-text-secondary-on-page);font-weight:600}.assistant-modes button[aria-pressed=true]{color:var(--tk-brand);background:white;box-shadow:0 1px 4px #1f355315}.assistant-scroll{padding:18px 20px}.assistant-voice-stage{padding:18px 0 22px}.assistant-timer{display:inline-flex;align-items:center;gap:5px;margin-top:8px;color:var(--tk-text-secondary-on-page);font-size:13px;font-variant-numeric:tabular-nums}.assistant-connection{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;margin-bottom:10px;font-size:14px}.assistant-connection .text-button{min-height:44px;padding:8px 12px}.assistant-composer{flex-shrink:0;padding:14px 20px max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--tk-border-subtle);background:white}.assistant-composer textarea{min-height:68px;max-height:100px}.assistant-composer .assistant-send{margin-bottom:0;min-height:46px}.assistant-error{margin:0 0 16px}.assistant-modes button:focus-visible{outline-offset:0}
@media(max-height:600px){.assistant-header{padding:8px 16px}.assistant-header small{display:none}.assistant-modes{margin-top:6px}.assistant-scroll{padding:12px 20px}.assistant-composer{padding-top:10px;padding-bottom:10px}.assistant-composer textarea{min-height:60px}}
.assistant-panel{z-index:100}
@media(min-width:840px){html.assistant-panel-open .hiring-form-actions{right:428px;max-width:none}}
@media(max-width:839px){.assistant-panel.has-keyboard .assistant-composer{padding-bottom:max(32px,env(safe-area-inset-bottom))}}
@media(max-width:839px){.assistant-panel.has-keyboard .assistant-header{padding:8px 20px}.assistant-panel.has-keyboard .assistant-header small,.assistant-panel.has-keyboard .assistant-shortcuts{display:none}.assistant-panel.has-keyboard .assistant-scroll{padding:8px 20px}.assistant-panel.has-keyboard .assistant-composer{padding-top:8px}.assistant-panel.has-keyboard .assistant-composer textarea{height:48px;min-height:48px;resize:none}.assistant-panel.has-keyboard .assistant-modes{margin-top:6px}}

/* 「タカマルに聞く」（店長・オーナー・文字だけ・P1 影運用）。既存の相談パネルの見た目に、候補・報告・画面を開くボタンだけを足す */
.ask-intro{margin:0 0 14px;font-size:14px;line-height:1.7;color:var(--tk-text-secondary-on-page)}
.ask-suggestions{display:grid;gap:8px}.ask-suggestions button,.ask-open{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--tk-border-subtle);border-radius:12px;background:#fff;color:var(--tk-brand);text-align:left;line-height:1.5;overflow-wrap:anywhere}
.ask-suggestions button svg,.ask-open svg{flex-shrink:0}
.ask-open{margin-top:12px;font-weight:600;background:var(--tk-bg-page,#fff)}
.ask-turn{margin-bottom:8px}.ask-waiting{margin:0 0 16px;font-size:14px;color:var(--tk-text-secondary-on-page)}
.ask-report{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:-6px 0 18px;font-size:13px}.ask-report p{flex-basis:100%;margin:0;line-height:1.6}
.ask-report.is-prominent{padding:12px 14px;border:1px solid #e2c786;border-radius:12px;background:#fffbf0;margin-top:0}
.ask-include{display:flex;align-items:center;gap:6px;min-height:44px}.ask-include input{width:20px;height:20px;margin:0}
.ask-report-button{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:600}
.ask-reported{margin:-6px 0 18px;font-size:13px;color:var(--tk-text-secondary-on-page)}
.ask-note{margin:0;padding:0 20px 12px;font-size:12px;line-height:1.5;color:var(--tk-text-secondary-on-page);flex-shrink:0}
.ask-panel .assistant-composer{flex-shrink:0}
.error-code-ask{min-height:32px;padding:4px 10px;border:1px solid var(--tk-border-subtle);border-radius:999px;background:#fff;color:var(--tk-brand);font:inherit;font-weight:600;cursor:pointer}
@media(max-width:839px){.ask-note{padding:0 20px max(10px,env(safe-area-inset-bottom))}}

.workforce{display:grid;gap:20px}.workforce .page-title{margin-bottom:0}.wf-save{display:flex;align-items:center;gap:10px;background:var(--tk-bg-soft);color:var(--tk-brand);padding:12px 16px;border-radius:12px;font-size:13px}.wf-save>span{flex:1}.wf-save small{display:block;font-size:11px;opacity:.8;margin-top:3px}.wf-save.waiting{background:#fff4df;color:#805517}.wf-clock{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(115deg,var(--tk-bg-page),#fff)}.wf-clock h2{font-size:24px;margin:8px 0}.wf-clock p{font-size:13px;color:var(--tk-text-secondary-on-page)}.wf-clock-actions{display:flex;gap:10px;min-width:220px}.wf-clock-actions .action{min-height:58px;flex:1;white-space:nowrap}.wf-tabs{display:flex;gap:4px;padding:4px;background:#f0efeb;border-radius:12px;width:fit-content}.wf-tabs button{min-height:40px;border:0;border-radius:9px;background:transparent;color:var(--tk-text-secondary-on-page);padding:8px 18px;font:inherit;font-size:14px}.wf-tabs button[aria-pressed=true]{background:#fff;color:var(--tk-text-primary);box-shadow:0 1px 4px #0000000d;font-weight:700}.wf-period,.wf-date-nav,.wf-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.wf-date-nav input{background:#fff;border:1px solid var(--tk-border-control);border-radius:8px;padding:8px;font:inherit;max-width:155px;min-height:42px}.wf-section-heading h2{font-size:17px;margin:0}.wf-section-heading .action{width:auto;margin:0;min-height:44px;font-size:13px}.wf-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #e7e6de;border-radius:16px;background:#fff;padding:20px 8px}.wf-summary>span{text-align:center;font-size:12px;color:var(--tk-text-secondary-on-page);display:grid;gap:6px;border-right:1px solid var(--tk-border-subtle)}.wf-summary>span:last-child{border:0}.wf-summary strong{font-family:inherit;font-size:24px;color:var(--tk-text-primary);font-weight:600}.wf-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--tk-border-subtle);border-radius:12px;overflow:hidden;background:#fff}.wf-calendar>div{padding:12px 6px;min-height:94px;text-align:center;border-right:1px solid var(--tk-border-subtle);border-bottom:1px solid var(--tk-border-subtle);display:flex;align-items:center;flex-direction:column;gap:5px}.wf-calendar>div.today{background:var(--tk-bg-soft)}.wf-calendar span,.wf-calendar small{font-size:11px;color:var(--tk-text-secondary-on-page)}.wf-calendar strong{font-size:24px;font-weight:600;color:var(--tk-text-primary)}.wf-calendar strong small{margin-left:3px}.wf-list{display:grid;gap:12px}.wf-row{margin:0}.wf-row h3{font-size:17px;margin:14px 0 8px}.wf-row p{font-size:14px;line-height:1.7}.wf-row-head{display:flex;gap:12px;align-items:center;font-size:14px}.wf-badge{padding:4px 10px;border-radius:6px;background:var(--tk-bg-soft);font-size:11px;color:var(--tk-text-secondary-on-page);white-space:nowrap}.wf-badge.pending{background:#fcf0d8;color:#8b6223}.wf-badge.confirmed{background:#e8f2e9;color:#3b624a}.wf-inline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.wf-inline .action{width:auto;margin:0;padding:10px 18px;min-height:42px;font-size:13px}.wf-inline .text-button{margin:0;min-height:40px}.wf-row details{border-top:1px solid var(--tk-border-subtle);padding-top:12px;margin-top:12px;font-size:13px}.wf-row summary,.wf-held summary{cursor:pointer;min-height:30px}.wf-timeline{list-style:none;padding:0 0 0 12px;border-left:2px solid var(--tk-border-subtle)}.wf-timeline li{display:flex;justify-content:space-between;gap:12px;margin:14px 0;font-size:13px}.wf-timeline small{font-size:11px;color:var(--tk-text-secondary-on-page)}.wf-attention{background:#fff6e5;padding:8px 12px;border-radius:8px;color:#795c2a}.wf-empty{text-align:center;padding:34px;color:var(--tk-text-secondary-on-page)}.wf-empty svg{margin:auto}.wf-empty h3{color:var(--tk-text-primary);font-size:17px}.wf-empty p{font-size:13px}.wf-held{padding:14px;border:1px solid #e5d8bd;border-radius:12px;background:#fffaf0;font-size:13px}.wf-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wf-form-grid input{min-width:0;width:100%}.workforce .wf-clock-actions button:disabled{opacity:.5}
@media(max-width:600px){.workforce{gap:16px}.wf-clock{display:block;padding:22px}.wf-clock-actions{margin-top:18px}.wf-period{flex-wrap:wrap}.wf-date-nav{flex:1;justify-content:flex-end}.wf-date-nav input{max-width:141px}.wf-tabs button{padding:8px 14px}.wf-section-heading{align-items:flex-start;flex-direction:column}.wf-summary{padding:16px 4px}.wf-summary strong{font-size:20px}.wf-summary>span{font-size:10px}.wf-calendar span{font-size:9px;letter-spacing:-.5px}.wf-calendar>div{padding:9px 1px;min-height:79px}.wf-calendar small{font-size:9px}.wf-calendar strong{font-size:20px}.wf-timeline li{flex-direction:column;gap:4px}.wf-row h3{font-size:15px}}

.wf-calendar .wf-weekday{text-align:center;padding:10px;font-size:12px;color:var(--tk-text-secondary-on-page);background:var(--tk-bg-soft);border-bottom:1px solid var(--tk-border-subtle)}.wf-calendar .wf-calendar-empty{background:var(--tk-bg-page)}.staff-shell:not(.admin-shell) .bottom-nav{overflow-x:auto;justify-content:flex-start}.staff-shell:not(.admin-shell) .bottom-nav button{flex:1 0 66px;white-space:nowrap}.wf-date-nav .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.wf-change{margin-top:14px}.wf-request{background:#f8f5ef;border:1px solid #e6dfd3;border-radius:12px;padding:14px;margin:10px 0}.wf-request p{margin:8px 0}.wf-accompaniment{margin:28px 0}.wf-accompaniment h3{margin:14px 0 8px}.wf-request small{color:#68645d}.wf-change details{margin-top:12px}

.commerce-cast-panel{margin:20px 0}.commerce-cast-panel>summary{min-height:44px;cursor:pointer;font-weight:600;padding:10px 0}.commerce-cast-allocation{display:grid;grid-template-columns:minmax(0,1fr) 80px auto;align-items:end;gap:10px;margin:12px 0}.commerce-cast-allocation .field{min-width:0;margin:0}.commerce-cast-allocation select{width:100%}.commerce-cast-allocation>button{min-height:44px}.commerce-attribution-summary{margin:8px 0}
.wf-action-subject{display:grid;gap:5px;padding:12px 14px;border:1px solid var(--tk-border-subtle);border-radius:10px;background:var(--tk-bg-soft);margin-bottom:10px;line-height:1.6;overflow-wrap:anywhere}.wf-action-subject strong{font-size:16px}.wf-action-subject span{font-size:14px}.wf-action-result{font-weight:700;color:#18543d;border-top:1px solid #c5d8cd;padding-top:6px}.wf-request-form .wf-form-actions{display:flex;gap:10px;margin-top:14px}.wf-request-form .wf-form-actions>.action{flex:1;min-width:0;margin-top:0;font-size:14px;padding:12px 9px}
/* 狭い幅では送信ボタン（「代理で出勤を記録」など）が語の途中で折り返すので、送信を上・戻るを下に縦に並べる */
@media(max-width:360px){.wf-request-form .wf-form-actions{flex-direction:column-reverse;gap:8px}.wf-request-form .wf-form-actions>.action{flex:none;width:100%;white-space:nowrap}}.wf-request-form .field{margin-top:12px}.wf-request-form>fieldset{margin-top:0}.wf-request-form textarea{min-height:78px}.wf-request-form>.small{margin-top:6px}
.wf-held-items{display:grid;gap:10px;margin:14px 0;padding:0;list-style:none}.wf-held-items li{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--tk-border-subtle);border-radius:8px;background:white}.wf-held-items span{font-size:14px}

/* Shift entry: the date is selected once; only the end time can cross midnight. */
.modal.wf-shift-modal[open]{width:min(520px,calc(100% - 24px));padding:0}.wf-shift-modal .modal-heading{padding:18px 20px 10px}.wf-shift-modal .modal-heading h2{font-size:21px}.wf-shift-modal .modal-body{padding:0 20px 18px}.wf-shift-form{display:grid;gap:14px}.wf-day-picker{margin:0;padding:0;border:0;min-width:0}.wf-day-picker legend{font-weight:650;font-size:14px;margin:0 0 2px}.wf-month-navigation{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 6px}.wf-month-navigation strong{font-size:17px;font-weight:650}.wf-month-navigation .icon-button{min-width:44px;min-height:44px}.wf-pick-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.wf-pick-grid .wf-pick-weekday{text-align:center;font-size:12px;color:var(--tk-text-secondary-on-page);line-height:24px}.wf-pick-grid button{position:relative;min-width:0;min-height:44px;border:1px solid transparent;border-radius:11px;background:var(--tk-bg-soft);color:var(--tk-text-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;font:inherit;font-size:17px;font-weight:550;padding:2px;cursor:pointer}.wf-pick-grid button.selected{background:var(--tk-brand);color:#fff;border-color:var(--tk-border-control);box-shadow:0 0 0 1px var(--tk-brand)}.wf-pick-grid button[aria-current=date]:not(.selected){border-color:var(--tk-border-control)}.wf-pick-grid button:disabled{color:var(--tk-text-secondary-on-page);background:#fafbf9;cursor:default}.wf-pick-grid button.occupied{background:var(--tk-bg-soft);color:var(--tk-text-secondary-on-page)}.wf-pick-grid button small{font-size:9px;line-height:12px}.wf-pick-grid button:focus-visible,.wf-selected-days button:focus-visible{outline:3px solid #a77825;outline-offset:2px}.wf-shift-times{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);gap:8px;align-items:end}.wf-shift-times .field{margin:0;position:relative;min-width:0;font-size:13px}.wf-shift-times input{width:100%;min-width:0;min-height:50px;font-size:21px;font-variant-numeric:tabular-nums;padding:8px 10px;border-color:var(--tk-border-control)}.wf-time-arrow{padding-bottom:17px;color:var(--tk-text-secondary-on-page);text-align:center}.wf-next-day{display:inline-flex;align-items:center;background:var(--tk-bg-soft);color:var(--tk-brand);border-radius:5px;padding:1px 5px;font-size:11px;margin-left:3px}.wf-selected-days{display:flex;flex-wrap:wrap;gap:6px;max-height:136px;overflow-y:auto;padding:2px}.wf-selected-days button,.wf-selected-date{border:1px solid var(--tk-border-control);color:var(--tk-brand);background:var(--tk-bg-selected);border-radius:10px;min-height:44px;padding:8px 10px;font:inherit;font-size:13px;display:inline-flex;align-items:center;gap:12px}.wf-selected-days button{cursor:pointer}.wf-selected-days button span{font-size:19px;color:var(--tk-text-secondary-on-page)}.wf-selection-time{display:flex;justify-content:space-between;gap:12px;margin:0;font-size:15px;font-weight:650;font-variant-numeric:tabular-nums}.wf-selection-time>span{white-space:nowrap;color:var(--tk-text-primary)}.wf-shift-note{font-size:13px}.wf-shift-note summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--tk-text-secondary-on-page)}.wf-shift-note summary::after{content:'＋';margin-left:auto}.wf-shift-note[open] summary::after{content:'−'}.wf-shift-note .field{margin:0}.wf-shift-note textarea{min-height:80px}.wf-shift-form>.notice{margin:0}.wf-shift-form .wf-attention{font-size:13px;line-height:1.5;margin:0}.wf-shift-submit{position:sticky;bottom:-18px;background:linear-gradient(transparent,#fff 10px);padding:10px 0 0;z-index:1}.wf-shift-submit .action{min-height:52px;margin:0;font-size:16px}.wf-history{border-top:1px solid var(--tk-border-subtle)}.wf-history>summary{min-height:56px;display:flex;align-items:center;font-weight:650;color:var(--tk-text-primary);cursor:pointer}.wf-history>summary::after{content:'＋';margin-left:auto}.wf-history[open]>summary::after{content:'−'}.wf-history-content{display:grid;gap:18px;padding:8px 0 0}.wf-upcoming{display:grid;gap:10px}.wf-upcoming h2{font-size:16px;margin:4px 0}.wf-upcoming-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border:1px solid var(--tk-border-subtle);background:#fff;border-radius:12px}.wf-upcoming-row>div{display:grid;gap:5px;font-size:14px}.wf-upcoming-row>div>span{color:var(--tk-text-secondary-on-page)}.wf-upcoming>.muted{margin:0;font-size:14px}.workforce .wf-tabs button,.workforce .wf-inline .text-button,.workforce .wf-inline .action{min-height:44px}.workforce .wf-clock h2{margin:0 0 10px}.workforce .wf-clock p{margin:0;line-height:1.6}.workforce .wf-clock-actions .action{min-height:56px}
@media(max-width:600px){.modal.wf-shift-modal[open]{width:calc(100% - 12px);max-height:calc(100dvh - 12px);border-radius:18px}.wf-shift-modal .modal-heading{padding:14px 16px 8px}.wf-shift-modal .modal-body{padding:0 12px 14px}.wf-shift-form{gap:10px}.wf-pick-grid{gap:2px}.wf-pick-grid button{min-height:44px}.wf-shift-submit{bottom:-14px}.wf-shift-times{gap:6px}.wf-shift-times input{font-size:20px;padding:8px}.wf-shift-form .wf-action-subject{font-size:12px;margin-bottom:0;padding:8px}.wf-selected-days{max-height:94px}}

@media(max-width:380px){.modal.wf-shift-modal[open] .modal-body{padding-left:6px;padding-right:6px;scrollbar-gutter:auto}}

.wf-shift-form .wf-shift-inputs{display:contents;border:0;margin:0;padding:0}

.modal.wf-shift-modal[open]{max-width:none}.wf-shift-modal .modal-heading{margin-bottom:0}.wf-shift-form .wf-day-picker{margin:0}.wf-shift-times .wf-time-label{display:flex;align-items:center;gap:4px;min-height:20px;font-size:13px;font-weight:500}.wf-shift-times .wf-next-day{margin-left:0;line-height:18px;font-weight:600}.wf-shift-modal .modal-heading h2{margin-top:0!important}

.workforce-personal{max-width:700px;width:100%;margin-inline:auto}.wf-pick-grid button[aria-current=date]:not(.selected){border-color:transparent}.wf-pick-grid button[aria-current=date]::after{content:'';width:4px;height:4px;border-radius:50%;position:absolute;bottom:4px;left:calc(50% - 2px);background:var(--tk-text-secondary-on-page)}.wf-pick-grid button[aria-current=date].selected::after{background:#fff}.wf-pick-grid button.occupied:disabled{color:var(--tk-text-primary);background:var(--tk-bg-soft)}.wf-pick-grid button.occupied small{font-size:10px;color:var(--tk-text-primary)}.wf-previous-time{font-size:12px;color:var(--tk-text-secondary-on-page)}.wf-previous-time summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.wf-previous-time p{margin:0 0 8px}

.wf-pick-grid button.occupied:disabled{opacity:1}

.wf-screen-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.wf-screen-heading>.action{width:auto;margin:0;min-height:48px;padding:12px 16px;white-space:nowrap;font-size:14px}.wf-personal-period{display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:8px;align-items:center;border:1px solid var(--tk-border-subtle);background:var(--tk-bg-page);border-radius:12px;padding:8px}.wf-personal-period .wf-date-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:4px;min-width:0}.wf-personal-period .wf-date-nav label{min-width:0}.wf-personal-period .wf-date-nav input{box-sizing:border-box;width:100%;max-width:none;min-width:0;min-height:44px;padding:7px 4px;font-size:14px}.wf-personal-period .icon-button{min-width:44px;min-height:44px}.wf-personal-period>select{width:100%;min-width:0;min-height:44px;background:white;color:var(--tk-text-primary);border:1px solid var(--tk-border-control);border-radius:8px;padding:6px;font:inherit;font-size:13px}.wf-personal-period>p{grid-column:1/-1;margin:0;text-align:center;color:var(--tk-text-secondary-on-page);font-size:13px;line-height:20px}.wf-empty-inline{margin:10px 0;color:var(--tk-text-secondary-on-page);font-size:14px}.workforce-personal .wf-row-head:has(.wf-badge)>strong{display:none}
.wf-time-picker{min-width:0;margin:0;padding:0;border:0}.wf-time-picker legend{margin-bottom:6px}.wf-time-selects{display:grid;grid-template-columns:minmax(0,1fr) 8px minmax(0,1fr);gap:3px;align-items:center}.wf-time-selects>select{box-sizing:border-box;width:100%;min-width:44px;min-height:50px;background:#fff;color:var(--tk-text-primary);border:1px solid var(--tk-border-control);border-radius:10px;padding:8px 4px;font:inherit;font-size:20px;font-variant-numeric:tabular-nums;cursor:pointer}.wf-time-selects>span{text-align:center;font-size:19px;color:var(--tk-text-secondary-on-page)}.wf-time-selects>select:focus-visible{outline:3px solid #a77825;outline-offset:2px}.wf-time-selects>select:invalid{color:var(--tk-text-secondary-on-page)}
@media(max-width:380px){.wf-screen-heading{gap:10px}.wf-screen-heading>.action{padding:10px 12px}.wf-time-selects>select{font-size:18px}}

/* Keep every input scrollable above, rather than behind, the submit action. */
.modal.wf-shift-modal .modal-body{display:flex;flex-direction:column;overflow:hidden;scrollbar-gutter:auto}.wf-shift-form{display:flex;flex-direction:column;flex:1;min-height:0;gap:0;overflow:hidden}.wf-shift-form>.wf-shift-inputs{display:contents;margin:0;padding:0}.wf-shift-scroll{display:grid;gap:14px;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin:0;padding:0 2px 2px}.wf-shift-form>.wf-shift-submit{position:static;flex-shrink:0;bottom:auto;background:transparent;padding-top:10px}.wf-shift-form .wf-time-picker{margin:0}.wf-shift-consult{min-height:44px;max-width:100%;text-align:left}.wf-inline .wf-edit-shift{min-height:44px}
@media(max-width:600px){.wf-shift-scroll{gap:10px}}

.workforce .wf-screen-heading{flex-wrap:wrap}.workforce .wf-screen-heading>.wf-tabs{margin-left:auto}.workforce .wf-screen-heading>.wf-tabs button{padding:7px 10px;font-size:13px}.workforce .wf-summary{display:flex;flex-wrap:wrap;gap:8px 18px;padding:10px 14px;border-radius:10px}.workforce .wf-summary>span{display:flex;align-items:baseline;gap:6px;border:0;padding:0;font-size:12px}.workforce .wf-summary strong{font-size:19px}.workforce .wf-calendar-panel .wf-calendar{max-height:340px;overflow-y:auto}.workforce .wf-calendar-panel{margin-top:4px}.workforce .wf-row{padding:18px}.workforce .wf-row h3{margin:10px 0 6px}.workforce .wf-row .wf-inline{margin-top:8px}.wf-date-picker{position:relative;display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0;min-height:50px;border:1px solid var(--tk-border-control);border-radius:9px;padding:9px 10px;background:#fff;color:var(--tk-text-primary);font-size:14px;white-space:nowrap}.wf-date-picker>svg{flex-shrink:0}.wf-date-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.wf-date-picker:focus-within{outline:3px solid #a77825;outline-offset:2px}.wf-date-time>legend{margin-bottom:6px;font-size:14px;font-weight:500}.wf-date-time>div{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:10px;align-items:end}.wf-date-time .wf-time-picker{margin-top:0}.wf-date-time .wf-time-selects>select{font-size:17px}.wf-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.wf-personal-period .wf-date-picker{min-height:44px;padding:8px 6px;font-size:14px}
.wf-shift-scroll{display:flex;flex-direction:column}.wf-shift-scroll>*{flex-shrink:0}.wf-shift-scroll>.wf-selected-days{min-height:44px}
.workforce .wf-calendar-panel>summary::after,.workforce .wf-accompaniment-disclosure>summary::after{content:'＋';margin-left:auto}.workforce .wf-calendar-panel[open]>summary::after,.workforce .wf-accompaniment-disclosure[open]>summary::after{content:'−'}
.workforce .wf-row-head{flex-wrap:wrap;gap:8px}.wf-date-time .wf-time-selects{gap:6px}.wf-action-subject .wf-action-result{color:#344f3c;font-weight:500}
.wf-shift-form>.wf-shift-submit{border-top:1px solid var(--tk-border-subtle)}

.wf-change-fields{display:grid;gap:12px;margin-top:12px}.wf-change-fields>.wf-date-time,.wf-change-fields .wf-time-picker{margin:0}.wf-change-fields .notice .text-button{display:block;min-height:44px}.wf-accompaniment .wf-section-heading:empty{display:none}.wf-accompaniment .wf-section-heading>.action{min-height:48px}.wf-change details>summary,.wf-previous-time>summary{display:flex;align-items:center;min-height:44px}.wf-change details>summary::after,.wf-previous-time>summary::after{content:'＋';margin-left:auto}.wf-change details[open]>summary::after,.wf-previous-time[open]>summary::after{content:'−'}.action.wf-destructive{background:#974438;border-color:#974438;color:#fff}.action.wf-destructive:hover{background:#81392f}.wf-request-form>.wf-attention{font-size:13px;line-height:1.5}.wf-request-form .wf-form-actions .action{font-size:13px}.wf-accompaniment .wf-inline .text-button{color:#904435}

.modal.wf-request-modal .modal-body{display:flex;flex-direction:column;overflow:hidden}.wf-request-modal .wf-request-form{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}.wf-request-scroll{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:0 2px 4px;scrollbar-gutter:stable}.wf-request-modal .wf-form-actions{flex-shrink:0;border-top:1px solid var(--tk-border-subtle);padding-top:12px}.wf-required{display:inline-block;font-size:11px;color:#8d4335;font-weight:500;margin-left:7px}.wf-accompaniment>.wf-section-heading:not(:empty){margin-bottom:14px}.workforce .wf-accompaniment .wf-inline>.action{width:auto;flex:none;min-width:0}.workforce .wf-accompaniment .wf-inline{gap:8px}.workforce .notice .text-button{min-height:44px;display:inline-flex;align-items:center;line-height:1.4;padding:8px 4px}.workforce .notice .wf-inline{gap:4px 12px}.wf-held>summary,.workforce .wf-row details>summary{display:flex;align-items:center;min-height:44px}.wf-held>summary::after,.workforce .wf-row details>summary::after{content:'＋';margin-left:auto}.wf-held[open]>summary::after,.workforce .wf-row details[open]>summary::after{content:'−'}

.workforce .notice .wf-inline{gap:12px}.workforce .notice .wf-inline>.action{min-height:44px}.workforce .wf-held .text-button{min-height:44px}.workforce .notice .wf-inline>.text-button{flex-basis:100%;justify-content:flex-start}

/* Read each hour/minute pair as one time while retaining native 24-hour controls. */
.wf-time-selects{border:1px solid var(--tk-border-control);border-radius:10px;background:#fff;padding:0 1px}.wf-time-selects>select{border:0;background:transparent;border-radius:9px}

/* Personal shifts: each selected date keeps its own time, with large touch controls. */
.wf-daily-times{display:grid;gap:16px;min-width:0}.wf-daily-times>p{margin:0;line-height:1.7}
.wf-daily-time{margin:0;padding:16px;border:1px solid var(--tk-border-subtle);border-radius:12px;background:var(--tk-bg-soft);min-width:0}
.wf-daily-time legend{padding:0 6px;font-size:16px;font-weight:700}
.wf-daily-time-inputs{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);gap:8px;align-items:end}
.wf-daily-time-inputs>label{display:grid;gap:8px;min-width:0;font-size:13px}.wf-daily-time-inputs>span{align-self:center}
.wf-daily-time-inputs input{box-sizing:border-box;width:100%;min-width:0;min-height:52px;padding:10px 8px;border:1px solid var(--tk-border-control);border-radius:10px;background:white;color:var(--tk-text-primary);font:inherit;font-size:18px}
.wf-daily-time-inputs small{font-weight:600;color:var(--tk-brand)}.wf-daily-time .text-button{min-height:44px;font-size:13px;margin-top:8px;padding:8px 0;text-align:left}
.wf-pick-grid button,.utility-calendar>button{min-height:48px;touch-action:manipulation}
.wf-home-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.wf-home-links>button{display:grid;gap:10px;padding:20px;text-align:left;background:white;border:1px solid var(--tk-border-subtle);border-radius:16px;color:var(--tk-brand);font:inherit;cursor:pointer}
.wf-home-links span{font-size:12px;line-height:1.7;color:var(--tk-text-secondary-on-page)}
.workforce-personal .wf-clock{padding:24px;background:linear-gradient(135deg,#e8f4fc,#fff);border-color:#d7e7f1}
.workforce-personal .wf-clock-actions{min-width:0}.workforce-personal .wf-clock-actions>.action{margin:0}
.workforce-personal .wf-screen-heading .page-title h1{font-size:23px;line-height:1.6}
@media(max-width:600px){.wf-upcoming .wf-section-heading{flex-direction:row;align-items:center;gap:8px}.wf-upcoming .wf-section-heading .text-button{font-size:12px;min-height:44px}.wf-home-links{gap:10px}.wf-home-links>button{padding:16px}.wf-daily-time{padding:12px}}

.wf-daily-time .text-button{border:1px solid var(--tk-border-control);border-radius:10px;padding:10px 12px;background:white;line-height:1.5}
.wf-shift-note>summary{min-height:44px;box-sizing:border-box;padding:12px;border:1px solid var(--tk-border-control);border-radius:10px;background:white}
.wf-daily-time-inputs small{display:inline-block;background:var(--tk-bg-soft);border-radius:4px;padding:2px 5px}

.wf-history>summary{border:1px solid var(--tk-border-subtle);border-radius:12px;padding:0 16px;background:white}
.workforce-personal .wf-inline{gap:20px}.workforce-personal .wf-inline>.text-button{margin-left:auto;padding:10px 8px}
.pay-empty:has(svg){display:grid;justify-items:center;text-align:center;padding:32px 20px;border:1px solid var(--tk-border-subtle);border-radius:12px;background:white;gap:12px}.pay-empty:has(svg) h3,.pay-empty:has(svg) p{margin:0}.pay-empty:has(svg) h3{font-size:17px}

.shift-editor .wf-daily-time .text-button{min-height:44px;margin-top:8px;padding:10px 12px;border:1px solid var(--tk-border-control);border-radius:10px;background:white;text-decoration:none;font-size:13px;line-height:1.5}

/* Locations are immutable event evidence, never the viewer's current position. */
.wf-timeline li{display:grid;justify-content:stretch;gap:6px}.wf-recorded-location{padding:12px;border:1px solid var(--tk-border-subtle);border-radius:10px;background:var(--tk-bg-soft);min-width:0}.wf-location-heading{display:flex;align-items:center;gap:6px;font-size:13px}.wf-recorded-location p{margin:8px 0;font-size:13px;line-height:1.7}.wf-location-coordinates{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.wf-recorded-location a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 10px;border:1px solid var(--tk-border-control);border-radius:8px;background:white;font-size:13px;color:var(--tk-brand);text-decoration:underline;box-sizing:border-box}.wf-recorded-location>small{display:block;line-height:1.7;margin-top:6px}.wf-location-missing{font-size:13px;color:var(--tk-text-secondary-on-page)}

.wf-recorded-address{padding:12px 0;border-top:1px solid var(--tk-border-subtle);border-bottom:1px solid var(--tk-border-subtle);margin:12px 0}.wf-recorded-address>p{font-weight:600;font-size:15px;overflow-wrap:anywhere}.wf-recorded-address>small{display:block;font-size:11px;line-height:1.7}.wf-recorded-address>small>a{display:inline;min-height:0;padding:0;border:0;background:none;font-size:inherit}.wf-recorded-address>button{min-height:44px}

/* Shared GPS confirmation in the existing floor-staff interface. */
.workforce-punch-confirm .location-notice{display:flex;align-items:flex-start;gap:12px;background:#edf6fc;border-radius:14px;padding:16px;margin:18px 0}
.workforce-punch-confirm .location-notice>svg{flex-shrink:0;margin-top:3px;color:#40799e}
.workforce-punch-confirm .location-notice p,.workforce-punch-confirm .location-notice small{display:block;line-height:1.8;margin-top:8px}
.workforce-punch-confirm .location-notice small{font-size:12px}
.workforce-punch-confirm .utility-submit{width:100%;min-height:48px;margin-top:8px}
.workforce-punch-confirm .attendance-cancel{display:block;min-height:44px;margin:8px auto 0}
.workforce-punch-confirm .attendance-error{background:#fff0dc;color:#805823;border-radius:10px;padding:12px;line-height:1.8}

/* Driver odometer capture uses the production workforce card and the same saved command queue. */
.driver-attendance{display:grid;gap:16px;background:linear-gradient(135deg,#e8f4fc,#fff);border-color:#d7e7f1;max-width:560px}
.driver-attendance h2,.driver-attendance p{margin:0;line-height:1.6}
.driver-attendance h2{font-size:23px}
.driver-attendance label{display:grid;gap:8px;font-size:14px;font-weight:650}
.driver-attendance input,.driver-attendance textarea{width:100%;box-sizing:border-box;border:1px solid var(--tk-border-control);border-radius:11px;background:#fff;color:var(--tk-text-primary);font:inherit;font-size:18px;min-height:52px;padding:11px 14px}
.driver-attendance textarea{min-height:88px;font-size:15px}
.driver-attendance .action{width:100%;min-height:54px;margin:0}
.driver-attendance .text-button{min-height:44px;justify-self:start}
.driver-camera,.driver-preview{width:100%;aspect-ratio:4/3;max-height:350px;overflow:hidden;border-radius:14px;background:#183141;display:grid;place-items:center}
.driver-camera video,.driver-preview img{width:100%;height:100%;object-fit:contain}
.driver-preview.zoom{overflow:auto;display:block;touch-action:pan-x pan-y}
.driver-preview.zoom img{width:200%;height:auto;max-height:none}
.driver-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.driver-actions .action{min-width:0;font-size:14px;padding:8px}
.driver-km-field{display:flex;align-items:center;gap:8px;font-size:17px}
.driver-km-field input{min-width:0;flex:1;font-size:25px;font-variant-numeric:tabular-nums}
.driver-meter-evidence{display:grid;gap:8px}
.driver-meter-evidence img{display:block;width:100%;max-width:360px;max-height:280px;object-fit:contain;background:#183141;border-radius:10px}
.driver-meter-details{display:grid;gap:7px;padding:12px;background:#edf6fc;border-radius:10px;font-size:13px}
.driver-meter-details small{font-size:12px;color:var(--tk-text-secondary-on-page)}
.driver-meter-details p{margin:0}
.driver-break-actions{padding-top:4px}
@media(max-width:390px){.driver-attendance{padding:18px}.driver-actions{gap:7px}.driver-actions .action{font-size:12px}}
.driver-confirm-wrap{display:grid;gap:5px}
.driver-attendance .driver-distance-summary{font-size:12px;font-weight:650;line-height:1.4;text-align:center}
body.driver-meter-active .bottom-nav{display:none}
@media(max-width:650px){.driver-preview{height:190px;aspect-ratio:auto}.driver-confirm-wrap{position:sticky;bottom:max(8px,env(safe-area-inset-bottom));z-index:6;padding:8px;border:1px solid #d7e7f1;border-radius:12px;background:#fff;box-shadow:0 6px 18px #1f355333}}

.wf-request-form .wf-proxy-note{margin:18px 0 4px;line-height:1.6}

.wf-request-form .wf-proxy-state{display:grid;gap:5px;margin:14px 0 4px;padding:11px 13px;border:1px solid #dfc47c;border-radius:10px;background:#fff8e8;color:#4d371d;line-height:1.45}.wf-proxy-state strong{font-size:15px}.wf-proxy-state span{font-size:12px}
.driver-location{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--tk-text-secondary-on-page)}
.driver-location svg{flex:none;color:#2b77a8}
.driver-meter-review{display:grid;gap:10px;padding:12px;border:1px solid #d7e7f1;border-radius:12px;background:#f6fbfe;min-width:0}
.driver-meter-review-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:0}
.driver-meter-review-summary strong{font-size:16px;font-variant-numeric:tabular-nums}
.driver-meter-review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px}
.driver-meter-column{display:grid;align-content:start;gap:8px;min-width:0;padding:10px;border-radius:10px;background:#fff}
.driver-meter-column h4{margin:0;font-size:14px}
.driver-meter-values{display:grid;gap:4px;margin:0;font-size:13px}
.driver-meter-values div{display:grid;grid-template-columns:7.5em 1fr;gap:6px}
.driver-meter-values dt{color:var(--tk-text-secondary-on-page)}
.driver-meter-values dd{margin:0;min-width:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.driver-meter-values .changed dd{font-weight:700;color:#9a4a00}
/* Keep a focused field above the sticky confirmation bar on phones. */
@media(max-width:650px){.driver-attendance input,.driver-attendance textarea{scroll-margin-bottom:120px}.driver-attendance .driver-confirm-wrap+.text-button{margin-top:4px}}
.driver-attendance .driver-confirm-alert{margin:0;padding:6px 8px;border-radius:8px;background:#fff4e0;color:#7a3e00;font-size:12px;font-weight:650;line-height:1.45}
@media(max-width:650px){.driver-attendance .driver-preview{height:164px}}
@media(max-width:360px){.driver-attendance .driver-preview{height:140px}}
.cast-profile-editor,.cast-profile-review{display:grid;gap:14px}
.cast-profile-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.cast-profile-heading h2{margin:0}
.cast-profile-status{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#eef2f5;color:#40505c}
.cast-profile-status.pending{background:#fff4e0;color:#7a3e00}.cast-profile-status.published{background:#e3f4ea;color:#1c6a3b}.cast-profile-status.returned{background:#fde8e8;color:#8e2626}
.cast-profile-photo-row{display:grid;grid-template-columns:minmax(96px,132px) 1fr;gap:14px;align-items:start}
.cast-profile-photo{display:grid;place-items:center;aspect-ratio:4/5;width:100%;overflow:hidden;border-radius:12px;background:#e9eef2;color:#5d6d79;font-size:12px;text-align:center}
.cast-profile-photo img{width:100%;height:100%;object-fit:cover}
.cast-profile-photo-empty{display:grid;justify-items:center;gap:4px}
.cast-profile-photo-actions{display:grid;gap:8px;align-content:start}
.cast-profile-photo-actions .action{width:100%;margin:0}
.cast-profile-editor .field,.cast-profile-review .field{display:grid;gap:6px}
.cast-profile-editor small{justify-self:end}
.cast-profile-review-item{display:grid;gap:10px;padding:12px;border:1px solid var(--tk-border-subtle);border-radius:12px}
.cast-profile-review-item h3{margin:0}
.cast-profile-values{display:grid;gap:6px;margin:0;font-size:14px}
.cast-profile-values dt{font-size:12px;color:var(--tk-text-secondary-on-page)}
.cast-profile-values dd{margin:0;overflow-wrap:anywhere}
@media(max-width:360px){.cast-profile-photo-row{grid-template-columns:1fr}.cast-profile-photo{max-width:180px}}
.meter-review-history{display:grid;gap:6px;padding:10px;border-radius:10px;background:#fff}
.meter-review-history h4{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:14px}
.meter-review-history ol{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.meter-review-history li{display:grid;gap:2px;font-size:13px}
.meter-review-history small{color:var(--tk-text-secondary-on-page)}
/* メーター写真の保全（R2-24）：写真の下に畳んで置き、開いたときだけ状態を読む */
.meter-photo-hold{display:grid;gap:8px;margin:4px 0 8px;padding:8px 10px;border:1px solid var(--tk-border-subtle);border-radius:10px;background:#fff;min-width:0}
.meter-photo-hold>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:14px;font-weight:600}
.meter-photo-hold .meter-review-form{border:0;padding:0;margin:0;min-width:0}
.meter-hold-history{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.meter-hold-history li{display:grid;gap:2px;font-size:13px;overflow-wrap:anywhere}
.meter-hold-history small{color:var(--tk-text-secondary-on-page)}
.meter-review-done{padding:2px 8px;border-radius:999px;background:#e3f4ea;color:#1c6a3b;font-size:12px}
.meter-review-actions{display:flex;flex-wrap:wrap;gap:4px 16px}
.meter-review-form{display:grid;gap:10px;padding:12px;border:1px solid #d7e7f1;border-radius:10px;background:#fff}
.meter-review-form h4{margin:0;font-size:14px}
.meter-review-form label{display:grid;gap:6px;font-size:13px;font-weight:650}
.meter-review-form select,.meter-review-form input,.meter-review-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--tk-border-control);border-radius:10px;background:#fff;font:inherit;font-size:16px;min-height:46px;padding:9px 12px}
.meter-review-form textarea{min-height:72px;font-size:15px}
.meter-review-form .driver-km-field input{font-size:20px}
.driver-reason-chips{display:flex;flex-wrap:wrap;gap:8px}
.driver-reason-chips button{min-height:40px;padding:6px 12px;border:1px solid #b8d2e2;border-radius:999px;background:#fff;color:var(--tk-text-primary);font:inherit;font-size:13px;cursor:pointer}
.driver-reason-chips button.selected{border-color:#2b77a8;background:#e3f1fa;font-weight:700}
.meter-review-actions .action{margin:0}
/* The preview row follows the frame height, so the whole meter photo (including the ODO at the bottom) stays visible. */
.driver-camera,.driver-preview:not(.zoom){grid-template:minmax(0,1fr)/minmax(0,1fr)}
.driver-camera video,.driver-preview:not(.zoom) img{min-width:0;min-height:0}
/* 320px 前後：日付の前後ボタンと期間の選択が1行に収まらず「次の期間」が潰れるので、日付の行を1行使い、期間の選択は次の行へ回す */
@media(max-width:360px){.wf-personal-period{grid-template-columns:minmax(0,1fr)}}
/* 見出しを語句ごとに折り返す（P26。狭い画面で「ませ／ん」「出／勤」と割れないように） */
.wf-phrase{display:inline-block}
/* キャストの入力画面は .wf-action-subject の見出しを隠すが、退勤時刻の申告（P26）は何の勤務かを示す見出しを消さない（隠す規則より詳しい指定にする） */
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-request-form .wf-action-subject.wf-clock-out-subject>strong{display:block}
/* シフト希望：提出できない理由を提出ボタンのすぐ上に出す。押せない提出ボタンは見た目でも押せないと分かるようにする（2026-10-12） */
.wf-shift-form>.wf-shift-submit>.wf-submit-reason{margin:0 0 8px;display:grid;gap:2px}.wf-submit-reason strong{font-weight:700}.wf-submit-reason:focus{outline:2px solid var(--tk-focus);outline-offset:2px}
.staff-pwa .wf-shift-submit .action[aria-disabled=true],.wf-shift-submit .action[aria-disabled=true]{background:var(--tk-disabled-bg);border-color:var(--tk-border-subtle);color:var(--tk-disabled-text);cursor:not-allowed;filter:none}
/* キャストのシフト希望（.shift-editor）。注文画面の見た目の記録（cast-home-reference.css）に触れないよう、シフト希望の中だけに当てる */
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-editor .shift-submit-reason.field-error{display:grid;gap:2px;margin:4px 0 2px;font-size:13px;line-height:1.6}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-editor .shift-submit-reason.field-error strong{font-weight:800}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-editor .shift-submit-reason.field-error span{color:#5b4a46}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-editor .shift-submit-reason.field-error:focus{outline:2px solid #2374a9;outline-offset:3px;border-radius:6px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-editor .primary:is(:disabled,[aria-disabled=true]){background:#dfe5ec;color:#56657a;box-shadow:none;cursor:not-allowed}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-editor .notice,.wf-shift-form .notice{text-wrap:pretty}
.shift-editor .cast-shift-submit{position:sticky;bottom:-18px;z-index:1;background:linear-gradient(transparent,#fff 12px);padding:12px 0 4px;margin-top:4px}.shift-editor .cast-shift-submit .local-save-status{margin:0 0 6px}.shift-editor .cast-shift-submit .utility-submit{margin:0}
.cast-profile-editor .cast-profile-save{position:sticky;bottom:calc(84px + env(safe-area-inset-bottom));z-index:2;margin:0 -2px;padding:12px 2px 6px;background:linear-gradient(transparent,#fff 12px)}.cast-profile-editor .cast-profile-save>.action,.cast-profile-editor .cast-profile-save>button{width:100%;margin:0}
/* 代理登録（2026-10-28）：「閉じる」と「登録して公開」を横に並べる。管理画面は下のメニューの高さが画面ごとに違うので、固定せず入力欄の後に置く */
.cast-profile-editor.proxy{scroll-margin-top:112px}.cast-profile-editor.proxy .cast-profile-save{display:flex;gap:8px;position:static;background:none}.cast-profile-editor.proxy .cast-profile-save>button{flex:1}
.cast-profile-proxy{margin-top:16px;padding-top:12px;border-top:1px solid var(--line,#e2e8f0)}.cast-profile-proxy h3{margin:0 0 4px}.cast-profile-proxy ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}.cast-profile-proxy li{display:flex;align-items:center;justify-content:space-between;gap:12px}.cast-profile-proxy li>span{display:grid;gap:2px;min-width:0}.cast-profile-proxy li>span strong{overflow-wrap:anywhere}.cast-profile-proxy li>.action{flex:none;width:auto;margin:0}
/* K4：プロフィールの画面だけ、角の切り抜きを clip にして（hidden は sticky を止める）保存ボタンを下のメニューの上に固定する */
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .screen.cast-profile-screen{overflow:clip}

.payroll{display:grid;gap:18px}.payroll>.page-title{margin-bottom:0}.pay-toolbar,.pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:end}.pay-toolbar label,.pay-form label{display:grid;gap:7px;font-size:14px;font-weight:600}.pay-form fieldset{display:grid;gap:20px;border:0;padding:0;margin:0;min-width:0}.pay-form input,.pay-form textarea,.pay-form select,.pay-toolbar input{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.pay-form textarea{min-height:88px;resize:vertical}.pay-form input,.pay-form select,.pay-toolbar input{min-height:46px}.pay-form h3{margin:8px 0 0}.pay-editor{border:1px solid #c9a968}.pay-line{display:grid;gap:14px;padding:18px;border:1px solid #e8e2d8;border-radius:14px;background:#fcfaf6}.pay-basis{padding:16px;border:1px solid #e8e2d8;border-radius:14px;min-width:0}.pay-basis h4{margin-bottom:6px}.pay-basis details p{font-size:13px;overflow-wrap:anywhere}.pay-amount{font-size:28px;font-weight:650}.pay-amount small{font-size:12px;font-weight:400}.pay-breakdown-row{display:contents}.pay-breakdown-row dt small{display:block;font-size:12px;font-weight:400;white-space:pre-wrap;overflow-wrap:anywhere}.pay-total{padding:18px;background:#f5f1e8;border-radius:12px}.pay-terms dd{margin:4px 0 16px;white-space:pre-wrap;overflow-wrap:anywhere}.pay-terms dt{font-size:12px;color:#766b5b}.pay-history{padding:12px 0;border-bottom:1px solid #e8e2d8}.pay-history-json{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.payroll .wf-inline{margin-top:14px;gap:12px}.payroll .notice ul{padding-left:20px;margin:8px 0}.payroll fieldset:disabled{opacity:.72}.payroll .text-button{min-height:40px}.payroll .check-row{align-items:start}.pay-pending{border-left:3px solid #bb872b}.payroll .wf-section-heading{flex-wrap:wrap;gap:10px}.payroll .wf-section-heading h2{margin:0}.payroll .paper-card{min-width:0}.payroll .wf-tabs{align-self:center}.payroll .wf-tabs button{white-space:nowrap}@media(max-width:600px){.pay-toolbar{grid-template-columns:1fr;gap:12px}.pay-grid{gap:12px}.payroll .wf-inline>.action{flex:1 1 150px}.payroll .wf-summary{grid-template-columns:1fr 1fr}.payroll .wf-summary>span:last-child{grid-column:1/-1}.pay-amount small{display:block}.pay-form{font-size:16px}}
.pay-page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.pay-page-heading>.page-title{margin:0;min-width:0}.pay-page-heading>.icon-button{flex-shrink:0}.payroll:has(.pay-editor:not([hidden]))>.pay-page-heading{display:none}.pay-payout-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.pay-payout-heading h3{margin:0;font-size:16px;line-height:1.6}.pay-payout-heading h3>span{display:block;margin-bottom:4px}.pay-payout-amount{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:20px 0}.pay-payout-amount>span{font-size:16px;font-weight:500}.pay-payout-amount>strong{font-size:32px;font-weight:650;line-height:1.2;font-variant-numeric:tabular-nums}.pay-payment-scope{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:0 0 20px;font-size:14px}.pay-payment-scope dt{color:var(--muted,var(--tk-text-secondary-on-page))}.pay-payment-scope dd{margin:0;text-align:right;font-weight:550}.pay-statement-details{border-top:1px solid var(--border,var(--tk-border-subtle));padding-top:8px;margin-bottom:12px}.pay-statement-details>summary{min-height:44px;align-content:center;cursor:pointer}.pay-calculation-help{font-size:14px}.pay-calculation-help>summary{min-height:44px;align-content:center;cursor:pointer}.pay-calculation-help p{line-height:1.7}.payroll>.wf-section-heading{justify-content:flex-end}
.payroll,.pay-self-page{max-width:900px}.payroll .pay-toolbar{grid-template-columns:1fr auto;gap:16px;align-items:center}.payroll .pay-toolbar>label{grid-template-columns:auto minmax(150px,190px);align-items:center;gap:12px}.payroll .pay-toolbar>label input{min-height:44px;padding:8px}.payroll>.wf-section-heading{justify-content:flex-start;margin:0}.payroll>.wf-section-heading>.action{width:auto;margin:0;min-height:44px}.pay-payout-content[hidden]{display:none}.pay-payout-content{display:grid;gap:16px}.pay-payout-content>.paper-card{margin:0}.pay-statement-lines{margin:12px 0 16px}.pay-statement-lines>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:10px 0;border-bottom:1px solid var(--line,var(--tk-border-subtle))}.pay-statement-lines dt{font-weight:550}.pay-statement-lines small{display:block;color:var(--muted,var(--tk-text-secondary-on-page));font-weight:400;font-size:13px;margin-top:4px;overflow-wrap:anywhere}.pay-statement-lines dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}.pay-transfer-history>summary,.pay-voided-history>summary,.pay-held-history>summary,.pay-held-marker>summary,.pay-card-breakdown>summary{min-height:44px;align-content:center;cursor:pointer}.pay-transfer-history ol{list-style:none;margin:12px 0;padding:0 0 0 12px;border-left:2px solid var(--line,var(--tk-border-subtle))}.pay-transfer-history li{display:grid;gap:4px;margin:0 0 16px}.pay-transfer-history time,.pay-transfer-history small{font-size:12px;color:var(--muted,var(--tk-text-secondary-on-page))}.pay-transfer-history small{overflow-wrap:anywhere}.pay-voided-history{border-top:1px solid var(--line,var(--tk-border-subtle));color:var(--muted,var(--tk-text-secondary-on-page))}.pay-voided-history .payout-voided{padding:16px;margin:8px 0}.pay-voided-history .pay-voided-amount{font-size:16px;font-weight:500}.pay-voided-history .pay-payout-heading h3{font-size:14px}.pay-held-marker{margin:12px 0;color:#855813}.pay-payout-actions{margin:0 0 16px;display:grid;gap:6px}.pay-payout-actions>.action{margin:0}.pay-pending-amount{display:grid;gap:4px;margin:16px 0}.pay-pending-amount>span{font-size:14px}.pay-pending-amount>strong{font-size:28px}.pay-payout-modal .modal-body{display:grid;gap:16px}.pay-payout-modal .modal-body>p,.pay-payout-modal .pay-payment-scope,.pay-payout-modal .pay-payout-amount{margin:0}.pay-payout-modal label{display:grid;gap:8px}.pay-payout-modal input:not([type=checkbox]){width:100%;min-width:0;min-height:48px}.pay-payout-modal .action{margin:0}.pay-cash-check{border:1px solid var(--line,var(--tk-border-subtle));background:var(--soft,var(--tk-bg-soft));padding:16px;border-radius:12px;min-height:60px;cursor:pointer}.pay-payout-modal .pay-cash-check,.pay-confirm-modal .pay-cash-check{display:flex;align-items:center;gap:14px}.pay-cash-check input{width:22px;height:22px;flex:0 0 auto;accent-color:var(--green,var(--tk-focus))}.pay-history-modal .modal-body>.action{margin-top:20px}
@media(max-width:839px){body:has(.pay-editor:not([hidden])) .bottom-nav{display:none}.payroll .pay-step-actions{bottom:0;padding-bottom:max(12px,env(safe-area-inset-bottom))}.payroll .pay-step-body{padding-bottom:20px}}
@media(max-width:600px){.payroll{gap:12px}.payroll .pay-toolbar{grid-template-columns:1fr;gap:10px}.payroll .pay-toolbar>label{grid-template-columns:auto 1fr}.payroll .pay-toolbar .wf-tabs{gap:2px}.payroll .pay-toolbar .wf-tabs button{min-height:44px;padding:6px 8px}.pay-payout-content>.paper-card{padding:18px}.pay-payout-amount{margin:16px 0}.pay-mine .pay-page-heading{margin-bottom:16px}.pay-payout-modal{width:calc(100% - 24px);max-width:520px}}

.pay-payout-content>.pay-empty{font-size:15px;font-weight:400;color:var(--muted,var(--tk-text-secondary-on-page));margin:8px 0 24px}

.payroll:has(.payout-pending)>.pay-page-heading,.payroll:has(.payout-pending)>.pay-toolbar{display:none}.payroll:has(.payout-pending){padding-top:8px}.pay-payout-content{padding-bottom:24px}
/* Payroll condition editing: primary amounts first, optional settings on demand. */
.payroll .pay-editor-context{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin:8px 0 14px;font-size:14px}.payroll .pay-editor-context>span{color:var(--muted,var(--tk-text-secondary-on-page));font-size:13px}.payroll .pay-step{display:grid;gap:18px}.payroll .pay-step[hidden]{display:none}.payroll .pay-step-body fieldset{gap:18px}.payroll .pay-cast-pay{display:grid;gap:10px}.payroll .pay-cast-pay>p{margin:0;font-size:14px}.payroll .pay-advanced{border-top:1px solid var(--line,var(--tk-border-subtle));font-size:14px}.payroll .pay-advanced>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;min-height:48px;cursor:pointer;font-weight:550}.payroll .pay-advanced>summary::-webkit-details-marker{display:none}.payroll .pay-advanced>summary:after{content:'+';font-size:20px;font-weight:400}.payroll .pay-advanced[open]>summary:after{content:'−'}.payroll .pay-advanced[open]>*:not(summary){margin-bottom:14px}.payroll .pay-presets .action{margin:0}.payroll .pay-trial-conditions{padding-bottom:0}.payroll .pay-rates{min-width:0;display:grid;gap:12px}.payroll .pay-rates-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.payroll .pay-rates-heading h3{margin:0}.payroll .pay-rates-heading>span{font-size:13px;color:var(--muted,var(--tk-text-secondary-on-page))}.payroll .pay-rates>.field{margin:0}.payroll details.pay-rate-line{display:block;padding:0;border-radius:10px;background:#fff;overflow:hidden}.payroll .pay-rate-line>summary{display:flex;align-items:center;gap:14px;padding:14px;list-style:none;min-height:62px;cursor:pointer}.payroll .pay-rate-line>summary::-webkit-details-marker{display:none}.payroll .pay-rate-line>summary:after{content:'+';font-size:20px;flex:0 0 16px;text-align:center}.payroll .pay-rate-line[open]>summary:after{content:'−'}.payroll .pay-rate-line>summary>span{flex:1;min-width:0}.payroll .pay-rate-line>summary strong{font-size:15px;line-height:1.5}.payroll .pay-rate-line>summary small{display:block;font-size:13px;font-weight:400;color:var(--muted,var(--tk-text-secondary-on-page));margin-top:3px}.payroll .pay-rate-line>summary>b{font-size:17px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.payroll .pay-rate-fields{padding:0 14px 14px;display:grid;gap:16px}.payroll .pay-rate-fields>.text-button{justify-self:start}.payroll .pay-rate-fields .check-row{display:flex;align-items:center;gap:12px;min-height:48px;font-size:14px}.payroll .pay-rate-fields .check-row input{width:22px;height:22px;min-height:22px;flex:0 0 auto}.payroll .pay-rate-tools{display:grid;gap:12px}.payroll .pay-rate-tools>.action{margin:0}.payroll .pay-rate-undo{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;font-size:14px}.payroll .text-button{min-height:44px}.payroll .pay-condition-notes[open],.payroll .pay-extra-note[open]{display:grid;gap:12px}.payroll .pay-form .pay-steps button:disabled,.payroll .pay-step-actions>.action:disabled{opacity:.4}
.payroll .pay-basis-counts{display:flex;flex-wrap:wrap;gap:18px 32px;margin:16px 0}.payroll .pay-basis-counts>div{display:grid;gap:6px}.payroll .pay-basis-counts dt{font-size:13px;color:var(--muted,var(--tk-text-secondary-on-page))}.payroll .pay-basis-counts dd{font-size:20px;font-weight:600;margin:0}.payroll .pay-calculation-card{display:grid;gap:16px;padding:18px;border:1px solid var(--line,var(--tk-border-subtle));border-radius:12px;background:var(--soft,var(--tk-bg-soft))}.payroll .pay-calculation-card>h3,.payroll .pay-calculation-card>p,.payroll .pay-calculation-card>.action{margin:0}.payroll .pay-calculation-card>h3{font-size:17px}.payroll .pay-calculation-card .small{font-size:13px;line-height:1.6}.pay-mine .pay-statement-details{scroll-margin-top:150px}
.payroll .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.payroll .pay-cast-pay .notice .text-button{display:block;margin-top:8px;padding-left:0}

.payroll .pay-field-error{color:var(--error,#9b342e);font-size:13px;font-weight:500}

/* 月次の明細書（P30・オーナーのみ）。既存の給与画面（水色）の部品の中で、一覧・内容・入力を並べる。 */
.slip-page{display:grid;gap:14px}.slip-intro h2{display:flex;align-items:center;gap:10px;margin:0 0 4px;font-size:18px}.slip-intro p{margin:0}
.slip-page .slip-toolbar{margin-bottom:0}.slip-page .slip-toolbar .field{margin:0;min-width:220px}.slip-page .closing-summary{margin:0}
.slip-status{margin:0;padding:10px 14px;border-radius:10px;background:#e8f2e9;color:#2f5a3e;font-size:14px}
.slip-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.slip-row{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:14px 16px;min-height:56px;border:1px solid var(--tk-border-subtle,var(--line));border-radius:12px;background:#fff;text-align:left;color:inherit}
.slip-row:hover{border-color:var(--tk-focus,#4a90c2)}.slip-row-name{display:flex;align-items:center;gap:10px;min-width:0}.slip-row-name strong{font-size:16px;overflow-wrap:anywhere}
.slip-row-amounts{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:13px;color:var(--muted,var(--tk-text-secondary-on-page))}.slip-row-amounts b{color:var(--tk-text-primary,#1d2733);font-size:15px;font-variant-numeric:tabular-nums}
.slip-empty p{margin:0 0 4px}.slip-create h3{margin:0 0 4px;font-size:16px}.slip-create-row{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.slip-create-row .field{flex:1 1 220px;margin:0}.slip-create-row select{min-height:44px}
.slip-page .closing-actions{margin:0}
.slip-detail{display:grid;gap:14px}.slip-back{justify-self:start;padding-left:0}
.slip-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.slip-detail-head h3{margin:0 0 2px;font-size:20px}.slip-detail-head p{margin:0}
.slip-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.slip-totals>div{display:grid;gap:2px;padding:12px 14px;border:1px solid var(--tk-border-subtle,var(--line));border-radius:12px;background:#fff}
.slip-totals span{font-size:12px;color:var(--muted,var(--tk-text-secondary-on-page))}.slip-totals strong{font-size:20px;font-variant-numeric:tabular-nums}.slip-totals small{font-size:12px;color:var(--muted,var(--tk-text-secondary-on-page))}.slip-totals .net{background:#f0f7fb}
.slip-actions{display:flex;flex-wrap:wrap;gap:10px}.slip-actions .slip-danger{color:var(--error,#9b342e)}
.slip-print-note{margin:0;max-width:62ch}.slip-print-actions{flex-direction:column;align-items:flex-end}.slip-print-actions .slip-print-note{text-align:right}
@media(max-width:700px){.slip-print-actions{align-items:stretch}.slip-print-actions .slip-print-note{text-align:left}}
.slip-lines-card h4{display:flex;justify-content:space-between;margin:0 0 8px;font-size:15px}.slip-lines-card ul{list-style:none;margin:0;padding:0;display:grid}.slip-lines-card li{padding:10px 0;border-top:1px solid var(--tk-border-subtle,var(--line))}
.slip-lines-card li>div{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.slip-lines-card li>div>span{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.slip-lines-card b{font-variant-numeric:tabular-nums;white-space:nowrap}
.slip-lines-card li p{margin:4px 0 0;font-size:13px;line-height:1.6;color:var(--muted,var(--tk-text-secondary-on-page));overflow-wrap:anywhere}
.slip-facts{display:grid;gap:8px;margin:0}.slip-facts>div{display:grid;grid-template-columns:72px 1fr;gap:10px;font-size:14px}.slip-facts dt{color:var(--muted,var(--tk-text-secondary-on-page))}.slip-facts dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.slip-history ul{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:8px}.slip-history li{display:grid;gap:2px;font-size:13px}.slip-history li span,.slip-history li small{color:var(--muted,var(--tk-text-secondary-on-page))}
.slip-modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.slip-editor{display:grid;gap:16px}.slip-editor-head h3{margin:0 0 2px;font-size:19px}.slip-editor-head p{margin:0}
.slip-fieldset{border:1px solid var(--tk-border-subtle,var(--line));border-radius:12px;padding:12px 16px 16px;margin:0;background:#fff;display:grid;gap:12px}
.slip-fieldset legend,.slip-more summary{font-weight:650;font-size:15px;padding:0 4px}.slip-fieldset legend small{margin-left:8px;font-weight:400;font-size:12px;color:var(--muted,var(--tk-text-secondary-on-page))}
.slip-more summary{cursor:pointer;min-height:32px;display:flex;align-items:center}
.slip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.slip-grid .field{margin:0}.slip-grid .slip-wide{grid-column:1/-1}.slip-grid-small{grid-template-columns:repeat(5,minmax(0,1fr))}
.slip-editor input,.slip-editor select,.slip-editor textarea{min-height:44px;width:100%}.slip-editor textarea{min-height:0;resize:vertical}
.slip-line{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr) auto;grid-template-areas:"label amount tax" "note note remove";gap:8px 12px;padding:12px 0;border-top:1px solid var(--tk-border-subtle,var(--line))}
.slip-line .field{margin:0}.slip-line-label{grid-area:label}.slip-line-amount{grid-area:amount}.slip-line-amount input{text-align:right;font-variant-numeric:tabular-nums}.slip-line-note{grid-area:note}.slip-line-remove{grid-area:remove;align-self:end;min-height:44px;white-space:nowrap}
.slip-line-tax{grid-area:tax;display:flex;align-items:center;gap:6px;align-self:end;min-height:44px;font-size:13px;white-space:nowrap}.slip-line-tax input{width:20px;min-height:20px;height:20px}
.slip-line:not(:has(.slip-line-tax)){grid-template-areas:"label amount amount" "note note remove"}
.slip-hint{margin:-8px 4px 0}
.slip-auto-box{display:grid;gap:4px}.slip-auto-box .slip-hint{margin:0 4px}.slip-auto-box .slip-auto-tax{grid-area:auto;white-space:normal}
.slip-editor-bar{position:sticky;bottom:0;z-index:2;display:grid;gap:10px;padding:12px 16px;border:1px solid var(--tk-border-subtle,var(--line));border-radius:12px;background:#fff;box-shadow:0 -4px 14px rgba(20,40,60,.08)}
.slip-live{display:flex;flex-wrap:wrap;gap:6px 20px;margin:0}.slip-live div{display:grid;gap:0}.slip-live dt{font-size:11px;color:var(--muted,var(--tk-text-secondary-on-page))}.slip-live dd{margin:0;font-size:15px;font-variant-numeric:tabular-nums}.slip-live .net dd{font-weight:700;font-size:17px}
.slip-editor-bar .slip-modal-actions{margin-top:0}
@media(max-width:600px){.slip-totals{grid-template-columns:1fr}.slip-grid,.slip-grid-small{grid-template-columns:repeat(2,minmax(0,1fr))}.slip-grid .field:has(textarea){grid-column:1/-1}
 .slip-line{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"label label" "amount tax" "note note" "remove remove"}.slip-line:not(:has(.slip-line-tax)){grid-template-areas:"label label" "amount amount" "note note" "remove remove"}.slip-line-remove{justify-self:end}
 .slip-fieldset{padding:10px 12px 14px}.slip-editor-bar{padding:10px 12px;margin:0 -4px}.slip-live{gap:4px 14px}.slip-row{padding:12px 14px}.slip-page .slip-toolbar .field{min-width:0;flex:1}
 .slip-facts>div{grid-template-columns:60px 1fr}}
@media(max-width:839px){body:has(.slip-editor) .bottom-nav{display:none}.slip-editor-bar{padding-bottom:max(10px,env(safe-area-inset-bottom))}}
.slip-history summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
.payroll:has(.slip-editor)>.pay-toolbar,.payroll:has(.slip-editor)>.staff-mode-note,.payroll:has(.slip-editor)>.pay-page-heading{display:none}
@media(max-width:600px){.slip-live{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 10px}.slip-live .slip-live-tax{display:none}.slip-live dd{font-size:14px}.slip-live .net dd{font-size:16px}.slip-editor-bar .slip-modal-actions .button,.slip-editor-bar .slip-modal-actions button{flex:1 1 140px}}
.my-month-slips{display:grid;gap:10px;margin:20px 0}.my-month-slips h3{margin:0;font-size:16px}.my-month-slips>p{margin:0}.my-month-slip .action{width:auto;margin:0;min-height:44px}
.pay-self-subheading{margin:8px 0 0;font-size:16px}@media(max-width:700px){.my-month-slip .action{width:100%}}

.daily{max-width:1200px;margin:auto}.daily-toolbar,.daily-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0}.daily-toolbar label{display:grid;gap:6px}.daily-toolbar input{min-height:44px}.daily-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.daily-metrics>div{padding:16px;background:#f7f5f1;border-radius:12px;display:grid;gap:9px}.daily-metrics span{font-size:12px;color:#64605a}.daily-metrics strong{font-size:20px;font-variant-numeric:tabular-nums}.daily-form{display:grid;gap:20px}.daily-form fieldset{min-width:0;border:0;border-top:1px solid #e6e0d6;padding:18px 0;margin:0}.daily-form legend{font-size:17px;font-weight:700;padding:0 10px 0 0}.daily-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.daily-form label,.daily .modal label{display:grid;gap:7px;font-size:13px}.daily-form label small{font-size:12px;font-weight:400;color:#716a62;line-height:1.6}.daily-form input,.daily-form textarea,.daily-form select{width:100%;min-width:0;min-height:46px;border:1px solid #d7d0c6;border-radius:9px;padding:10px 12px;font:inherit;color:inherit;background:#fff}.daily-form textarea{min-height:90px;resize:vertical}.daily-form input:focus,.daily-form textarea:focus,.daily-form select:focus{outline:2px solid #ae8850;outline-offset:2px}.daily-form details{margin:14px 0;padding:12px;border:1px solid #e6e0d6;border-radius:12px}.daily details summary{cursor:pointer;font-weight:600;min-height:32px;line-height:1.8}.daily-expense{border-left:3px solid #d7b67d;padding:8px 14px;margin:16px 0;background:#fcfbf8;border-radius:6px}.daily-expense h4{margin:0 0 12px}.daily-cash{display:grid;grid-template-columns:1fr 1fr;padding:18px;margin-top:18px;background:var(--tk-bg-soft);border-radius:12px;gap:12px}.daily-cash span{display:grid;gap:10px;font-size:13px}.daily-cash strong{font-size:22px}.daily-list{display:grid;gap:8px}.daily-list>button{display:flex;justify-content:space-between;gap:12px;text-align:left;width:100%;font:inherit;border:1px solid #e3ddd3}.daily-list>button.selected{border-color:#ad8343;background:#f9f5ed}.daily-list span{display:grid;gap:7px}.daily-list span:last-child{text-align:right}.daily-list small{color:#776c5b;font-size:12px}.daily-paper{background:white;border:1px solid #e5dfd5;border-radius:14px;padding:24px;margin:14px 0;color:#302c26}.daily-paper header{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid #574936;padding-bottom:12px}.daily-paper header p{margin:4px 0}.daily-paper h2{margin:6px 0;font-size:22px}.daily-paper h3{font-size:15px;margin:22px 0 12px}.daily-paper p{overflow-wrap:anywhere;white-space:pre-wrap}.daily-paper-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.daily-paper-summary dl{font-size:12px}.daily-paper-summary dl div{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #eee9df}.daily-paper-summary dd{margin:0;text-align:right;font-weight:600}.daily-scroll{width:100%;overflow:auto;border-radius:6px}.daily-scroll table{border-collapse:collapse;min-width:620px;width:100%;font-size:12px}.daily-scroll th,.daily-scroll td{border:1px solid #e3ddd3;text-align:left;padding:10px;vertical-align:top;white-space:nowrap}.daily-scroll th{background:#f7f4ed;font-weight:600}.daily-scroll small{display:block;font-size:10px;color:#786647;margin-top:4px}.daily-history{border-bottom:1px solid #ddd5c9;padding:14px 0}.daily-editor .wf-section-heading{gap:12px;flex-wrap:wrap}.daily .text-button{min-height:44px}.daily fieldset:disabled{opacity:.7}@media(max-width:680px){.daily-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.daily-metrics>div{padding:12px}.daily-metrics strong{font-size:17px}.daily-fields{grid-template-columns:1fr}.daily-paper{padding:14px}.daily-paper header{display:block}.daily-paper-summary{grid-template-columns:1fr;gap:0}.daily-paper-summary dl{margin:8px 0}.daily-actions>*{flex:1 1 160px}.daily-cash{padding:12px}.daily-cash strong{font-size:18px}.daily-toolbar .button{width:100%}}

.daily-actions>.action{width:auto;flex:0 1 auto}@media(max-width:680px){.daily-actions>.action{width:100%;flex:1 1 100%}}

body.daily-print{display:block;background:white;color:#222;font:12px sans-serif;margin:0;padding:12px;min-height:0}.daily-print .daily-paper{border:0;border-radius:0;padding:0;margin:0}.daily-print .daily-paper header{display:flex}.daily-print .daily-paper-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.daily-print .daily-paper h2{font-size:20px}.daily-print .daily-paper h3{margin:14px 0 8px}.daily-print .daily-scroll{overflow:visible}.daily-print .daily-scroll table{min-width:0;font-size:10px}.daily-print .daily-scroll th,.daily-print .daily-scroll td{padding:6px;white-space:normal;overflow-wrap:anywhere}.daily-print thead{display:table-header-group}.daily-print tr{break-inside:avoid}@media print{@page{size:A4 landscape;margin:12mm}.daily-print .daily-paper-summary dl div{padding:4px 0}}
.daily-page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.daily-page-heading>.page-title{margin:0;min-width:0}.daily-page-heading>.icon-button{flex-shrink:0}.daily:has(.daily-editor:not([hidden]))>.daily-page-heading{display:none}
.daily{max-width:960px;margin-left:0}.daily .daily-toolbar .action{margin-left:0}.daily-boundary{color:var(--muted,var(--tk-text-secondary-on-page));font-size:12px}.daily-empty{margin:24px 0;color:var(--muted,var(--tk-text-secondary-on-page))}.daily .daily-cash-fields{grid-template-columns:1fr;max-width:620px;gap:16px}.daily-adjustment{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px}.daily-auto-payout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;background:var(--soft,var(--tk-bg-soft));padding:14px 16px;border-radius:10px;margin:12px 0 20px;font-size:14px}.daily-auto-payout dt{min-width:0}.daily-auto-payout dt small{display:block;font-size:12px;color:var(--muted,var(--tk-text-secondary-on-page));margin-top:3px}.daily-auto-payout dd{font-weight:650;margin:0;font-variant-numeric:tabular-nums}.daily .daily-expense-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 12px}.daily .daily-expense-heading h3{margin:0}.daily .daily-expense-heading .action{width:auto;margin:0;min-height:44px}.daily .daily-payout-history{border:0;padding:0}.daily .daily-payout-record{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:12px;border:1px solid var(--line,var(--tk-border-subtle));border-radius:8px;font-size:13px}.daily-payout-record>span:last-child{grid-column:1/-1}.daily-payout-voided{color:var(--muted,#5c6c62);background:#f3f4f3}.daily-back-warning>summary{color:#855813}.daily .daily-back-warning{border:0;padding:0;margin:4px 0}.daily .daily-back-warning p{font-size:13px;white-space:normal}.daily .daily-form textarea{max-width:720px;min-height:86px}.daily .daily-form .daily-step-body{padding-bottom:24px}.daily .daily-steps{margin:0 0 8px}.daily-print .daily-payroll-table{overflow:visible}
@media(max-width:839px){body:has(.daily-editor:not([hidden])) .bottom-nav{display:none}.daily .daily-step-actions{bottom:0;padding-bottom:max(12px,env(safe-area-inset-bottom))}.daily .daily-step-body{padding-bottom:24px}}
@media(max-width:680px){.daily .daily-toolbar{gap:10px}.daily .daily-toolbar label{flex:1}.daily .daily-toolbar .daily-boundary{align-self:center}.daily-adjustment{grid-template-columns:110px minmax(0,1fr)}.daily .daily-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.daily .daily-payroll-table{overflow:visible}.daily .daily-payroll-table table,.daily .daily-payroll-table tbody{display:block;min-width:0;width:100%}.daily .daily-payroll-table thead{display:none}.daily .daily-payroll-table tr{display:grid;grid-template-columns:1fr;gap:10px;border:1px solid var(--line,var(--tk-border-subtle));border-radius:12px;padding:14px;margin:0 0 12px}.daily .daily-payroll-table td{border:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(70px,1fr);gap:10px;white-space:normal;font-size:14px;text-align:right}.daily .daily-payroll-table td:before{content:attr(data-label);font-size:13px;color:var(--muted,var(--tk-text-secondary-on-page));text-align:left}.daily .daily-payroll-table td:first-child{display:block;text-align:left;font-weight:650;font-size:16px}.daily .daily-payroll-table td:first-child:before{display:none}.daily .daily-payroll-table td details{grid-column:1/-1;text-align:left;min-width:0}.daily .daily-payroll-table td strong{font-size:14px}.daily .daily-payroll>.table-scroll-wrap>.table-scroll-hint{display:none}}

@media(min-width:681px){.daily .daily-cash-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-cash-fields>label:first-child,.daily-cash-fields>.daily-adjustment{grid-column:1/-1}}

/* Current report first; print retains every saved record and zero category. */
.daily .daily-actions{display:grid;gap:4px;margin:12px 0}.daily-main-actions{display:flex;gap:10px}.daily .daily-main-actions>.action{width:auto;margin:0;flex:0 1 auto;min-width:130px}.daily-utility-actions{display:flex;gap:20px;justify-content:flex-end}.daily .daily-toolbar{margin:12px 0}.daily-month-list{margin:24px 0}.daily .daily-held-draft{border-top:1px solid var(--line,var(--tk-border-subtle));margin-top:12px;padding-top:8px}.daily .daily-connection-note{font-size:14px;color:var(--muted,var(--tk-text-secondary-on-page))}.daily-blockers{padding-left:20px;margin:0}.daily-blockers li+li{margin-top:6px}.daily .modal label.check-row{display:flex;align-items:flex-start;gap:10px;line-height:1.6;margin:20px 0}.daily .modal .check-row input{flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:2px 0}.daily .daily-history-modal{width:min(1040px,calc(100vw - 32px));max-width:1040px}.daily-history-modal .daily-paper-summary{grid-template-columns:1fr 1fr}.daily-history-modal .daily-paper-summary>div:last-child{grid-column:1/-1}.daily-paper .daily-expense-summary h3{margin-top:20px}.daily-paper details{padding:10px 0}.daily-paper details>summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;list-style:none;font-size:14px;gap:12px}.daily-paper details>summary::-webkit-details-marker{display:none}.daily-paper details>summary:after{content:'＋';flex-shrink:0}.daily-paper details[open]>summary:after{content:'−'}.daily-empty-line{color:var(--muted,var(--tk-text-secondary-on-page));font-size:14px}.daily .daily-source-records{border-bottom:1px solid var(--line,var(--tk-border-subtle))}.daily .daily-paper-summary dl{font-size:14px}.daily-print details>summary{font-weight:bold}.daily-print details>summary:after{display:none}.daily-print .daily-zero-expenses summary{display:none}
@media(max-width:680px){.daily .daily-main-actions>.action{flex:1 1 0;min-width:0;font-size:15px;padding-left:8px;padding-right:8px}.daily-utility-actions{justify-content:flex-start}.daily .daily-paper-summary,.daily-history-modal .daily-paper-summary{grid-template-columns:1fr}.daily-paper header h2{font-size:18px}.daily-paper header>div:last-child{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;font-size:13px}.daily .daily-record-table{overflow:visible}.daily .daily-record-table table,.daily .daily-record-table tbody{display:block;width:100%;min-width:0}.daily .daily-record-table thead{display:none}.daily .daily-record-table tr{display:block;border:1px solid var(--line,var(--tk-border-subtle));border-radius:10px;padding:12px;margin:0 0 12px}.daily .daily-record-table td{display:flex;justify-content:space-between;gap:14px;white-space:normal;overflow-wrap:anywhere;border:0;padding:7px 0;font-size:14px;text-align:right}.daily .daily-record-table td:before{content:attr(data-label);font-size:13px;color:var(--muted,var(--tk-text-secondary-on-page));text-align:left;flex-shrink:0;max-width:55%}.daily .daily-record-table td.daily-empty-value{display:none}.daily .daily-record-table td small{font-size:12px}.daily .daily-record-table~.table-scroll-hint{display:none}.daily .daily-paper-summary dl div:first-child strong{font-size:20px}}

.daily-feedback{position:fixed;left:50%;bottom:100px;transform:translateX(-50%);background:#173f30;color:white;padding:10px 16px;border-radius:10px;font-size:14px;z-index:80;max-width:calc(100vw - 32px);width:max-content;pointer-events:none}.daily .daily-payout-zero{background:transparent;padding:0;margin:8px 0;font-size:14px}.daily .daily-payout-zero small{display:none}

.daily .daily-feedback{position:static;transform:none;margin:8px 0 12px;padding:0;background:transparent;color:var(--primary,#15533d);width:auto;max-width:none}.daily-source-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.daily-source-heading p{margin:0}.daily .daily-source-heading .action{width:auto;margin:0;min-height:44px;padding:8px 14px;flex:0 0 auto;white-space:nowrap}.daily .daily-main-actions .action:disabled{opacity:.4;filter:grayscale(1);cursor:not-allowed}.daily-source-warnings:empty{display:none}.daily-source-warnings{margin-top:12px}
@media(max-width:680px){.daily .table-scroll-wrap:has(>.daily-record-table)>.table-scroll-hint{display:none}}
.daily-legacy-payroll{border-left:3px solid #c39435;padding:0 14px;margin:20px 0}.daily-legacy-payroll h3{display:flex;align-items:center;gap:12px}.daily-legacy-payroll h3 span{font-size:12px;color:#805a14;font-weight:600;background:#fff5df;border-radius:4px;padding:3px 8px}.daily-legacy-payroll p{font-size:14px;line-height:1.7}.daily-print .daily-legacy-help{display:none}

/* One-page daily report: each staff member keeps visible reward details. */
.daily-staff-record{border-bottom:1px solid var(--tk-border-subtle,#ddd5c9);padding:16px 0;break-inside:avoid}.daily-staff-record h4{margin:0 0 12px}.daily-staff-overview{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;margin:0 0 12px}.daily-staff-overview dt,.daily-back-grid dt{font-size:12px;color:var(--tk-text-secondary-on-page,#625c50)}.daily-staff-overview dd,.daily-back-grid dd{margin:4px 0 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.daily-staff-overview small,.daily-back-grid small{display:block;font-size:12px}.daily-back-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin:8px 0;padding:12px;background:var(--tk-bg-soft,#f7f4ed);border-radius:8px}.daily-back-items{display:flex;gap:6px 18px;flex-wrap:wrap;font-size:12px;margin-top:12px}.daily-back-totals{margin-top:20px}.daily-live-status{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;margin:16px 0}.daily-live-status p{margin:0}.daily .daily-record-table td.daily-empty-value{display:table-cell}.daily-report-section{margin-top:24px}.daily-cash-ledger{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 18px}.daily-cash-ledger dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:680px){.daily-staff-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-staff-overview>div:first-child{grid-column:1/-1}.daily-back-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.daily .daily-record-table td.daily-empty-value{display:flex}.daily-live-status{align-items:flex-start}}
@media print{.daily-staff-record{break-inside:avoid}.daily-live-status button{display:none}.daily-back-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* Editing follows the same full-page report as viewing and printing. */
.daily .daily-editor{padding-bottom:24px}.daily .daily-form.daily-paper{margin:12px 0;border:0;padding:0}.daily-save-actions{display:flex;justify-content:flex-end;padding-top:16px;border-top:1px solid var(--tk-border-subtle,#ddd5c9)}.daily-save-actions .action{width:auto;margin:0}@media(max-width:680px){.daily-save-actions .action{width:100%}}

.paper-preparation { margin-block: 20px; }
.paper-preparation th,.paper-preparation td { padding: 12px; white-space: nowrap; text-align: left; }
.paper-preparation td small { display:block; }
.paper-editor { margin-block:20px; padding:20px; background:var(--surface,#fff); border:1px solid #d9dfe4; border-radius:12px; }
.paper-editor fieldset { border:0; margin:0; padding:0; min-width:0; }
.paper-editor section { border-bottom:1px solid #d9dfe4; padding-bottom:20px; }
.paper-edit-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; }
.paper-edit-grid label,.paper-editor>fieldset>label { display:flex; flex-direction:column; gap:6px; }
.paper-editor input,.paper-editor select,.paper-editor textarea { width:100%; min-height:40px; box-sizing:border-box; }
.paper-preparation-scroll { max-height:560px; overflow:auto; }
.paper-preparation-scroll thead { position:sticky; top:0; background:#fff; z-index:1; }
.paper-preparation-scroll tbody tr + tr { border-top:1px solid #e5e7eb; }
/* R1 画面監査：「最新の集計を取得」を語の途中で折り返さない */
.daily-live-status>button{flex:0 0 auto;white-space:nowrap}

.hiring{max-width:1100px;margin:auto}.hiring .paper-card{margin:14px 0}.hiring-heading,.hiring-save{display:flex;align-items:center;justify-content:space-between;gap:16px}.hiring-heading h2,.hiring-heading h3{margin:8px 0}.hiring-save{padding:12px 16px;background:var(--tk-bg-soft);border-radius:12px;font-size:14px}.hiring-tabs,.hiring-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.hiring-tabs button{display:flex;align-items:center;gap:8px;padding:13px 18px;border:1px solid var(--tk-border-subtle);border-radius:12px;background:white;color:var(--tk-brand);font:inherit;cursor:pointer}.hiring-tabs button[aria-pressed=true]{background:var(--tk-brand);color:white}.hiring-editor fieldset{border:0;padding:0;min-width:0}.hiring-editor label{display:flex;flex-direction:column;gap:7px;margin:14px 0;font-size:14px;font-weight:600}.hiring-editor input,.hiring-editor select,.hiring-editor textarea{width:100%;padding:12px;font:inherit;border:1px solid var(--tk-border-control);border-radius:8px;background:#fff;color:var(--tk-brand);box-sizing:border-box}.hiring-editor .check-row{display:flex;flex-direction:row;align-items:start;gap:10px;line-height:1.65}.hiring-editor input[type=checkbox],.hiring-editor input[type=radio]{width:20px;height:20px;flex-shrink:0;accent-color:var(--tk-focus)}.hiring-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.hiring-question{padding:16px;border:1px solid var(--tk-border-subtle);border-radius:12px;margin:18px 0}.hiring-steps{display:grid;grid-template-columns:repeat(7,1fr);padding:0;list-style:none;gap:6px;margin:24px 0}.hiring-steps li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;font-size:12px;padding:12px 4px;background:var(--tk-bg-soft);border-radius:10px;color:var(--tk-text-secondary-on-page)}.hiring-steps li span{display:flex;align-items:center;justify-content:center;min-height:20px;font-variant-numeric:tabular-nums}.hiring-steps li.done{background:#e3f1e6;color:#205737;font-weight:700}.hiring-count{font-size:28px;font-weight:700;color:var(--tk-brand)}.hiring-list .paper-card{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;font:inherit;color:inherit}.hiring-list strong,.hiring-list small{display:block}.hiring-list small{margin-top:8px;color:var(--tk-text-secondary-on-page)}.hiring-list button>span:last-child{display:flex;gap:12px;align-items:center}.hiring-body{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:14px;line-height:1.9;padding:18px;background:var(--tk-bg-page);border-radius:10px}.hiring-contract{border-top:1px solid var(--tk-border-subtle);margin-top:20px;padding-top:12px}.hiring-record{display:grid;grid-template-columns:150px 1fr;font-size:13px;gap:8px}.hiring-record dd{margin:0}.hiring details>summary{cursor:pointer;font-weight:600;padding:12px 0}.hiring button:focus-visible{outline:3px solid var(--tk-focus);outline-offset:3px}.hiring fieldset:disabled{opacity:.7}.hiring .small{overflow-wrap:anywhere}@media(max-width:640px){.hiring-steps{grid-template-columns:repeat(4,1fr)}.hiring-fields{grid-template-columns:1fr}.hiring-heading{flex-wrap:wrap}.hiring-record{grid-template-columns:110px 1fr}.hiring-tabs button{flex:1;padding:12px 8px;justify-content:center;font-size:13px}.hiring-editor{padding:18px}}
.contract-photo{margin:20px 0;padding:20px;background:#f4f6f3;border:1px solid var(--tk-border-subtle);border-radius:16px}
.contract-photo>label{display:block;margin:16px 0}
.contract-photo .check-row{display:flex;align-items:flex-start;gap:10px}
.contract-photo-image{display:block;width:100%;max-width:720px;max-height:70vh;object-fit:contain;margin:16px auto;background:var(--tk-brand);border-radius:12px}

/* The capture surface fits the visible viewport; long text can reflow without hiding controls. */
.contract-camera-dialog{position:fixed;inset:0;margin:0;padding:0;border:0;width:100%;height:100dvh;max-width:none;max-height:none;background:var(--tk-brand);color:#fff;box-sizing:border-box;overflow:auto}
.contract-camera-dialog::backdrop{background:var(--tk-brand)}
.capture-layout{min-height:100%;height:100%;display:grid;grid-template-rows:auto minmax(120px,1fr) auto auto;padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));gap:12px;box-sizing:border-box;max-width:1000px;margin:auto}
.capture-layout header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px}.capture-layout h2{font-size:22px;margin:0}.capture-layout h2:focus{outline:none}.capture-layout .icon-button{color:inherit;min-width:44px;min-height:44px}
.capture-stage{min-height:0;display:flex;align-items:center;justify-content:center;background:var(--tk-brand);border-radius:16px;overflow:hidden}.capture-stage video,.capture-stage img{width:100%;height:100%;min-height:0;object-fit:contain;display:block}
.capture-instructions p{margin:0;line-height:1.5;font-size:16px}.capture-instructions .notice{color:var(--tk-brand)}.capture-layout footer{display:flex;justify-content:center;gap:12px;padding:4px 0}.capture-layout footer button{min-height:48px;flex:1;max-width:380px;display:flex;justify-content:center;align-items:center;gap:8px;font-size:17px}
@media(max-height:420px){.capture-layout{height:auto;min-height:100dvh;grid-template-rows:auto minmax(140px,45dvh) auto auto}}
.hiring .contract-photo{padding:18px;margin:16px 0}.contract-photo h3,.photo-success{display:flex;align-items:center;gap:8px}.photo-success{font-weight:600;color:#24513c}.contract-photo select{font:inherit;padding:12px;max-width:100%;display:block;margin-top:8px}.contract-photo .check-row{line-height:1.6}.contract-photo input[type=checkbox]{min-width:22px;min-height:22px}.contract-photo button{min-height:44px}
.contract-journey{font-size:16px;line-height:1.6}.contract-journey-header{border-bottom:1px solid var(--tk-border-subtle);padding-bottom:14px;margin-bottom:18px}.contract-journey-header p{margin:0;color:var(--tk-text-secondary-on-page)}.contract-journey-header h3{font-size:24px;margin:4px 0}.contract-journey-header:focus{outline:none}.contract-journey .hiring-body{font-size:16px}.contract-journey .journey-next{margin-top:20px;display:flex;gap:12px;flex-wrap:wrap}.contract-journey .journey-next button{min-height:48px}.contract-journey .contract-photo{margin-top:0}
.hiring-editor{scroll-margin-top:24px}.hiring-editor:focus{outline:none}.hiring-editor .hiring-question{font-size:16px}.hiring-editor .check-row{font-size:16px}.hiring-record-details{margin:16px 0}.contract-auth-ready{display:flex;gap:8px;align-items:center;margin:8px 0}.contract-auth-ready details{font-size:14px}.hiring button:focus-visible,.contract-camera-dialog button:focus-visible{outline:3px solid #a55d00;outline-offset:3px}.contract-camera-dialog button:focus-visible{outline-color:#ffe09c}
/* One current task; reference material is available on demand. */
.hiring-save{background:transparent;border-radius:0;padding:0 0 12px;color:var(--tk-text-secondary-on-page);font-size:12px}.hiring-manager-person{max-width:900px}.hiring-progress-label{font-size:12px;color:var(--tk-text-secondary-on-page);border:1px solid var(--tk-border-subtle);border-radius:24px;padding:5px 12px;white-space:nowrap}.hiring-next{display:flex;gap:16px;margin:24px 0 18px;padding:24px;border:1px solid var(--tk-border-subtle);border-radius:16px;background:var(--tk-bg-page)}.hiring-next-icon{display:grid;place-items:center;flex-shrink:0;align-self:flex-start;width:44px;height:44px;background:var(--tk-bg-soft);border-radius:50%;color:var(--tk-brand)}.hiring-next small{font-size:12px;color:var(--tk-text-secondary-on-page)}.hiring-next h3{font-size:23px;line-height:1.5;margin:4px 0 8px;letter-spacing:-.025em}.hiring-next p{font-size:15px;line-height:1.8;color:var(--tk-text-secondary-on-page);max-width:560px}.hiring-next .action{width:auto;margin-top:18px;min-width:200px}.hiring-next.is-waiting{background:#f5f6f1;border-color:#e1e5d9}.hiring-next.is-waiting .hiring-next-icon{background:#e7ebdd;color:#687553}.hiring-test-label{font-size:12px;color:#7b7255;margin:0 0 20px!important}.hiring-manager-person>.hiring-record-details{border-top:1px solid var(--tk-border-subtle);margin:0}.hiring-manager-person>.hiring-record-details>summary{min-height:56px;display:flex;align-items:center;gap:10px;font-size:14px;list-style:none}.hiring-manager-person>.hiring-record-details>summary:after{content:'＋';margin-left:auto;color:var(--tk-text-secondary-on-page)}.hiring-manager-person>.hiring-record-details[open]>summary:after{content:'−'}.hiring-manager-person>.hiring-record-details>summary::-webkit-details-marker{display:none}.hiring-list-next{font-size:13px;color:var(--tk-text-primary);max-width:50%;text-align:right}.hiring-manager-person .hiring-contract{margin-top:14px}.hiring-manager-person>.hiring-heading h2{font-size:22px}
@media(max-width:640px){.hiring-next{padding:18px;gap:12px}.hiring-next h3{font-size:21px}.hiring-next-icon{width:34px;height:34px}.hiring-next .action{min-width:0;width:100%}.hiring-manager-person{padding:18px}.hiring-list-next{font-size:12px}.hiring-next p{font-size:14px}}

.hiring-heading>.action{width:auto;flex-shrink:0}.hiring-heading>h2{flex:1;min-width:0}.hiring-editor .hiring-destructive{background:#a3332b;border-color:#a3332b;color:white}
.hiring-profile-summary{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px 16px;padding:16px;background:var(--tk-bg-soft);border-radius:10px;font-size:14px}.hiring-profile-summary dt{color:var(--tk-text-secondary-on-page)}.hiring-profile-summary dd{margin:0;overflow-wrap:anywhere}

.hiring .hiring-form-journey>.hiring-editor{margin:0}.hiring-form-subject{color:var(--tk-text-secondary-on-page);font-size:14px;margin:4px 0 12px}.hiring-form-journey>.hiring-editor .hiring-heading{margin-top:0}.hiring-form-journey>.hiring-editor .hiring-heading h2{font-size:22px}

.hiring-editor>.hiring-heading{justify-content:flex-start;gap:8px;flex-wrap:nowrap}.hiring-editor>.hiring-heading>.icon-button{flex:0 0 44px}.hiring-form-body{overflow:auto;overscroll-behavior:contain;padding:4px 2px 28px}.hiring-form-actions{position:fixed;bottom:20px;left:268px;right:32px;max-width:1100px;background:#fff;border:1px solid var(--tk-border-subtle);border-radius:12px;padding:12px 20px;z-index:80;box-sizing:border-box}.hiring-form-actions>.action{margin:0;min-height:48px}.hiring-editor .hiring-choice-editor{display:flex;align-items:center;gap:12px;margin:10px 0}.hiring-editor .hiring-answer-choice{display:flex;flex-direction:row;align-items:center;gap:5px;min-width:64px;margin:0;font-size:12px}.hiring-choice-editor>input{min-width:0;flex:1}.hiring-editor .hiring-answer-choice input{width:20px}.hiring-editor .hiring-question{padding:12px}.hiring-editor .hiring-question>label{margin:0 0 12px}.hiring-bounded-editor{padding-bottom:16px}.hiring-form-journey>.hiring-form-actions{max-width:760px}
@media(max-width:1099px){.hiring-form-actions{left:20px;right:20px}}
@media(max-width:839px){#app:has(.hiring-editor) .app-navigation,#app:has(.hiring-editor) .bottom-nav{display:none}.hiring-form-actions{left:0;right:0;bottom:0;border-radius:0;padding:12px 20px max(12px,env(safe-area-inset-bottom))}.hiring-form-actions>.action{min-height:52px}.hiring-editor .hiring-heading h2{font-size:21px}.hiring-form-body{padding-bottom:40px}}

.hiring-empty{color:var(--tk-text-secondary-on-page);margin:24px 0}.hiring-list-toolbar{justify-content:flex-end;margin:12px 0}.hiring-manager-journey>.hiring-manager-person{margin:0;max-width:none}.hiring-manager-journey .hiring-next{border:0;border-radius:0;background:none;padding:0;margin:18px 0}.hiring-manager-journey .hiring-next-icon{display:none}.hiring-manager-journey .hiring-next h3{font-size:20px;margin-top:0}.hiring-manager-journey .hiring-next p{margin:8px 0;line-height:1.6}.hiring-back-arrow{transform:rotate(180deg)}.hiring-manager-journey>.contract-stage>.hiring-heading h2{margin-top:2px;font-size:22px}

.hiring .hiring-save[hidden]{display:none}.hiring-form-body{background:linear-gradient(white 30%,transparent) center top,linear-gradient(transparent,white 70%) center bottom,radial-gradient(farthest-side at 50% 0,rgba(31,53,83,.15),transparent) center top,radial-gradient(farthest-side at 50% 100%,rgba(31,53,83,.15),transparent) center bottom;background-repeat:no-repeat;background-size:100% 28px,100% 28px,100% 12px,100% 12px;background-attachment:local,local,scroll,scroll}.hiring-editor .hiring-answer-choice{min-width:44px;min-height:44px;gap:4px}.hiring-choice-header{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;font-size:12px;color:var(--tk-text-secondary-on-page);margin-bottom:4px}.hiring-choice-editor>textarea{min-width:0;flex:1;resize:vertical}.hiring-confirm-note{margin:0 0 8px;font-size:13px;color:var(--tk-text-secondary-on-page);line-height:1.5}
@media(max-width:639px){.hiring-list-toolbar>.action{width:100%}.hiring-list-toolbar{justify-content:stretch}}

@media(min-width:641px){.hiring-vacancy-dates{grid-template-columns:minmax(0,2fr) minmax(0,2fr) minmax(100px,1fr)}}
.legacy-person .legacy-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.legacy-person .legacy-records-button{align-self:flex-start;margin-top:10px}
.legacy-person .legacy-retry{border-left:3px solid #a97016;padding:4px 0 4px 12px;color:#79521c;font-size:14px;margin:0 0 12px}
.legacy-person .contract-stage>.action{align-self:flex-start}
.legacy-receipt-download{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 14px}
.legacy-records details>summary{display:flex;align-items:center;gap:12px;min-height:44px;list-style:none;cursor:pointer}
.legacy-records details>summary::-webkit-details-marker{display:none}
.legacy-records details>summary::after{content:'＋';margin-left:auto;font-weight:400}
.legacy-records details[open]>summary::after{content:'−'}
.legacy-records details{margin-top:12px;border-top:1px solid var(--line);padding-top:6px}
.legacy-records .hiring-record{grid-template-columns:minmax(110px,1fr) minmax(0,2fr)}
@media(max-width:680px){.legacy-person .legacy-actions{flex-direction:column;align-items:stretch}.legacy-person .legacy-actions .action{width:100%}.legacy-person.phase-document .contract-stage{min-height:440px}.legacy-receipt-download{align-items:stretch;flex-direction:column}}

/* Contract edge states: one active task at a time. */
.contract-photo .photo-review-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.contract-photo .photo-review-actions>.action{flex:1;min-width:0;min-height:44px;margin:0;padding:9px 12px;font-size:15px;background:transparent}
.contract-recovery>.small{margin:12px 0}.contract-recovery .field{margin-top:14px}.contract-recovery .check-row{align-items:flex-start;gap:10px;margin:16px 0}.contract-recovery .check-row input{flex:none;margin-top:5px}.contract-recovery .hiring-actions{margin-top:12px}.contract-recovery-complete>p:first-child{display:flex;align-items:center;gap:8px;color:#175642}.contract-recovery-time{font-weight:700;color:#74531b;background:#fff8e8;border-radius:10px;padding:12px}

.contract-recovery-time{display:flex;align-items:center;gap:8px}.contract-recovery-time>svg{flex-shrink:0}
.hiring-held>summary{display:flex;align-items:center;gap:12px;min-height:44px;list-style:none;cursor:pointer}
.hiring-held>summary::-webkit-details-marker{display:none}
.hiring-held>summary::after{content:'＋';margin-left:auto;font-weight:400;flex-shrink:0}
.hiring-held[open]>summary::after{content:'−'}
.hiring-age-check{margin:0 0 18px}.hiring-age-check .notice .action{width:auto;min-width:200px;margin-top:12px}.hiring-age-flag{display:inline-flex;font-size:13px;font-weight:650;color:#7d5b21;background:#fff6e5;border:1px solid #f0dcb1;border-radius:20px;padding:5px 12px;margin:0 0 10px}.hiring-age-manual{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;font-size:13px;margin:0}.hiring-age-manual small{color:var(--tk-text-secondary-on-page)}.hiring-age-manual>span:not(.badge){flex:1 1 200px;min-width:0}.hiring-age-manual .text-button{margin-left:auto}
/* 入店手続きの撮影画面（紺の背景）：主ボタンは白の塗り、「撮り直す」などの副は白の枠線だけにして、背景に溶けないようにする。閉じる「×」は押せる範囲44px（UX監査 ST-48） */
.contract-camera-dialog .capture-layout footer .action{margin:0}
.contract-camera-dialog .capture-layout footer .action:not(.secondary){background:#fff;color:var(--tk-brand);border:1px solid #fff}
.contract-camera-dialog .capture-layout footer .action.secondary{background:transparent;color:#fff;border:1px solid #fff}
.contract-camera-dialog .capture-layout header .icon-button{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}

.team-page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.team-page-heading>.page-title{margin:0;min-width:0}.team-page-heading>.icon-button{flex-shrink:0}.team-profile-card .team-profile-name{font-size:22px;line-height:1.4;margin:0 0 16px;overflow-wrap:anywhere}.team-profile-tags{display:flex;flex-wrap:wrap;gap:8px}.team-profile-tags>span{display:inline-flex;align-items:center;min-height:30px;padding:4px 10px;background:var(--soft,var(--tk-bg-soft));border-radius:8px;font-size:14px;color:var(--green,var(--tk-brand))}.team-profile-card .team-self{grid-template-columns:auto minmax(0,1fr);gap:16px;margin:24px 0}.team-profile-card .team-self dd{overflow-wrap:anywhere}.team-profile-help{border-top:1px solid var(--border,var(--tk-border-subtle));padding-top:12px;font-size:14px}.team-profile-help summary{min-height:44px;display:list-item;align-content:center;cursor:pointer}.team-profile-help p{color:var(--muted,var(--tk-text-secondary-on-page));line-height:1.6}.team-panel>.section-heading{justify-content:flex-end;margin-bottom:12px}.team-panel .team-fields{margin-top:0}
.team-profile-card,.team-page-heading,.team-invite-panel{max-width:800px}.team-invite-back{margin:-4px 0 12px;min-height:44px}.team-invite-panel .team-fields{gap:14px}.team-invite-panel .team-job-options{display:flex;flex-wrap:wrap;gap:8px}.team-invite-panel .team-job-option{flex:0 1 auto;min-height:44px;padding:9px 12px;border-radius:9px;cursor:pointer}.team-invite-panel .team-job-option.selected{background:var(--soft,var(--tk-bg-selected));border-color:var(--green,var(--tk-border-control))}.team-invite-panel .team-job-option input{width:20px;height:20px}.team-invite-panel .team-job-fields legend{margin-bottom:8px}.team-invite-panel .team-fields>fieldset:last-child{margin:0}.team-invite-panel .team-fields>fieldset:last-child .check-row{min-height:44px;padding:8px 12px}.team-invite-panel .team-invite-form>.action{margin-top:8px}.team-profile-help summary{list-style:none;display:flex;justify-content:space-between;align-items:center}.team-profile-help summary:after{content:'+';font-size:20px}.team-profile-help[open] summary:after{content:'−'}.team-profile-help summary::-webkit-details-marker{display:none}
@media(max-width:600px){.team-page-heading{margin-bottom:10px}.team-invite-panel .team-fields{gap:12px}.team-invite-panel .team-job-option{font-size:14px}.team-invite-panel .team-fields input:not([type=checkbox]),.team-invite-panel .team-fields select{min-height:44px}.team-invite-panel .team-invite-form{gap:12px}.team-invite-panel{padding:18px}.team-profile-card{padding:20px}}
.team-invite-fields{overflow:auto;overscroll-behavior:contain;padding:2px 2px 16px}.team-invite-actions{position:fixed;bottom:20px;left:268px;right:32px;max-width:800px;background:white;padding:12px 20px;border:1px solid var(--line,var(--tk-border-subtle));border-radius:12px;z-index:80}.team-invite-actions>.action{margin:0}.team-invite-panel:not([hidden]){padding-bottom:24px}
@media(max-width:839px){body:has(.team-invite-panel:not([hidden])) .bottom-nav{display:none}.team-invite-actions{left:0;right:0;bottom:0;border-radius:0;padding:12px 20px max(12px,env(safe-area-inset-bottom))}.team-invite-actions>.action{min-height:52px}}

.team-panel.team-invite-panel,.team-invite-actions{max-width:720px;box-sizing:border-box}.team-invite-fields{padding-bottom:80px}

.team-invite-fields{padding-top:12px}.team-invite-result{max-width:720px}.team-confirm-info{display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px 16px}.team-confirm-info dt{color:var(--tk-text-secondary-on-page)}.team-confirm-info dd{margin:0;overflow-wrap:anywhere}

.modal.team-edit-modal{width:min(680px,calc(100% - 30px))}.modal.team-edit-modal .modal-body{display:flex;flex-direction:column;overflow:hidden;min-height:0;padding-bottom:0}.team-edit-scroll{overflow:auto;min-height:0;padding:2px 8px 20px 2px;scrollbar-gutter:stable;overscroll-behavior:contain}.team-edit-actions{display:flex;flex-shrink:0;gap:12px;padding:14px 2px 4px;border-top:1px solid var(--border);background:white}.team-edit-actions>.action{margin:0!important;flex:1;min-width:0}.team-edit-actions>.secondary{flex:0 0 88px}.team-edit-scroll .team-confirm-info{margin:10px 0}.team-edit-scroll .team-fields{gap:14px}.team-edit-scroll fieldset:disabled{opacity:.6}.team-invite-pending>.notice{margin:14px 0}.team-invite-pending>.team-confirm-info{margin:16px 0}.team-invite-result>details{margin:12px 0}.team-invite-result>.text-button{margin-top:12px}

/* 1日体験キャストの「ランキングを見られるようにする」（2026-10-19） */
.team-ranking-check{margin:10px 0 0}.team-ranking-check .check-row{display:flex;align-items:flex-start;gap:10px;line-height:1.6;font-weight:600;cursor:pointer}.team-ranking-check .check-row input{flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:2px 0}.team-ranking-check p{margin:4px 0 0 30px}

.lc{--lc-brand:var(--tk-brand,#1f3553);--lc-border:var(--tk-border-subtle,#dce5ed);--lc-soft:var(--tk-bg-selected,#e2eff9);--lc-text:var(--tk-text-primary,#24354b);--lc-muted:#63758a;font-family:var(--tk-font,sans-serif);color:var(--lc-text);font-size:14px;line-height:1.65;min-width:0}
.lc *{box-sizing:border-box}.lc button,.lc input,.lc select,.lc textarea{font:inherit;color:inherit}.lc button{cursor:pointer}.lc button:disabled{cursor:default;opacity:.48}.lc :is(button,input,select,textarea,summary):focus-visible{outline:3px solid #68c6ee;outline-offset:3px}.lc input[type=checkbox],.lc input[type=radio]{accent-color:var(--lc-brand);width:18px;height:18px;flex-shrink:0;margin:0;cursor:pointer}.lc input:disabled{cursor:default}.lc h1,.lc h2,.lc h3,.lc p{margin:0}.lc h1{font-size:29px;line-height:1.4;letter-spacing:.015em;display:flex;gap:14px;align-items:center;flex-wrap:wrap;scroll-margin-top:125px}.lc h1:focus{outline:none}.lc h2{font-size:18px;line-height:1.5;display:flex;align-items:center;gap:8px}.lc h3{font-size:15px}.lc small{font-size:12px}.lc-workspace{min-width:0;border:0;padding:0;margin:0}.lc-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.lc-page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.lc-breadcrumb{font-size:12px;color:var(--lc-muted);margin-bottom:10px!important}.lc-subtitle{color:var(--lc-muted);margin-top:6px!important}.lc-sample-badge{font-size:11px;font-weight:600;border-radius:20px;background:var(--lc-soft);padding:3px 10px;color:#446687;white-space:nowrap}.lc-saved-label{display:flex;align-items:center;gap:4px;flex-shrink:0;color:var(--lc-muted);padding-top:18px}.lc-saved-label select{border:0;background:transparent;max-width:195px;font-size:12px;padding:8px;cursor:pointer}
.lc-steps{display:flex;margin:0 0 26px;gap:10px}.lc-steps button{display:flex;align-items:center;gap:12px;border:0;background:transparent;text-align:left;flex:1;white-space:nowrap;padding:4px 0;font-size:13px;position:relative}.lc-steps button:not(:last-child):after{content:"";height:1px;background:#becddc;flex:1;margin-left:12px}.lc-steps button>span{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:var(--lc-brand);color:white;flex-shrink:0}.lc-steps button:disabled{opacity:1;color:#8292a3}.lc-steps button:disabled>span{background:#c9d4df}.lc-steps button[aria-current=step] strong{color:var(--lc-brand)}
.lc-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.lc-editor,.lc-sidebar{min-width:0;display:grid;gap:18px}.lc-sidebar{position:sticky;top:120px}.lc-panel{background:#fff;border:1px solid var(--lc-border);border-radius:14px;padding:22px}.lc-template-panel{padding:20px}.lc-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:17px}.lc-template{background:white;border:1px solid #d1dce7;border-radius:9px;padding:20px 8px 15px;display:flex;align-items:center;flex-direction:column;gap:7px;position:relative;min-width:0}.lc-template strong{font-size:13px;white-space:nowrap}.lc-template small{font-size:11px;color:var(--lc-muted);white-space:nowrap}.lc-template[aria-pressed=true]{background:#eff7fd;border-color:var(--lc-brand);box-shadow:inset 0 0 0 1px var(--lc-brand)}.lc-template-check{position:absolute;top:9px;right:9px;display:grid;place-items:center;background:var(--lc-brand);color:#fff;border-radius:50%;width:18px;height:18px}
.lc-audience-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.lc-mode-switch{display:flex;border:1px solid var(--lc-border);border-radius:10px;background:#eaf0f5;padding:3px;gap:3px}.lc-mode-switch button{display:flex;align-items:center;justify-content:center;gap:7px;background:transparent;border:0;border-radius:7px;padding:8px 11px;font-size:12px;color:var(--lc-muted)}.lc-mode-switch button[aria-pressed=true]{background:#fff;color:var(--lc-brand);box-shadow:0 1px 3px #24354b0b;font-weight:600}.lc-field{display:grid;gap:7px;margin-top:18px;min-width:0}.lc-field>span{font-size:12px;color:#536b84;font-weight:500}.lc :is(input:not([type=checkbox],[type=radio],[type=file]),select,textarea){border:1px solid #cbd8e5;border-radius:8px;background:#fff;min-width:0;padding:10px 12px;max-width:100%;width:100%}.lc textarea{resize:vertical;line-height:1.8}.lc .lc-saved-label select{border:0;width:auto}.lc-helper{font-size:12px;color:var(--lc-muted);margin:18px 0 12px!important}.lc-rule-row{display:grid;grid-template-columns:135px minmax(0,1fr);align-items:center;margin:10px 0;gap:15px}.lc-rule-row>label{font-size:13px;color:#536b84}.lc-rule-row>select{max-width:220px}.lc-number-unit{display:flex;align-items:center;gap:12px}.lc-number-unit input{max-width:145px!important}.lc-number-unit>span{font-size:13px;white-space:nowrap}.lc-rule-divider{height:1px;background:var(--lc-border);margin:22px 0 18px}.lc-check-row{display:flex;align-items:center;gap:9px;font-size:13px;margin:14px 0 8px;cursor:pointer}.lc-locked{font-size:11px;color:var(--lc-muted);display:flex;align-items:center;gap:7px;margin-top:10px!important}.lc-rule-bottom{background:#edf6fd;border-radius:7px;padding:9px 11px;font-size:12px;color:#466588;display:flex;align-items:center;gap:8px;margin-top:18px}.lc-rule-panel .lc-wide{margin-top:15px}.lc-rule-panel .lc-small{margin-top:5px}
.lc-btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:43px;padding:10px 17px;border:1px solid #acbdce;background:white;border-radius:8px;font-size:13px!important;font-weight:600;white-space:nowrap;text-decoration:none}.lc-btn:hover:not(:disabled){background:#f3f8fc}.lc-primary{background:var(--lc-brand);border-color:var(--lc-brand);color:white!important;padding-inline:23px}.lc-primary:hover:not(:disabled){background:#294668}.lc-small{min-height:35px;padding:6px 10px;font-size:12px!important}.lc-wide{width:100%}.lc-text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;padding:8px 0;color:#3f638a!important;font-size:12px!important}.lc-text-button:hover{text-decoration:underline}.lc-total-value{display:flex;align-items:baseline;gap:9px;margin:5px 0 0}.lc-total-value strong{font-size:52px;line-height:1.4;letter-spacing:-.035em;font-weight:700;color:var(--lc-brand);font-variant-numeric:tabular-nums}.lc-total-value>span{font-size:19px;font-weight:600}.lc-total>p{font-size:11px;color:var(--lc-muted)}.lc-total dl{border-top:1px solid var(--lc-border);padding-top:14px;margin:17px 0 8px;display:grid;gap:5px}.lc-total dl>div{display:flex;justify-content:space-between;gap:10px}.lc-total dt{color:var(--lc-muted);font-size:12px}.lc-total dd{margin:0;font-size:13px;font-weight:600}.lc-total>.lc-text-button{display:flex;margin-left:auto}.lc-summary-note{display:flex;gap:8px;font-size:11px;color:var(--lc-muted);padding:0 12px}.lc-summary-note svg{margin-top:3px;flex-shrink:0}
.lc-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.lc-section-head>div>p{font-size:12px;color:var(--lc-muted);margin-top:5px}.lc-preview{padding:18px}.lc-preview h2{font-size:15px}.lc-tag,.lc-count{display:inline-flex;align-items:center;gap:5px;font-size:11px;background:#edf5fc;color:#3b607f;border-radius:5px;padding:3px 7px;white-space:nowrap}.lc-chat{background:#e3eef8;border-radius:10px;padding:0 13px 16px}.lc-chat-header{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#4e6782;padding:13px 0}.lc-message{background:white;border-radius:10px;overflow:hidden}.lc-message-image{height:137px;position:relative;background:#20344a}.lc-message-image img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.75)}.lc-message-image>span{position:absolute;bottom:17px;left:15px;right:10px;color:white;font-size:17px;font-weight:600;text-shadow:0 2px 10px #0008}.lc-message-body{padding:15px 13px}.lc-message-body>h3{font-size:13px;line-height:1.7}.lc-message-body>p{font-size:11px;white-space:pre-wrap;line-height:1.85;margin:7px 0 10px}.lc-benefit{font-size:11px;font-weight:600;color:#385575;background:#f1f6fb;padding:7px 8px;border-radius:5px;margin-bottom:9px;overflow-wrap:anywhere}.lc-message-body>small{font-size:10px;color:var(--lc-muted)}.lc-message-button{display:block;border-radius:6px;background:var(--lc-brand);color:white;font-weight:600;text-align:center;font-size:11px;padding:10px 7px;margin-top:12px;overflow-wrap:anywhere}.lc-footnote{font-size:11px!important;color:var(--lc-muted);margin-top:13px!important;display:flex;gap:6px;align-items:flex-start}.lc-footnote svg{flex-shrink:0;margin-top:2px}.lc-preview>.lc-footnote{font-size:10px!important;justify-content:center}.lc-notice,.lc-error{display:flex;align-items:center;gap:9px;padding:12px 15px;border-radius:8px;margin-bottom:18px;font-size:13px}.lc-notice{background:#eaf4ee;color:#315e43}.lc-notice svg{flex-shrink:0}.lc-notice button{margin-left:auto;border:0;background:transparent;display:grid;place-items:center}.lc-error{background:#fff0ee;color:#a3332b}.lc-saving{position:fixed;bottom:20px;left:50%;background:var(--lc-brand);color:#fff;padding:10px 25px;border-radius:25px;transform:translateX(-50%);z-index:10}
.lc-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--lc-border);padding:14px 0;margin-top:22px;position:sticky;bottom:0;background:var(--tk-bg-page,#f4f7fa);z-index:4}.lc-actions>div{display:flex;align-items:center;gap:20px;min-width:0}.lc-audience-context{padding:17px 20px}.lc-audience-context .lc-field{margin:0}.lc-audience-context>p{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--lc-muted);margin-top:12px}.lc-customers{padding:20px 0 0;overflow:hidden}.lc-customers .lc-section-head{padding:0 20px;align-items:flex-start}.lc-customers h2{font-size:17px}.lc-search{display:flex;align-items:center;gap:8px;border:1px solid #cbd8e5;border-radius:8px;margin:0 20px;padding:0 10px;color:#63758a}.lc .lc-search input{border:0;padding:10px 0;font-size:12px;outline:none}.lc-search:focus-within{outline:2px solid #68c6ee}.lc-search button{display:grid;place-items:center;background:none;border:0}.lc-list-filters{display:flex;margin:17px 20px 0;gap:18px;border-bottom:1px solid var(--lc-border)}.lc-list-filters button{display:flex;align-items:center;gap:6px;border:0;border-bottom:2px solid transparent;background:none;padding:8px 0 10px;font-size:12px;color:#63758a}.lc-list-filters button[aria-pressed=true]{border-color:var(--lc-brand);color:var(--lc-brand);font-weight:600}.lc-list-filters button span{font-size:10px;background:#eaf0f6;padding:0 5px;border-radius:4px;min-width:22px;text-align:center}.lc-table-tools{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;font-size:11px;color:var(--lc-muted)}.lc-table-tools>label{display:flex;align-items:center;gap:8px;cursor:pointer}.lc-table-scroll{overflow-x:auto}.lc table{border-collapse:collapse;width:100%;min-width:520px;text-align:left;font-size:12px;white-space:nowrap}.lc thead{background:#f5f8fb;color:#63758a;font-weight:400;font-size:11px}.lc th,.lc td{padding:13px 10px;border-bottom:1px solid #e8eef3;font-weight:400}.lc th:first-child,.lc td:first-child{padding-left:20px;width:42px}.lc tbody th strong{font-size:12px;font-weight:600}.lc tbody th strong small{font-weight:400;margin-left:4px;font-size:10px}.lc-customer-id{display:block;font-size:10px;font-weight:400;color:var(--lc-muted);margin-top:4px}.lc tbody td>small{display:block;font-size:10px;color:var(--lc-muted);margin-top:3px}.lc tbody td>.lc-inline{display:inline;margin-left:2px}.lc tbody tr.is-selected{background:#f5fafe}.lc tbody tr.is-ineligible{background:#fafbfd;color:#7b8999}.lc tbody tr:hover{background:#edf5fb}.lc-reason{font-size:10px;display:flex;align-items:center;gap:2px}.lc-pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;font-size:11px;color:#63758a}.lc-pagination>div{display:flex;align-items:center;gap:11px}.lc-icon-button{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--lc-border);background:#fff;border-radius:7px}.lc-customers>.lc-footnote{padding:0 20px 17px;margin-top:0!important}.lc-empty{padding:42px 15px;text-align:center;display:grid;justify-items:center;gap:10px}.lc-empty>p{color:var(--lc-muted);font-size:12px}.lc-empty>svg{color:#97aabd}
.lc-upload{display:flex;gap:18px;align-items:center;border:1px dashed #bacbdc;background:#f8fafc;border-radius:10px;padding:15px;margin-top:17px}.lc-upload>img{width:125px;height:85px;object-fit:cover;border-radius:7px}.lc-upload strong{font-size:12px}.lc-upload p{font-size:10px;color:var(--lc-muted);margin:3px 0 10px}.lc-upload label{cursor:pointer;position:relative;overflow:hidden}.lc-upload-input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.lc-upload .lc-text-button{display:block;font-size:10px!important}.lc-field-pair{display:grid;grid-template-columns:1.2fr 1fr;gap:15px}.lc-timing{display:flex;gap:22px;margin-top:20px;flex-wrap:wrap}.lc-timing label{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.lc-review{padding:30px}.lc-review-icon{display:grid;place-items:center;background:#edf5fd;color:var(--lc-brand);border-radius:50%;width:52px;height:52px;margin-bottom:14px}.lc-review>p{font-size:12px;color:var(--lc-muted);margin-top:8px}.lc-review dl{margin:24px 0}.lc-review dl>div{display:grid;grid-template-columns:95px 1fr;gap:15px;padding:18px 0;border-bottom:1px solid var(--lc-border);font-size:13px}.lc-review dt{color:var(--lc-muted);font-size:12px}.lc-review dd{margin:0;overflow-wrap:anywhere}.lc-review dd small{display:block;font-size:11px;color:var(--lc-muted);margin-top:3px}.lc-review dd strong{font-size:21px}.lc-review-recipients{font-size:12px}.lc-review-recipients summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:7px 0}.lc-review-recipients ul{max-height:240px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding-left:20px}.lc-review-note{display:flex;gap:12px;padding:16px;background:#edf5fd;border-radius:10px;margin-top:24px}.lc-review-note svg{flex-shrink:0;margin-top:3px}.lc-review-note strong{font-size:12px}.lc-review-note p{font-size:11px;color:var(--lc-muted);margin-top:3px}.lc-access{text-align:center;padding:70px 20px}.lc-access>svg{margin-bottom:16px}.lc-access h1{justify-content:center;font-size:23px}.lc-access p{margin-top:10px;color:var(--lc-muted)}
.lc .lc-rule-row>select{max-width:220px}.lc :is(input,button,select,textarea){scroll-margin-block:130px}.lc-upload:focus-within{outline:2px solid #68c6ee;outline-offset:3px}
@media(min-width:1550px){.lc-layout{grid-template-columns:minmax(0,1fr) 390px}.lc-message-image{height:162px}.lc-message-body{padding:18px}.lc-message-body>h3{font-size:15px}.lc-message-body>p,.lc-benefit,.lc-message-button{font-size:12px}}
@media(max-width:1150px){.lc-layout{grid-template-columns:minmax(0,1fr) 300px;gap:16px}.lc-panel{padding:18px}.lc-customers{padding:18px 0 0}.lc-template strong{font-size:12px}.lc-template small{font-size:10px}.lc-template-grid{gap:8px}.lc-template{padding:19px 5px 13px}.lc-saved-label{max-width:170px}.lc-saved-label select{max-width:145px}.lc-rule-row{grid-template-columns:115px 1fr}.lc-message-image{height:120px}}
@media(max-width:950px){.lc-layout{grid-template-columns:minmax(0,1fr) 285px}.lc-page-heading{align-items:flex-start}.lc h1{font-size:25px}.lc-template strong{font-size:11px}.lc-template small{font-size:9px}.lc-audience-toolbar>.lc-text-button{margin-left:auto}.lc-steps{gap:8px}.lc-steps button{font-size:11px;gap:7px}.lc-steps button:not(:last-child):after{margin-left:3px}.lc-steps button>span{width:28px;height:28px}.lc-saved-label{display:none}.lc-panel{padding:16px}.lc-customers{padding:16px 0 0}}
@media(max-width:740px){.lc-layout{grid-template-columns:1fr}.lc-sidebar{position:static;grid-template-columns:1fr;gap:16px}.lc h1{font-size:24px;gap:8px;scroll-margin-top:100px}.lc-page-heading{margin-bottom:18px}.lc-subtitle{font-size:12px}.lc-breadcrumb{font-size:11px}.lc-sample-badge{font-size:10px}.lc-steps button{flex-direction:column;gap:5px;justify-content:flex-start;text-align:center;font-size:10px;position:relative;white-space:normal}.lc-steps button:not(:last-child):after{position:absolute;width:45%;right:-27%;top:17px}.lc-steps button>span{width:28px;height:28px}.lc-template-grid{gap:9px}.lc-template strong{font-size:12px}.lc-template small{font-size:10px}.lc-template-panel>h2,.lc-panel>h2{font-size:17px}.lc-template{padding:20px 5px 14px}.lc-rule-row{grid-template-columns:110px 1fr}.lc-template-panel{padding:16px 13px}.lc-actions{padding:12px 0;gap:8px;bottom:0;flex-wrap:wrap}.lc-actions>div{gap:8px}.lc-actions .lc-btn{padding:11px 12px;font-size:12px!important}.lc-actions>div>.lc-text-button{font-size:11px!important}.lc-actions>div:last-child{margin-left:auto}.lc-summary-note{padding-bottom:7px}.lc-preview{max-width:460px;width:100%;margin:0 auto}.lc-total{display:grid;grid-template-columns:1fr auto;column-gap:12px}.lc-total h2{align-self:end}.lc-total-value{grid-column:2;grid-row:1/3;align-self:center;margin:0}.lc-total-value strong{font-size:43px}.lc-total>p{grid-column:1;font-size:10px}.lc-total dl{grid-column:1/3;margin-top:14px}.lc-total>.lc-text-button{grid-column:1/3}.lc-message-image{height:160px}.lc-message-body>h3{font-size:15px}.lc-message-body>p,.lc-benefit{font-size:12px}.lc-message-body>small{font-size:11px}.lc-message-button{font-size:12px}.lc-audience-toolbar{gap:6px}.lc-audience-toolbar>.lc-text-button{font-size:11px!important}.lc-mode-switch button{padding:8px;font-size:11px}.lc-upload{gap:12px;padding:12px}.lc-upload>img{width:100px;height:80px}.lc-field-pair{grid-template-columns:1fr;gap:0}.lc-timing{gap:13px;flex-direction:column}.lc-customers .lc-section-head{padding:0 14px}.lc-customers h2{font-size:15px}.lc-customers .lc-section-head p{font-size:11px}.lc-count{font-size:10px}.lc-search{margin-inline:14px}.lc-list-filters{margin-inline:14px}.lc-table-tools{padding-inline:14px}.lc-pagination{padding-inline:14px}.lc-review{padding:22px}.lc-review dl>div{grid-template-columns:75px 1fr}.lc-saved-label{display:flex;padding:0}.lc-page-heading{display:block}.lc-saved-label select{max-width:240px;font-size:11px}.lc-review-recipients ul{grid-template-columns:1fr 1fr}}
@media(max-width:380px){.lc h1{font-size:22px}.lc-template strong{font-size:10px}.lc-template small{font-size:9px}.lc-template-grid{gap:6px}.lc-template svg{width:25px;height:25px}.lc-actions{display:grid;grid-template-columns:1fr}.lc-actions>div:first-child{justify-content:flex-start}.lc-actions>div:last-child{width:100%;justify-content:space-between}.lc-rule-row{grid-template-columns:90px 1fr;gap:10px}.lc-rule-row>label{font-size:12px}.lc-review{padding:16px}.lc-subtitle{font-size:11px}}
@media(prefers-reduced-motion:reduce){.lc *{scroll-behavior:auto!important}}
.lc-table-actions{display:flex;align-items:center;gap:12px}.lc-table-actions>.lc-text-button{font-size:10px!important;padding:0}.lc-table-tools{gap:10px;flex-wrap:wrap}
@media(max-width:740px){.lc-template strong{white-space:normal;line-height:1.5;min-height:2.9em;display:grid;place-items:center}.lc-template small{white-space:normal;line-height:1.6;min-height:3.2em}.lc-template{gap:7px}.lc-actions{display:grid;grid-template-columns:auto minmax(0,1fr);row-gap:7px}.lc-actions>div{display:contents}.lc-actions>div:first-child>.lc-btn{grid-column:1;grid-row:2;justify-self:start}.lc-actions>div:last-child>.lc-text-button{grid-column:1/3;grid-row:1;justify-self:end;padding:1px 0}.lc-actions>div:last-child>.lc-primary{grid-column:2;grid-row:2;justify-self:end;white-space:normal;min-width:0;font-size:11px!important;padding:10px}.lc-actions .lc-btn{font-size:11px!important;padding:10px}.lc-template-panel .lc-template-grid{align-items:stretch}}

/* Integrated with the existing shell. */
.campaign-host{min-width:0;container-type:inline-size}.campaign-library{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:20px 0}.campaign-library .field{flex:1;min-width:220px;max-width:100%;margin:0}.campaign-library select{width:100%;min-width:0}.campaign-readiness{margin:16px 0 24px;padding:14px 18px;border:1px solid var(--tk-border-subtle,#dce5ed);background:var(--tk-bg-selected,#e2eff9);border-radius:12px;font-size:13px}.campaign-readiness summary{cursor:pointer;font-weight:600}.campaign-readiness p{margin:12px 0 0;line-height:1.8}.lc .lc-notice{background:var(--lc-soft);color:var(--lc-brand)}.lc-image-empty{display:grid;place-items:center;height:100%;color:#c9dfef}.lc-message-image{background:linear-gradient(130deg,#20344a,#4b81a0)}.lc .lc-actions{position:static}.lc .lc-template strong,.lc .lc-template small{white-space:normal;text-align:center;overflow-wrap:anywhere}.lc .lc-workspace:disabled{opacity:.7}.lc .lc-saved-label{display:flex}.lc .lc-upload p{font-size:12px}.lc .lc-message-body h3,.lc .lc-message-body p{overflow-wrap:anywhere}
@container(max-width:850px){.lc-layout{grid-template-columns:1fr}.lc-sidebar{position:static;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.lc-summary-note{grid-column:1/-1}.lc-page-heading{display:block}.lc-saved-label{padding:10px 0 0}.lc-template small{font-size:11px}}
@container(max-width:520px){.lc-sidebar{grid-template-columns:1fr}.lc-steps button{white-space:normal}.lc-saved-label{max-width:100%}.lc-saved-label select{max-width:100%}.lc-page-heading h1{font-size:23px}.lc-review-recipients ul{grid-template-columns:1fr}.campaign-library{align-items:stretch}.campaign-library .field{flex-basis:100%;min-width:0}}

.campaign-host .campaign-library>.action{width:auto;flex:0 0 auto;margin:0}.campaign-host .campaign-library>.field{width:auto;flex:1 1 300px}.lc-page-heading .lc-breadcrumb{display:none}.lc-page-heading h1{font-size:24px}.lc-page-heading{margin-top:16px}
@container(max-width:520px){.campaign-host .campaign-library>.action{flex:1 1 auto;font-size:12px;padding-inline:10px}}

.campaign-refresh{min-height:44px;padding:10px 12px;white-space:nowrap}@container(max-width:520px){.campaign-host .campaign-library>.action{flex:1 0 100%;font-size:14px}.campaign-host .campaign-library>.field{flex:1 0 100%}.campaign-refresh{margin-left:auto}}
/* 注意書きは文節で折り返し、最後の行に1〜2文字だけ残さない。枠の中の文字は背景に対して読める濃さにする（P28） */
.lc-footnote,.lc-review dd small,.lc-review-note p{word-break:auto-phrase;text-wrap:pretty}
.lc-review-note p{color:#52647a}

/* Shared UI audit corrections. Preserve readable type and reserve room for controls. */
.app-shell details.recovery>summary::after{content:'＋';margin-left:auto;font-size:18px}.app-shell details.recovery[open]>summary::after{content:'−'}
.app-shell .action.is-destructive{background:#a3332b;border-color:#a3332b;color:#fff}
.queue>.section-heading h2{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:18px}
.queue>.section-heading>.action{width:auto;flex:1;min-width:0;margin:0}
.payout-pending{scroll-margin-top:90px}
@media(max-width:900px){.payout-pending{scroll-margin-top:136px}}
.app-shell input[readonly]{background:var(--tk-bg-soft);color:var(--tk-text-secondary-on-page)}
.payout-voided{background:#f5f6f5}.payout-voided>.pay-amount{text-decoration:line-through;color:#647168}.pay-payouts input[aria-invalid=true]{border:2px solid #a33f38}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app-shell{--muted:var(--tk-text-secondary-on-page);--border:var(--tk-border-subtle)}
.app-shell .app-header{position:sticky;top:0;z-index:12;min-height:70px;padding:12px 24px;gap:20px;background:#fffffff5;backdrop-filter:blur(12px)}
.app-header .brand{flex-shrink:0}.app-header .header-right{margin-left:auto;gap:10px}
.app-header .audience-label{border:0;padding:0;font-size:13px;color:var(--tk-text-primary);white-space:nowrap}
.header-location{min-width:0;color:var(--tk-text-secondary-on-page);font-size:14px}.header-location>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-header .store-selector{margin:0;min-width:150px;max-width:240px}.app-header .store-selector select{min-height:44px;padding:8px 12px}
.environment-info{margin:0 24px;color:var(--tk-text-secondary-on-page);font-size:12px;text-align:right}.environment-info>summary{display:inline-flex;align-items:center;gap:6px;min-height:24px;cursor:pointer;list-style:none}.environment-info>summary::-webkit-details-marker{display:none}.environment-info>p{padding:8px 0}
.app-shell .app-main{padding-top:20px}.app-shell .page-title{margin-bottom:20px}.app-shell .page-title h1{font-size:25px;letter-spacing:-.035em}
.app-shell .icon-button,.app-shell .text-button{min-height:44px}.app-shell .icon-button{min-width:44px}
.app-shell .small,.app-shell small{font-size:13px}.app-shell .app-footer{font-size:12px}
.app-shell .app-navigation{display:flex;align-items:stretch;gap:0;padding:6px 6px max(8px,env(safe-area-inset-bottom));max-width:560px;width:100%;overflow:visible;background:#fffffff5}
.app-navigation .nav-shortcuts{display:flex;flex:1;min-width:0;align-items:stretch}
.app-navigation .nav-shortcuts button,.app-navigation .nav-more{flex:1;min-width:0;min-height:58px;padding:6px 3px;font-size:12px;line-height:1.35;color:var(--tk-text-secondary-on-page);gap:5px}
.app-navigation .nav-shortcuts button.selected,.app-navigation .nav-more.selected{color:var(--tk-brand);background:var(--tk-bg-selected)}
.app-navigation .nav-shortcuts .nav-extra{display:none}.app-navigation .nav-more{flex:0 0 19%}
.all-menu{display:grid;gap:6px}.all-menu button{display:flex;align-items:center;gap:14px;padding:12px;min-height:52px;border:0;border-radius:10px;background:white;color:var(--tk-brand);text-align:left;font-size:16px}.all-menu button>span{flex:1}.all-menu button[aria-current=page]{background:var(--tk-bg-soft);font-weight:650}.all-menu .all-menu-link{display:flex;align-items:center;gap:14px;padding:12px;min-height:52px;border-radius:10px;background:white;color:var(--tk-brand);text-decoration:none;font-size:16px}.all-menu .all-menu-link>span{flex:1}
#app-assistant-slot:empty{display:none}#app-assistant-slot .assistant-launcher{position:static;inset:auto;margin:0;min-height:44px;min-width:44px;padding:8px 12px;border-radius:12px;box-shadow:none;font-size:13px;gap:7px;white-space:nowrap}
#app-assistant-slot .assistant-launcher svg{width:20px;height:20px}
.app-shell .contract-journey-header,.app-shell .hiring-editor{scroll-margin-top:90px}
.journey-next button[hidden]{display:none}
.admin-dashboard>.section-heading{margin:0 0 12px;align-items:flex-start}.admin-dashboard>.section-heading .page-title{margin:0}.admin-dashboard .admin-metrics{gap:12px;margin:16px 0 20px}.admin-dashboard .admin-metrics .paper-card{padding:16px 18px;gap:8px;margin:0}.admin-dashboard .admin-metrics strong{font-size:28px}.admin-dashboard .admin-metrics span{font-size:13px}
.admin-dashboard .dashboard-task{min-height:60px;padding:10px 0}.admin-dashboard .dashboard-task-count{font-size:22px;padding:5px;flex-basis:44px}.admin-dashboard .dashboard-task-copy{gap:3px}.admin-dashboard .dashboard-task-copy strong{font-size:16px}
.dashboard-task-groups{display:grid;gap:18px}.dashboard-task-group>h3{color:var(--tk-text-secondary-on-page);font-size:14px;margin:8px 0}.dashboard-task-group .dashboard-task:last-child{border:0}
.dashboard-data-note{font-size:13px;color:var(--tk-text-secondary-on-page)}.dashboard-data-note summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.dashboard-data-note>p{margin:0 0 12px}
.dashboard-metric-link{cursor:pointer;text-align:left;color:inherit;font:inherit}.dashboard-metric-link .metric-label{display:flex;justify-content:space-between;gap:8px;align-items:center}
.staff-home-grid.staff-home-secondary{margin:20px 0;grid-template-columns:repeat(2,minmax(0,1fr))}.staff-home-grid.staff-home-secondary>button{min-height:128px;gap:8px}.staff-next .action{margin-top:18px}.staff-next p{margin-bottom:0}.staff-first-use{margin-top:22px}.staff-first-use summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600}
@media(min-width:1100px){
 .staff-shell{max-width:none}.staff-shell:has(.app-navigation) .app-main{margin-left:236px;margin-right:auto;max-width:1320px;padding:22px 32px 48px}
 .staff-shell .app-navigation{position:fixed;top:100px;bottom:16px;left:16px;right:auto;transform:none;margin:0;width:204px;max-height:calc(100dvh - 116px);border:1px solid var(--border);border-radius:14px;padding:8px;overflow-y:auto;overscroll-behavior:contain}
 .staff-shell .app-navigation .nav-shortcuts{display:flex;flex-direction:column;gap:3px;min-height:0;flex:none;width:100%}
 .staff-shell .app-navigation .nav-shortcuts button{display:flex;flex-direction:row;justify-content:flex-start;flex:none;gap:11px;text-align:left;padding:11px 10px;min-height:46px;font-size:14px}
 .staff-shell .app-navigation .nav-more{display:none}
 .dashboard-task-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
 .admin-dashboard .dashboard-attention{padding:20px}.admin-dashboard .dashboard-task{align-items:flex-start}.admin-dashboard .dashboard-task>svg{margin-top:10px}
}
@media(max-width:1099px){
 .staff-shell .app-main,.admin-shell .app-main{padding:18px 20px 110px}
 #app:has(.contract-journey) .staff-shell .app-navigation,#app:has(.hiring-editor) .staff-shell .app-navigation{position:fixed;bottom:0;left:50%;top:auto;right:auto;transform:translateX(-50%);margin:0}
 .app-shell .app-header{padding:10px 16px;gap:12px;flex-wrap:wrap;min-height:66px}.app-header .brand-reds{font-size:30px}.app-header .admin-brand{font-size:24px}
 .header-location{order:3;flex:1 0 100%;font-size:13px}.app-header .store-selector{max-width:none;width:100%}.app-header .store-selector select{min-height:42px}
 .app-header .header-reauth{display:none}.app-header .header-right{gap:8px}.app-header .audience-label{font-size:12px}
 .environment-info{margin:0 16px;font-size:11px}.app-shell .app-main{padding-top:16px}.app-shell .page-title h1{font-size:23px}
 .admin-dashboard .admin-metrics{gap:10px;margin:14px 0 18px}.admin-dashboard .admin-metrics .paper-card{padding:12px 14px;gap:6px}.admin-dashboard .admin-metrics strong{font-size:26px}
 .admin-dashboard .dashboard-attention{padding:16px}.admin-dashboard .dashboard-attention h2{font-size:18px}.dashboard-task-groups{gap:12px}.admin-dashboard .dashboard-task{min-height:60px}
}
@media(max-width:380px){#app-assistant-slot .assistant-launcher{padding:8px;font-size:12px;gap:4px}.app-header .header-right{gap:5px}.app-shell .app-header{padding-left:12px;padding-right:12px;gap:8px}.app-shell .icon-button{min-width:40px}}
/* Prevent older workforce navigation rules from forcing wide mobile items. */
.app-shell.staff-shell .app-navigation .nav-shortcuts button{flex:1 1 0;white-space:normal;overflow-wrap:anywhere}
.app-shell.staff-shell .app-navigation .nav-more{flex:0 0 19%;white-space:normal}
.app-shell.staff-shell .app-navigation .nav-shortcuts{width:0}
.app-shell .admin-login{display:block;min-height:0;max-width:440px;margin:24px auto 0}
.app-shell .admin-login-card{padding:28px;gap:16px}.admin-login-card .form-stack{gap:20px}
.admin-login-card h2{margin:0 0 4px;font-size:23px}.admin-login-links .text-button{font-size:13px;min-height:44px}
.admin-customer-link{display:flex;min-height:44px;justify-content:center;align-items:center;color:var(--tk-text-secondary-on-page);font-size:13px;text-decoration:none}
.password-input{position:relative;display:block}.password-input input{padding-right:52px!important}.password-input .icon-button{position:absolute;right:3px;top:3px;min-height:44px;width:44px}
.app-shell:has(.admin-login)>.app-main>.app-footer{display:none}
@media(min-width:1100px){.app-shell.staff-shell .app-navigation .nav-shortcuts{width:100%}.app-shell.staff-shell .app-navigation .nav-shortcuts button{flex:none;white-space:normal}}
@media(max-width:1099px){.app-shell .admin-login{margin:8px auto 0}.app-shell .admin-login-card{padding:24px}.app-shell .icon-button{min-width:44px}}
/* Keep the contract actions visible beside an independently readable document. */
.hiring:has(.contract-journey)>.page-title{display:none}.hiring{position:relative}.hiring>.hiring-save:not(.requires-attention){position:absolute;right:0;top:0;width:44px;margin:0;z-index:2}.hiring:has(.contract-journey)>.hiring-save:not(.requires-attention){right:12px;top:12px}
.hiring:has(.contract-journey)>.hiring-save>span{font-size:12px}.hiring-person:has(.contract-journey){padding:0;border:0;background:transparent}
.contract-journey{display:grid;grid-template-columns:190px minmax(0,1fr);gap:28px;align-items:start}
.contract-library{grid-template-columns:minmax(0,1fr)}.hiring-person:has(.contract-library){max-width:720px}.contract-complete{display:inline-flex;align-items:center;gap:6px;color:#245d40;font-size:14px;white-space:nowrap;margin-left:auto}.contract-library h4{font-size:18px;margin:20px 0 8px}.contract-library details{margin-top:12px}.contract-library .hiring-actions{display:grid;gap:8px}.contract-library .hiring-actions>.action{width:100%}
.contract-progress{padding:18px 0}.contract-progress ol{list-style:none;padding:0;margin:0;display:grid;gap:0}.contract-progress li{position:relative;display:flex;align-items:center;gap:12px;min-height:58px;color:var(--tk-text-secondary-on-page);font-size:14px}
.contract-progress li:not(:last-child):after{content:'';position:absolute;left:14px;top:42px;width:1px;height:32px;background:var(--tk-bg-soft)}.step-number{width:29px;height:29px;display:grid;place-items:center;border:1px solid var(--tk-border-subtle);border-radius:50%;flex-shrink:0;font-size:13px;background:#f8faf8}
.contract-progress li.done{color:#3d6b50}.contract-progress li.current{color:var(--tk-brand);font-weight:700}.contract-progress li.current .step-number{color:white;background:var(--tk-brand);border-color:var(--tk-border-subtle)}
.contract-stage{padding:24px;background:white;border:1px solid var(--tk-border-subtle);border-radius:16px;min-width:0}
.contract-stage .contract-journey-header{border:0;margin:0 0 12px;padding:0;display:flex;align-items:center;gap:8px}.contract-journey-header>div{flex:1;min-width:0}.contract-journey-header>.icon-button{flex-shrink:0}.hiring:has(.contract-journey)>.hiring-save:not(.requires-attention){display:none}.contract-stage .contract-journey-header p{font-size:13px}.contract-stage .contract-journey-header h3{font-size:24px;line-height:1.4;margin:7px 0}
.contract-stage .hiring-test-label{font-size:12px;margin:0 0 12px;color:var(--tk-text-secondary-on-page)}.contract-reading{min-height:100px;overflow:auto;overscroll-behavior:contain;padding:16px;border:1px solid var(--tk-border-subtle);border-radius:10px;background:#f8faf8;scrollbar-gutter:stable}
.contract-reading h4{margin:0 0 8px;font-size:16px}.contract-reading p{font-size:14px}.contract-reading .hiring-body{padding:0;background:none;margin:16px 0;line-height:1.8;font-size:16px}
.contract-stage-actions{padding-top:14px}.contract-stage-actions .hiring-actions{margin:0}.contract-stage-actions .journey-next{margin-top:10px}.contract-stage-actions .journey-next:empty{display:none}
.contract-stage-actions .journey-next:has(>button[hidden]:only-child){display:none}.contract-stage-actions .journey-next button{margin:0}
.contract-stage details>summary{min-height:44px;cursor:pointer}
.phase-document .contract-stage{display:flex;flex-direction:column;height:calc(100dvh - 176px);min-height:430px;max-height:850px}.phase-document .contract-reading{flex:1;min-height:0}
@media(max-width:1099px){
 .contract-journey{display:block}.contract-progress{padding:0 0 12px}.contract-progress ol{display:flex;justify-content:space-between}.contract-progress li{min-height:32px;flex:1;justify-content:center}.contract-progress li:not(:last-child):after{left:calc(50% + 17px);right:calc(-50% + 17px);width:auto;top:16px;height:1px}.contract-progress .step-name{display:none}
 .contract-stage{padding:18px}.contract-stage .contract-journey-header h3{font-size:22px}.hiring:has(.contract-journey)>.hiring-save{margin:0;min-height:40px}.hiring:has(.contract-journey)>.hiring-save>span{visibility:hidden}
 .phase-document .contract-stage{height:calc(100dvh - 305px);min-height:330px;max-height:none}.contract-reading{padding:13px}.contract-stage-actions{padding-top:12px}
}
.app-navigation .nav-label-wide{display:none}.app-navigation .nav-label-short{display:block}
.hiring:has(.contract-journey)>.hiring-save{padding:0;min-height:44px}.hiring-person:has(.contract-journey){margin-top:0}
.hiring:has(.hiring-editor)>.hiring-save:not(.requires-attention){display:none}
.app-shell .admin-login .action:disabled{background:var(--tk-bg-soft);border-color:var(--tk-border-subtle);color:var(--tk-text-secondary-on-page);opacity:1;cursor:not-allowed}.admin-organization{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left}
.hiring .contract-photo.compact{margin:0;padding:0;border:0;background:transparent}.contract-photo.compact>p:first-child{margin-top:0}.contract-photo.compact>button{width:100%;margin-bottom:12px}.contract-photo.compact>details{font-size:14px}.contract-photo.compact .check-row{line-height:1.5}.contract-auth-setup>p:first-child{margin-top:0}.camera-failed .capture-layout{height:auto;min-height:100dvh;grid-template-rows:auto minmax(80px,1fr) auto auto}.camera-failed .capture-stage{max-height:120px;align-self:center;background:transparent}
@media(min-width:1100px){.app-navigation .nav-label-wide{display:block}.app-navigation .nav-label-short{display:none}}
@media(max-width:1099px){.phase-document .contract-stage{height:calc(100dvh - 329px)}}
.environment-info>summary:after{content:'⌄';font-size:15px;margin-left:4px}.environment-info[open]>summary:after{content:'⌃'}
.app-shell:has(.admin-login)>.environment-info{max-width:440px;margin:0 auto;padding:0 4px}
@media(max-width:500px){.app-shell:has(.admin-login)>.environment-info{margin:0 20px}}
.team-tabs{display:flex;align-items:stretch;gap:6px;margin:0 0 20px;padding:4px;background:var(--tk-bg-soft);border-radius:12px}.team-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-height:48px;border:0;border-radius:9px;color:var(--tk-text-secondary-on-page);background:transparent;font-size:14px}.team-tabs button[aria-pressed=true]{background:white;color:var(--tk-brand);box-shadow:0 2px 5px #1f355310;font-weight:650}.team-tabs button>span{font-size:12px;background:var(--tk-bg-soft);border-radius:16px;padding:2px 7px}
.team-panel[hidden]{display:none}.team-panel .team-person{padding:14px 0}.team-panel .team-person-actions .action{width:auto;min-width:128px}.team-invite-panel{max-width:720px}.team-invite-panel>p{margin-bottom:16px}.team-invite-panel .team-fields{gap:18px}.team-invite-panel .form-stack{gap:18px}.team-access-actions{margin-top:24px;border-top:1px solid var(--tk-border-subtle);padding-top:10px}.team-access-actions>summary,.team-preview>summary{min-height:44px;cursor:pointer}.team-preview{margin-top:20px;font-size:13px}.team-preview a{margin-right:20px}
.hiring>.section-heading>.action{width:auto;min-width:150px}
@media(max-width:600px){.team-tabs{gap:2px;padding:3px}.team-tabs button{font-size:13px;gap:4px}.team-tabs button>span{padding:2px 5px}.team-panel .form-row{gap:14px}.team-panel .team-person{gap:12px}.team-panel .team-person-actions{align-items:flex-start}.team-invite-panel{padding:20px}}
.hiring:has(.hiring-editor)>.page-title{display:none}.hiring-editor button[hidden]{display:none}.hiring-quiz-editor .hiring-heading h2{font-size:22px}.hiring-quiz-editor .hiring-test-label{margin:8px 0!important}
.hiring-quiz-editor .hiring-question{padding:0;border:0;margin:12px 0;background:none}.hiring-quiz-editor .hiring-question legend{font-size:17px;margin:0 0 12px}.hiring-quiz-editor .hiring-question .check-row{border:1px solid var(--tk-border-subtle);background:white;border-radius:10px;padding:12px;min-height:50px;gap:12px;margin-bottom:8px}.hiring-quiz-editor .hiring-question .check-row.selected{border-color:var(--tk-border-control);background:var(--tk-bg-selected)}
.quiz-progress{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;margin-top:12px}.quiz-progress>div{display:flex;gap:6px}.quiz-progress>div>span{height:5px;width:30px;background:var(--tk-bg-soft);border-radius:3px}.quiz-progress>div>span.current{background:var(--tk-brand)}.quiz-progress>div>span.answered{background:var(--tk-border-control)}
.quiz-navigation{display:flex;gap:10px}.quiz-navigation button{margin:0!important;flex:1}.hiring-quiz-editor>fieldset>.action{margin-top:10px}
.modal[open]{display:flex;flex-direction:column;padding:20px;max-height:90dvh;overflow:hidden}.modal-heading{display:flex;align-items:flex-start;gap:12px;flex-shrink:0;margin-bottom:12px}.modal-heading h2{flex:1;margin:5px 0 0!important;font-size:19px;line-height:1.5}.modal-heading .icon-button{flex-shrink:0}.modal-body{overflow:auto;overscroll-behavior:contain;min-height:0;padding:0 4px 4px;scrollbar-gutter:stable}.modal-body:focus-visible{outline-offset:-3px}
.contract-reading{overflow-y:scroll;scrollbar-width:auto;scrollbar-color:var(--tk-border-subtle) var(--tk-border-subtle)}.contract-reading::-webkit-scrollbar{width:8px}.contract-reading::-webkit-scrollbar-thumb{background:var(--tk-text-secondary-on-page);border-radius:8px}.contract-reading::-webkit-scrollbar-track{background:var(--tk-bg-soft)}
.dashboard-data-note>summary:after{content:'⌄';margin-left:8px;font-size:17px}
@media(max-width:600px){.modal[open]{padding:16px;max-height:calc(100dvh - 32px)}.modal-body{padding:0 2px 4px}.modal-heading h2{font-size:18px}}
.workforce{gap:16px}.workforce .wf-save{padding:0;background:transparent;gap:8px;min-height:44px;font-size:12px}.workforce .wf-save small{display:inline;margin-left:12px}.workforce .wf-save>svg{width:16px}.workforce .wf-clock{padding:20px;margin:0}.workforce .wf-clock h2{font-size:22px;margin:4px 0}.workforce .assistant-gaps{padding:0;border:1px solid var(--tk-border-subtle);border-radius:12px;background:white}.workforce .assistant-gaps>summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:12px 16px;min-height:48px;font-size:15px;font-weight:600}.workforce .assistant-gaps>summary:after{content:'⌄';margin-left:8px}.workforce .assistant-gaps>summary strong{margin-left:auto;font-size:14px}.workforce .assistant-gaps[open]{padding-bottom:16px}.workforce .assistant-gaps>p,.workforce .assistant-gaps>.assistant-gap{margin:0 16px 8px}
.wf-calendar-panel>summary,.wf-accompaniment-disclosure>summary{min-height:48px;cursor:pointer;font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px}.wf-calendar-panel>summary:after,.wf-accompaniment-disclosure>summary:after{content:'⌄';margin-left:auto}.wf-calendar-panel,.wf-accompaniment-disclosure{border:1px solid var(--tk-border-subtle);border-radius:12px;background:white;padding:0 16px}.wf-calendar-panel .wf-calendar{margin:0 0 16px}.wf-accompaniment-disclosure .wf-accompaniment{margin:8px 0 16px}.wf-summary{padding:14px 8px}.wf-tabs button{min-height:44px}.wf-row summary{min-height:44px}
@media(max-width:600px){.workforce .wf-save small{display:block;margin:0}.workforce .wf-period{gap:8px}.workforce .wf-summary>span{font-size:12px}.workforce .wf-calendar{display:block}.workforce .wf-calendar>.wf-weekday,.workforce .wf-calendar>.wf-calendar-empty{display:none}.workforce .wf-calendar>div{display:flex;flex-direction:row;min-height:52px;padding:10px 14px;gap:12px}.workforce .wf-calendar>div>span{font-size:14px;flex:1;text-align:left}.workforce .wf-calendar small{font-size:12px;white-space:nowrap}.workforce .wf-clock-actions{margin-top:12px}}
.hiring:has(.hiring-editor)>.hiring-save{padding:0;min-height:44px;margin:0}
.hiring-editor.hiring-quiz-editor{margin-top:0;max-width:760px}.hiring-editor.hiring-quiz-editor .hiring-heading h2{margin:0}
.hiring-editor.hiring-quiz-editor fieldset.hiring-question{padding:0;margin:12px 0;border:0}.hiring-editor.hiring-quiz-editor fieldset.hiring-question>label.check-row{margin:0 0 8px;padding:12px;align-items:center}
.hiring:has(.hiring-quiz-editor)>.hiring-save:not(.requires-attention){display:none}
.daily .wf-save,.payroll>.wf-save{padding:0;background:transparent;min-height:44px}.daily .wf-save>span,.payroll>.wf-save>span{font-size:12px}
.daily-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:16px;margin:12px 0 20px}.daily-toolbar .action{width:auto;min-width:200px;margin-left:auto}.daily-report-link>svg{flex-shrink:0;color:var(--tk-text-primary)}.daily-report-link .daily-report-amount{margin-left:auto}.daily-report-link .daily-report-amount>small:first-child{font-size:12px}.daily-list .daily-report-link.needs-review{border-left:4px solid var(--tk-border-subtle)}.daily-list .daily-report-link.needs-correction{border-left:4px solid #ae7b3d}.daily-list .daily-report-link .wf-badge{font-size:12px;margin-top:6px;padding:4px 7px}
.pay-payout-panel[hidden]{display:none}.pay-toolbar{align-items:end;gap:20px;justify-content:flex-start}.pay-toolbar .wf-tabs{flex-wrap:wrap}.wf-tabs button[aria-pressed=true]{box-shadow:inset 0 -3px 0 var(--tk-brand);background:white;color:var(--tk-brand)}.pay-payouts .wf-section-heading{flex-direction:row;align-items:center}.pay-payouts .payout-rules{font-size:13px;margin:12px 0 18px}.payout-rules>summary{min-height:44px;cursor:pointer;display:flex;align-items:center;gap:8px}.payout-rules>summary:after{content:'⌄'}.payout-rules>p{padding:12px;background:var(--tk-bg-soft);border-radius:10px}
.commerce-bill-grid .bill-requested{border:2px solid #9e7c43}.commerce-admin-tabs button{min-height:44px}.commerce-admin-tabs button.selected{box-shadow:inset 0 -3px 0 var(--tk-brand)}
@media(max-width:600px){.daily-toolbar{gap:12px}.daily-toolbar .action{width:100%;margin:0}.daily-list .daily-report-link{gap:10px;padding:16px 12px}.daily-list .daily-report-link>span:first-child{min-width:0;flex:1}.daily-list .daily-report-link .daily-report-amount strong{font-size:20px}.daily-list .daily-report-link .daily-report-amount>small{font-size:11px}.pay-toolbar .wf-tabs{width:100%}.pay-toolbar .wf-tabs button{padding:8px 12px;flex:1;font-size:13px}}

/* Daily editing shows one task at a time while keeping every draft field mounted. */
.daily-form fieldset[hidden]{display:none}
.daily-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:8px 0 16px}
.daily-steps button{display:flex;gap:6px;align-items:center;justify-content:center;min-width:0;padding:10px 8px}
.daily-steps button span{font-variant-numeric:tabular-nums}
.daily-step-body{max-height:max(240px,calc(100dvh - 420px));overflow:auto;overscroll-behavior:contain;padding:0 4px 12px;scrollbar-gutter:stable}
.daily-step-body fieldset{margin:0}
.daily-step-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--line,var(--tk-border-subtle))}
.daily-month-list{margin:24px 0}.daily-month-list>summary{font-weight:700;padding:12px 0;cursor:pointer}
.daily-selected{margin-top:16px}
@media(max-width:620px){.daily-steps button{flex-direction:column;gap:3px;font-size:14px}.daily-step-body{max-height:max(240px,calc(100dvh - 450px))}.daily-step-actions .button{flex:1}.wf-summary:has(>span:nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}}

.daily-step-body{max-height:max(180px,calc(100dvh - 500px))}.daily-step-actions{position:fixed;bottom:20px;left:268px;right:32px;background:#fff;padding:12px 20px;border:1px solid var(--tk-border-subtle);border-radius:12px;z-index:80}.daily-editor{padding-bottom:90px}.camera-permission-help{font-size:14px}.capture-instructions p{text-wrap:pretty}
@media(max-width:839px){.daily-step-body{max-height:max(160px,calc(100dvh - 560px))}.daily-step-actions{left:20px;right:20px;bottom:calc(82px + env(safe-area-inset-bottom));padding:12px}.daily-editor{padding-bottom:90px}}

.quiz-navigation button:last-child{margin-left:auto!important}.quiz-navigation button:only-child{flex:0 1 calc(50% - 5px)}.hiring-quiz-editor .modal .hiring-body{max-height:none}.contract-reading{position:relative;border-bottom:3px solid var(--tk-border-subtle)}

.pay-step[hidden]{display:none}.pay-steps{display:flex;gap:4px;margin-bottom:16px}.pay-steps button{flex:1;padding:10px 8px}.pay-step-body{max-height:max(180px,calc(100dvh - 480px));overflow:auto;overscroll-behavior:contain;padding:0 4px 16px;scrollbar-gutter:stable}.pay-step-body fieldset{border:0;padding:0;margin:0}.pay-step-actions{display:flex;justify-content:flex-end;gap:12px;position:fixed;bottom:20px;left:268px;right:32px;background:white;padding:12px 20px;border:1px solid var(--tk-border-subtle);border-radius:12px;z-index:80}.pay-editor{padding-bottom:90px}.pay-editor>.small{display:none}@media(max-width:839px){.pay-step-body{max-height:max(160px,calc(100dvh - 520px))}.pay-step-actions{left:20px;right:20px;bottom:calc(82px + env(safe-area-inset-bottom));padding:12px}.pay-steps button{font-size:14px}}
.hiring-manager-person:has(.hiring-record-details[open] [data-assistant-control=review])>.hiring-next{display:none}

.hiring-quiz-editor .quiz-progress{margin-top:4px;flex-wrap:wrap;gap:4px 12px}.hiring-quiz-editor .quiz-progress>button{margin-left:auto}.hiring-quiz-editor .quiz-progress>div{width:100%;margin:0 0 4px}.hiring-quiz-editor .quiz-progress>div>span{flex:1;width:auto}.hiring-editor.hiring-quiz-editor>.hiring-heading{margin-bottom:8px}.hiring-editor.hiring-quiz-editor fieldset.hiring-question>label.check-row{min-height:44px;padding:9px 12px;margin:0 0 6px}.hiring-editor.hiring-quiz-editor fieldset.hiring-question legend{margin-bottom:8px}.hiring-editor.hiring-quiz-editor fieldset.hiring-question{margin:6px 0 12px}.hiring-quiz-editor>fieldset{padding:0;border:0;margin:0}.hiring-quiz-editor .quiz-navigation button{min-height:48px}.daily-steps{width:100%}.daily-steps button{white-space:nowrap}
@media(max-width:620px){.app-shell:has(.hiring-quiz-editor)>.environment-info{display:none}.app-shell:has(.hiring-quiz-editor)>.app-header .header-location{display:none}.app-shell:has(.hiring-quiz-editor)>.app-main{padding-top:12px}.hiring-editor.hiring-quiz-editor{padding:16px}.hiring-quiz-editor .hiring-heading{gap:8px}.hiring-quiz-editor .hiring-heading h2{font-size:21px}}

.table-scroll-wrap{min-width:0;position:relative}.table-scroll{overflow:auto;max-width:100%;overscroll-behavior-x:contain}.table-scroll:focus-visible{outline:3px solid #9e7c43;outline-offset:2px}.table-scroll-hint{text-align:right;font-size:18px;letter-spacing:3px;color:var(--tk-text-secondary-on-page);height:26px}.daily-scroll table{font-size:14px}.daily-scroll small{font-size:12px}.daily-bottom-actions{display:flex;justify-content:flex-end;margin:20px 0}.draft-tools{margin-top:16px;border-top:1px solid var(--tk-border-subtle);padding-top:12px}.daily-print .table-scroll-hint{display:none}.daily-print .table-scroll{overflow:visible}

.payroll:has(.pay-editor:not([hidden]))>.page-title,.daily:has(.daily-editor:not([hidden]))>.page-title{display:none}.pay-editor>.wf-section-heading,.daily-editor>.wf-section-heading{display:flex;flex-wrap:nowrap;align-items:center;margin-bottom:8px}.pay-editor>.wf-section-heading h2,.daily-editor>.wf-section-heading h2{font-size:20px;margin:4px 0}.pay-editor>.wf-section-heading button,.daily-editor>.wf-section-heading button{flex-shrink:0}.pay-editor .draft-tools,.daily-editor .draft-tools{font-size:13px}.pay-step-body,.daily-step-body{scroll-padding:12px}
.pay-editor>.wf-section-heading,.daily-editor>.wf-section-heading{flex-direction:row;text-align:left}.pay-editor,.daily-editor{margin-top:12px}

.auth-steps{display:flex;list-style:none;padding:0;margin:16px 0;gap:8px;font-size:13px}.auth-steps li{flex:1;display:flex;gap:6px;align-items:center;padding:8px 0;border-bottom:3px solid var(--tk-border-subtle);color:var(--tk-text-secondary-on-page)}.auth-steps li.current{color:var(--tk-brand);border-color:var(--tk-border-subtle);font-weight:700}.auth-steps li.done{border-color:var(--tk-border-subtle)}.auth-steps li>span{font-variant-numeric:tabular-nums}.auth-step-actions{display:flex;gap:10px;align-items:center}.auth-step-actions button:last-child{flex:1}.admin-mfa-setup .recovery-codes pre{columns:2;font-size:15px;line-height:1.9;white-space:pre;overflow:auto;letter-spacing:.3px}.admin-mfa-setup .recovery-codes h3{font-size:18px}.admin-mfa-setup .recovery-codes label{display:flex;align-items:center;gap:8px;min-height:44px}.admin-mfa-setup .recovery-codes input{width:20px;height:20px}.admin-link-steps{display:grid;gap:12px}.admin-link-steps .action{display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;margin:0}.admin-link-steps .action>span{font-variant-numeric:tabular-nums}.invite-confirm-values{display:grid;grid-template-columns:100px 1fr;gap:10px}.invite-confirm-values dd{margin:0;overflow-wrap:anywhere}
.admin-login-loading{display:grid;place-items:center;min-height:min(480px,calc(100dvh - 160px))}.admin-mail-address{overflow-wrap:anywhere}.modal:has(.admin-login),.modal:has(.admin-login-loading){min-height:min(560px,calc(100dvh - 32px))}
.pay-review-summary{display:grid;grid-template-columns:100px 1fr;gap:8px;margin:0 0 16px;font-size:14px}.pay-review-summary dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.admin-login-card .auth-step-actions>.action{width:auto;min-width:0;margin:0}.admin-login-card .auth-step-actions>.action:first-child{flex:0 0 auto}.admin-login-card .auth-step-actions>.action:last-child{flex:1}
.admin-login-card:has(.admin-mfa-setup){padding:20px 24px}.admin-login-card:has(.admin-mfa-setup)>h2{margin:12px 0;font-size:22px}.admin-login-card:has(.admin-mfa-setup)>p{margin:0 0 8px}.admin-mfa-setup .admin-qr{width:180px;height:180px}.admin-mfa-setup .auth-steps{margin:12px 0}.admin-mfa-setup .recovery-codes{margin:0;padding:12px}.admin-mfa-setup .recovery-codes h3{margin:0 0 6px}.admin-mfa-setup .recovery-codes p{margin:6px 0}.admin-mfa-setup .recovery-codes pre{margin:8px 0;line-height:1.65;font-size:14px}.admin-mfa-setup .auth-step-actions{margin-top:12px}
.app-shell .admin-login-card:has(.admin-mfa-setup){gap:8px;padding:18px 20px}.app-shell .admin-login-card:has(.admin-mfa-setup)>h2{margin:0;font-size:22px}.app-shell .admin-login-card:has(.admin-mfa-setup)>p{margin:0}.app-shell:has(.admin-mfa-setup)>.environment-info{display:none}.invite-confirm-values dt{white-space:nowrap}.invite-confirm-values{grid-template-columns:112px 1fr}
@media(max-height:700px){.app-shell .admin-login-card:has(.admin-mfa-setup){padding-top:12px;padding-bottom:12px}.admin-mfa-setup .auth-steps{margin:4px 0}.admin-mfa-setup .auth-step-actions{margin-top:8px}}
.daily-payout-record{padding:10px 14px;border:1px solid var(--tk-border-subtle);border-radius:10px;background:#f5f8f6}.daily-scroll td details summary{padding:6px 8px;min-height:44px;width:max-content;max-width:100%}.pay-form label.check-row{display:flex;align-items:center;gap:8px}.pay-form label.check-row input{width:20px;height:20px;min-height:20px;flex:0 0 auto}.notice ul{list-style:none;padding-left:0}
@media(max-width:839px){.daily-step-actions,.pay-step-actions{left:0;right:0;bottom:calc(64px + max(8px,env(safe-area-inset-bottom)));border-radius:0;border-left:0;border-right:0;border-bottom:0;padding:12px 20px;box-shadow:0 -4px 16px #1f355310}.pay-grid{grid-template-columns:1fr!important}}
.commerce-edit-actions{position:sticky;bottom:0;display:flex;gap:12px;align-items:center;padding:14px 0 2px;background:var(--paper,#fff);border-top:1px solid var(--border,var(--tk-border-subtle));z-index:1}.commerce-edit-actions>.action{flex:1;margin:0}

/* Recovery comparisons keep the next action visible and cancellation distinct. */
.modal.reservation-comparison{width:min(780px,calc(100% - 30px))}
.reservation-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.reservation-comparison-grid .paper-card{min-width:0;padding:16px}.reservation-comparison-grid dd{overflow-wrap:anywhere;margin:0 0 10px}
.reservation-comparison-grid dt{font-size:12px;color:var(--muted)}
.reservation-comparison-actions{position:sticky;bottom:-20px;background:#fafcf9;border-top:1px solid var(--border);padding:12px 0 6px;z-index:1}
.modal .reservation-comparison-actions .action{margin-top:8px}
.reservation-comparison-actions .reservation-cancel-outline{border-color:#a3332b;color:#a3332b}
.app-shell .pay-payouts input[aria-invalid=true]{border:2px solid #a33f38;outline-color:#a33f38}
@media(max-width:600px){.reservation-comparison-grid{grid-template-columns:1fr}.reservation-comparison-actions{bottom:-20px}}
@media(max-width:1099px){.hiring:has(.contract-journey)>.hiring-save>span{visibility:visible}}

.reservation-difference{background:#fff2cc;border-left:3px solid #ae7926;padding:5px 8px;font-weight:650}

@media(max-width:600px){.queue-item .inline-actions{display:grid;grid-template-columns:1fr;gap:4px}.queue-item .inline-actions .text-button{min-height:44px;justify-content:flex-start}.reservation-comparison-actions .action{text-wrap:balance}}

.app-shell .pay-editor[hidden]{display:none}

.modal-heading h2{text-wrap:balance}

@media(max-width:640px){.team-search{grid-template-columns:1fr}}

.keep-word{white-space:nowrap}
.pay-rate-summary{line-break:strict}

.action.danger{background:#96392f;border:1px solid #96392f;color:#fff}.action.secondary.danger{background:#fff;color:#96392f;border-color:#96392f}.action.danger:disabled{opacity:.45}

.website-cast-add{display:flex;align-items:flex-end}.website-cast-add>.field{flex:1;min-width:0}.website-cast-add>.action{margin:0;flex:0 0 auto;width:auto;min-width:72px}

.photo-inspect .capture-stage .contract-photo-image{width:100%;height:100%;max-width:none;max-height:none;margin:0;object-fit:contain;border-radius:0}.photo-inspect .capture-instructions{text-align:center}

.photo-inspect .capture-layout footer{display:grid;grid-template-columns:1fr 1.4fr}.photo-inspect .capture-layout footer button{margin:0;max-width:none;padding:12px;min-height:52px;font-size:17px}

.photo-inspect .capture-layout header h2{margin-right:auto}.photo-zoom-button{display:flex;align-items:center;gap:6px;min-height:44px;padding:8px 12px;border:1px solid var(--tk-border-subtle);border-radius:10px;background:transparent;color:inherit;font:inherit}.photo-inspect .capture-stage.photo-zoomed{display:block;overflow:auto;touch-action:pan-x pan-y;overscroll-behavior:contain}.photo-inspect .capture-stage.photo-zoomed .contract-photo-image{width:200%;height:auto;max-width:none;max-height:none}
.contract-journey details>summary{display:flex;align-items:center;gap:12px;min-height:44px;list-style:none;cursor:pointer}
.contract-journey details>summary::-webkit-details-marker{display:none}
.contract-journey details>summary::after{content:'＋';margin-left:auto;font-weight:400}
.contract-journey details[open]>summary::after{content:'−'}
.pay-mine .pay-page-heading{margin-bottom:8px}
/* Tablet operation dialogs and reservation comparisons share compact action placement. */
.tablet-admin .tablet-device-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),420px));align-items:start}.tablet-admin .tablet-device .action:disabled{background:#eef1ef;border-color:var(--tk-border-subtle);color:var(--tk-text-secondary-on-page);opacity:1}.tablet-admin-messages,.tablet-admin-history{margin:16px 0;border:1px solid var(--border);border-radius:14px;background:white;padding:0 18px}.tablet-admin-messages>summary,.tablet-admin-history>summary{display:flex;align-items:center;gap:12px;min-height:52px;cursor:pointer;list-style:none;font-weight:650}.tablet-admin-messages>summary:after,.tablet-admin-history>summary:after,.tablet-settings>summary:after{content:'＋';margin-left:auto}.tablet-admin-messages[open]>summary:after,.tablet-admin-history[open]>summary:after,.tablet-settings[open]>summary:after{content:'−'}.tablet-admin-messages>summary span{font-weight:400;font-size:13px;color:var(--muted)}.tablet-admin-messages>summary::-webkit-details-marker,.tablet-admin-history>summary::-webkit-details-marker,.tablet-settings>summary::-webkit-details-marker{display:none}.tablet-settings>summary{display:flex;list-style:none}.tablet-admin [id]{scroll-margin-top:150px}.tablet-admin input[aria-invalid=true]{border-color:#b64939;outline-color:#b64939}.tablet-revoked{border-top:1px solid var(--border);padding-top:16px}.tablet-admin-modal{max-width:600px}.tablet-admin-modal .modal-body{padding-bottom:0}.tablet-admin-actions{position:sticky;bottom:0;background:white;border-top:1px solid var(--border);padding:14px 0;display:flex;gap:12px;margin-top:18px;z-index:2}.tablet-admin-actions .action{flex:1;margin:0!important;min-width:0}.tablet-admin-actions .secondary{flex:0 0 88px}.tablet-admin .team-grid>.paper-card .action{max-width:360px}
.reservation-diff-head,.reservation-diff-row>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reservation-diff-head{position:sticky;top:-20px;background:white;z-index:1;padding:12px 0;border-bottom:1px solid var(--border)}.reservation-diff-head strong{font-size:15px}.reservation-diff-row{padding:12px 0;border-bottom:1px solid var(--border)}.reservation-diff-row h3{font-size:12px;color:var(--muted);margin:0 0 6px}.reservation-diff-row p{font-size:15px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff7e4;padding:10px;border-radius:8px;margin:0;min-width:0}.reservation-diff dl{display:grid;gap:10px}.reservation-diff dt{font-size:12px;color:var(--muted)}.reservation-diff dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0}.reservation-cancel-actions{display:flex;gap:12px;margin-top:18px}.reservation-cancel-actions .action{flex:1;margin:0!important}.reservation-card.cancelled{background:#f3f5f3}.reservation-comparison .reservation-comparison-actions .small{margin:10px 0 4px}
.reservation-time-details,.reservation-options{border:1px solid var(--border);padding:0 16px;border-radius:12px;background:white}.reservation-time-details>summary,.reservation-options>summary{display:flex;align-items:center;gap:10px;min-height:50px;cursor:pointer;list-style:none;font-weight:600}.reservation-time-details>summary span,.reservation-options>summary span{font-size:12px;color:var(--muted);font-weight:400;margin-left:auto}.reservation-time-details>summary:after,.reservation-options>summary:after{content:'＋'}.reservation-time-details[open]>summary:after,.reservation-options[open]>summary:after{content:'−'}.reservation-time-details>summary::-webkit-details-marker,.reservation-options>summary::-webkit-details-marker{display:none}.reservation-time-details fieldset,.reservation-options .field{margin:12px 0 16px}.reservation-input-actions{position:sticky;bottom:92px;background:var(--bg,#fafcf9);padding:10px 0;margin:0!important;z-index:2}.reservation-input-actions .action{margin:0!important}.reservation-input .choice-grid{margin-top:8px}
.reservation-input-actions{position:static;padding:0;background:transparent}.reservation-resolution-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reservation-resolution-options .action{min-width:0;margin-top:0!important;font-size:14px}.reservation-diff>.recovery{margin-top:0;border-top:0}.reservation-comparison-actions>.text-button{display:flex;justify-content:center;width:100%;min-height:44px}.reservation-current-label{font-size:18px;margin:20px 0 8px}

.tablet-people{display:grid;grid-template-columns:52px minmax(72px,120px) 52px;gap:8px}.tablet-people button{min-height:48px;background:white;border:1px solid var(--border);border-radius:12px;font:inherit;font-size:22px;color:var(--ink)}.tablet-people input{text-align:center;min-width:0}.tablet-people button:disabled{opacity:.4}.tablet-pending{border-left:4px solid #ad7a26;background:#fff9ed}.tablet-admin .notice.success{display:flex;align-items:center;justify-content:space-between;gap:12px}.tablet-admin .notice.success .icon-button{flex:0 0 44px}

.tablet-admin .notice.success>div{display:flex;align-items:center;flex:1;gap:12px}.tablet-admin .notice.success>div>span{flex:1}.tablet-people input{appearance:textfield;-moz-appearance:textfield}.tablet-people input::-webkit-inner-spin-button,.tablet-people input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

.dashboard-work-entry{padding:24px;margin-bottom:20px}.dashboard-work-entry h2{margin:0 0 8px}.dashboard-work-entry .wf-inline{margin-top:16px;flex-wrap:wrap}
.table-qr-settings,.table-qr-requests{margin:20px 0;padding:24px}.table-qr-list{display:grid;gap:12px;margin-top:20px}.table-qr-list article,.table-qr-requests article{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid #e5e7eb}.table-qr-list article strong,.table-qr-requests article>div{flex:1;min-width:140px}.table-qr-print{text-align:center;padding:24px}.table-qr-print h1{font-size:40px;margin:12px 0}.table-qr-print img{display:block;max-width:100%;height:auto;margin:16px auto}.table-qr-print p{line-height:1.8}
@media print{
 body:has(.table-qr-print) *:not(:has(.table-qr-print)):not(.table-qr-print):not(.table-qr-print *){display:none!important}
 html:has(.table-qr-print),body:has(.table-qr-print),body:has(.table-qr-print) *:has(.table-qr-print){position:static!important;display:block!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;margin:0!important;padding:0!important;transform:none!important;background:white!important;border:0!important;box-shadow:none!important}
 body:has(.table-qr-print) .table-qr-print{position:static;break-inside:avoid;max-width:170mm;margin:0 auto;padding:10mm;color:black;background:white}
 body:has(.table-qr-print) .table-qr-print img{width:90mm;height:90mm}
}

.tablet-admin .table-qr-list .action,.tablet-admin .table-qr-requests .action{width:auto;margin:0;flex-shrink:0}
/* 卓のQR：図面の席のまとめて作成・卓を追加・まとめて印刷 */
.table-qr-plan{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:16px;padding:16px;border:1px solid var(--tk-border-subtle);border-radius:12px;background:var(--tk-bg-soft)}
.table-qr-plan>div{flex:1 1 260px}.table-qr-plan p{margin:4px 0 0}
.table-qr-toolbar{display:flex;justify-content:flex-end;margin-top:12px}.table-qr-toolbar:empty{display:none}
.table-qr-add{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:16px 0}.table-qr-add .field{flex:1 1 180px;margin:0}
.tablet-admin .table-qr-list .table-qr-add-open{justify-self:start;margin-top:8px}
.table-qr-list .table-qr-remove{margin-left:12px}
.table-qr-remove-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:16px}
.table-qr-sheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:16px}
.table-qr-sheet .table-qr-print{padding:8px;border:1px solid #e5e7eb;border-radius:8px}.table-qr-sheet .table-qr-print h1{font-size:24px;margin:4px 0}.table-qr-sheet .table-qr-print h2{font-size:13px;margin:0}.table-qr-sheet .table-qr-print p,.table-qr-sheet .table-qr-print small{display:none}.table-qr-sheet .table-qr-print img{width:120px;height:120px;margin:4px auto}
@media print{.table-qr-sheet{display:block!important}.table-qr-sheet .table-qr-print{border:0}.table-qr-sheet .table-qr-print h1{font-size:40px}.table-qr-sheet .table-qr-print h2{font-size:16px}.table-qr-sheet .table-qr-print p,.table-qr-sheet .table-qr-print small{display:block!important}.table-qr-sheet .table-qr-print img{width:90mm;height:90mm}}
@media(max-width:600px){.tablet-admin .table-qr-list .action,.tablet-admin .table-qr-requests .action{width:100%}}

.commerce-opening-basis{margin:16px 0;padding:14px 16px;background:var(--tk-bg-soft);border:1px solid var(--border);border-radius:12px;font-size:14px;line-height:1.7}.commerce-opening-basis p{margin:4px 0}
/* ホームの対応一覧の「なぜ」と「次にやること」（第2段④）。既存の水色の業務画面の部品のまま、理由の1行と行き先のボタンを足す */
.admin-dashboard .dashboard-task-guided{align-items:flex-start;cursor:default}
.admin-dashboard .dashboard-task-guided:hover{background:none}
.dashboard-task-reason{display:block;font-size:14px;line-height:1.6;color:var(--tk-text-primary,#1f2a26);overflow-wrap:break-word;word-break:auto-phrase}
.admin-dashboard .dashboard-next{justify-self:start;margin-top:6px;min-height:44px;padding:8px 14px;gap:6px;font-size:14px;display:inline-flex;align-items:center;flex-wrap:nowrap;max-width:100%;width:auto;text-align:left}.admin-dashboard .dashboard-next>span{min-width:0}.admin-dashboard .dashboard-next .dashboard-next-label{white-space:nowrap;flex:none}
.dashboard-next-label{font-size:12px;font-weight:500;opacity:.85}.dashboard-next-label::after{content:'：'}
.dashboard-task-wait{display:block;font-size:13px;color:var(--tk-text-secondary-on-page);line-height:1.6}
p.dashboard-owner-wait{font-size:14px;color:var(--tk-text-secondary-on-page);line-height:1.6}
/* 行き先で、印の記録を固定の見出しの下へ出して一時的に強調する */
[data-open-record]{scroll-margin-top:120px}
.open-target{outline:3px solid var(--tk-focus,#2f7d6d);outline-offset:3px;border-radius:12px;transition:outline-color .4s}
.daily-next-issue{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin:0 0 12px;padding:10px 12px;border-radius:10px;background:#f5ede2;color:#6b4214;font-size:14px;line-height:1.6}
.daily-next-issue strong{font-size:12px}
@media(max-width:600px){.admin-dashboard .dashboard-next{width:100%;justify-content:center}}

/* はじめてガイド（店長・オーナー）。スタッフ用アプリ（/staff/）と管理画面（/admin/）の両方の入口で使うので、全部の束に入るこのファイルに置く。。採用試作 design-lab/owner-manager-onboarding-20261011 の見た目。押す所は黄色く脈打ち、見るだけの所は白い細枠 */
.coach{position:fixed;inset:0;z-index:2000;pointer-events:none;--coach-spot:#FFD65A;--coach-shade:rgba(14,24,38,.62)}
.coach>*{pointer-events:auto}
.coach-shade{position:fixed;background:var(--coach-shade)}
.coach-ring{position:fixed;border-radius:14px;pointer-events:none;box-shadow:0 0 0 2px rgba(255,255,255,.85);transition:left .25s ease,top .25s ease,width .25s ease,height .25s ease}
.coach-ring.is-tap{box-shadow:0 0 0 3px var(--coach-spot);animation:coach-pulse 1.6s ease-in-out infinite}
.coach-ring.is-tap::after{content:"";position:absolute;right:-8px;bottom:-8px;width:22px;height:22px;border-radius:50%;background:var(--coach-spot);box-shadow:0 0 0 6px rgba(255,214,90,.35)}
.coach-block{position:fixed;background:transparent}
.coach-tip{box-sizing:border-box;position:fixed;width:min(330px,calc(100vw - 24px));background:var(--tk-bg-surface);color:var(--tk-text-primary);border-radius:16px;padding:14px 16px 12px;box-shadow:0 12px 30px rgba(0,0,0,.28);display:grid;gap:8px;outline:none;max-height:calc(100vh - 24px);overflow:auto}
.coach-tip.is-center{left:50%;top:50%;transform:translate(-50%,-50%);width:min(340px,calc(100vw - 40px));padding:22px 20px 16px}
.coach-tip:focus-visible{outline:3px solid var(--tk-accent);outline-offset:2px}
.coach-kick{display:flex;justify-content:space-between;margin:0;font-size:.74rem;font-weight:800;letter-spacing:.06em;color:#8A5E00}
.coach-kick span:last-child{color:var(--tk-text-secondary);font-weight:600;letter-spacing:0;font-variant-numeric:tabular-nums}
.coach-tip h2{margin:0;font-size:1.05rem;line-height:1.45;text-wrap:balance}
.coach-tip.is-center h2{font-size:1.25rem}
.coach-body{margin:0;font-size:.88rem;line-height:1.65;color:var(--tk-text-secondary-on-page)}
.coach-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}
/* 「次へ」は右に小さく、「あとで」は1行（試作どおり。全幅の .action に押されて「あと/で」と折り返していた） */
.coach-foot .action{width:auto;flex:none;min-width:96px;margin:0}
.coach-foot .text-button{white-space:nowrap;flex:none}
.coach-hint{font-size:.82rem;font-weight:700;color:#8A5E00}
.coach-center-actions{display:grid;gap:8px;margin-top:4px}
.coach-center-actions .action{width:100%}
/* 「あとで」の札：ホームの初期設定のカードのすぐ下に、流れの中で小さく置く（浮かせない。スマホで必ず何かを隠すため） */
#coach-later-slot:empty{display:none}
#coach-later-slot{margin:0 0 16px}
.coach-offer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0;padding:14px 16px}.coach-offer p{display:grid;gap:2px;margin:0;min-width:0}.coach-offer small{color:var(--tk-text-secondary,#62748a);font-size:13px}.coach-offer-actions{display:flex;gap:8px;flex:0 0 auto}.coach-offer-actions .action{width:auto;min-height:44px;margin:0;padding-inline:16px;white-space:nowrap}
@keyframes coach-pulse{0%,100%{box-shadow:0 0 0 3px var(--coach-spot)}50%{box-shadow:0 0 0 6px rgba(255,214,90,.55)}}
@media (prefers-reduced-motion:reduce){.coach-ring,.coach-ring.is-tap{animation:none;transition:none}}

/* 会計の画面：次にやること（合計のすぐ下）と、まとめて畳む変更（店長スマホの実機テスト 2026-10-24） */
.commerce-next{display:grid;gap:10px;margin:14px 0}
.commerce-next>.button,.commerce-next>button{width:100%}
.commerce-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.commerce-grid2>.button,.commerce-grid2>button{width:100%;min-width:0;height:auto;min-height:48px;margin:0;white-space:normal;padding:6px 8px;font-size:14px;line-height:1.3;text-align:center}
.commerce-grid2>.button *,.commerce-grid2>button *{white-space:normal;overflow-wrap:anywhere}
.commerce-unserved-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}
.commerce-unserved-row>span{min-width:0}
.commerce-unserved-row>.button,.commerce-unserved-row>button{flex:none;width:auto;margin:0}
.commerce-change-zone,.commerce-breakdown-toggle{margin:12px 0;border-top:1px solid var(--line,#d9e2ea);padding-top:10px}
.commerce-change-zone>summary,.commerce-breakdown-toggle>summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center;gap:6px}
.commerce-change-zone>summary::before,.commerce-breakdown-toggle>summary::before{content:'▸'}.commerce-change-zone[open]>summary::before,.commerce-breakdown-toggle[open]>summary::before{content:'▾'}
.commerce-change-zone>.commerce-actions{margin-top:8px}
/* 2列のボタンは長い名前を2行に折り返す（テーマのボタンの nowrap が詳細度で勝つため、この1行だけ !important） */
html .commerce-grid2>button.action{white-space:normal!important;overflow-wrap:anywhere;height:auto}

/* Auth and staff entry only. Full product branding is a separate integration. */
body:has(.staff-pwa){background:var(--tk-bg-page);color:var(--tk-text-primary)}
.staff-pwa{--green:var(--tk-brand);--dark:var(--tk-text-primary);--muted:var(--tk-text-secondary-on-page);--border:var(--tk-border-subtle);--pale:var(--tk-bg-soft)}
.staff-pwa .app-header{background:white;color:var(--tk-brand);border-bottom:1px solid var(--tk-border-subtle)}
.staff-pwa .app-header .audience-label,.staff-pwa .app-header .header-location,.staff-pwa .app-header .icon-button,.staff-pwa .app-header .header-reauth{color:var(--tk-brand)}
.staff-pwa #app-assistant-slot .assistant-launcher{background:var(--tk-brand);border-color:var(--tk-brand);color:white}
.staff-pwa .app-header .store-selector select{background:white;color:var(--tk-text-primary)}
.staff-brand-logo{display:block;width:150px;height:50px;object-fit:contain}
.staff-pwa .action:not(.secondary):not(.danger):not(.is-destructive):not(:disabled):not([aria-disabled=true]){background:var(--tk-action-primary);border-color:var(--tk-action-primary);color:var(--tk-action-on-primary)}
.staff-pwa .action.secondary:not(.danger){color:var(--tk-brand);border-color:var(--tk-border-control);background:white}
.staff-pwa .action:disabled{background:var(--tk-disabled-bg);border-color:var(--tk-border-subtle);color:var(--tk-disabled-text)}
.staff-pwa .text-button:not(.danger),.staff-pwa .page-title h1,.staff-pwa .admin-login h2{color:var(--tk-text-primary)}
.staff-pwa .admin-login-card{border-color:var(--tk-border-subtle);box-shadow:0 12px 36px #1f35530a}
.staff-pwa .admin-login .field input{border-color:var(--tk-border-control);color:var(--tk-text-primary)}
.staff-pwa .admin-login .field input:focus{outline:2px solid var(--tk-focus);outline-offset:2px;border-color:var(--tk-border-control)}
.staff-pwa .admin-login .admin-link{background:var(--tk-bg-soft);border-color:var(--tk-border-subtle)}
.staff-pwa .auth-steps .current{color:var(--tk-brand)}
.staff-pwa .auth-steps .current>span,.staff-pwa .auth-steps .done>span{background:var(--tk-brand);color:white}
.staff-login-role{display:block;font-weight:400;margin-top:4px;color:inherit}
.staff-pwa .app-navigation .nav-shortcuts button.selected,.staff-pwa .app-navigation .nav-more.selected,.staff-pwa .all-menu button[aria-current=page],.staff-team-tabs [aria-pressed=true]{background:var(--tk-bg-selected);color:var(--tk-brand);box-shadow:none;border-color:transparent}
.staff-team-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.staff-team-tabs .text-button{padding:8px 14px;border-radius:10px}
.staff-pwa .team-person>.action{width:auto;flex:0 0 auto;max-width:100%}
.staff-pwa .app-main{padding-bottom:max(120px,calc(90px + env(safe-area-inset-bottom)))}
.staff-invite-review dd{overflow-wrap:anywhere}
.staff-saved-input summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:650}
.staff-saved-input p{line-height:1.7}
.staff-pwa .team-job-option.selected{background:var(--tk-bg-selected);color:var(--tk-brand);border-color:transparent;box-shadow:none}
.staff-pwa input[type=checkbox],.staff-pwa input[type=radio]{accent-color:var(--tk-brand)}
.staff-install{max-width:560px;margin:12px auto 0;padding:0 20px;color:var(--tk-text-secondary-on-page);font-size:14px}
.staff-install summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px}
.staff-install p{margin:8px 0 12px;line-height:1.7}
@media(max-width:600px){.staff-pwa .app-header{padding:8px 14px;gap:10px}.staff-brand-logo{width:123px;height:41px}.staff-pwa .app-header .store-selector{min-width:90px;max-width:160px}.staff-pwa .app-header .header-right{gap:2px}.staff-pwa .admin-login-card{padding:24px 20px}.staff-team-tabs{gap:4px}.staff-team-tabs .text-button{padding:8px 10px}}

.staff-saved-input summary::after{content:"⌄";margin-left:auto;padding-left:12px}.staff-saved-input[open] summary::after{content:"⌃"}

/* Staff access forms keep headings and actions readable at desktop and phone widths. */
.staff-email-team{max-width:1040px;min-width:0}
.staff-email-team .section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.staff-email-team .section-heading h2{flex:1 1 230px;min-width:0;margin:0;line-height:1.5}
.staff-email-team .section-heading>.action{flex:0 0 auto;width:auto;max-width:100%;margin:0;padding-inline:20px;white-space:normal}
.staff-email-team .paper-card{padding:24px}
.staff-email-team .paper-card>h2{margin:0 0 24px;line-height:1.5}
.staff-email-team .section-heading+.field{max-width:480px}
.staff-email-team .team-person{gap:24px}
.staff-email-team .team-person>div:first-child{min-width:0;overflow-wrap:anywhere}
.staff-email-team .team-person-actions{flex:0 1 260px;display:grid;justify-items:stretch;gap:12px}
.staff-email-team .team-person-actions>.action{width:100%;margin:0;min-width:0}
.staff-email-team .team-person-actions>.text-button{text-align:center;line-height:1.6;min-height:44px}
.staff-email-team .team-invitation-card .form-stack{max-width:800px;gap:20px}
.staff-email-team .team-invitation-card .team-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;border:0;padding:0;margin:0;min-width:0}
.staff-email-team .team-invitation-card .team-fields>.field{margin:0;min-width:0}
.staff-email-team .team-invitation-card .team-fields>.field:nth-of-type(3){grid-column:1/-1;max-width:388px;width:100%}
.staff-email-team .team-invitation-card .team-fields>:is(fieldset,p,.notice){grid-column:1/-1;min-width:0;margin:0}
.staff-email-team .team-fields input:not([type=checkbox]),.staff-email-team .team-fields select{width:100%;min-width:0;min-height:48px;border-color:var(--tk-border-control);line-height:1.5}
.staff-email-team .team-fields legend{line-height:1.5;margin-bottom:12px}
.staff-email-team .team-job-option{min-width:0;gap:10px;line-height:1.5}
.staff-email-team .team-job-option input,.staff-email-team .check-row input{flex:0 0 auto}
.staff-email-team .team-invitation-card .form-stack>.action{width:auto;align-self:flex-start;max-width:100%;margin:0;min-width:240px;padding-inline:24px}
.staff-email-team .staff-access-edit{width:min(640px,calc(100% - 30px))}
.staff-email-team .staff-access-edit .team-edit-scroll{overflow:visible;overscroll-behavior:auto;padding:2px 0 20px;scrollbar-gutter:auto}
.staff-email-team .staff-access-edit .team-fields{margin-top:8px;gap:20px}
.staff-email-team .staff-access-edit .team-job-options{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:650px){
 .staff-email-team .paper-card{padding:20px}
 .staff-email-team .section-heading{align-items:stretch;gap:12px}
 .staff-email-team .section-heading h2{flex-basis:100%}
 .staff-email-team .section-heading>.action{width:100%}
 .staff-email-team .team-person-actions{flex-basis:auto;width:100%}
 .staff-email-team .team-invitation-card .team-fields{grid-template-columns:minmax(0,1fr);gap:20px}
 .staff-email-team .team-invitation-card .team-fields>.field:nth-of-type(3){max-width:none}
 .staff-email-team .team-invitation-card .form-stack>.action{width:100%;min-width:0}
 .staff-email-team .staff-access-edit .team-job-options{grid-template-columns:minmax(0,1fr)}
}

/* Applicant account: the approved cast dashboard starts after admission. */
.onboarding { max-width: 960px; margin: 0 auto; }
.onboarding-footnote { text-align: center; color: var(--muted, #63758a); margin: 24px 0; font-size: 13px; }
.applicant-steps { display: flex; list-style: none; padding: 0; gap: 12px; margin: 8px 0 28px; }
.applicant-steps li { flex: 1; text-align: center; font-size: 12px; color: #62778e; }
.applicant-steps li span { display: grid; place-items: center; width: 32px; height: 32px; margin: 0 auto 8px; border-radius: 50%; background: #e8eff7; color: #52667d; font-weight: 700; }
.applicant-steps li[aria-current=step] { color: #1764bf; font-weight: 700; }
.applicant-steps li[aria-current=step] span, .applicant-steps li.is-complete span { background: #1764bf; color: white; }
.onboarding-selection { line-height: 1.7; font-size: 14px; }
.intake-documents { margin-block: 20px; }
.intake-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 20px; }
.intake-file { min-width: 0; border: 1px solid #dce6f0; border-radius: 16px; padding: 20px; background: #f7faff; display: flex; flex-direction: column; gap: 14px; }
.intake-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.intake-heading h4 { margin: 0; font-size: 16px; }
.intake-name { overflow-wrap: anywhere; margin: 0; font-size: 14px; }
.intake-file input[type=file] { max-width: 100%; padding: 10px 0; border: 0; font-size: 13px; background: transparent; }
.intake-file .is-ready { color: #1764bf; background: #e6f0ff; }
.candidate-email form { display: flex; align-items: end; flex-wrap: wrap; gap: 16px; }
.candidate-email .field { flex: 1 1 280px; }
@media (max-width: 640px) { .intake-grid { grid-template-columns: 1fr; } .applicant-steps { gap: 4px; } .applicant-steps li { font-size: 10px; } .intake-file { padding: 16px; } }

.onboarding-intro { margin: 8px 0 28px; }
.onboarding-intro h1 { font-size: 24px; margin: 0 0 10px; }
.onboarding-intro p { color: #64758a; line-height: 1.7; font-size: 14px; }
.onboarding .applicant-steps { margin-top: 12px; }
.onboarding .applicant-profile .contract-stage { width: 100%; padding: 24px; background: white; border: 1px solid #dce6f0; border-radius: 18px; }
.onboarding .applicant-profile .contract-journey-header { margin-bottom: 20px; }
.onboarding .applicant-profile .hiring-record-details { margin-top: 20px; }
/* 採用・入店：在籍・体験入店・書類の扱い、満了の一覧、職員名簿（監査 P16）。既存の水色の部品に合わせる。 */
.hiring-extras section{margin:16px 0;padding-top:12px;border-top:1px solid var(--tk-border-subtle)}.hiring-extras section:first-of-type{border-top:0;padding-top:0}.hiring-extras h3{font-size:15px;margin:0 0 6px;display:flex;align-items:center;gap:8px}
.hiring-manual-mark{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:600;background:var(--tk-bg-soft);color:var(--tk-brand);border:1px dashed var(--tk-line-brand)}
.hiring-overview{margin:14px 0}.hiring-summary-list{list-style:none;margin:0;padding:0}.hiring-summary-list li{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--tk-border-subtle)}.hiring-summary-list li>span:first-child{flex:1;min-width:160px;display:flex;flex-direction:column}.hiring-summary-list small{color:var(--tk-text-secondary-on-page)}
.hiring-summary-list .badge,.staff-roster .badge{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--tk-bg-soft);color:var(--tk-text-primary);white-space:nowrap;font-size:13px}.hiring-summary-list .badge.is-warning,.staff-roster .badge.is-warning{background:var(--tk-status-warning-bg);color:var(--tk-status-warning-text)}
.hiring-summary-table{width:100%;border-collapse:collapse;font-size:14px}.hiring-summary-table th,.hiring-summary-table td{padding:6px 8px;border-bottom:1px solid var(--tk-border-subtle);text-align:left}
.staff-roster .roster-row{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--tk-border-subtle)}.staff-roster .roster-row>div:first-child{flex:1;min-width:200px}.staff-roster .roster-row p{margin:4px 0;font-size:14px}.staff-roster .roster-filter{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:12px 0}
.hiring-summary-list li .action,.hiring-overview .hiring-actions .action,.staff-roster .roster-row .action,.staff-roster .roster-filter .action{width:auto;min-width:120px}
.trial-work{margin:0 0 20px}.trial-work .hiring-actions{margin-top:12px}
.trial-pick-form{margin-top:12px}.trial-pick-form input[type=date]{min-height:48px}.trial-pick-day{display:flex;align-items:baseline;gap:12px;margin:8px 0}.trial-pick-day span{font-size:.9em;opacity:.75}.trial-pick-day strong{font-size:1.5rem}
@media (max-width:640px) { .onboarding-intro h1 { font-size:22px; } .onboarding-intro { margin-bottom:20px; } }

.onboarding .hiring > .page-title { display: none; }
.onboarding .hiring > .hiring-save:not(.requires-attention) { display: none; }
.intake-replace summary { cursor: pointer; color: #526b85; font-size: 13px; padding: 10px 0; }
.intake-replace .field { margin: 10px 0 16px; }

/* Shared customer and table service records */
.guest-toolbar{display:flex;align-items:end;gap:12px;margin:20px 0;flex-wrap:wrap}.guest-toolbar .field{flex:1;min-width:240px;margin:0}.guest-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.guest-metrics>div{background:#fff;border:1px solid #d8e7f3;border-radius:16px;padding:20px;color:#57718d}.guest-metrics strong{display:block;color:#193451;font-size:28px;margin-top:8px}.guest-metrics small{font-size:14px;margin-left:6px}.guest-table{width:100%;border-collapse:collapse;white-space:nowrap;background:#fff}.guest-table th,.guest-table td{padding:18px 16px;text-align:left;border-bottom:1px solid #e2ebf3}.guest-table th{background:#edf6fd;color:#446483;font-weight:600}.guest-table .text-button{font-weight:650}.guest-modal{width:min(780px,calc(100vw - 32px));max-width:780px}.guest-profile{padding-bottom:20px}.guest-visit{margin:16px 0}.guest-visit details{padding:12px 0;border-block:1px solid #e3edf5}.guest-visit h4{margin:22px 0 12px}.guest-seatings>div{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #e3edf5;padding:14px 0}.guest-seatings small{display:block;color:#637b94;margin-top:6px}.guest-actions{display:flex;gap:8px;flex-wrap:wrap}.guest-seat-add{margin-top:18px}.guest-visit .badge{white-space:nowrap}.guest-crm .paper-card h3{font-size:18px}.guest-crm .field input,.guest-crm .field select{min-width:0}@media(max-width:640px){.guest-metrics{gap:8px}.guest-metrics>div{padding:12px;font-size:12px}.guest-metrics strong{font-size:24px}.guest-seatings>div{align-items:flex-start;flex-direction:column}.guest-table th,.guest-table td{padding:14px}.guest-toolbar .field{flex-basis:100%}}

.guest-crm{max-width:1040px}.guest-toolbar>.action{width:auto;flex:0 0 auto;margin:0}.guest-toolbar>.field{flex:1 1 320px}.guest-actions>.action{width:auto;margin:0;min-width:96px}.guest-seatings>div>.guest-actions{flex:0 0 auto}.owner-notifications .section-heading>.action{width:auto;margin:0;flex:0 0 auto}.owner-notifications h2{font-size:20px}.owner-notifications h2 small{font-size:13px;color:#637b94;margin-left:12px}.guest-qr{padding-top:18px;border-top:1px solid #dce8f2;margin-top:22px}.guest-qr>img{display:block;margin:12px auto}.guest-qr>p{text-align:center}.guest-modal .guest-profile>.action{width:auto;margin:4px 0}@media(max-width:640px){.guest-toolbar>.field{flex-basis:100%}.guest-toolbar>.action{flex:1}.owner-notifications .section-heading{align-items:flex-start;flex-direction:column}}

.staff-setup-steps{display:flex;list-style:none;padding:0;margin:0 0 8px;gap:8px}.staff-setup-steps li{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:11px;color:var(--tk-text-secondary-on-page);line-height:1.5}.staff-setup-steps li>span:first-child{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--tk-border-subtle);border-radius:50%;background:var(--tk-bg-soft);font-size:13px}.staff-setup-steps li[aria-current=step]{font-weight:700;color:var(--tk-text-primary)}.staff-setup-steps li[aria-current=step]>span:first-child{background:var(--tk-text-primary);color:#fff}.staff-setup-steps li[data-done=true]>span:first-child{background:#e2eff9;color:#1f3553}.staff-invitation-card{padding:20px;border-radius:12px}.staff-invitation-card h3{margin:0}.staff-invitation-summary{display:grid;grid-template-columns:70px 1fr;gap:10px;margin:0;font-size:14px}.staff-invitation-summary dd{margin:0;overflow-wrap:anywhere}.staff-invitation-card>.action{white-space:normal}.team-invite-extra,.staff-invite-next{grid-column:1/-1;padding:16px;background:var(--tk-bg-soft);border-radius:12px}.team-invite-extra summary{cursor:pointer;min-height:24px}.team-invite-extra .team-job-fields{margin-top:16px}.team-invite-extra p,.staff-invite-next p{line-height:1.8}.staff-invite-next h3{font-size:16px;margin:0}.staff-invitation-card p{line-height:1.8}

.staff-login-choice{display:flex;border:1px solid var(--tk-border-subtle);border-radius:10px;padding:4px;gap:4px}.staff-login-choice button{flex:1;background:transparent;border:0;border-radius:7px;font:inherit;font-size:13px;padding:10px;min-height:44px;color:var(--tk-text-primary);cursor:pointer}.staff-login-choice button[aria-pressed=true]{background:#e2eff9;font-weight:700}

/* Result groups keep status, guidance and actions visibly separate. */
.email-invite-result{display:grid;gap:24px;min-width:0}
.email-invite-result>.notice,.email-invite-result>.staff-invite-next{margin:0;min-width:0}
.email-invite-result .notice>div{min-width:0}
.email-invite-result .notice p{margin:12px 0 0;line-height:1.7}
.email-invite-result-title{font-size:18px;line-height:1.6}
.email-invite-result-recipient{display:flex;flex-direction:column;gap:4px;overflow-wrap:anywhere}
.email-invite-result-actions{display:flex;flex-wrap:wrap;gap:12px}
.staff-email-team .email-invite-result-actions>.action{width:auto;margin:0;min-height:48px;padding-inline:24px;white-space:normal}
.email-invite-result .staff-invite-next p{margin:12px 0 0}
.team-invite-receipt{border-top:1px solid var(--tk-border-subtle);padding-top:12px;color:var(--tk-text-secondary-on-page);overflow-wrap:anywhere}
.team-invite-receipt summary{min-height:44px;align-content:center;cursor:pointer;font-size:13px}
@media(max-width:650px){.email-invite-result{gap:20px}.email-invite-result-actions{flex-direction:column}.staff-email-team .email-invite-result-actions>.action{width:100%}}

.domain-transfer p,.domain-transfer li{line-height:1.7;overflow-wrap:anywhere}.domain-transfer li{margin-bottom:10px}.domain-transfer-actions{display:grid;gap:20px;margin:20px 0}.domain-transfer input{max-width:100%}.domain-transfer a{display:inline-block;min-height:44px;padding:10px 0}

.domain-transfer{max-width:820px;margin-inline:auto}.domain-transfer-check{display:flex;align-items:center;gap:10px;min-height:48px;margin-block:12px}.domain-transfer-check input{width:22px;height:22px}.domain-transfer input[type=file]{min-height:48px}.domain-transfer input::file-selector-button{min-height:44px;padding:10px 14px}.domain-transfer summary{cursor:pointer;min-height:44px;padding:10px 0}.domain-transfer-guide{margin-top:16px}

.domain-transfer button:disabled{opacity:.45;cursor:not-allowed}

.device-setup{max-width:820px;margin:20px auto}.device-setup summary{min-height:44px;padding:10px 0;cursor:pointer}.device-setup .notice{margin-top:16px}
.device-setup .staff-install>summary{border:1px solid currentColor;border-radius:8px;padding:10px 14px;width:fit-content}

.tablet-registration-admin{max-width:820px;margin:24px auto}.tablet-registration-qr{display:block;max-width:100%;height:auto;margin:20px auto}.tablet-registration-admin li{margin:10px 0}

/* Store settings and enrollment share one clear content column. */
.store-settings-page,.settings-support{max-width:960px;margin-inline:auto}
.settings-personal{margin-top:32px;padding-top:24px;border-top:1px solid var(--border)}
.settings-support{margin-block:28px;padding:16px 0;border-top:1px solid var(--border)}
.settings-support summary{cursor:pointer;min-height:44px;align-content:center;color:var(--muted)}
.settings-support p{line-height:1.7}
.staff-pwa .device-setup{max-width:960px;margin:24px auto}
.tablet-enrollment-action{margin:24px 0}
.tablet-enrollment-modal{max-width:600px}
.tablet-enrollment-modal .tablet-registration-admin{margin:0;display:grid;gap:16px}
.tablet-enrollment-modal .tablet-registration-admin p,.tablet-enrollment-modal .tablet-registration-admin h3{margin:0;line-height:1.7}
.tablet-enrollment-modal .tablet-registration-qr{margin:0 auto}
.tablet-registration-subject{padding:16px;background:var(--soft);border-radius:12px}
.tablet-settings-forms{max-width:820px;margin:16px 0}
.tablet-admin .tablet-settings-forms .paper-card{padding:24px}
.tablet-admin .tablet-settings-forms fieldset{display:grid;gap:20px;margin-top:20px}
.tablet-admin .tablet-settings-forms .field{margin:0}
.tablet-admin .tablet-settings-forms .action{margin:0;width:fit-content;min-width:160px}
.tablet-admin .tablet-settings-forms p{line-height:1.7}
@media(max-width:650px){.tablet-admin .tablet-settings-forms .action{width:100%}.tablet-enrollment-modal .tablet-registration-qr{width:min(100%,280px)}}
.settings-personal>.staff-settings-link{width:100%}
.modal.tablet-enrollment-modal{width:min(640px,calc(100vw - 32px));max-width:640px}
.tablet-enrollment-action>.action{width:auto;min-width:180px}
.tablet-enrollment-modal .text-button{text-decoration:underline;text-underline-offset:4px}

/* フロアビュー（2026-09-24 村上さん採用の「落ち着いた版」）。暗い配色はこの画面の中だけ。 */
.floor-view{
  --fv-night:#120e18;--fv-panel:#1c1624;--fv-panel-2:#241c2e;--fv-line:#3a2f47;--fv-wall:#07060a;
  --fv-floor-a:#221b29;--fv-floor-b:#261e2e;--fv-tile-a:#22262d;--fv-tile-b:#252a31;
  --fv-wood:#7a5030;--fv-wood-hi:#a56d3e;--fv-wood-lo:#553620;--fv-chair:#4a3f58;--fv-chair-hi:#5d5070;
  --fv-ink:#f3ede6;--fv-muted:#a99cb8;--fv-dim:#8a7f9a;
  --fv-ok:#5ae0a4;--fv-warn:#ffd23f;--fv-over:#ff5252;--fv-checkout:#68c6ee;--fv-unpriced:#8f86a0;--fv-coin:#ffc83a;
}
.floor-view .floor-shell{container-type:inline-size;background:var(--fv-night);color:var(--fv-ink);border-radius:16px;padding:14px;display:grid;gap:12px;font-variant-numeric:tabular-nums}
.floor-view .floor-hud{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.floor-view .floor-stat{background:var(--fv-panel);border:2px solid var(--fv-line);border-radius:6px;padding:6px 12px;min-width:110px;display:grid}
.floor-view .floor-stat span{font-size:11px;color:var(--fv-muted);letter-spacing:.06em}
.floor-view .floor-stat b{font-size:20px;font-weight:600;white-space:nowrap;display:flex;flex-wrap:wrap;gap:4px;align-items:baseline}
.floor-view .floor-stat b small{font-size:12px;font-weight:400;color:var(--fv-muted);white-space:normal}
.floor-view .floor-stat.money b{color:var(--fv-coin)}
.floor-view .pill{font-style:normal;font-size:13px;padding:1px 7px;border-radius:3px}
.floor-view .pill.warn{background:var(--fv-warn);color:#2a2000}.floor-view .pill.over{background:var(--fv-over);color:#2a0000}.floor-view .pill.checkout{background:var(--fv-checkout);color:#06202c}
.floor-view .floor-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-left:auto}
.floor-view .floor-seg{display:flex;align-items:center;border:2px solid var(--fv-line);border-radius:6px;overflow:hidden;background:var(--fv-panel)}
.floor-view .floor-seg span{padding:0 10px;font-size:12px;color:var(--fv-muted)}
.floor-view .floor-seg button,.floor-view .floor-toggle{min-height:44px;padding:0 14px;border:0;background:var(--fv-panel);color:var(--fv-muted);font:inherit;cursor:pointer}
.floor-view .floor-seg button[aria-pressed="true"],.floor-view .floor-toggle[aria-pressed="true"]{background:var(--fv-chair-hi);color:var(--fv-ink)}
.floor-view .floor-toggle{border:2px solid var(--fv-line);border-radius:6px}
.floor-view .floor-stale{margin:0;padding:8px 12px;border-radius:6px;background:#3a2a10;color:#ffe3a3;font-size:13px}
/* 暗い帯の上の「ログインし直す」：帯の文字と同じ明るい色で下線を付けて見分ける（青の文字は暗い茶色の上でほぼ見えなかった） */
.floor-view .floor-stale .text-button:not(.danger){color:#ffe3a3;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.floor-view .floor-layout{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
/* 詳細を横に並べるのは、店内図を十分な大きさで出せる幅のときだけ */
@container (min-width:1180px){.floor-view .floor-layout{grid-template-columns:minmax(0,1fr) 320px}}
@container (min-width:700px) and (max-width:1179px){.floor-view .floor-side{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}
/* 未提供の付箋の列（A4）：店内図の右に置く。詳細は、付箋の列と店内図を十分な大きさで出せる幅のときだけ横に並べ、それより狭いときは下に2列で出す */
@container (min-width:860px){.floor-view .floor-layout{grid-template-columns:minmax(0,1fr) 220px}.floor-view .floor-side{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}
@container (min-width:1460px){.floor-view .floor-layout{grid-template-columns:minmax(0,1fr) 220px 320px}.floor-view .floor-side{grid-column:auto;grid-template-columns:none}}
.floor-view .floor-notes{background:var(--fv-panel);border:2px solid var(--fv-line);border-radius:6px;padding:12px;display:grid;gap:8px;align-content:start;min-width:0}
.floor-view .floor-notes h3{margin:0;font-size:12px;font-weight:500;color:var(--fv-muted);letter-spacing:.1em;display:flex;align-items:baseline;gap:8px}
.floor-view .floor-notes h3 b{font-size:20px;font-weight:600;color:var(--fv-ink);letter-spacing:0}
.floor-view .floor-notes ol{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:min(70vh,640px);overflow-y:auto}
.floor-view .floor-note{display:grid;gap:4px;padding:8px 10px;background:var(--fv-panel-2);border:1px solid var(--fv-line);border-left:4px solid #ff8fb1;border-radius:4px}
.floor-view .floor-note.new{animation:fv-pulse 1.2s steps(2) 3}
.floor-view .floor-note-seat{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 8px;align-items:baseline;min-height:32px;padding:0;border:0;background:none;color:var(--fv-ink);font:inherit;text-align:left;cursor:pointer}
.floor-view .floor-note-seat b{font-size:16px}.floor-view .floor-note-seat span{font-size:12px;color:var(--fv-muted)}
.floor-view .floor-note p{margin:0;font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.floor-view .floor-note-done{justify-self:stretch;border-color:#ff8fb1;color:#ffd2e0;font-weight:600}
.floor-view .floor-serve{margin-bottom:4px}.floor-view .floor-serve li{align-items:center}
.floor-view .floor-bill-actions{display:grid;gap:8px;margin-top:10px}.floor-view .floor-bill-actions .floor-action{margin-top:0}
.floor-view .floor-action.checkout{background:var(--fv-checkout);color:#06202c}
/* スマホで外から見る要約（A11）。狭い幅だけに出す */
.floor-view .floor-phone{display:none}
@container (max-width:699px){.floor-view .floor-phone{display:grid;gap:10px}}
.floor-view .floor-phone-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.floor-view .floor-phone-counts>div{background:var(--fv-panel);border:2px solid var(--fv-line);border-radius:6px;padding:8px 10px;display:grid}
.floor-view .floor-phone-counts span{font-size:12px;color:var(--fv-muted)}
.floor-view .floor-phone-counts b{font-size:30px;font-weight:700;line-height:1.1;white-space:nowrap}.floor-view .floor-phone-counts b small{font-size:13px;font-weight:400;color:var(--fv-muted);margin-left:2px}
.floor-view .floor-phone-counts .checkout{border-color:var(--fv-checkout)}.floor-view .floor-phone-counts .checkout b{color:var(--fv-checkout)}
.floor-view .floor-phone-counts .soon{border-color:var(--fv-warn)}.floor-view .floor-phone-counts .soon b{color:var(--fv-warn)}
.floor-view .floor-phone-rows{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.floor-view .floor-phone-rows button{width:100%;min-height:44px;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 12px;background:var(--fv-panel);border:2px solid var(--fv-line);border-left-width:6px;border-radius:6px;color:var(--fv-ink);font:inherit;text-align:left;cursor:pointer}
.floor-view .floor-phone-rows b{font-size:16px}.floor-view .floor-phone-rows span{font-size:14px;text-align:right}
.floor-view .floor-phone-rows .tone-checkout{border-left-color:var(--fv-checkout)}.floor-view .floor-phone-rows .tone-soon{border-left-color:var(--fv-warn)}.floor-view .floor-phone-rows .tone-over{border-left-color:var(--fv-over)}.floor-view .floor-phone-rows .tone-ok{border-left-color:var(--fv-ok)}.floor-view .floor-phone-rows .tone-unpriced{border-left-color:var(--fv-unpriced)}
.floor-view .floor-phone-unserved{min-height:44px;padding:0 12px;border:2px solid #ff8fb1;border-radius:6px;background:var(--fv-panel);color:#ffd2e0;font:inherit;font-weight:600;cursor:pointer}
.floor-view .floor-legend i.s-alert{background:#ff8fb1}
.floor-view .floor-notes{scroll-margin-top:120px}
.floor-view .floor-phone-note{margin:0;font-size:12px;color:var(--fv-muted)}
/* 卓の注文・会計（A6）：注文・会計の画面と同じ部品を、フロアの上に開く */
/* スマホの要約から卓を押して詳細へ移ったとき、上の固定の見出しの下に詳細の見出しが見えるようにする */
.floor-view .floor-side{scroll-margin-top:120px}
.modal.floor-bill-sheet{width:min(760px,calc(100vw - 24px));max-width:760px}
.modal.floor-bill-sheet .modal-body{overflow-y:auto}
.floor-view .floor-main{display:grid;gap:12px;min-width:0}
.floor-view .floor-mapwrap{overflow-x:auto;border:3px solid var(--fv-wall);border-radius:6px;background:var(--fv-wall);isolation:isolate}
/* 店内図の札・キャスト・金額の重なり順は図の中だけで決める（O7。札の z-index 60 が固定のヘッダー 12 の上に出ていた） */
.floor-view .floor-map{position:relative;width:100%;min-width:640px;aspect-ratio:675/428;container-type:inline-size}
.floor-view .floor-stage{position:absolute;inset:0;overflow:hidden;background:repeating-conic-gradient(var(--fv-floor-a) 0 25%,var(--fv-floor-b) 0 50%) 0 0/2.4cqw 2.4cqw}
.floor-view .floor-room{position:absolute;box-shadow:0 0 0 .35cqw var(--fv-wall);background:#1b1720}
.floor-view .floor-room.counter-inside{background:repeating-conic-gradient(var(--fv-tile-a) 0 25%,var(--fv-tile-b) 0 50%) 0 0/1.6cqw 1.6cqw}
.floor-view .floor-room span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:max(9px,1.25cqw);color:var(--fv-dim);letter-spacing:.15em;white-space:nowrap}
.floor-view .floor-counter{position:absolute;background:linear-gradient(var(--fv-wood-hi) 0 22%,var(--fv-wood) 22% 78%,var(--fv-wood-lo) 78%);box-shadow:0 0 0 .3cqw var(--fv-wall),0 .5cqw 0 rgba(0,0,0,.35)}
.floor-view .floor-counter.v{background:linear-gradient(90deg,var(--fv-wood-hi) 0 22%,var(--fv-wood) 22% 78%,var(--fv-wood-lo) 78%)}
.floor-view .floor-seat{position:absolute;width:3.7cqw;aspect-ratio:1;transform:translate(-50%,-50%);border:0;padding:0;cursor:pointer;background:var(--fv-chair);
  clip-path:polygon(20% 0,80% 0,80% 10%,100% 10%,100% 90%,80% 90%,80% 100%,20% 100%,20% 90%,0 90%,0 10%,20% 10%);box-shadow:inset 0 -.5cqw 0 rgba(0,0,0,.3)}
.floor-view .floor-seat::after{content:"";position:absolute;inset:.45cqw;background:var(--fv-chair-hi);clip-path:inherit}
.floor-view .floor-seat img{position:absolute;left:50%;top:50%;width:65%;transform:translate(-50%,-50%);image-rendering:pixelated;z-index:1}
.floor-view .floor-seat.s-ok{background:var(--fv-ok)}.floor-view .floor-seat.s-warn{background:var(--fv-warn)}.floor-view .floor-seat.s-over{background:var(--fv-over)}
.floor-view .floor-seat.s-checkout{background:var(--fv-checkout)}.floor-view .floor-seat.s-unpriced,.floor-view .floor-seat.s-settled{background:var(--fv-unpriced)}
.floor-view .floor-seat.fresh,.floor-view .floor-plate.fresh{animation:fv-pulse 1.2s steps(2) infinite}
.floor-view .floor-seat.sel{outline:.35cqw solid #fff;outline-offset:.3cqw}
/* 席を押す範囲は見た目（椅子）より広く、40px 四方以上にする（UX監査 MA-01）。椅子の見た目は内側の .floor-seat のまま */
.floor-view .floor-seat-hit{position:absolute;width:max(40px,3.7cqw);aspect-ratio:1;transform:translate(-50%,-50%);border:0;padding:0;margin:0;background:transparent;cursor:pointer}
.floor-view .floor-seat-hit>.floor-seat{left:50%;top:50%;pointer-events:none}
.floor-view .floor-seat-hit:focus-visible{outline:none}.floor-view .floor-seat-hit:focus-visible>.floor-seat{outline:.35cqw solid #fff;outline-offset:.3cqw}
.floor-view .floor-seatnum{position:absolute;transform:translate(-50%,-50%);font-size:max(10px,1.35cqw);font-weight:700;color:#c4b8d4;pointer-events:none;white-space:nowrap}
@keyframes fv-pulse{50%{filter:brightness(1.4)}}
.floor-view .floor-plate{position:absolute;transform:translate(-50%,-50%);z-index:60;cursor:pointer;display:grid;text-align:left;
  background:rgba(12,9,16,.92);border:.25cqw solid var(--fv-ok);border-radius:0;padding:.2cqw .55cqw;font:inherit;font-size:max(10px,1.2cqw);line-height:1.25;white-space:nowrap;color:var(--fv-ink)}
.floor-view .floor-plate.s-warn{border-color:var(--fv-warn)}.floor-view .floor-plate.s-over{border-color:var(--fv-over)}.floor-view .floor-plate.s-checkout{border-color:var(--fv-checkout)}.floor-view .floor-plate.s-unpriced,.floor-view .floor-plate.s-settled{border-color:var(--fv-unpriced)}
.floor-view .floor-plate .meta{color:var(--fv-muted)}.floor-view .floor-plate .meta b{color:var(--fv-coin);font-weight:500}
.floor-view .floor-plate .badge{position:absolute;right:-.3cqw;top:max(-15px,-1.5cqw);font-size:max(9px,1.05cqw);padding:0 .35cqw;line-height:1.35;background:var(--fv-unpriced);color:#15101c}
.floor-view .floor-plate.s-warn .badge{background:var(--fv-warn);color:#2a2000}.floor-view .floor-plate.s-over .badge{background:var(--fv-over);color:#2a0000}.floor-view .floor-plate.s-checkout .badge{background:var(--fv-checkout);color:#06202c}
.floor-view .floor-plate.sel{outline:.25cqw solid #fff;z-index:200}
.floor-view .floor-cast{position:absolute;width:2.9cqw;transform:translate(-50%,-78%);pointer-events:none}
.floor-view .floor-cast img{display:block;width:100%;image-rendering:pixelated}
.floor-view .floor-cast span{position:absolute;left:50%;bottom:100%;transform:translate(-50%,-.2cqw);font-size:max(9px,1.05cqw);white-space:nowrap;background:rgba(10,8,14,.85);padding:0 .4cqw;border:.15cqw solid var(--fv-line)}
.floor-view .floor-cast.walking img{animation:fv-bob .36s steps(2) infinite}
@keyframes fv-bob{50%{transform:translateY(-6%)}}
.floor-view .floor-coin{position:absolute;z-index:250;transform:translate(-50%,-50%);pointer-events:none;display:flex;align-items:center;gap:.3cqw;font-size:1.15cqw;font-weight:700;color:var(--fv-coin);text-shadow:0 .15cqw 0 #5c3a00,0 0 .6cqw rgba(0,0,0,.8);white-space:nowrap;animation:fv-rise 1.4s ease-out forwards}
.floor-view .floor-coin i{width:1.1cqw;height:1.1cqw;background:var(--fv-coin);border-radius:50%;box-shadow:inset -.2cqw -.2cqw 0 #b07a00,0 0 0 .15cqw #5c3a00}
.floor-view .floor-coin.big{font-size:2.3cqw;text-shadow:0 .2cqw 0 #5c3a00,0 0 1.4cqw rgba(255,200,58,.75);animation-duration:2.2s}.floor-view .floor-coin.big i{width:2.2cqw;height:2.2cqw}
@keyframes fv-rise{0%{opacity:0;margin-top:.5cqw}15%{opacity:1}100%{opacity:0;margin-top:-5cqw}}
.floor-view .floor-tray{background:var(--fv-panel);border:2px solid var(--fv-line);border-radius:6px;padding:12px}
.floor-view .floor-tray h3,.floor-view .floor-card h3{margin:0 0 8px;font-size:12px;font-weight:500;color:var(--fv-muted);letter-spacing:.1em}
.floor-view .floor-tray>div{display:flex;flex-wrap:wrap;gap:8px}
.floor-view .floor-chip{display:grid;gap:2px;min-height:44px;padding:6px 12px;text-align:left;font:inherit;color:var(--fv-ink);background:var(--fv-panel-2);border:2px solid var(--fv-chair);border-radius:6px;cursor:pointer}
.floor-view .floor-chip span{font-size:12px;color:var(--fv-muted)}
.floor-view .floor-chip.s-ok{border-color:var(--fv-ok)}.floor-view .floor-chip.s-warn{border-color:var(--fv-warn)}.floor-view .floor-chip.s-over{border-color:var(--fv-over)}.floor-view .floor-chip.s-checkout{border-color:var(--fv-checkout)}.floor-view .floor-chip.sel{outline:2px solid #fff}
.floor-view .floor-side{display:grid;gap:12px;align-content:start}
.floor-view .floor-card{background:var(--fv-panel);border:2px solid var(--fv-line);border-radius:6px;padding:14px 16px}
.floor-view .floor-card h4{margin:14px 0 6px;font-size:12px;font-weight:500;color:var(--fv-muted);letter-spacing:.1em}
.floor-view .floor-muted{color:var(--fv-muted);font-size:14px;margin:4px 0 0}
.floor-view .floor-dt-head{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}
@media (max-width:599px){.floor-view .floor-dt-head{position:sticky;top:var(--floor-sticky-top,82px);z-index:2;background:var(--fv-panel);margin:0 -12px;padding:8px 12px}}
.floor-view .floor-dt-head b{font-size:24px;font-weight:700}
.floor-view .chip{font-size:12px;padding:1px 8px;border-radius:3px;background:var(--fv-chair);color:var(--fv-ink)}
.floor-view .chip.s-ok{background:var(--fv-ok);color:#06241a}.floor-view .chip.s-warn{background:var(--fv-warn);color:#2a2000}.floor-view .chip.s-over{background:var(--fv-over);color:#2a0000}.floor-view .chip.s-checkout{background:var(--fv-checkout);color:#06202c}.floor-view .chip.s-unpriced,.floor-view .chip.s-settled{background:var(--fv-unpriced);color:#15101c}
.floor-view .floor-big{margin:6px 0 0;font-size:28px;font-weight:600;color:var(--fv-coin)}
.floor-view .floor-rows{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:10px 0 0}
.floor-view .floor-rows dt{color:var(--fv-muted);font-size:13px}.floor-view .floor-rows dd{margin:0;text-align:right}
.floor-view .floor-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:14px}
.floor-view .floor-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 10px;border-bottom:1px dashed var(--fv-line);padding-bottom:3px}
.floor-view .kind{font-style:normal;font-size:11px;padding:0 5px;margin-left:6px;border:1px solid var(--fv-dim);color:var(--fv-muted)}
.floor-view .kind.requested{border-color:var(--fv-coin);color:var(--fv-coin)}
.floor-view .floor-legend{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:13px}
.floor-view .floor-legend li{display:flex;gap:8px;align-items:flex-start}
.floor-view .floor-legend i{flex:none;width:14px;height:14px;margin-top:3px;background:var(--fv-chair);box-shadow:0 0 0 2px var(--fv-wall)}
.floor-view .floor-legend i.s-ok{background:var(--fv-ok)}.floor-view .floor-legend i.s-warn{background:var(--fv-warn)}.floor-view .floor-legend i.s-over{background:var(--fv-over)}.floor-view .floor-legend i.s-checkout{background:var(--fv-checkout)}.floor-view .floor-legend i.s-unpriced{background:var(--fv-unpriced)}
@media(prefers-reduced-motion:reduce){.floor-view .floor-seat.fresh,.floor-view .floor-plate.fresh,.floor-view .floor-cast.walking img{animation:none}}

/* フロアからの操作（段階2a） */
.floor-view .floor-adding{margin:0;padding:10px 12px;border-radius:6px;background:#1f3a2e;color:#d9ffe9;font-size:14px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.floor-view .floor-adding button{min-height:40px;padding:0 14px;border:1px solid #d9ffe9;border-radius:6px;background:none;color:inherit;font:inherit;cursor:pointer}
.floor-view .floor-seat.addable{outline:.3cqw dashed #fff;outline-offset:.35cqw}
.floor-view .floor-error{margin:10px 0 0;padding:8px 10px;border-radius:6px;background:#3a1414;color:#ffd0d0;font-size:13px}
.floor-view .floor-row-end{display:flex;align-items:center;gap:8px;white-space:nowrap}
.floor-view .floor-mini{min-height:40px;min-width:52px;padding:0 10px;border:1px solid var(--fv-line);border-radius:6px;background:var(--fv-panel-2);color:var(--fv-ink);font:inherit;font-size:13px;cursor:pointer}
.floor-view .floor-mini.requested{border-color:var(--fv-coin);color:var(--fv-coin)}
.floor-view .floor-mini.inhouse{border-color:#b9a3ff;color:#d4c6ff}
.floor-view .floor-mini:disabled,.floor-view .floor-action:disabled{opacity:.5;cursor:default}
.floor-view .floor-action{width:100%;min-height:44px;margin-top:10px;border:0;border-radius:6px;background:var(--fv-ok);color:#06241a;font:inherit;font-weight:600;cursor:pointer}
.floor-view .floor-action.secondary{background:var(--fv-panel-2);color:var(--fv-ink);border:1px solid var(--fv-line);font-weight:500}
.floor-view .floor-pick{margin-top:10px;padding:10px;border:1px dashed var(--fv-line);border-radius:6px;display:grid;gap:8px}
.floor-view .floor-link{justify-self:start;min-height:40px;border:0;background:none;color:var(--fv-muted);font:inherit;text-decoration:underline;cursor:pointer}
.floor-view .floor-plate.side-N .badge{top:auto;bottom:max(-15px,-1.5cqw)}
.floor-view .floor-cancel{justify-self:start}
.floor-view .floor-scroll-hint{display:none;margin:-6px 0 0;font-size:12px;color:var(--fv-muted);text-align:center}
@container (max-width:699px){.floor-view .floor-scroll-hint{display:block}}
@media(max-width:900px){.floor-view{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}}
/* 店のタブレット（横置き 1163×728 など、横長で高さの低い画面。R4 2026-10-23 実機レビュー）：店内図と未提供の付箋を最初の画面に入れる。
   見出しを1行にし、集計を2段に詰め、店内図の幅を画面の高さから決める（380px＝店内図の上端の目安 374px＋店内図の枠 6px。374px はヘッダー・業務の切り替え・見出し・集計の高さで、オーナーの画面で測った値）。
   付箋の列は店内図の右の残りの幅に置き（店内図の幅を優先）、店内図の高さまでにして中だけをスクロールする。詳細と色の意味は下に2列のまま */
@media (min-width:900px) and (max-height:820px) and (orientation:landscape){
.floor-view{--fv-map-w:max(480px,calc((100svh - 380px)*675/428 + 6px))}
.floor-view>.page-title{margin-bottom:10px}
.floor-view>.page-title>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 12px}
.floor-view>.page-title h1{font-size:22px;line-height:1.3}
.floor-view>.page-title p{margin-top:0}
.floor-view .floor-shell{padding:10px;gap:8px}
.floor-view .floor-hud{gap:6px}
.floor-view .floor-stat{padding:2px 10px;min-width:0}
.floor-view .floor-stat b{font-size:17px;flex-wrap:nowrap;min-width:0}
.floor-view .floor-stat b small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:16em}
.floor-view .pill{font-size:12px}
.floor-view .floor-controls{gap:6px}
.floor-view .floor-seg span{padding:0 8px}
.floor-view .floor-seg button,.floor-view .floor-toggle{min-height:40px;padding:0 10px;font-size:14px}
.floor-view .floor-map{min-width:0}
.floor-view .floor-scroll-hint{display:none}
.floor-view .floor-notes{display:flex;flex-direction:column;max-height:calc((var(--fv-map-w) - 6px)*428/675 + 6px);overflow:hidden}
.floor-view .floor-notes ol{flex:1 1 auto;min-height:0;max-height:none}
@container (min-width:760px) and (max-width:1459px){.floor-view .floor-layout{grid-template-columns:minmax(0,var(--fv-map-w)) minmax(220px,1fr)}.floor-view .floor-side{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}
}
/* 段階2b-1：確認待ち・案内中・利用開始 */
.floor-view{--fv-request:#b48cff;--fv-dispatch:#ffa94d}
.floor-view .floor-seat.s-request{background:var(--fv-request);animation:fv-pulse 1s steps(2) infinite}
.floor-view .floor-seat.dispatched:not(.s-request){box-shadow:inset 0 -.5cqw 0 rgba(0,0,0,.3),0 0 0 .3cqw var(--fv-dispatch)}
.floor-view .floor-plate.s-request{border-color:var(--fv-request)}.floor-view .floor-plate.s-request .badge{background:var(--fv-request);color:#1a0f2e}
.floor-view .floor-plate.s-dispatch{border-color:var(--fv-dispatch);border-style:dashed}
.floor-view .pill.request{background:var(--fv-request);color:#1a0f2e}
.floor-view .chip.s-request{background:var(--fv-request);color:#1a0f2e}
.floor-view .floor-legend i.s-request{background:var(--fv-request)}.floor-view .floor-legend i.s-dispatch{background:none;box-shadow:0 0 0 2px var(--fv-dispatch)}
.floor-view .floor-start{display:grid;gap:10px;margin-top:8px}
.floor-view .floor-people{display:flex;align-items:center;gap:12px}.floor-view .floor-people>span{white-space:nowrap}.floor-view .floor-people b{font-size:22px;min-width:3.5em;text-align:center}
.floor-view .floor-check{display:flex;align-items:center;gap:8px;min-height:40px;white-space:nowrap}
/* 狭い幅では、名前と区分を1行に保ち、案内の経過は下の行に回す */
.floor-view .floor-dispatch-age{align-self:center}.floor-view .floor-check input{width:20px;height:20px}
.floor-view .small{font-size:12px}
.floor-view .chip.s-dispatch{background:var(--fv-dispatch);color:#2a1600}
/* 注文・会計：長時間の伝票・前の営業日から残った伝票の注意（手で直した履歴は下の .commerce-manual-log にまとめた） */
.commerce-admin .commerce-bill-alert{margin:8px 0 0;padding:6px 10px;border-radius:8px;background:var(--tk-status-warning-bg);color:var(--tk-status-warning-text);font-weight:700}
/* 操作ボタンは語の途中で折り返さない（収まらなければボタンごと次の行へ） */
.commerce-admin .commerce-actions>.action{white-space:nowrap}
/* 手で直す操作（P19）：注文・会計とフロアで共通の入力欄 */
.manual-fields{display:grid;gap:10px;margin:10px 0}.manual-fields .field{margin:0}
.manual-check{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px}.manual-check input{width:20px;height:20px;flex:none}
.commerce-manual-open{margin:16px 0;padding:10px 14px;border:1px solid var(--tk-border-subtle);border-radius:12px}.commerce-manual-open>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600;color:var(--tk-brand)}
.commerce-manual-actions{margin-top:12px}.commerce-manual-actions>.action{flex:1 1 180px}
.commerce-manual-log{margin-top:18px;font-size:14px}.commerce-manual-log>summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.commerce-manual-log ul{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:10px}.commerce-manual-log li{overflow-wrap:anywhere}.commerce-manual-log li small{display:block;color:var(--tk-text-secondary-on-page)}.commerce-manual-log time{font-variant-numeric:tabular-nums;margin-right:6px}
.commerce-adjustments{margin:4px 0 16px}
/* 支払の内訳・ツケ・カード払いの追加料金・合流（P14） */
.commerce-pay-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.commerce-pay-quick .commerce-pay-chip{min-height:44px;border:1px solid var(--tk-border-subtle,#c9d3dc);border-radius:10px;background:var(--tk-surface,#fff);color:var(--tk-brand);font-weight:700;font-size:14px;padding:0 6px}.commerce-pay-quick .commerce-pay-chip[aria-pressed=true]{background:var(--tk-brand);border-color:var(--tk-brand);color:#fff}.commerce-pay-quick .commerce-pay-chip:disabled{opacity:.5}
.commerce-payments,.commerce-companions{margin:8px 0 16px}.commerce-payments>div>span,.commerce-companions>div>span{flex:1;min-width:0;overflow-wrap:anywhere}
.commerce-card-fee{margin:12px 0;display:grid;gap:8px}.commerce-card-fee-none>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--tk-brand)}
.commerce-receivables{margin:16px 0}.commerce-receivables .commerce-history-row{flex-wrap:wrap}.commerce-receivables .commerce-history-row>span{flex:1 1 200px;min-width:0;overflow-wrap:anywhere}
.commerce-open-ladies{align-items:end}
.floor-view .manual-fields .field{display:grid;gap:4px;font-size:13px;color:var(--fv-muted)}
.floor-view .manual-fields input:not([type=checkbox]),.floor-view .manual-fields select{width:100%;box-sizing:border-box;min-height:40px;padding:0 10px;border:1px solid var(--fv-line);border-radius:6px;background:var(--fv-panel-2);color:var(--fv-ink);font:inherit;font-size:14px}
.floor-view .manual-check{color:var(--fv-ink);font-size:13px}
.floor-view .floor-manual-toggle{width:100%;margin-top:10px}
.floor-view .floor-manual-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.floor-view .floor-manual-actions>.floor-mini{flex:1 1 120px}
.floor-view .chip.s-manual{background:var(--fv-panel-2);color:var(--fv-coin);border:1px solid var(--fv-coin)}
/* 明るいテーマの共通の入力欄の色より優先して、フロアの暗い配色にそろえる */
html[data-takamaru-theme] .app-shell .floor-view .manual-fields :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select){background:var(--fv-panel-2);color:var(--fv-ink);border-color:var(--fv-line)}
/* アクセス停止前の未処理の一覧 */
.team-retire-notes{margin:0 0 12px;padding-left:1.2em;display:grid;gap:6px;overflow-wrap:anywhere;line-height:1.6}
/* 手で上書きした記録の印と、上書き理由の入力（8章） */
.wf-badge.manual{background:var(--tk-bg-soft);color:var(--tk-brand);border:1px dashed var(--tk-line-brand)}
.override-reason{display:grid;gap:10px;margin:12px 0;padding:12px;border:1px solid var(--tk-border-subtle);border-radius:12px;min-width:0}
.override-reason legend{font-weight:600;padding:0 4px}
.override-reason select,.override-reason textarea{width:100%;max-width:100%}
.monthly-paper-mark{display:block;color:var(--tk-status-wait-text);font-weight:600}
/* 月の記録元（R1-7） */
.daily-month-sources{margin:0 0 20px}.daily-month-sources>summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}
.month-sources{display:grid;gap:12px;min-width:0}
.month-sources-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:0}
.month-sources-summary>div{border:1px solid var(--tk-border-subtle);border-radius:12px;padding:8px 12px;background:var(--tk-bg-surface)}
.month-sources-summary dt{font-size:13px;color:var(--tk-text-secondary)}.month-sources-summary dd{margin:0;font-size:20px;font-weight:700}
.month-sources-table{width:100%;border-collapse:collapse}.month-sources-table th,.month-sources-table td{padding:8px;border-bottom:1px solid var(--tk-border-subtle);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.month-source-badge{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--tk-bg-soft);color:var(--tk-text-primary);white-space:nowrap;font-size:13px}
.month-source-none .month-source-badge,.month-source-both .month-source-badge{background:var(--tk-status-wait-bg);color:var(--tk-status-wait-text);font-weight:700}
.month-source-closed .month-source-badge{color:var(--tk-text-secondary)}
.paper-pay-confirm{display:grid;gap:8px;margin:12px 0;min-width:0}.paper-pay-confirm small{color:var(--tk-text-secondary)}
.driver-shot-time{font-size:15px;margin:4px 0 10px;color:var(--tk-text-primary)}
.daily-draft-lock{font-size:13px;line-height:1.7;background:#fff6e5;color:#795c2a;padding:8px 12px;border-radius:8px;margin:8px 0}.daily-draft-lock .text-button{min-height:44px;margin-left:4px}
.guest-draft-diff{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0;font-size:13px}.guest-draft-diff dt{font-weight:700}.guest-draft-diff dd{margin:0;overflow-wrap:anywhere}
.held-trim{border-top:1px solid var(--tk-border-subtle);margin-top:12px;padding-top:8px}.held-trim p{margin:0 0 4px}.held-trim .text-button{min-height:44px}
.pay-hand-time{margin:4px 0;color:var(--tk-text-secondary-on-page)}
/* 他の日の未完了の日払い（R1-30）と、別の日を表示中の「今日に戻る」（P4） */
.pay-carried{margin:0 0 20px;padding:0 0 12px;border-bottom:1px solid var(--line,var(--tk-border-subtle,#e2ebf3))}
.pay-carried>h3{margin:0 0 12px;font-size:15px;line-height:1.6;overflow-wrap:anywhere}
.pay-carried>.paper-card{margin:0 0 12px}
.follow-back{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;margin:8px 0;overflow-wrap:anywhere}
.follow-back .text-button{min-height:44px}

/* R1 画面監査：会計の明細の見出し。状態と「手動」の印を1つにまとめ、狭い幅では見出しの下へ回す（ボタンを語の途中で折り返さない） */
.staff-bill-head{flex-wrap:wrap;align-items:flex-start;gap:8px 12px}
.staff-bill-head>div{flex:1 1 240px;min-width:0}
.staff-bill-head>div>.action{width:auto;max-width:100%;white-space:nowrap}
.staff-bill-badges{display:flex;flex-wrap:wrap;gap:6px;flex:0 0 auto}
.month-sources-table tbody th,.month-sources-table td:nth-child(2){white-space:nowrap;overflow-wrap:normal}
@media (max-width:420px){.commerce-adjustments small{display:block}}
.tablet-admin .tablet-expiry{margin-top:12px}.tablet-admin .tablet-expiry p{margin:0 0 6px}.tablet-admin .tablet-expiry .badge{margin-left:8px;vertical-align:middle}
/* P12：オーナー権限を外すときの選択肢 */
.team-owner-choice{border:0;padding:0;margin:0 0 12px;display:grid;gap:8px}
.team-owner-choice legend{font-weight:600;margin-bottom:6px}
/* P12：権限・ログインの変更に付ける理由（8章） */
.team-reason{border:0;padding:0;margin:0 0 12px;display:grid;gap:8px;min-width:0}
.team-reason legend{font-weight:600;margin-bottom:6px}
.team-reason textarea{min-height:72px;width:100%;box-sizing:border-box}

/* 監査 P13・8章：手で直した値の印、理由の選択、退勤忘れ・古い同伴の案内、打刻場所、店の位置と車両 */
.wf-manual-mark{display:inline-block;margin:4px 0;padding:3px 9px;border-radius:6px;background:#e7f0fb;color:#1f4f82;font-size:12px;line-height:1.5}
.wf-reason-field{display:grid;gap:8px;margin:12px 0;border:0;padding:0}.wf-reason-field legend{font-weight:600;margin-bottom:6px}
.wf-reason-field select,.wf-reason-field textarea{width:100%;min-height:44px}.wf-reason-field textarea{min-height:72px}
.wf-business-day small{display:block;margin-top:6px}
.wf-stale-attendance{display:grid;gap:8px;max-width:360px}
.wf-place-far{color:#8b4a13;font-weight:600}
.management-attendance-table td span.wf-place-far,.management-attendance-table td>span{display:block}
.monthly-place{display:block;color:#475569}.monthly-place.wf-place-far{color:#8b4a13}
.wf-shift-tools{margin:8px 0 12px}
.wf-proxy-meter{display:grid;gap:8px;margin:12px 0;padding:12px;border:1px solid #d9e4ef;border-radius:10px}.wf-proxy-meter legend{font-weight:600}
.wf-driver-distance{margin:14px 0}.wf-driver-distance summary{font-weight:600;min-height:44px;display:flex;align-items:center;cursor:pointer}
.wf-driver-distance table{margin:8px 0}
.accompaniment-status.accompaniment-expired{border-color:#dfc47c;background:#fff8e8}
.floor-view .floor-age-stale{color:var(--fv-warn)}
.workforce-place .paper-card{display:grid;gap:10px;margin-bottom:16px}.workforce-place h2{display:flex;align-items:center;gap:8px}
.workforce-place-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.workforce-place-current a{display:inline-flex;align-items:center;gap:4px}
.workforce-place-history ol{display:grid;gap:8px;padding-left:18px}.workforce-place-history li{display:grid;gap:2px}
.workforce-vehicles{display:grid;gap:6px;padding:0;list-style:none}.workforce-vehicles li{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:44px;border-bottom:1px solid #e2e8f0}
@media (max-width:600px){.workforce-place-grid{grid-template-columns:1fr}}
/* P8 日払い・日次明細の訂正（手渡し記録中の目印、手渡し後の支払い、訂正の操作、設定） */
.pay-handing{margin:4px 0;padding:8px 12px;border-radius:8px;background:var(--tk-status-warning-bg);color:var(--tk-status-warning-text);font-size:14px;overflow-wrap:anywhere}
/* 手渡し後の支払いは1件ずつ1行に並べる（明細の2列の並びに入れると、理由が細い列に押し込まれる） */
.pay-payment-scope.pay-extras{grid-template-columns:minmax(0,1fr);gap:0}
.pay-extras>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:6px 0}
.pay-month-select{margin:0 0 16px}
.pay-extras dt small{display:block;font-size:12px;color:var(--tk-text-secondary-on-page);overflow-wrap:anywhere}
.pay-extras dd{margin:0;display:grid;justify-items:end;gap:2px}
.pay-extra-voided{color:var(--tk-text-secondary-on-page);text-decoration:line-through}
.pay-fix-actions>summary{min-height:44px;align-content:center;cursor:pointer;color:var(--tk-brand)}
.pay-fix-actions .text-button{min-height:44px;justify-self:start;text-align:left}
.pay-fix-choice{border:0;padding:0;margin:0;display:grid;gap:8px}
.pay-fix-choice .check-row{display:flex;align-items:center;gap:10px;min-height:44px}
.pay-delegations>summary,.pay-minimum-wages>summary,.pay-contract-ref>summary{min-height:44px;align-content:center;cursor:pointer}
.pay-delegation-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}
.pay-delegation-list>li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
.pay-delegation-list small{display:block;font-size:12px;color:var(--tk-text-secondary-on-page);overflow-wrap:anywhere}
.pay-delegation-list .action{margin:0;width:auto}
.pay-wage-table{width:100%;border-collapse:collapse;margin:12px 0;font-size:14px}
.pay-wage-table th,.pay-wage-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--tk-border-subtle,#e2ebf3);overflow-wrap:anywhere}
.pay-wage-form{display:grid;gap:12px;max-width:520px}
.pay-wage-form label{display:grid;gap:6px}
.pay-contract-terms{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}
@media (max-width:420px){.pay-delegation-list>li{grid-template-columns:1fr}.pay-wage-table th:nth-child(3),.pay-wage-table td:nth-child(3){display:none}}
/* 送信を止めた勤怠：給与担当と確認して送り直す（F127） */
.wf-held-ack{display:grid;gap:8px;margin:6px 0 2px}.wf-held-ack .check-row{display:flex;align-items:center;gap:8px;margin:0;font-size:14px}.wf-held-ack .check-row input{flex:0 0 20px;width:20px;height:20px}.wf-held-ack .action{width:auto;justify-self:start}
.closing-adjust-review{margin:10px 0}.closing-adjust-review summary{font-weight:600}
/* 予約の受付ルール・確認待ちの一覧・手で直す操作（P15：F1・F3・F6・F7・F110・R1-29） */
.rb-rules-summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin:0 0 12px;padding:8px 12px;border:1px solid var(--tk-border-subtle);border-radius:10px;background:white;font-size:13px;color:var(--tk-text-secondary);overflow-wrap:anywhere}.rb-rules-summary>span{flex:1;min-width:0}.rb-rules-summary .text-button{min-height:44px}
.rb-attention{display:grid;gap:10px;margin:0 0 16px}.rb-attention details{border:1px solid var(--tk-border-subtle);border-radius:12px;background:white}.rb-attention summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;min-height:48px;padding:10px 14px;font-size:14px;cursor:pointer}.rb-attention summary small{color:var(--tk-text-secondary);font-size:12px}
.rb-attention-list{display:grid;border-top:1px solid var(--tk-border-subtle)}.rb-attention-item{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr) auto 18px;align-items:center;gap:10px;min-height:52px;padding:10px 14px;border:0;border-bottom:1px solid var(--tk-border-subtle);background:white;color:var(--tk-text-primary);text-align:left;font-size:14px}.rb-attention-item:last-child{border-bottom:0}.rb-attention-when{font-variant-numeric:tabular-nums}.rb-attention-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-booking.noshow,.rb-status.noshow{background:#F4F4F5;color:#71717A}
.rb-detail-extras{display:grid;gap:10px;margin-top:14px;font-size:13px;min-width:0}.rb-detail-extras p{margin:0;overflow-wrap:anywhere}
.rb-manual-badge{display:inline-flex;align-items:center;margin-right:6px;padding:2px 7px;border-radius:6px;background:var(--tk-status-wait-bg);color:var(--tk-status-wait-text);font-size:11px;font-weight:700}
.rb-line-status{padding:8px 10px;border-radius:8px;background:#F4F7FA}.rb-line-status.failed{background:#FDEEEE;color:#A83939}
.rb-manual-history ul{margin:6px 0 0;padding-left:18px;display:grid;gap:4px}.rb-manual-history summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
.rb-manual-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.rb-manual-actions .text-button{min-height:44px}
.rb-manual-form,.rb-rule-override{display:grid;gap:10px;padding:12px;border-radius:12px;background:#F4F7FA;min-width:0}.rb-rule-override{background:var(--tk-status-wait-bg);color:var(--tk-status-wait-text)}.rb-rule-override p{margin:0}
.rb-manual-form label,.rb-rule-override label{display:grid;gap:6px;font-size:13px;font-weight:550}
.rb-rules-editor{display:grid;gap:20px;min-width:0}.rb-weekdays{display:flex;flex-wrap:wrap;gap:8px 14px;border:0;padding:0;margin:0}.rb-weekdays legend{font-size:13px;font-weight:550;margin-bottom:6px}.rb-weekdays label{display:flex;align-items:center;gap:6px;min-height:44px}
.rb-closures h3{margin:0 0 8px;font-size:15px}.rb-closures ul{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:4px}.rb-closures li{display:flex;justify-content:space-between;align-items:center;gap:8px;overflow-wrap:anywhere}
@media(max-width:700px){.rb-attention-item{grid-template-columns:minmax(0,1fr) auto;gap:4px 8px}.rb-attention-name{grid-column:1/2}.rb-attention-item>svg{display:none}}
/* P15 レビュー：取消の取り消しで卓を外す、受付ルールの変更履歴 */
.rb-manual-form label.rb-check{display:flex;align-items:center;gap:8px;min-height:44px;font-weight:500}
.rb-manual-history li{display:grid;gap:2px;overflow-wrap:anywhere}.rb-manual-history li small{color:var(--tk-text-secondary);font-size:12px}
/* キャストホームの出勤目標（F94）。既存の出勤の行の下に小さく出す */
.cast-goal-line{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 1px 8px;font-size:12px}
.cast-goal-line b{font-size:13px}
.cast-goal-line .text-button{min-height:44px;padding:0 4px;white-space:nowrap}
/* ホームページ管理の「お客様からの見え方」と、キャスト本人の出勤予定の許可（F90・R2-18） */
.website-preview-frame{padding:16px;border-radius:10px;background:#faf8f4;color:#242120}
.cast-schedule-consent{margin-top:20px;padding-top:16px;border-top:1px solid var(--line,#dde3ea)}
.cast-schedule-consent h3{margin:0 0 6px;font-size:16px}
/* 店名・営業日の区切りの変更履歴（F194） */
.store-profile-history{margin:0;padding-left:18px;display:grid;gap:6px;font-size:14px}
.store-profile-history span{color:var(--muted,#5f6b76);margin-right:6px}
/* LINE配信の止まった理由（F98） */
.campaign-delivery-reason{display:block;margin-top:4px;font-size:13px;color:var(--tk-status-warning-text,#7D5B21)}
/* F164：通知サービスに止められた・期限が切れた登録を消したことを、ヘッダーの通知アイコンの印で知らせる */
.icon-button.push-lapsed{position:relative}.push-lapsed-dot{position:absolute;top:6px;right:6px;width:9px;height:9px;border-radius:50%;background:var(--tk-status-warning-text,#7D5B21);box-shadow:0 0 0 2px #fff}
/* フロア：お客様の呼び出し・未提供・予約（P14・F27/F33）。フロア専用の暗い配色の中で、呼び出しは目立つ色、未提供は控えめに */
.floor-view .pill.call{background:#ff8fb1;color:#2a0714}
.floor-view .pill.unserved{background:var(--fv-panel-2);color:var(--fv-ink);border:1px solid var(--fv-line)}
.floor-view .floor-plate .alert{position:absolute;left:-.3cqw;top:max(-15px,-1.5cqw);font-size:max(9px,1.05cqw);padding:0 .35cqw;line-height:1.35;border-radius:2px;background:#ff8fb1;color:#2a0714;white-space:nowrap}
.floor-view .floor-call{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 0;padding:8px 10px;border-radius:6px;background:#3a1426;color:#ffd6e4;font-size:13px}
.floor-view .floor-unserved{margin:8px 0 0;color:var(--fv-muted);font-size:13px}
/* 精算済みの卓：返却を待つだけであることを示す（2026-10-24・1-A） */
.floor-view .floor-settled-note{margin:12px 0 0;padding:10px 12px;border-radius:6px;background:var(--fv-panel-2);border:2px solid var(--fv-line);color:var(--fv-muted);font-size:13px;line-height:1.6}
.floor-view .floor-settled-note strong{display:block;color:var(--fv-ink);font-size:14px;margin-bottom:2px}
.floor-view .floor-reservation{display:grid;gap:4px;margin:10px 0 0;font-size:13px;color:var(--fv-muted)}
.floor-view .floor-reservation select{width:100%;box-sizing:border-box;min-height:40px;padding:0 10px;border:1px solid var(--fv-line);border-radius:6px;background:var(--fv-panel-2);color:var(--fv-ink);font:inherit;font-size:14px}
.floor-view .floor-link{display:flex;align-items:end;gap:8px}.floor-view .floor-link .floor-reservation{flex:1;min-width:0}
html[data-takamaru-theme] .app-shell .floor-view .floor-reservation select{background:var(--fv-panel-2);color:var(--fv-ink);border-color:var(--fv-line)}
/* 商品写真の登録（P14・R2-3） */
.commerce-product-photo{display:grid;gap:8px;justify-items:start;margin:12px 0}.commerce-product-photo img{width:120px;height:120px;object-fit:cover;border-radius:8px;border:1px solid var(--tk-border-subtle)}.commerce-product-photo .text-button{min-height:44px;display:inline-flex;align-items:center;cursor:pointer}
/* P14・F23 スマホの依頼の確認番号（お客様のスマホに出ている4桁を入れる） */
.floor-view .floor-code input{width:100%;box-sizing:border-box;min-height:44px;padding:0 10px;border:1px solid var(--fv-line);border-radius:6px;background:var(--fv-panel-2);color:var(--fv-ink);font:inherit;font-size:22px;letter-spacing:.3em;text-align:center}
html[data-takamaru-theme] .app-shell .floor-view .floor-code input{background:var(--fv-panel-2);color:var(--fv-ink);border-color:var(--fv-line)}
/* R3 画面監査：見出しの横のボタンが見出しを押しつぶして「店／名」「設定を変／える」と折り返さないようにする */
.commerce-card-fee-setting .section-heading,.store-settings-page .section-heading{flex-wrap:wrap;align-items:flex-start;gap:8px 12px}.commerce-card-fee-setting .section-heading>div{flex:1 1 220px;min-width:0}.store-settings-page .section-heading>h2{flex:1 1 auto;min-width:0}.commerce-card-fee-setting .section-heading>.action,.store-settings-page .section-heading>.action,.campaign-delivery>.action{width:auto;flex:0 0 auto;margin:0;white-space:nowrap}
.campaign-delivery{flex-wrap:wrap;align-items:flex-start;gap:8px 12px}.campaign-delivery>p{flex:1 1 220px;min-width:0;margin:0}
/* R3 画面監査：精算の入力の「金額を決めて入れる」「追加料金を取らない」、会計の「手で直した履歴」が開ける項目だと分かるよう、開閉の印を付ける（summary を flex にすると既定の印が消えるため） */
:is(.commerce-card-fee-none,.commerce-manual-log)>summary::before{content:'▶';font-size:11px;margin-right:8px}:is(.commerce-card-fee-none,.commerce-manual-log)[open]>summary::before{content:'▼'}
/* 在庫（P20・F183）：既存の店舗業務画面の水色の部品（paper-card・notice・commerce-admin-tabs）のまま、表と記録の並びだけ足す */
.inventory-page{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.inventory-page>*{min-width:0}.inventory-page .commerce-admin-tabs{margin:4px 0 0;overflow-x:auto}.inventory-page .commerce-admin-tabs button{white-space:nowrap}
.inventory-note{margin:0}.inventory-inline-actions{display:inline-flex;flex-wrap:wrap;gap:8px;margin-left:8px;vertical-align:middle}
.inventory-table{width:100%;border-collapse:collapse;min-width:720px;font-size:14px}.inventory-table th,.inventory-table td{padding:8px;border-bottom:1px solid var(--tk-border-subtle);text-align:left;vertical-align:top}
.inventory-table thead th{font-size:12px;color:var(--tk-text-secondary,#5f6b76);white-space:nowrap}.inventory-table tbody th small,.inventory-table td small{display:block}
.inventory-table .inventory-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.inventory-table tfoot th,.inventory-table tfoot td{font-weight:700}
.inventory-table tr.inventory-low th{box-shadow:inset 3px 0 0 var(--tk-status-warning-text,#7D5B21)}.inventory-diff{color:var(--tk-status-warning-text,#7D5B21);font-weight:700}
.inventory-row-actions{display:flex;flex-wrap:wrap;gap:8px}.inventory-row-actions .action,.inventory-inline-actions .action,.inventory-period .action{width:auto;flex:0 0 auto;margin:0;min-height:40px;padding:6px 12px;font-size:13px;white-space:nowrap}.inventory-table td .inventory-row-actions{flex-wrap:nowrap}
.inventory-period{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:12px 0}.inventory-period .field{margin:0}
.inventory-page .inventory-table input.inventory-count{width:96px;max-width:96px;min-height:44px;font-size:18px;text-align:right}.inventory-reason-inline{display:grid;gap:6px;min-width:180px}.inventory-reason-inline select,.inventory-reason-inline input{min-height:40px}
.inventory-movements{list-style:none;margin:0;padding:0;display:grid}.inventory-movements>li{display:grid;gap:4px;padding:10px 0;border-bottom:1px solid var(--tk-border-subtle)}
.inventory-movement-head{display:flex;justify-content:space-between;gap:12px}.inventory-qty{font-weight:700;font-variant-numeric:tabular-nums}.inventory-qty.out{color:var(--tk-status-warning-text,#7D5B21)}
.inventory-movement-body{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:13px}.inventory-change{display:block}.inventory-reversed .inventory-movement-head{text-decoration:line-through;opacity:.7}
.inventory-manual{display:inline-block;padding:0 6px;border-radius:4px;font-size:11px;background:var(--tk-bg-soft,#e2eff9);color:var(--tk-brand,#1f3553)}
.inventory-history{margin:0;padding-left:18px;display:grid;gap:6px;font-size:14px}.inventory-history span{color:var(--muted,#5f6b76);margin-right:6px}
.inventory-product-list{list-style:none;margin:0;padding:0;display:grid}.inventory-product-list>li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:12px 0;border-bottom:1px solid var(--tk-border-subtle)}
.inventory-product-list>li>div:first-child{display:grid;gap:2px;min-width:0;flex:1 1 220px}.inventory-product-list small{overflow-wrap:anywhere}
.inventory-dialog-product{font-weight:700;margin:0 0 8px}.inventory-dialog-product small{display:block;font-weight:400;color:var(--tk-text-secondary,#5f6b76)}
.inventory-reason{border:0;padding:0;margin:8px 0}.inventory-reason legend{font-weight:700;font-size:14px;margin-bottom:4px}
@media(max-width:600px){.inventory-table tbody th{min-width:8.5em}.inventory-stocktake .inventory-table{min-width:0}.inventory-stocktake .inventory-table thead{display:none}.inventory-stocktake .inventory-table tr{display:grid;grid-template-columns:repeat(3,minmax(0,auto));justify-content:start;gap:6px 16px;align-items:end;padding:12px 0;border-bottom:1px solid var(--tk-border-subtle)}.inventory-stocktake .inventory-table :is(th,td){border:0;padding:0;text-align:left}.inventory-stocktake .inventory-table th,.inventory-stocktake .inventory-table .inventory-reason-cell{grid-column:1/-1}.inventory-stocktake .inventory-table td[data-label]::before{content:attr(data-label);display:block;font-size:11px;font-weight:400;color:var(--tk-text-secondary,#5f6b76)}.inventory-stocktake .inventory-reason-cell:has(.muted){display:none}.inventory-page .commerce-admin-tabs button{flex:0 0 auto;padding:12px 10px}.inventory-inline-actions{display:flex;margin:8px 0 0}.inventory-row-actions .action{flex:1 1 auto}}
/* 経営分析（監査 P21・F193）。既存の経営ダッシュボードの部品（owner-period・paper-card・owner-trend）と水色の配色をそのまま使う */
.analytics{min-width:0}.analytics .section-heading{align-items:flex-start}.analytics h2{display:flex;gap:8px;align-items:center;font-size:18px;margin:0 0 6px}.analytics h3{font-size:15px;margin:14px 0 6px}
.analytics-revisit{display:grid;gap:6px;font-size:13px}.analytics-revisit select{border:1px solid var(--tk-border-control);border-radius:9px;padding:10px;background:var(--tk-bg-surface);color:var(--tk-text-primary);font:inherit}
.analytics-mode{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 14px}.analytics-mode button{border:1px solid var(--tk-border-subtle);border-radius:9px;padding:10px 14px;min-height:var(--tk-touch-target);background:var(--tk-bg-surface);color:var(--tk-text-primary);font:inherit}.analytics-mode button[aria-pressed=true]{background:var(--tk-bg-selected);border-color:var(--tk-accent);font-weight:600}
.analytics-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.analytics-metrics article{display:flex;flex-direction:column;gap:8px;min-width:0;container-type:inline-size}.analytics-metrics article>span{font-size:13px;color:var(--tk-text-secondary);display:flex;flex-wrap:wrap;gap:6px;align-items:center}.analytics-metrics article>strong{font-size:min(clamp(22px,2.4vw,32px),16cqi);font-variant-numeric:tabular-nums;white-space:nowrap}.analytics-metrics small{font-size:12px;color:var(--tk-text-secondary);line-height:1.6}
.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:16px;margin-bottom:16px}.analytics-card{min-width:0;margin-bottom:16px}.analytics-grid>.analytics-card{margin-bottom:0}
.analytics-bars{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:4px}.analytics-bars li>button,.analytics-bars li>div{display:grid;grid-template-columns:60px minmax(40px,1fr) auto 16px;grid-template-areas:'label track amount chevron' 'label detail detail chevron';align-items:center;gap:2px 10px;width:100%;padding:8px 4px;border:0;border-radius:8px;background:none;color:var(--tk-text-primary);font:inherit;text-align:left}.analytics-bars li>button{cursor:pointer;min-height:var(--tk-touch-target)}.analytics-bars li>button:hover{background:var(--tk-bg-soft)}
.analytics-bar-label{grid-area:label;font-size:14px;white-space:nowrap}.analytics-bar-track{grid-area:track;height:10px;background:var(--tk-bg-soft);border-radius:4px;overflow:hidden}.analytics-bar-track i{display:block;height:100%;background:#68c6ee;border-radius:4px}.analytics-bars strong{grid-area:amount;font-variant-numeric:tabular-nums;font-size:14px;text-align:right}.analytics-bars small{grid-area:detail;font-size:12px;color:var(--tk-text-secondary)}.analytics-bars svg{grid-area:chevron;color:var(--tk-text-secondary)}
.analytics .owner-trend.analytics-days{max-height:420px;overflow:auto;margin-top:12px}:is(.owner-overview,.analytics) .owner-trend>div{grid-template-columns:84px minmax(20px,1fr) 110px}:is(.owner-overview,.analytics) .owner-trend>div>span{white-space:nowrap}.analytics-day-empty{color:var(--tk-text-secondary)}
.analytics-breakdown{display:grid;gap:0;margin:10px 0 0}.analytics-breakdown>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--tk-border-subtle)}.analytics-breakdown dd{margin:0;display:flex;gap:10px;align-items:baseline;font-variant-numeric:tabular-nums}.analytics-breakdown small{color:var(--tk-text-secondary);min-width:48px;text-align:right}
.analytics-table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}.analytics-table th,.analytics-table td{padding:10px 8px;border-bottom:1px solid var(--tk-border-subtle);text-align:right;vertical-align:top;white-space:nowrap}.analytics-table th:first-child,.analytics-table td:first-child{text-align:left}.analytics-table th[scope=row]{text-align:left}.analytics-table thead th{font-weight:500;font-size:12px;color:var(--tk-text-secondary)}.analytics-table small{display:block;font-size:12px;color:var(--tk-text-secondary)}
.analytics .badge.analytics-reference{background:var(--tk-status-warning-bg);color:var(--tk-status-warning-text);font-size:12px;font-style:normal;margin-left:4px}.analytics .badge.analytics-manual{background:var(--tk-status-wait-bg);color:var(--tk-status-wait-text);font-size:12px;white-space:normal}.analytics-warn{color:var(--tk-status-warning-text)}
/* キャスト別ランキング（本指名）：名前の列は左寄せ。紙の日報の名前の印・未収の注記は折り返して、小計の列を狭い画面でも画面内に収める */
.analytics-ranking th:nth-child(2){text-align:left}.analytics-ranking td:first-child{width:3em}.analytics-ranking small{white-space:normal;min-width:6em}.analytics-paper-name span,.analytics-ranking thead th span{display:inline-block;white-space:nowrap}.analytics-ranking thead th{white-space:normal}
.analytics-ratio{margin:14px 0}.analytics-ratio-head{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}.analytics-ratio-head strong{font-size:22px;font-variant-numeric:tabular-nums}.analytics-ratio-head small{color:var(--tk-text-secondary)}.analytics-ratio-track{position:relative;height:14px;margin-top:6px;background:var(--tk-bg-soft);border-radius:4px;overflow:hidden}.analytics-ratio-track b{position:absolute;inset:0 auto 0 0;background:#68c6ee;border-radius:4px}.analytics-ratio-track b.over{background:#e0a33a}.analytics-ratio-target{position:absolute;top:0;bottom:0;background:rgba(31,53,83,.18);border-left:2px solid var(--tk-text-primary);border-right:2px solid var(--tk-text-primary);z-index:1}
.analytics-actions{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 20px}.analytics-actions .action{width:auto;display:inline-flex;gap:8px;align-items:center}
.analytics-bill-list{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:0}.analytics-bill-list>li{display:grid;gap:8px;padding:12px 0;border-top:1px solid var(--tk-border-subtle)}.analytics-bill-list>li>div:first-child{display:grid;gap:3px;min-width:0}.analytics-bill-list span{font-size:13px;color:var(--tk-text-secondary);overflow-wrap:anywhere}.analytics-bill-list li.excluded strong{text-decoration:line-through;color:var(--tk-text-secondary)}.analytics-bill-list .action{width:auto;justify-self:start}
.analytics-inline-form{display:grid;gap:10px;padding:12px;border:1px solid var(--tk-border-subtle);border-radius:10px;background:var(--tk-bg-soft)}.analytics-reason{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px}.analytics-weather-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.analytics-weather-fields input{min-width:0}
.analytics-upload{display:inline-flex;gap:8px;align-items:center;margin:14px 0 8px;padding:10px 14px;min-height:var(--tk-touch-target);border:1px solid var(--tk-border-control);border-radius:9px;background:var(--tk-bg-surface);cursor:pointer;font-size:14px}.analytics-upload input{position:absolute;width:1px;height:1px;opacity:0}.analytics-upload:focus-within{outline:2px solid var(--tk-focus)}
.analytics-weather-days{margin-top:10px}.analytics-card details>summary{cursor:pointer;min-height:var(--tk-touch-target);display:flex;align-items:center;gap:8px;font-size:14px}.analytics-card details>summary::before{content:'▶';font-size:11px}.analytics-card details[open]>summary::before{content:'▼'}.analytics .section-heading{flex-wrap:wrap;gap:8px 12px}.analytics-card>.section-heading>h2{flex:1 1 auto;min-width:0}.analytics-card>.section-heading>.action{width:auto;flex:0 0 auto;margin:0;white-space:nowrap}.analytics-new-day{display:grid;gap:10px;margin-top:12px}.analytics-source{color:var(--tk-text-secondary);margin-top:12px}
.analytics-history{list-style:none;padding:0;margin:8px 0 0}.analytics-history li{display:grid;gap:2px;padding:8px 0;border-top:1px solid var(--tk-border-subtle);font-size:13px}.analytics-history small{color:var(--tk-text-secondary)}.analytics-history-change{font-weight:600;overflow-wrap:anywhere}
.analytics-report-create{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:10px 0}.analytics-report-create .field{margin:0;min-width:160px}.analytics-report-create .action{width:auto}
.analytics-report{border-top:1px solid var(--tk-border-subtle);padding:10px 0}.analytics-report>summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:var(--tk-touch-target);font-weight:600}.analytics-report ol{padding-left:22px;margin:0;display:grid;gap:6px;line-height:1.7}
.analytics-proposal{border:1px solid var(--tk-border-subtle);border-radius:10px;padding:12px;margin:10px 0;display:grid;gap:8px}.analytics-proposal h4{margin:0;font-size:15px}.analytics-proposal p{margin:0;line-height:1.7}.analytics-proposal form{display:grid;gap:8px}.analytics-proposal .action{width:auto;justify-self:start}.analytics-edit-proposal{border:1px solid var(--tk-border-subtle);border-radius:8px;display:grid;gap:8px}
.analytics-report-input pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;max-height:280px;overflow:auto;background:var(--tk-bg-soft);padding:10px;border-radius:8px}
@media(max-width:700px){.analytics-metrics{grid-template-columns:1fr 1fr}.analytics-metrics article:first-child{grid-column:1/-1}.analytics-metrics article{padding:16px}.analytics-bars li>button,.analytics-bars li>div{grid-template-columns:54px minmax(30px,1fr) auto 14px}.analytics .owner-trend.analytics-days>div{grid-template-columns:76px minmax(20px,1fr) 92px;gap:8px}.analytics-weather-fields{grid-template-columns:1fr}.analytics .owner-period{display:grid}}
/* 監査 P22：応援依頼・就業規則・有給・賞与。既存の水色の業務画面の部品（paper-card・wf-tabs・field）を使い、足りない配置だけを足す */
.labor{display:grid;gap:16px;min-width:0}.labor>*,.labor-body>*,.labor .paper-card{min-width:0;max-width:100%}.labor>.page-title{margin-bottom:0}.labor-tabs{max-width:100%;overflow-x:auto}.labor-tabs>button{white-space:nowrap;flex:0 0 auto}.labor-body{display:grid;gap:16px}
.labor .section-heading{flex-wrap:wrap;align-items:flex-start;gap:8px 12px}.labor .section-heading>h2,.labor .section-heading>div{flex:1 1 220px;min-width:0}.labor .section-heading>.action{width:auto;flex:0 0 auto;margin:0;white-space:nowrap}
.labor-notices{display:grid;gap:6px;margin:0;padding:12px 14px;list-style:none;border:1px solid var(--tk-border-subtle);border-radius:12px;background:var(--tk-status-wait-bg)}.labor-notices .text-button{text-align:left;color:var(--tk-status-wait-text);font-weight:600}
.labor-home{display:grid;gap:10px}.labor-home ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.labor-home .staff-settings-link{width:100%;padding:14px}
/* お知らせの文は文節で折り返す（語の途中で切らない。対応しないブラウザは通常の折り返し） */
.labor-home .staff-settings-link>span,.labor-cast-notices button>span{word-break:auto-phrase;text-wrap:pretty}
/* キャストのホーム：給与のカード（salary-card）と同じ白いカードで、ホームの中身の先頭に出す。行は淡い水色の押せる行 */
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .labor-cast-notices{margin-bottom:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .labor-cast-notices h3{font-size:16px;gap:5px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .labor-cast-notices ul{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .labor-cast-notices button{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:10px 11px;border-radius:13px;background:#eef6fb;font-size:13px;font-weight:600;line-height:1.5;text-align:left}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .labor-cast-notices button>span{flex:1;min-width:0;overflow-wrap:anywhere}
/* R4 画面監査：キャストのアプリの中の「休暇・就業規則」。キャスト画面はボタンの見た目を全部消している（cast-home-reference.css）ので、
   給与・契約（cast-pay）と同じカード・主ボタン・控えめなボタンの見た目をここで当てる。押し先は 44px 以上。 */
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .labor-cast .labor{gap:14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .labor-cast .customer-sections{margin:4px 0 2px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .labor-cast .paper-card{padding:21px 17px;background:#fff;border:1px solid #dce7f0;border-radius:18px;box-shadow:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .labor-cast .paper-card h2{font-size:17px;line-height:1.45;margin:0 0 6px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .labor-cast .action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:13px;background:linear-gradient(180deg,#315983,#183a62);color:#fff;font-size:14px;font-weight:800;line-height:1.35;box-shadow:0 3px 0 #102e4b;text-align:center}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .labor-cast .action.secondary{background:#f0f6fb;color:#365e85;font-weight:700;box-shadow:none;border:1px solid #d6e4ef}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .labor-cast .action:disabled{background:#e6edf3;color:#7c8fa3;box-shadow:none;border:0;cursor:default}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .labor-cast .text-button{min-height:44px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .labor-cast summary{min-height:44px;display:flex;align-items:center;gap:6px;cursor:pointer}
/* お知らせはホームのお知らせ（labor-cast-notices）と同じ行の形にする */
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .labor-cast .labor-notices{gap:8px;padding:0;border:0;background:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .labor-cast .labor-notices .text-button{display:flex;width:100%;justify-content:flex-start;text-align:left;padding:10px 12px;border-radius:13px;background:#eef6fb;color:#234d77;text-decoration:none;font-size:13px;font-weight:600;line-height:1.5;word-break:auto-phrase;text-wrap:pretty}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .labor-cast .notice{margin:0}
.labor-row{display:grid;gap:8px;padding:14px 0;border-top:1px solid var(--tk-border-subtle)}.labor-row:first-of-type{border-top:0}.labor-row p{margin:0;overflow-wrap:anywhere}
.labor-chip{display:inline-block;justify-self:start;width:fit-content;margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--tk-bg-soft);color:var(--tk-text-secondary);font-size:12px;font-weight:600;white-space:nowrap}
.labor-targets{display:grid;gap:6px;margin:0;padding:0;list-style:none}.labor-targets li{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}.labor-targets li>span:first-child{flex:1 1 140px;font-weight:600}.labor-targets .action{width:auto;margin:0}
.labor-docs{display:grid;gap:10px;margin:0;padding:0;list-style:none}.labor-docs>li{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--tk-border-subtle)}.labor-docs>li>div:first-child{display:grid;gap:4px;flex:1 1 240px;min-width:0}
.labor-voided{opacity:.6}.labor-voided strong{text-decoration:line-through}
.labor-manual,.labor-warn{display:block;color:var(--tk-status-warning-text);font-weight:600}.labor-manual{color:var(--tk-status-wait-text)}
.labor-form{display:grid;gap:14px}.labor-form textarea{min-height:96px;resize:vertical}.labor-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.labor-candidates{display:grid;gap:8px;border:1px solid var(--tk-border-subtle);border-radius:12px;padding:12px;margin:0;max-height:260px;overflow:auto}.labor-check{display:flex;gap:10px;align-items:center;min-height:44px}.labor-check input{width:22px;height:22px;flex:0 0 auto}
.labor-balance{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;margin:0}.labor-balance strong{font-size:24px}
/* 台帳・日数表は狭い画面で縦に潰さず、左右にスクロールする（TableScroll） */
.labor-table{width:100%;min-width:720px;border-collapse:collapse;font-size:14px}.labor-table th,.labor-table td{padding:8px;border-bottom:1px solid var(--tk-border-subtle);text-align:left;vertical-align:top;white-space:nowrap}.labor-table td:last-child{white-space:normal;min-width:160px}.labor-table .action{white-space:nowrap}.labor-table td .action{width:auto;margin:4px 0 0}.labor-table small{display:block}
.labor-table-edit{border:0;padding:0;margin:0;display:grid;gap:8px;min-width:0}.labor-table-edit .labor-table{min-width:620px}.labor-table-edit input{width:56px;min-height:40px}
.labor-person{padding:10px 0;border-top:1px solid var(--tk-border-subtle)}.labor-person h3{margin:0 0 6px}.labor-person p{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:4px 0}.labor-person .action{width:auto;margin:0}
.labor-file{display:inline-flex;align-items:center;justify-content:center;width:auto;margin:0;cursor:pointer}
.labor-upcoming{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--tk-border-subtle)}.labor-upcoming p{margin:0;overflow-wrap:anywhere}.labor-upcoming .labor-chip{margin:0 6px 0 0}
.labor .guest-actions>.action{white-space:nowrap}
@media(max-width:480px){.labor-grid{grid-template-columns:1fr}.labor .guest-actions>.action{flex:1 1 auto}}
/* 会員ランク（P23）：手動・初期認定の印、案の段階の入力、履歴 */
.member-ranks .member-rank-mark{margin:0 0 0 6px;vertical-align:middle}.member-ranks .member-rank-applied{margin-left:8px;vertical-align:middle;font-size:12px}
.member-ranks .member-rank-actions{margin:16px 0}.member-ranks .member-rank-list{display:grid;gap:12px}.member-ranks .member-rank-list>.paper-card{margin:0}
.member-ranks .commerce-admin-tabs{overflow-x:auto;scrollbar-width:thin}.member-ranks .commerce-admin-tabs button{white-space:nowrap;flex:0 0 auto}
.member-rank-customers{list-style:none;margin:0;padding:0;display:grid;gap:10px}.member-rank-customers>li{background:#fff;border:1px solid var(--tk-border-subtle);border-radius:14px;padding:14px 16px}.member-rank-who{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.member-rank-who strong{font-size:16px}.member-rank-tier{font-weight:700;white-space:nowrap}.member-rank-customers dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}.member-rank-customers dt{font-size:12px;color:var(--tk-text-secondary-on-page)}.member-rank-customers dd{margin:2px 0 0;font-size:14px}.member-ranks .member-rank-bonus{margin-top:14px}.member-ranks .member-rank-bonus summary{cursor:pointer;font-weight:650;min-height:44px;display:flex;align-items:center}.member-ranks .member-rank-windows summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:14px}.member-ranks .member-rank-windows ul{margin:0;padding-left:20px;font-size:14px}
/* 会員ランク：カードの見出しと操作。狭い幅では見出しを1行にし、操作は次の行に横並び。期間の入力はカードからはみ出さない */
.member-ranks .paper-card>.section-heading{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px 12px}.member-ranks .paper-card>.section-heading>h2{flex:1 1 180px;min-width:0;margin:0}.member-ranks .paper-card>.section-heading>.action,.member-ranks .paper-card>.section-heading>.guest-actions{flex:0 0 auto;width:auto}
.member-ranks .form-row .field{min-width:0}.member-ranks .form-row input[type=date]{min-width:0;width:100%;box-sizing:border-box}.member-ranks .form-row+.action{margin-top:12px}
/* R4 画面監査：320px では期間の「開始日 〜 終了日」を横に並べると日付の数字が欠ける（経営ダッシュボード・経営分析・売上の出力）。縦に積む */
@media(max-width:359px){.app-shell .owner-dates{grid-template-columns:minmax(0,1fr)}.app-shell .owner-dates>span{display:none}}
/* R4 画面監査：320px のオーナーのホームで、売上の出力の「先月・今月・今年・去年」が1文字ずつ縦に折り返していた。折り返さず、足りなければ次の行へ */
.app-shell .owner-presets{flex-wrap:wrap}.app-shell .owner-presets>button{white-space:nowrap}
/* R4 画面監査：有給の設定の日数表。入力欄が狭く「10」が「1」に欠けて見えていた */
.labor-form .labor-table-edit .labor-table input{width:64px;min-width:64px;max-width:none;padding:6px 8px;text-align:center;box-sizing:border-box}.labor-table-edit .labor-table th:first-child{white-space:normal;min-width:120px}
/* R4 画面監査：案の見出しのボタン（編集・この案を適用・しまう）が 320px で横にはみ出していた。縮めて折り返せるようにする */
.member-ranks .paper-card>.section-heading>.guest-actions{flex:0 1 auto;min-width:0;max-width:100%}
.member-ranks td .guest-actions{flex-wrap:nowrap}.member-ranks td .action{white-space:nowrap}@media(max-width:359px){.member-ranks .form-row{grid-template-columns:1fr}}
.member-rule-tiers{display:grid;gap:10px;margin:12px 0}.member-rule-tier{display:grid;grid-template-columns:1.2fr 1fr .8fr auto;gap:10px;align-items:end;padding-bottom:10px;border-bottom:1px solid var(--tk-border-subtle)}.member-rule-tier .field{margin:0}.member-rule-tier .field input{min-width:0}.member-rule-tier .text-button{min-height:44px}
@media(max-width:640px){.member-ranks .commerce-admin-tabs button{flex:0 0 auto;padding:13px 12px}.member-rank-customers dl{grid-template-columns:1fr 1fr}.member-rule-tier{grid-template-columns:1fr 1fr}.member-rule-tier .field:first-child{grid-column:1/-1}.member-ranks .member-rank-metrics strong{font-size:18px;overflow-wrap:anywhere}}
.member-rank-panel{margin:12px 0;padding:12px 14px;border:1px solid var(--tk-border-subtle);border-radius:12px;background:var(--tk-bg-soft)}.member-rank-panel p{margin:0 0 6px}.member-rank-benefit{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--tk-border-subtle);font-size:14px}.member-rank-benefit small{color:var(--tk-text-secondary-on-page)}.member-rank-benefit .text-button{min-height:44px;white-space:nowrap}
/* 注文・会計：スマホの注文を手で止めた LINE（P25・8章）。「手動」の印は他の手で直した印と同じ色 */
.order-block{margin-top:8px;font-size:14px}.order-block>summary{cursor:pointer;display:block;list-style:none;padding:11px 0;line-height:22px;overflow-wrap:anywhere}.order-block>summary::-webkit-details-marker{display:none}
.order-block-mark{display:inline-flex;align-items:center;margin-right:6px;padding:2px 7px;border-radius:6px;background:var(--tk-status-wait-bg);color:var(--tk-status-wait-text);font-size:11px;font-weight:700}
.order-block-form{display:grid;gap:8px;margin-top:8px}.order-block-form .action{justify-self:start;max-width:100%}
.order-block-list article{margin-top:8px;overflow-wrap:anywhere}.order-block-list h3{font-size:15px;margin:14px 0 0}.order-block-list{margin-bottom:12px}
.order-block>summary::before{content:'▶';font-size:11px;margin-right:8px}.order-block[open]>summary::before{content:'▼'}
/* 出勤の知らせ（P27）。アプリを開いたとき、端末に届いていた出勤の通知を並べる。時刻を先頭に、文節で折り返す */
.clock-in-notices{margin:0 0 16px;padding:8px 16px 12px;border:1px solid var(--tk-border-subtle,#dce7f0);border-radius:12px;background:var(--tk-bg-surface,#fff)}
.clock-in-notices-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.clock-in-notices-head strong{display:inline-flex;align-items:center;flex-wrap:wrap;gap:0 6px;font-size:14px}.clock-in-notices-head strong small{font-weight:500;color:var(--tk-text-secondary,#627b98)}
.clock-in-notices .text-button{min-width:44px;min-height:44px;padding:8px;white-space:nowrap;flex:none}
.clock-in-notices ul{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:0}.clock-in-notices li{display:flex;align-items:baseline;gap:12px;font-size:14px;line-height:1.6;padding:8px 0;border-top:1px solid var(--tk-border-subtle,#dce7f0)}
.clock-in-notices li time{flex:none;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.clock-in-notices li span{word-break:auto-phrase;min-width:0}.clock-in-notices li small{display:block;color:var(--tk-text-secondary,#627b98);font-size:12px}
.clock-in-notices-more{display:block;margin-top:4px}
/* 来店・卓管理の「次にすること」と、貸出と同時に開く料金（第2段③）。水色の業務画面の既存の色だけを使う */
.tablet-next{margin:10px 0 8px;padding:10px 12px;border-radius:10px;background:var(--tk-status-neutral-bg,#eef2f1)}
.tablet-next>span{display:block;font-size:12px;font-weight:650;color:var(--tk-text-secondary-on-page)}
.tablet-next>p{margin:2px 0 0;font-size:15px;font-weight:650;line-height:1.5}
.tablet-next.is-settle,.tablet-next.is-return{background:var(--tk-status-warning-bg,#fff4dc)}
.tablet-return-why{margin:4px 0 0}
.tablet-opening{margin:14px 0 4px;padding:12px;border:1px solid var(--tk-border-subtle,#e5e7e5);border-radius:12px}
.tablet-opening h3{margin:0 0 4px;font-size:16px}.tablet-opening>p{margin:0;font-size:14px;line-height:1.6}
/* 最初の料金の数字（O9）：金額と時間をいちばん大きく */
.tablet-opening>p.tablet-opening-price{font-size:20px;font-weight:700;line-height:1.4;font-variant-numeric:tabular-nums}
.tablet-opening .floor-mini{min-height:44px;margin-top:10px;padding:0 12px;border:1px solid var(--tk-border-subtle,#d5dcd9);border-radius:10px;background:#fff;color:inherit;font:inherit;font-size:14px;cursor:pointer}
.tablet-opening .floor-manual-toggle{width:100%}
.tablet-opening .floor-pick{margin-top:10px;display:grid;gap:6px}
.tablet-opening .floor-error{margin:6px 0 0;color:var(--tk-status-error-text,#b3261e);font-size:13px}
.tablet-opening .floor-muted{margin:0;color:var(--tk-text-secondary-on-page);font-size:13px}
.tablet-opening .floor-cancel{justify-self:start}
.commerce-next-return{display:grid;gap:8px;justify-items:start;margin:8px 0}
/* 会計・フロアを任されたキャストの下のメニュー（6つ）。320px でも1行に収める（採用済みの注文デザインの CSS は触らない） */
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .essential-nav.has-store{gap:2px;padding-left:6px;padding-right:6px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .essential-nav.has-store button{min-width:44px;letter-spacing:-.02em;white-space:nowrap}
@media(max-width:380px){html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .essential-nav.has-store button{font-size:9.5px;letter-spacing:-.04em}}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui dialog.cast-store-menu .all-menu button{min-height:48px;width:100%}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui dialog.cast-store-menu .modal-heading .icon-button{min-width:44px;min-height:44px}
/* 任されたキャストが開く店舗の業務画面（main に cast-ui を付けない）：左右の余白と、下のメニューに隠れない下の余白 */
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .app-main:not(.cast-ui){box-sizing:border-box;width:100%;max-width:1120px;margin:0 auto;padding:calc(16px + env(safe-area-inset-top,0px)) calc(16px + env(safe-area-inset-right,0px)) calc(96px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px))}
/* 狭い画面で2行になるときは語の途中で切らない */
.tablet-admin-modal .tablet-admin-actions .action,.tablet-opening,.tablet-next>p,.tablet-pending h2{word-break:auto-phrase}
/* キープボトル（2026-10-06・未採用）。表は在庫（.inventory-table）と同じ見た目 */
.keep-page{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.keep-page>*{min-width:0}
.keep-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:0}
.keep-toolbar .field{flex:1 1 260px;margin:0}
.keep-toolbar .action{width:auto;flex:0 0 auto;margin:0;min-height:49px;padding:6px 16px;white-space:nowrap}
.keep-section h2{font-size:1rem;margin:20px 0 8px}
.keep-table{width:100%;border-collapse:collapse;min-width:720px;font-size:14px}.keep-table th,.keep-table td{padding:8px;border-bottom:1px solid var(--tk-border-subtle);text-align:left;vertical-align:top}
.keep-table thead th{font-size:12px;color:var(--tk-text-secondary,#5f6b76);white-space:nowrap}
.keep-table th[scope=row]{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:16px;font-weight:800;color:var(--tk-text-primary)}
/* 画面監査（2026-10-07）：日付・呼び名が語の途中で折り返さない。銘柄は空白でだけ折り返す。棚番号は一番目立たせる */
.keep-table td{white-space:nowrap}.keep-table td.keep-product{white-space:normal;word-break:keep-all;min-width:6em}.keep-table td.keep-ops{white-space:normal}
/* 棚・お客様・使った がスマホ幅（320）でも画面内に収まるよう、長い呼び名は折り返す */
.keep-table td.keep-customer>span.keep-name{display:inline-block;width:max-content;max-width:8em;white-space:normal;overflow-wrap:anywhere}.keep-table td.keep-use .action{width:auto;margin:0;min-height:40px;padding:6px 12px;font-size:13px;white-space:nowrap}
.keep-table .badge.danger{background:var(--tk-status-error-bg);color:var(--tk-status-error-text)}
.keep-actions{display:flex;flex-wrap:wrap;gap:8px}
.keep-actions .action{width:auto;flex:0 0 auto;margin:0;min-height:40px;padding:6px 12px;font-size:13px;white-space:nowrap}
/* スマホ・タブレットでは表は横に動くので、操作のボタンを1行に並べて行の高さをそろえる（縦に積むと1行が3〜5段になり、棚番号を一目で追えない） */
@media(max-width:1099px){.keep-actions{flex-wrap:nowrap}}
.keep-row.keep-expired th[scope=row]{color:var(--tk-status-error-text)}
.keep-closed{margin-top:20px}.keep-closed>summary{padding:10px 0;cursor:pointer}
.keep-confirm-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.keep-confirm-actions .action{flex:1 1 120px;width:auto;margin:0}

/* この会計のキープ（2026-10-06・未採用） */
.bill-keep-panel{border:1px solid var(--tk-border-subtle);border-radius:12px;background:var(--tk-bg-soft);margin:12px 0;padding:12px 14px}
.bill-keep-panel p{margin:0 0 6px}
.bill-keep-panel ul{margin:6px 0 0;padding-left:18px}
.commerce-ledger .commerce-line-unserved{margin-left:8px;vertical-align:1px}

/* キャスト別ランキング（本指名）のカードと一覧（2026-10-19。キャストのホームと、許可のある1日体験キャストの入店手続きの画面） */
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-ranking-card,html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial .cast-ranking-card{display:flex;align-items:center;gap:10px;width:100%;min-height:60px;margin:0 0 14px;padding:10px 12px;border:1px solid #f1dccd;border-radius:13px;background:linear-gradient(110deg,#fff7ef,#ffeee2);color:#4b3a35;text-align:left;font:inherit;cursor:pointer}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-ranking-card>svg:first-child,html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial .cast-ranking-card>svg:first-child{color:#ad5b37;flex:0 0 auto}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-ranking-card>svg:last-child,html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial .cast-ranking-card>svg:last-child{color:#a08070;flex:0 0 auto}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-ranking-card-text,html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial .cast-ranking-card-text{flex:1 1 auto;min-width:0;display:grid;gap:2px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-ranking-card-text strong,html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial .cast-ranking-card-text strong{font-size:15px;font-weight:700;line-height:1.3}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-ranking-card-text small,html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial .cast-ranking-card-text small{font-size:11px;font-weight:500;color:#7a6259;line-height:1.4}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-ranking-card-rank,html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial .cast-ranking-card-rank{flex:0 0 auto;display:grid;justify-items:end;gap:1px;white-space:nowrap}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-ranking-card-rank small,html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial .cast-ranking-card-rank small{font-size:10px;font-weight:600;color:#7a6259}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-ranking-card-rank b,html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial .cast-ranking-card-rank b{font-size:22px;letter-spacing:-.03em;line-height:1.1;color:#ad5b37}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-ranking-periods,html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial .cast-ranking-periods{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 10px;padding:4px;border-radius:999px;background:#f5ece7}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-ranking-periods button,html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial .cast-ranking-periods button{min-height:40px;padding:6px 10px;border:0;border-radius:999px;background:transparent;color:#6b5850;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-ranking-periods button[aria-pressed="true"],html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial .cast-ranking-periods button[aria-pressed="true"]{background:#fff;color:#4b3a35;box-shadow:0 1px 4px #4b3a3520}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-ranking-note,html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial .cast-ranking-note{margin:0 0 4px;font-size:12px;line-height:1.7;color:#6b5850}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-ranking-range,html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial .cast-ranking-range{margin:0 0 10px;font-size:12px;font-weight:700;color:#4b3a35}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-ranking-list,html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial .cast-ranking-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;overflow:auto;max-height:min(60dvh,520px)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-ranking-list li,html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial .cast-ranking-list li{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:52px;padding:8px 12px;border-radius:12px;background:#faf6f3}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-ranking-list li.self,html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial .cast-ranking-list li.self{background:#ffe9da;box-shadow:inset 0 0 0 2px #e8a77f}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-ranking-rank,html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial .cast-ranking-rank{font-size:20px;font-weight:700;color:#ad5b37;line-height:1}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-ranking-rank small,html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial .cast-ranking-rank small{font-size:11px;margin-left:1px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-ranking-name,html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial .cast-ranking-name{min-width:0;overflow-wrap:anywhere;font-size:14px;font-weight:600;color:#4b3a35;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-ranking-name em,html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial .cast-ranking-name em{font-style:normal;font-size:10px;font-weight:700;color:#fff;background:#c46b43;border-radius:999px;padding:2px 8px;white-space:nowrap}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-ranking-figures,html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial .cast-ranking-figures{display:grid;justify-items:end;gap:1px;white-space:nowrap}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-ranking-figures b,html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial .cast-ranking-figures b{font-size:15px;color:#4b3a35}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-ranking-figures span,html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial .cast-ranking-figures span{font-size:12px;color:#6b5850}
html[data-takamaru-theme] .app-shell.staff-shell .cast-ranking-trial{margin:16px 0 0}
/* スマホ幅：フロアは画面の端まで、会計の画面は幅いっぱいに下から出す（入れ子の余白を減らす。2026-10-24） */
@media (max-width:599px){
 .floor-view .floor-shell{margin-inline:-12px;border-radius:0;padding:12px 10px}
 .floor-view .floor-card{padding:12px}
 .modal.floor-bill-sheet{width:100vw;max-width:100vw;margin:auto 0 0;border-radius:16px 16px 0 0;padding-inline:0}
 .modal.floor-bill-sheet .modal-heading{padding-inline:16px}
 .modal.floor-bill-sheet .modal-body{padding-inline:16px;scrollbar-gutter:auto}
 .modal.floor-bill-sheet .modal-body .paper-card{border:0;box-shadow:none;padding-inline:0;background:transparent}
 .modal.commerce-edit-modal{width:100vw;max-width:100vw;margin:auto 0 0;border-radius:16px 16px 0 0;padding-inline:0}
 .modal.commerce-edit-modal .modal-heading{padding-inline:16px}
 .modal.commerce-edit-modal .modal-body{padding-inline:16px;scrollbar-gutter:auto}
}
.floor-view .floor-manual-zone{margin:12px 0 0;border-top:1px dashed var(--fv-line);padding-top:8px}
.floor-view .floor-manual-zone>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:6px;color:var(--fv-muted);font-size:14px}
.floor-view .floor-manual-zone>summary::before{content:'▸'}.floor-view .floor-manual-zone[open]>summary::before{content:'▾'}
/* スマホ幅の店長・オーナーの画面：ページの端と箱の余白を詰め、文字が使える幅を広げる（2026-10-24 村上さん「画面幅の限界まで」）。
   余白は ページ 12px ＋ 箱 14px（箱の中の箱は 12px）。会計の画面と同じく、ダイアログは幅いっぱいに下から出す */
@media (max-width:599px){
 html .app-shell.staff-shell.admin-shell .app-main{padding-left:12px;padding-right:12px}
 html .app-shell.staff-shell.admin-shell .app-main .paper-card{padding-left:14px;padding-right:14px}
 html .app-shell.staff-shell.admin-shell .app-main .paper-card .paper-card{padding-left:12px;padding-right:12px}
 html .app-shell.staff-shell.admin-shell .modal{width:100vw;max-width:100vw;margin:auto 0 0;border-radius:16px 16px 0 0;padding-left:0;padding-right:0}
 html .app-shell.staff-shell.admin-shell .modal .modal-heading{padding-left:16px;padding-right:16px}
 html .app-shell.staff-shell.admin-shell .modal .modal-body{padding-left:16px;padding-right:16px;scrollbar-gutter:auto}
}
.floor-pick.floor-manual{scroll-margin-top:96px;scroll-margin-bottom:104px}

/* 今日のバック（K1・2026-10-24 ペルソナ監査、案A）。キャストのホームの出勤カードのすぐ下と、体験入店の打刻の下。
 * 採用デザインの照合対象（cast-home*.css）は変えず、ここに置く。確定は実線、見込みは点線で分ける */
html[data-takamaru-theme] .app-shell.staff-shell .today-back{display:grid;gap:8px;margin:0;padding:12px 13px;border:1px solid #d9e7f0;border-radius:16px;background:#fff;color:#2f3b45;box-shadow:0 1px 10px #274b700d}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .home-screen>.today-back{margin:12px 13px 0}
html[data-takamaru-theme] .app-shell.staff-shell .onboarding .today-back{margin:0 0 16px}
html[data-takamaru-theme] .app-shell.staff-shell .today-back-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}
html[data-takamaru-theme] .app-shell.staff-shell .today-back-head h3{display:flex;align-items:center;gap:6px;margin:0;font-size:16px;font-weight:700;color:#2f3b45}
html[data-takamaru-theme] .app-shell.staff-shell .today-back-head h3 svg{color:#ad5b37}
html[data-takamaru-theme] .app-shell.staff-shell .today-back-head small{font-size:11px;color:#6b7a86;white-space:nowrap}
html[data-takamaru-theme] .app-shell.staff-shell .today-back-figures{display:grid;grid-template-columns:1fr 1fr;gap:8px}
html[data-takamaru-theme] .app-shell.staff-shell .today-back-figures>div{display:grid;gap:2px;min-width:0;padding:9px 10px;border-radius:12px}
html[data-takamaru-theme] .app-shell.staff-shell .today-back-confirmed{background:#fff4ea;border:1px solid #f1d6c2}
html[data-takamaru-theme] .app-shell.staff-shell .today-back-projected{background:#fff;border:1px dashed #c9b3a6}
html[data-takamaru-theme] .app-shell.staff-shell .today-back-figures small{font-size:12px;font-weight:700;color:#7a6259}
html[data-takamaru-theme] .app-shell.staff-shell .today-back-figures b{font-size:24px;line-height:1.15;letter-spacing:-.02em;color:#ad5b37;font-variant-numeric:tabular-nums;white-space:nowrap}
html[data-takamaru-theme] .app-shell.staff-shell .today-back-projected b{color:#8a6a5c}
html[data-takamaru-theme] .app-shell.staff-shell .today-back-figures span{font-size:11px;color:#6b7a86}
html[data-takamaru-theme] .app-shell.staff-shell .today-back-counts{margin:0;font-size:13px;color:#4b5864}
html[data-takamaru-theme] .app-shell.staff-shell .today-back-counts b{color:#2f3b45}
html[data-takamaru-theme] .app-shell.staff-shell .today-back-counts i{margin:0 6px;font-style:normal;color:#a8b4bd}
html[data-takamaru-theme] .app-shell.staff-shell .today-back-note{margin:0;font-size:11px;line-height:1.5;color:#6b7a86}
html[data-takamaru-theme] .app-shell.staff-shell .today-back-alert{display:grid;gap:4px;padding:9px 10px;border-radius:12px;background:#fff8e8;border:1px solid #f0dcaa}
html[data-takamaru-theme] .app-shell.staff-shell .today-back-alert p{margin:0;font-size:12px;line-height:1.5;color:#5b4a2a}
html[data-takamaru-theme] .app-shell.staff-shell .today-back-alert strong{display:block;font-size:14px;color:#3f3320}
html[data-takamaru-theme] .app-shell.staff-shell .today-back-alert .text-button{justify-self:start}

/* O7（2026-10-26）：1列の画面で席を選んだら、席の詳細を未提供の付箋より先に並べる（付箋が縮んでも席の詳細が流れない） */
@container (max-width:759px){.floor-view .floor-layout.has-selection .floor-notes{order:1}}
/* O11（2026-10-26）：キャストを着ける一覧。種類の切り替えは上に1つ、名前を押して着ける */
.floor-view .floor-pick-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.floor-view .floor-pick-head .floor-muted{margin:0;flex:1}
.floor-view .floor-pick-close{min-width:44px;min-height:44px;display:grid;place-items:center;padding:0}
.floor-view .floor-kind-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:2px solid var(--fv-line);border-radius:8px;overflow:hidden}
.floor-view .floor-kind-switch button{min-height:48px;border:0;border-left:1px solid var(--fv-line);background:var(--fv-panel);color:var(--fv-muted);font:inherit;font-size:15px;cursor:pointer}
.floor-view .floor-kind-switch button:first-child{border-left:0}
.floor-view .floor-kind-switch button[aria-checked="true"]{background:var(--fv-chair-hi);color:var(--fv-ink);font-weight:700}
.floor-view .floor-kind-switch button.kind-requested[aria-checked="true"]{box-shadow:inset 0 -3px 0 var(--fv-coin)}
.floor-view .floor-kind-switch button.kind-inHouse[aria-checked="true"]{box-shadow:inset 0 -3px 0 #b9a3ff}
.floor-view .floor-cast-names{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.floor-view .floor-cast-name{width:100%;min-height:52px;padding:6px 10px;border:1px solid var(--fv-line);border-radius:8px;background:var(--fv-panel-2);color:var(--fv-ink);font:inherit;font-size:15px;text-align:left;cursor:pointer;word-break:auto-phrase}
.floor-view .floor-cast-name:disabled{opacity:.5;cursor:default}
/* O12（2026-10-26）：会計を記録した後の席の詳細。回収する端末の名前を大きく出す */
.floor-view .floor-settled-note p{margin:4px 0 0}
.floor-view .floor-settled-note .floor-settled-done{margin:0 0 8px;color:var(--fv-ink);font-size:15px;font-weight:700}
.floor-view .floor-settled-note .floor-settled-device{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin:6px 0 8px;padding:10px 12px;border-radius:6px;background:var(--fv-panel);border:2px solid var(--fv-checkout)}
.floor-view .floor-settled-note .floor-settled-device span{color:var(--fv-muted);font-size:13px}
.floor-view .floor-settled-note .floor-settled-device b{color:var(--fv-ink);font-size:26px;font-weight:700;letter-spacing:.02em;word-break:break-all}

/* Adopted C palette. Opt in on html with data-takamaru-theme="light".
   Light is intentional even when the OS prefers dark. No unapproved dark palette. */
:root, [data-takamaru-theme="light"] {
  --tk-brand: #1F3553;
  --tk-accent: #68C6EE;
  --tk-bg-page: #F4F7FA;
  --tk-bg-surface: #FFFFFF;
  --tk-text-primary: #24354B;
  --tk-text-secondary: #63758A;
  --tk-text-secondary-on-page: #52647A;
  --tk-border-subtle: #DCE5ED;
  --tk-bg-soft: #EBF5FC;
  --tk-bg-selected: #E2EFF9;
  --tk-text-active: #1F3553;
  --tk-action-primary: #1F3553;
  --tk-action-on-primary: #FFFFFF;
  --tk-status-wait-bg: #FFF5E4;
  --tk-status-wait-text: #885A20;
  /* Operational meanings preserved from existing UI; separate from branding. */
  --tk-status-success-bg: #EDF7EF;
  --tk-status-success-text: #225539;
  --tk-status-error-bg: #FFF0EE;
  --tk-status-error-text: #A3332B;
  --tk-status-warning-bg: #FFF6E5;
  --tk-status-warning-text: #7D5B21;
  --tk-status-neutral-bg: #F0F1F0;
  --tk-status-neutral-text: #536559;
  --tk-line-brand: #06C755;
  --tk-line-on-brand: #143021;
  /* Accessibility / interaction extensions, not replacement brand colors. */
  --tk-border-control: #8293A6;
  --tk-focus: #1F3553;
  --tk-action-hover: #294668;
  --tk-disabled-bg: #E9EEF3;
  --tk-disabled-text: #63758A;
  --tk-font: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
  --tk-radius: 14px;
  --tk-radius-control: 10px;
  --tk-touch-target: 48px;
}
[data-takamaru-theme="light"] { color-scheme: light; }

/* All selectors are scoped to exported tk-* components; no global reset. */
.tk-header, .tk-header *, .tk-button, .tk-field, .tk-field *, .tk-choice, .tk-status, .tk-notice, .tk-nav { box-sizing: border-box; }
.tk-header { display:flex; align-items:center; gap:24px; padding:16px 28px; min-height:80px; background:var(--tk-bg-surface); color:var(--tk-text-primary); border-bottom:1px solid var(--tk-border-subtle); font-family:var(--tk-font); }
.tk-home { display:flex; align-items:center; min-height:48px; flex-shrink:0; text-decoration:none; }
.tk-logo { display:block; width:180px; height:60px; object-fit:contain; background:#fff; flex-shrink:0; }
.tk-store { display:flex; flex-direction:column; min-width:0; gap:3px; font-size:15px; }
.tk-store-name { font-weight:700; overflow-wrap:anywhere; }
.tk-store-context { font-size:13px; color:var(--tk-text-secondary); }
.tk-header-actions { margin-left:auto; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.tk-role { font-size:13px; color:var(--tk-text-secondary); }
.tk-button { appearance:none; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:var(--tk-touch-target); padding:12px 20px; font:650 16px/1.5 var(--tk-font); border:1px solid transparent; border-radius:var(--tk-radius-control); background:var(--tk-action-primary); color:var(--tk-action-on-primary); cursor:pointer; touch-action:manipulation; text-decoration:none; }
.tk-button--secondary { background:var(--tk-bg-surface); border-color:var(--tk-border-control); color:var(--tk-brand); }
.tk-button--quiet { background:transparent; color:var(--tk-brand); }
.tk-button--danger { background:var(--tk-status-error-text); color:#fff; }
.tk-button--line { background:var(--tk-line-brand); color:var(--tk-line-on-brand); }
.tk-button--block { width:100%; }
@media(hover:hover) { .tk-button:not(:disabled):not([aria-disabled=true]):hover { filter:brightness(.94); } }
.tk-button:disabled, .tk-button[aria-disabled=true] { background:var(--tk-disabled-bg); border-color:transparent; color:var(--tk-disabled-text); opacity:1; cursor:not-allowed; }
.tk-field { display:grid; gap:8px; font:16px/1.6 var(--tk-font); color:var(--tk-text-primary); min-width:0; }
.tk-field-label { font-weight:650; }
.tk-field input, .tk-field select, .tk-field textarea { width:100%; min-height:48px; min-width:0; padding:12px 14px; border:1px solid var(--tk-border-control); border-radius:var(--tk-radius-control); background:var(--tk-bg-surface); color:var(--tk-text-primary); font:inherit; }
.tk-field textarea { min-height:120px; resize:vertical; }
.tk-field :is(input,select,textarea)::placeholder { color:var(--tk-text-secondary); opacity:1; font-size:inherit; }
.tk-field :is(input,select,textarea)[aria-invalid=true] { border:2px solid var(--tk-status-error-text); }
.tk-field :is(input,select,textarea):disabled { background:var(--tk-disabled-bg); color:var(--tk-disabled-text); }
.tk-field :is(input,textarea)[readonly] { background:var(--tk-bg-page); }
.tk-field-hint, .tk-field-error { font-size:14px; }
.tk-field-hint { color:var(--tk-text-secondary); }
.tk-field-error { color:var(--tk-status-error-text); }
.tk-choice { display:flex; align-items:flex-start; flex-direction:column; gap:8px; width:100%; min-height:72px; text-align:left; padding:18px 20px; border:1px solid var(--tk-border-subtle); border-radius:var(--tk-radius); color:var(--tk-text-primary); background:var(--tk-bg-surface); font:16px/1.6 var(--tk-font); cursor:pointer; touch-action:manipulation; }
.tk-choice[aria-pressed=true], .takamaru-choice[aria-pressed=true] { background:var(--tk-bg-selected); border-color:transparent; box-shadow:none; color:var(--tk-text-active); }
.tk-choice-title { display:flex; align-items:center; gap:12px; justify-content:space-between; width:100%; font-weight:700; }
.tk-choice-description { font-size:14px; color:var(--tk-text-primary); }
.tk-choice-selection { font-size:12px; font-weight:500; white-space:nowrap; }
.tk-choice:disabled { opacity:.65; cursor:not-allowed; }
.tk-status { display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border:0; border-radius:8px; font:600 13px/1.6 var(--tk-font); white-space:normal; max-width:100%; background:var(--tk-bg-soft); color:var(--tk-brand); }
.tk-status--wait { background:var(--tk-status-wait-bg); color:var(--tk-status-wait-text); }
.tk-status--success { background:var(--tk-status-success-bg); color:var(--tk-status-success-text); }
.tk-status--error { background:var(--tk-status-error-bg); color:var(--tk-status-error-text); }
.tk-status--warning { background:var(--tk-status-warning-bg); color:var(--tk-status-warning-text); }
.tk-status--neutral { background:var(--tk-status-neutral-bg); color:var(--tk-status-neutral-text); }
.tk-notice { display:flex; gap:10px; align-items:flex-start; padding:16px 18px; background:var(--tk-bg-soft); color:var(--tk-brand); border-radius:var(--tk-radius-control); font:15px/1.7 var(--tk-font); overflow-wrap:anywhere; }
.tk-notice--success { background:var(--tk-status-success-bg); color:var(--tk-status-success-text); }
.tk-notice--warning { background:var(--tk-status-warning-bg); color:var(--tk-status-warning-text); }
.tk-notice--error { background:var(--tk-status-error-bg); color:var(--tk-status-error-text); }
.tk-notice-icon { flex-shrink:0; font-weight:700; }
.tk-nav { display:flex; gap:8px; background:var(--tk-bg-surface); border-bottom:1px solid var(--tk-border-subtle); padding:0 24px; overflow-x:auto; }
.tk-nav a { display:flex; align-items:center; justify-content:center; min-height:52px; padding:12px 18px; color:var(--tk-text-secondary); text-decoration:none; border-bottom:3px solid transparent; font:15px/1.5 var(--tk-font); white-space:nowrap; }
.tk-nav a[aria-current=page] { border-bottom-color:var(--tk-accent); color:var(--tk-brand); font-weight:700; }
:is(.tk-home,.tk-button,.tk-choice,.tk-nav a,.tk-field input,.tk-field select,.tk-field textarea):focus-visible { outline:3px solid var(--tk-focus); outline-offset:3px; }
@media(max-width:600px) { .tk-header { padding:10px 16px; gap:8px 16px; flex-wrap:wrap; } .tk-logo { width:150px; height:50px; } .tk-store { order:3; flex-basis:100%; flex-direction:row; justify-content:space-between; gap:8px; } .tk-header-actions { gap:8px; } .tk-header-actions .tk-button { font-size:14px; padding:10px; } .tk-nav { padding:0 8px; gap:0; } .tk-nav a { padding:12px 14px; } }
@media(forced-colors:active) { .tk-choice[aria-pressed=true] { background:Highlight; color:HighlightText; forced-color-adjust:none; } .tk-choice[aria-pressed=true] .tk-choice-description { color:HighlightText; } .tk-nav a[aria-current=page] { border-bottom-color:Highlight; } }

/* Load AFTER ui-refresh.css, only with html[data-takamaru-theme="light"].
 * Explicit selector adapter. No bulk replacement of green / operational states.
 * Full role/flow acceptance belongs to the integration task. */
html[data-takamaru-theme="light"],
html[data-takamaru-theme="light"] :is(.app-shell,.tablet-app) {
  --green:var(--tk-brand); --muted:var(--tk-text-secondary-on-page);
  --border:var(--tk-border-subtle); --paper:var(--tk-bg-surface);
  --soft:var(--tk-bg-soft); --bg:var(--tk-bg-page);
  color:var(--tk-text-primary); background:var(--tk-bg-page);
}
html[data-takamaru-theme="light"] :is(.app-shell,.app-main,.tablet-main) { background:var(--tk-bg-page); }
html[data-takamaru-theme="light"] :is(.app-header,.tablet-header,.paper-card,.tablet-card,.contract-stage) { background:var(--tk-bg-surface); border-color:var(--tk-border-subtle); }
html[data-takamaru-theme="light"] :is(.header-location,.audience-label,.eyebrow,.tablet-device-name,.tablet-muted,.wf-month-navigation,.wf-pick-weekday,.field small,.commerce-breakdown dt,.commerce-ledger small,.commerce-history-row small) { color:var(--tk-text-secondary); }
html[data-takamaru-theme="light"] :is(.action,.tablet-button) { background:var(--tk-action-primary); color:var(--tk-action-on-primary); border-color:var(--tk-action-primary); }
html[data-takamaru-theme="light"] :is(.action.secondary,.tablet-button.secondary) { background:var(--tk-bg-surface); color:var(--tk-brand); border-color:var(--tk-border-control); }
html[data-takamaru-theme="light"] :is(.action.is-destructive,.tk-button--danger) { background:var(--tk-status-error-text); color:#fff; border-color:var(--tk-status-error-text); }
html[data-takamaru-theme="light"] .action.wf-destructive { background:#974438; color:#fff; border-color:#974438; }
html[data-takamaru-theme="light"] .action.wf-destructive:hover { background:#81392f; }
html[data-takamaru-theme="light"] .action.danger { background:#96392f; color:#fff; border-color:#96392f; }
html[data-takamaru-theme="light"] .action.secondary.danger { background:#fff; color:#96392f; border-color:#96392f; }
html[data-takamaru-theme="light"] :is(.text-button.danger,.field-error) { color:var(--tk-status-error-text); }
html[data-takamaru-theme="light"] .visit-primary { background:var(--tk-brand); box-shadow:none; }
html[data-takamaru-theme="light"] :is(.visit-secondary,.commerce-history-row) { background:var(--tk-bg-surface); color:var(--tk-brand); border-color:var(--tk-border-subtle); }
html[data-takamaru-theme="light"] :is(.app-shell,.tablet-app) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea) { background:var(--tk-bg-surface); color:var(--tk-text-primary); border-color:var(--tk-border-control); }
html[data-takamaru-theme="light"] :is(.app-shell,.tablet-app) :is(input,textarea)::placeholder { color:var(--tk-text-secondary); }
html[data-takamaru-theme="light"] .app-shell input[readonly] { background:var(--tk-bg-page); color:var(--tk-text-secondary); }
html[data-takamaru-theme="light"] .app-shell :is(input,textarea,select)[aria-invalid=true] { border:2px solid var(--tk-status-error-text); }
html[data-takamaru-theme="light"] :is(.app-shell,.tablet-app) :is(button,a,input,select,textarea,summary):focus-visible { outline:3px solid var(--tk-focus); outline-offset:3px; }
/* Selected cards: surface only. Keep dimensions, labels and native focus. */
html[data-takamaru-theme="light"] :is(.choice.selected,.team-job-option.selected,.hiring-quiz-editor .hiring-question .check-row.selected,.tk-choice[aria-pressed=true],.takamaru-choice[aria-pressed=true]) {
  background:var(--tk-bg-selected); color:var(--tk-text-active); border-color:transparent; box-shadow:none; background-image:none;
}
html[data-takamaru-theme="light"] :is(.choice.selected,.team-job-option.selected,.hiring-quiz-editor .hiring-question .check-row.selected)::before { content:none; }
/* Calendar cells use the same surface. Today's small dot is a separate date cue. */
html[data-takamaru-theme="light"] .wf-pick-grid button.selected { background:var(--tk-bg-selected); color:var(--tk-brand); border-color:transparent; box-shadow:none; }
html[data-takamaru-theme="light"] .wf-pick-grid button[aria-current=date]::after { background:var(--tk-brand); }
html[data-takamaru-theme="light"] :is(.wf-selected-days button,.wf-selected-date,.counter button,.tablet-table,.commerce-quantity button) { background:var(--tk-bg-soft); color:var(--tk-brand); border-color:var(--tk-border-subtle); }
html[data-takamaru-theme="light"] .wf-selected-days button span { color:var(--tk-brand); }
html[data-takamaru-theme="light"] .wf-pick-grid button:not(.selected):not(.occupied):not(:disabled) { background:var(--tk-bg-page); color:var(--tk-text-primary); }
html[data-takamaru-theme="light"] .wf-next-day { background:var(--tk-bg-soft); color:var(--tk-brand); }
html[data-takamaru-theme="light"] .wf-time-selects { border-color:var(--tk-border-control); }
html[data-takamaru-theme="light"] :is(.wf-time-selects>span,.wf-shift-note summary) { color:var(--tk-text-secondary-on-page); }
html[data-takamaru-theme="light"] .wf-shift-form>.wf-shift-submit { border-color:var(--tk-border-subtle); }
/* Navigation uses a sky underline, never a card's left bar / inset ring. */
html[data-takamaru-theme="light"] :is(.app-navigation .nav-shortcuts button,.app-navigation .nav-more,.commerce-admin-tabs button,.commerce-navigation button) { color:var(--tk-text-secondary); border-bottom:3px solid transparent; box-shadow:none; }
html[data-takamaru-theme="light"] :is(.app-navigation .nav-shortcuts button.selected,.app-navigation .nav-more.selected,.commerce-admin-tabs button.selected,.commerce-toolbar .commerce-navigation button.selected) { background:var(--tk-bg-surface); color:var(--tk-brand); border-color:transparent; border-bottom-color:var(--tk-accent); box-shadow:none; }
html[data-takamaru-theme="light"] .all-menu button[aria-current=page] { background:var(--tk-bg-selected); color:var(--tk-brand); }
html[data-takamaru-theme="light"] :is(.commerce-categories button.selected,.contract-progress li.current .step-number) { color:#fff; background:var(--tk-brand); border-color:var(--tk-brand); }
html[data-takamaru-theme="light"] :is(.contract-progress li.current,.auth-steps li.current) { color:var(--tk-brand); }
html[data-takamaru-theme="light"] .auth-steps li.current { border-color:var(--tk-brand); }
html[data-takamaru-theme="light"] .quiz-progress>div>span.current { background:var(--tk-brand); }
html[data-takamaru-theme="light"] :is(.team-tabs,.contract-reading,.tablet-staff-guidance,.wf-calendar-panel,.wf-accompaniment-disclosure,.reservation-note) { background:var(--tk-bg-page); border-color:var(--tk-border-subtle); }
html[data-takamaru-theme="light"] .team-tabs button { color:var(--tk-text-secondary); }
html[data-takamaru-theme="light"] .team-tabs button[aria-pressed=true] { background:white; color:var(--tk-brand); box-shadow:none; border-bottom:3px solid var(--tk-accent); }
html[data-takamaru-theme="light"] .notice.info { background:var(--tk-bg-soft); color:var(--tk-brand); border-color:var(--tk-border-subtle); }
/* Business colors: retain success / errors / cancellations. Only waiting adopts the approved warm badge. */
html[data-takamaru-theme="light"] :is(.badge.pending,.wf-badge.pending,.tablet-badge.pending) { background:var(--tk-status-wait-bg); color:var(--tk-status-wait-text); }
/* .notice.success, .notice.warning, .badge.confirmed, .wf-badge.confirmed,
 * .contract-complete, .photo-success, .save-state.failed, .voided, .tablet-alert,
 * .tablet-pending and .call-accepted are intentionally not rethemed. */
html[data-takamaru-theme="light"] .app-shell .action[data-provider=line],
html[data-takamaru-theme="light"] .tk-button--line { background:var(--tk-line-brand); color:var(--tk-line-on-brand); border-color:transparent; }
html[data-takamaru-theme="light"] :is(.app-shell,.tablet-app) :is(.action,.tablet-button):disabled { background:var(--tk-disabled-bg); border-color:var(--tk-border-subtle); color:var(--tk-disabled-text); opacity:1; }
/* Logo component in current shells: keep the store selector and assistant/logout slots. */
html[data-takamaru-theme="light"] .app-header .tk-logo { width:156px; height:52px; }
html[data-takamaru-theme="light"] .tablet-header .tablet-brand { display:flex; align-items:center; gap:18px; min-width:0; }
html[data-takamaru-theme="light"] .tablet-header .tablet-store-name { display:block; font-size:17px; overflow-wrap:anywhere; }
@media(max-width:600px) {
  html[data-takamaru-theme="light"] .app-header .tk-logo { width:132px; height:44px; }
  html[data-takamaru-theme="light"] .tablet-header .tablet-brand { flex-direction:column; align-items:flex-start; gap:4px; }
  html[data-takamaru-theme="light"] .tablet-header .tk-logo { width:132px; height:44px; }
}
@media(forced-colors:active) {
  html[data-takamaru-theme="light"] :is(.choice.selected,.team-job-option.selected,.wf-pick-grid button.selected,.hiring-question .check-row.selected) { background:Highlight; color:HighlightText; forced-color-adjust:none; }
}

/* Final shared theme for the live shells. The approved tokens are loaded once. */
html[data-takamaru-theme="light"] {--dark:var(--tk-text-primary);--line:var(--tk-border-subtle);--pale:var(--tk-bg-soft);accent-color:var(--tk-brand)}
html[data-takamaru-theme="light"] body{background:var(--tk-bg-page);color:var(--tk-text-primary)}
html[data-takamaru-theme="light"] :is(.app-shell,.tablet-app){--dark:var(--tk-text-primary);--line:var(--tk-border-subtle);--pale:var(--tk-bg-soft)}
html[data-takamaru-theme="light"] :is(.app-header,.tablet-header){color:var(--tk-brand);background:var(--tk-bg-surface)}
html[data-takamaru-theme="light"] .app-header .header-location{min-width:0;overflow-wrap:anywhere}
html[data-takamaru-theme="light"] .app-header .header-right{flex-shrink:0}
html[data-takamaru-theme="light"] .app-header .icon-button{color:var(--tk-brand)}
html[data-takamaru-theme="light"] :is(.wf-tabs button[aria-pressed=true],.hiring-tabs button[aria-pressed=true],.sample-segment [aria-pressed=true]){background:var(--tk-bg-selected);color:var(--tk-text-active);border-color:transparent;box-shadow:none}
html[data-takamaru-theme="light"] :is(.team-job-option.selected,.review-options label.selected,.sample-calendar td button.selected){background:var(--tk-bg-selected);color:var(--tk-text-active);border-color:transparent;box-shadow:none;background-image:none}
html[data-takamaru-theme="light"] :is(.team-job-option.selected,.review-options label.selected)::before{content:none}
html[data-takamaru-theme="light"] :is(.app-navigation,.all-menu,.admin-login-card,.wf-clock,.wf-shift-submit){border-color:var(--tk-border-subtle)}
html[data-takamaru-theme="light"] .dashboard-task:hover{background:var(--tk-bg-soft)}
html[data-takamaru-theme="light"] .assistant-launcher{background:var(--tk-brand);color:white;border-color:var(--tk-brand)}
html[data-takamaru-theme="light"] .assistant-panel{background:var(--tk-bg-surface);color:var(--tk-text-primary)}
html[data-takamaru-theme="light"] .workforce:has(.cast-dashboard){gap:16px}
html[data-takamaru-theme="light"] .workforce:has(.cast-dashboard)>.wf-screen-heading{display:none}
html[data-takamaru-theme="light"] .cast-dashboard .cd-clock-slot>.wf-clock{border:0;box-shadow:none;padding:0;margin:0;background:transparent}
html[data-takamaru-theme="light"] .cast-dashboard .cd-clock-slot .wf-clock h2{font-size:16px}
html[data-takamaru-theme="light"] .cast-dashboard .cd-clock-slot .wf-clock-actions{min-width:0}
html[data-takamaru-theme="light"] .cast-dashboard .cd-clock-slot .action{min-height:52px}
html[data-takamaru-theme="light"] .cast-dashboard .cd-caption{color:var(--tk-text-secondary-on-page)}
@media(max-width:600px){
 html[data-takamaru-theme="light"] .app-shell .app-header{display:grid;grid-template-columns:auto minmax(0,1fr);padding:8px 14px;gap:0 12px;min-height:70px}
 html[data-takamaru-theme="light"] .app-header .brand{grid-column:1;grid-row:1/3}
 html[data-takamaru-theme="light"] .app-header .tk-logo{width:123px;height:41px}
 html[data-takamaru-theme="light"] .app-header .header-location{grid-column:2;grid-row:2;font-size:12px;margin:0;text-align:right}
 html[data-takamaru-theme="light"] .app-header .header-right{grid-column:2;grid-row:1;margin-left:auto;gap:4px}
 html[data-takamaru-theme="light"] .app-header .store-selector{min-width:0;max-width:100%}
 html[data-takamaru-theme="light"] .app-header .store-selector select{font-size:14px;min-height:36px;padding:5px 8px}
 html[data-takamaru-theme="light"] .app-header .audience-label{font-size:11px}
 html[data-takamaru-theme="light"] .app-header #app-assistant-slot .assistant-launcher{width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;gap:0;justify-content:center}
 html[data-takamaru-theme="light"] .app-header .assistant-launcher>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 html[data-takamaru-theme="light"] .cast-dashboard .cd-clock-slot .wf-clock-actions{margin-top:12px}
}

html[data-takamaru-theme="light"] .workforce>.cast-dashboard{width:100%;padding:0}
/* The personal time-clock width must not constrain the dashboard's two-column layout. */
html[data-takamaru-theme="light"] .workforce-personal:has(>.cast-dashboard){max-width:1180px}

/* Component layout only. Shared --tk-* theme is supplied by the integration owner. */
.cast-dashboard{max-width:1180px;margin:0 auto;padding:38px 32px 42px;color:var(--tk-text-primary);font-family:inherit;line-height:1.6}
.cast-dashboard *{box-sizing:border-box}
.cast-dashboard h1,.cast-dashboard h2,.cast-dashboard h3,.cast-dashboard p{margin:0}
.cast-dashboard h1{font-size:27px;letter-spacing:.025em;line-height:1.5;font-weight:700}
.cast-dashboard h2{font-size:17px;line-height:1.5}.cast-dashboard h3{font-size:14px}
.cast-dashboard button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.cast-dashboard button:disabled{cursor:default;opacity:.5}
.cast-dashboard button:focus-visible,.cast-dashboard summary:focus-visible{outline:3px solid var(--tk-brand);outline-offset:4px}
.cast-dashboard svg{flex-shrink:0}
.cd-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}
.cd-eyebrow{font-size:12px;color:var(--tk-text-secondary);letter-spacing:.08em;margin-bottom:6px!important;display:flex;align-items:center;gap:7px}
.cd-caption{font-size:12px;color:var(--tk-text-secondary);line-height:1.7}
.cd-card{background:var(--tk-bg-surface);border:1px solid var(--tk-border-subtle);border-radius:18px;padding:24px}
.cd-clock{display:flex;align-items:center;flex-wrap:wrap;gap:20px 32px;margin-bottom:32px;padding:25px 28px}
.cd-clock-info{flex:1;min-width:0}.cd-section-label{display:flex;align-items:center;gap:12px}
.cd-section-label>.cd-caption{margin-left:auto}
.cd-icon-tile{width:36px;height:36px;border-radius:11px;background:var(--tk-bg-soft);color:var(--tk-brand);display:grid;place-items:center}
.cd-shift{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:12px 0 0 48px}
.cd-shift>strong{font-size:24px;letter-spacing:.025em;font-variant-numeric:tabular-nums}
.cd-chip{background:var(--tk-bg-soft);color:var(--tk-brand);border-radius:6px;padding:3px 9px;font-size:11px;font-weight:600;white-space:nowrap}
.cd-wait,.cd-stale{background:var(--tk-status-wait-bg);color:var(--tk-status-wait-text)}
.cd-clock-info>p{margin:5px 0 0 48px}
.cd-clock-controls{display:flex;gap:12px;min-width:260px}
.cd-primary,.cd-secondary{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:12px 20px;border-radius:11px;font-size:14px!important;font-weight:650!important}
.cd-primary{border:0;background:var(--tk-action-primary);color:var(--tk-action-on-primary);flex:1}
.cd-primary>svg:last-child{margin-left:auto}
.cd-secondary{background:var(--tk-bg-surface);border:1px solid var(--tk-border-subtle);color:var(--tk-brand)}
.cd-clock-slot{flex:1;min-width:260px}.cd-clock-notice{flex-basis:100%;font-size:13px;color:var(--tk-status-wait-text);padding:12px 16px;background:var(--tk-status-wait-bg);border-radius:9px}
.cd-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,1fr);gap:26px}
.cd-main-column,.cd-side-column,.cd-post-main{min-width:0}.cd-side-column{display:flex;flex-direction:column;gap:20px;grid-column:2;grid-row:1/span 2}.cd-post-main{grid-column:1;grid-row:2}.cd-layout{align-items:start;row-gap:0}
.cd-results-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:17px}
.cd-period{display:flex;background:var(--tk-bg-surface);border-radius:10px;padding:4px;gap:3px}
.cd-period button{border:0;border-radius:7px;background:transparent;color:var(--tk-text-secondary);font-size:12px;font-weight:600;min-height:38px;min-width:78px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.cd-period button[aria-pressed=true]{background:var(--tk-bg-selected);color:var(--tk-text-active);box-shadow:none}
.cd-metrics{display:grid;grid-template-columns:1fr 1.25fr 1.25fr;gap:12px}
.cd-metric{border:1px solid var(--tk-border-subtle);background:var(--tk-bg-surface);border-radius:14px;padding:20px 16px;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.cd-metric-label{display:flex;align-items:center;gap:7px;color:var(--tk-brand)}
.cd-metric-label h3{font-size:12px;line-height:1.5}
.cd-number{font-size:28px;line-height:1.2;letter-spacing:-.025em;font-weight:700;font-variant-numeric:tabular-nums;margin:19px 0 9px!important;white-space:nowrap}
.cd-number span{font-size:14px;margin-left:4px}.cd-metric .cd-caption{font-size:10px;min-height:34px}
.cd-metric-wide{grid-column:1/-1}.cd-number-long{font-size:24px}
.cd-amount-group{max-width:100%}.cd-amount-group .cd-pending{white-space:nowrap;margin:5px 0 8px;font-size:11px}
.cd-metric-notice{font-size:12px;color:var(--tk-status-wait-text);padding:12px 15px;margin:0 0 18px!important;border-radius:9px;background:var(--tk-status-wait-bg)}
.cd-text-link{display:inline-flex;align-items:center;gap:4px;min-height:36px;color:var(--tk-brand);border:0;background:transparent;padding:2px 0;font-size:12px!important;text-align:left}
.cd-metric .cd-text-link{margin-top:auto}
.cd-period-note{display:flex;justify-content:space-between;flex-wrap:wrap;gap:3px 12px;font-size:11px;color:var(--tk-text-secondary);margin:10px 0 20px!important}
.cd-goal{margin-bottom:18px;padding:20px 24px}.cd-row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.cd-goal-value{display:flex;align-items:baseline;gap:4px;margin:7px 0 12px!important;font-variant-numeric:tabular-nums}
.cd-goal-value strong{font-size:27px}.cd-goal-value span{font-size:14px;color:var(--tk-text-secondary)}.cd-goal-value small{font-size:12px;color:var(--tk-text-secondary);margin-left:auto}
.cast-dashboard progress{appearance:none;display:block;border:0;border-radius:20px;width:100%;height:8px;background:var(--tk-border-subtle);overflow:hidden}
.cast-dashboard progress::-webkit-progress-bar{background:var(--tk-border-subtle)}.cast-dashboard progress::-webkit-progress-value{background:var(--tk-accent);border-radius:20px}
.cast-dashboard progress::-moz-progress-bar{background:var(--tk-accent);border-radius:20px}
.cd-journey{padding:25px 24px;background:var(--tk-bg-soft);border-radius:18px;color:var(--tk-brand)}
.cd-journey-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0 23px}
.cd-journey h2{font-size:19px;line-height:1.6}.cd-journey h2 strong{font-size:45px;letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1.3}.cd-journey h2 small{font-size:19px;margin-left:4px}
.cd-journey-top p{font-size:12px;margin-top:5px}.cd-ring{position:relative;width:113px;height:113px;flex-shrink:0}
.cd-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.cd-ring circle{stroke:var(--tk-bg-selected);stroke-width:8;fill:none}
.cd-ring circle+circle{stroke:var(--tk-accent);stroke-linecap:round}.cd-ring>span{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.cd-ring strong{font-size:29px;line-height:1.15}.cd-ring small{font-size:12px}
.cd-badges{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:23px}
.cd-badge{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;color:var(--tk-text-secondary)}
.cd-medallion{display:grid;place-items:center;position:relative;width:43px;height:43px;border:1px dashed var(--tk-border-subtle);border-radius:50%;background:var(--tk-bg-page)}
.cd-badge.achieved .cd-medallion{background:var(--tk-bg-surface);border:1px solid var(--tk-accent);color:var(--tk-brand)}
.cd-medallion i{position:absolute;right:-2px;bottom:-1px;background:var(--tk-brand);color:var(--tk-action-on-primary);border-radius:50%;height:14px;width:14px;display:grid;place-items:center}
.cd-badge strong{font-size:10px;white-space:nowrap;font-weight:600}.cd-badge small{font-size:9px}.cd-badge.achieved strong{color:var(--tk-brand)}
.cd-journey>.cd-caption{font-size:10px;text-align:right}
.cd-streak{padding:22px 24px}.cd-streak .cd-row>svg{color:var(--tk-text-secondary)}
.cd-streak-value{margin:13px 0!important;display:flex;align-items:baseline;gap:6px}.cd-streak-value strong{font-size:34px;line-height:1.2}.cd-streak-value span{font-size:15px}
.cd-stamps{display:flex;gap:7px;margin:15px 0}.cd-stamps span{width:24px;height:24px;border:1px solid var(--tk-border-subtle);border-radius:50%;display:grid;place-items:center}.cd-stamps .filled{background:var(--tk-accent);border-color:transparent;color:var(--tk-brand)}
.cd-streak details{font-size:12px;margin-top:15px}.cd-streak summary{padding:6px 0;color:var(--tk-text-secondary);cursor:pointer}.cd-streak details p{font-size:12px;margin-top:10px}
.cd-definitions{padding:0 22px;margin-bottom:22px;font-size:12px}.cd-definitions>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:55px;font-size:12px;cursor:pointer;color:var(--tk-text-secondary)}
.cd-definitions>summary::-webkit-details-marker{display:none}.cd-definitions[open]>summary span{transform:rotate(45deg)}
.cd-definition{padding:16px 0;border-top:1px solid var(--tk-border-subtle)}.cd-definition h3{margin-bottom:5px}.cd-definition p+p{margin-top:5px}
.cd-pay-detail{display:flex;justify-content:space-between;padding:16px 0 0;border-top:1px solid var(--tk-border-subtle)}.cd-pay-detail+.cd-definition{border-top:0}
.cd-pending{color:var(--tk-status-wait-text);font-size:11px;line-height:1.6}.cd-definitions>.cd-pending{margin-bottom:15px}
.cd-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:-12px 0 30px}
.cd-shortcuts button{display:flex;align-items:center;gap:11px;border:0;background:var(--tk-bg-surface);border-radius:12px;padding:17px 15px;color:var(--tk-brand);text-align:left;min-width:0}
.cd-shortcuts button>svg:last-child{margin-left:auto}.cd-shortcuts strong{display:block;font-size:13px}.cd-shortcuts small{display:block;font-size:10px;color:var(--tk-text-secondary);white-space:nowrap}
.cd-loading,.cd-error{margin-bottom:20px;min-height:190px}.cd-loading>svg{color:var(--tk-text-secondary);margin-bottom:10px}.cd-loading p,.cd-error p{font-size:13px;color:var(--tk-text-secondary);margin:7px 0 16px}
.cd-skeletons{display:flex;gap:12px}.cd-skeletons i{display:block;height:20px;flex:1;background:var(--tk-bg-soft);border-radius:6px}
.cd-stale{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:10px;font-size:12px;margin-bottom:14px}.cd-stale small{display:block}
.cd-empty{display:flex;align-items:center;gap:16px;padding:19px 20px;margin-bottom:20px;border-radius:14px;background:var(--tk-bg-soft);color:var(--tk-brand)}
.cd-empty h3{font-size:14px}.cd-empty p{font-size:12px;margin-top:5px;color:var(--tk-text-secondary)}
@media(min-width:801px) and (max-width:1120px){.cast-dashboard{padding:28px 22px}.cd-layout{grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);gap:20px}.cd-metrics{grid-template-columns:1fr 1fr}.cd-metric:first-child{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:4px 12px}.cd-metric:first-child .cd-amount-group{grid-area:1/2/3/3;margin:0!important}.cd-metric:first-child .cd-text-link{grid-column:1/-1}.cd-shortcuts button>svg:last-child{display:none}.cd-journey{padding:22px 20px}}
@media(max-width:800px){
 .cast-dashboard{padding:23px 18px 30px}.cd-heading{margin-bottom:22px}.cast-dashboard h1{font-size:22px}.cd-heading>.cd-caption{display:none}.cd-layout{display:flex;flex-direction:column;gap:22px}
 .cd-clock{padding:18px;margin-bottom:24px;gap:18px}.cd-clock-info{flex-basis:100%}.cd-clock-controls{width:100%;min-width:0;flex-wrap:wrap}.cd-clock-slot{width:100%;min-width:0}.cd-section-label{gap:9px}.cd-section-label h2{font-size:15px}.cd-icon-tile{width:30px;height:30px}.cd-section-label>.cd-caption{font-size:11px}
 .cd-shift{margin:12px 0 0 0}.cd-shift>strong{font-size:23px}.cd-clock-info>p{margin-left:0}.cd-clock-controls .cd-primary{min-height:52px}.cd-results-heading{margin-bottom:13px}.cast-dashboard h2{font-size:16px}.cd-period button{min-width:67px}
 .cd-metrics{grid-template-columns:1fr 1fr;gap:10px}.cd-metric{padding:16px}.cd-metric:first-child{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:0 12px}
 .cd-metric:first-child .cd-amount-group{grid-area:1/2/4/3;margin:0!important;align-self:center}.cd-metric:first-child .cd-caption{min-height:0}.cd-metric:first-child .cd-text-link{min-height:29px}
 .cd-number{font-size:clamp(23px,6.5vw,26px);margin:15px 0 8px!important}.cd-number-long{font-size:clamp(16px,4.9vw,22px)}.cd-metric-label h3{font-size:12px}.cd-metric-label{gap:7px}.cd-metric .cd-caption{min-height:35px;font-size:11px}.cd-period-note{font-size:10px;margin-bottom:17px!important}
 .cd-goal{padding:18px;margin-bottom:14px}.cd-goal-value{margin-top:5px!important}.cd-shortcuts{gap:9px;margin:-7px 0 24px}.cd-shortcuts button{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:12px 8px}.cd-shortcuts button>svg:last-child{display:none}
 .cd-definitions{padding:0 18px;margin-bottom:17px}.cd-main-column,.cd-post-main{display:contents}.cd-results-heading{order:0;margin:0}.cd-loading,.cd-error,.cd-stale{order:1;margin:0}.cd-metrics{order:2}.cd-period-note{order:3;margin:-14px 0 0!important}.cd-empty{order:4;margin:0}.cd-goal{order:6;margin:0}.cd-definitions{order:7;margin:0}.cd-side-column{order:5;gap:18px}.cd-layout{align-items:stretch}
 .cd-journey{padding:22px}.cd-journey-top{margin:16px 0 22px}.cd-journey h2{font-size:19px}.cd-journey h2 br{display:none}.cd-journey h2 strong{font-size:30px;margin-left:3px}.cd-journey-top p{margin-top:8px}.cd-ring{width:100px;height:100px}.cd-badges{gap:9px}.cd-medallion{width:45px;height:45px}.cd-badge strong{font-size:11px}.cd-badge small{font-size:10px}
 .cd-streak{padding:21px 22px}.cd-streak-value{margin:12px 0!important}.cd-streak>.cd-caption br{display:none}
}
@media(max-width:370px){.cast-dashboard{padding-left:12px;padding-right:12px}.cast-dashboard h1{font-size:20px}.cd-metric{padding:14px 12px}.cd-number{font-size:23px}.cd-number-long{font-size:19px}.cd-metric-label{gap:5px}.cd-metric-label svg{width:16px}.cd-metric-label h3{font-size:11px}.cd-journey{padding:20px 17px}.cd-journey h2{font-size:17px}.cd-journey h2 strong{font-size:26px}.cd-medallion{width:40px;height:40px}.cd-stamps{gap:5px}.cd-stamps span{width:21px;height:21px}}
@media(prefers-reduced-motion:reduce){.cast-dashboard *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(max-width:1120px){.cd-metric:first-child .cd-number{margin:0!important}.cd-metric:first-child .cd-amount-group .cd-pending{text-align:right}}
@media(max-width:800px){.cd-metric-notice{order:4;margin:0!important}}

/* Reset only the adopted cast presentation before the scoped reference rules. */
/* 共通の Button（.action）はリセットから外し、一般スタッフの画面と同じ形・塗りにする（UX監査 ST-01/B1）。:where で包んで特異度は上げない */
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-weight:500;font-size:16px;line-height:normal;letter-spacing:normal;color:#173458}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui :where(h1,h2,h3,h4,p){margin:0;letter-spacing:normal}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui :where(button:not(.action),input,textarea,select){font:inherit;color:inherit;letter-spacing:normal}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui button:where(:not(.action)){border:0;background:none;box-shadow:none;min-height:0;margin:0;line-height:normal;padding:2px 6px;border-radius:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui input,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui textarea,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui select{margin:0;box-shadow:none;min-height:0;width:auto}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui button svg{flex-shrink:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui b,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui strong{font-weight:800}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui h1{line-height:normal}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui small{line-height:inherit}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui button:where(:not(.action)){min-width:0;padding:1px 6px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal-body form{margin:0}
/* 控えめな注記（キャストのホームの「動きを減らす」、一般スタッフの給与明細の「未確認 N件」。UX監査 B4） */
.ch-note{margin:6px 0 0;font-size:12px;line-height:1.6;color:#5d7186;font-weight:500}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-cat .ch-note{margin:0;padding:6px 16px 0;text-align:center}

.rb{color:var(--tk-text-primary);font-family:var(--tk-font);width:100%;min-width:0}
.rb *{box-sizing:border-box}.rb button,.rb input,.rb select,.rb textarea{font:inherit}.rb button{cursor:pointer}.rb button:disabled{cursor:wait;opacity:.6}.rb button:focus-visible,.rb input:focus-visible,.rb select:focus-visible,.rb textarea:focus-visible,.rb-scroll:focus-visible{outline:3px solid var(--tk-focus);outline-offset:3px}.rb-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rb-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.rb-eyebrow{font-size:10px;letter-spacing:.16em;font-weight:700;color:var(--tk-text-secondary);margin:0 0 6px}.rb h1{font-size:28px;letter-spacing:.02em;margin:0;line-height:1.35}.rb-button,.rb-icon{border:1px solid var(--tk-border-subtle);border-radius:10px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--tk-brand);background:white;padding:10px 16px;font-weight:600;white-space:nowrap}.rb-primary{background:var(--tk-brand);color:white;border-color:transparent}.rb-primary:hover{background:var(--tk-action-hover)}.rb-icon{border-color:transparent;border-radius:8px;padding:8px;min-width:44px}.rb-icon:hover{background:var(--tk-bg-soft)}
.rb-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.rb-date-controls,.rb-date-picker{display:flex;align-items:center;gap:8px}.rb-date-controls{gap:12px}.rb-date-picker{gap:0;background:white;border:1px solid var(--tk-border-subtle);border-radius:10px;padding:3px}.rb-date-label{position:relative;display:grid;place-items:center;min-height:44px;padding:0 20px;font-size:18px;font-weight:650;white-space:nowrap}.rb-date-label input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.rb-date-label:focus-within{outline:3px solid var(--tk-focus);border-radius:6px;outline-offset:1px}.rb-view-switch{display:flex;gap:4px;padding:4px;border:1px solid var(--tk-border-subtle);border-radius:10px;background:white}.rb-view-switch button{display:flex;gap:7px;align-items:center;justify-content:center;min-width:98px;min-height:42px;border:0;border-radius:7px;background:white;color:var(--tk-text-secondary);font-weight:600}.rb-view-switch button[aria-pressed=true]{background:var(--tk-bg-selected);color:var(--tk-brand)}
.rb-board-meta{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--tk-text-secondary);gap:10px;margin-bottom:12px}.rb-board-meta strong{font-weight:550}.rb-meta-divider{margin:0 10px;color:var(--tk-border-control)}.rb-scroll-hint{display:none;align-items:center;gap:3px;font-size:11px;white-space:nowrap}
.rb-scroll{overflow:auto;max-height:min(700px,70dvh);border:1px solid var(--tk-border-subtle);border-radius:12px;background:var(--tk-bg-surface);scroll-padding-left:88px;scroll-padding-top:58px;overscroll-behavior-x:contain}.rb-grid{min-width:calc(88px + var(--rb-hours)*146px);width:100%;--rb-left:88px}.rb-axis,.rb-table-row{display:grid;grid-template-columns:var(--rb-left) minmax(0,1fr)}.rb-axis{position:sticky;top:0;height:56px;background:white;z-index:4;border-bottom:1px solid var(--tk-border-subtle)}.rb-table-label{position:sticky;left:0;z-index:2;display:flex;justify-content:center;align-items:center;background:#FAFCFE;border-right:1px solid var(--tk-border-subtle);font-size:18px;align-self:stretch;min-height:100px}.rb-axis-corner{z-index:5;min-height:0;font-size:14px;background:#F0F5FA}.rb-ticks{position:relative;margin-right:0;background:#FAFCFE}.rb-tick{position:absolute;top:16px;transform:translateX(-50%);font-size:14px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.rb-tick.first{transform:none;margin-left:12px}.rb-tick.last{transform:translateX(-100%);margin-left:-12px}.rb-table-row{min-height:calc(var(--rb-lanes)*100px);border-bottom:1px solid var(--tk-border-subtle)}.rb-table-row:last-child{border-bottom:0}.rb-track{position:relative;min-height:calc(var(--rb-lanes)*100px);background-image:linear-gradient(to right,var(--tk-border-subtle) 1px,transparent 1px),linear-gradient(to right,#EFF3F8 1px,transparent 1px);background-size:calc(100%/var(--rb-hours)) 100%,calc(100%/var(--rb-steps)) 100%;background-position:0 0}.rb-free{position:absolute;inset:0;display:grid;place-content:center;font-size:13px;color:#8492A1;pointer-events:none}
.rb-booking{position:absolute;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;height:80px;overflow:hidden;text-align:left;border:0;border-radius:8px;padding:9px 13px;background:var(--tk-bg-selected);color:var(--tk-brand);box-shadow:none;isolation:isolate;font-variant-numeric:tabular-nums}.rb-booking:hover{filter:brightness(.98)}.rb-booking strong{font-size:18px;line-height:1.2;display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rb-booking>span{font-size:12px;display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rb-booking .rb-booking-meta{display:flex;gap:12px;font-size:11px;line-height:1.3}.rb-booking.arrived,.rb-legend i.arrived{background:var(--tk-brand);color:white}.rb-booking.pending,.rb-legend i.pending{background:var(--tk-status-wait-bg);color:var(--tk-status-wait-text)}.rb-booking.confirmed,.rb-legend i.confirmed{background:var(--tk-bg-selected);color:var(--tk-brand)}.rb-booking .rb-overlap{position:absolute;right:4px;top:3px;font-size:10px;background:white;color:var(--tk-status-error-text);padding:2px 3px;border-radius:4px}.rb-legend{display:flex;align-items:center;gap:20px;margin:15px 0 24px;font-size:12px;color:var(--tk-text-secondary)}.rb-legend>span{display:flex;align-items:center;gap:7px}.rb-legend i{display:inline-block;width:15px;height:15px;border-radius:4px}.rb-legend p{margin:0 0 0 auto}
.rb-unplaced{margin-top:12px}.rb-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.rb-section-title h2{display:flex;align-items:center;gap:10px;margin:0;font-size:17px}.rb-section-title h2 span{display:grid;place-items:center;font-size:12px;background:#E6EDF4;min-width:23px;height:23px;border-radius:7px}.rb-section-title p{margin:0;font-size:12px;color:var(--tk-text-secondary)}.rb-unplaced-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rb-unplaced-item{display:flex;align-items:center;gap:14px;width:100%;min-width:0;background:white;border:1px solid var(--tk-border-subtle);border-radius:11px;text-align:left;padding:15px;color:var(--tk-text-primary)}.rb-unplaced-item:hover,.rb-list-item:hover{background:#FAFCFE}.rb-unplaced-time{display:flex;gap:7px;align-items:center;font-size:14px;font-variant-numeric:tabular-nums}.rb-unplaced-name{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}.rb-unplaced-name strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px}.rb-unplaced-name>span{font-size:11px;color:var(--tk-text-secondary)}.rb-status{padding:5px 8px;border-radius:6px;white-space:nowrap;font-size:11px;display:inline-flex;align-self:center}.rb-status.confirmed{background:var(--tk-bg-selected);color:var(--tk-brand)}.rb-status.pending{background:var(--tk-status-wait-bg);color:var(--tk-status-wait-text)}.rb-status.arrived{background:var(--tk-brand);color:white}.rb-list{display:flex;flex-direction:column;border:1px solid var(--tk-border-subtle);border-radius:12px;overflow:hidden;background:white}.rb-list-item{display:grid;grid-template-columns:185px 1fr auto 20px;align-items:center;gap:20px;padding:20px 24px;border:0;border-bottom:1px solid var(--tk-border-subtle);background:white;color:var(--tk-text-primary);text-align:left}.rb-list-item:last-child{border-bottom:0}.rb-list-item>div{display:flex;flex-direction:column;gap:6px}.rb-list-item>div>span{font-size:12px;color:var(--tk-text-secondary)}.rb-empty{display:grid;justify-items:center;padding:60px 20px;color:var(--tk-text-secondary);text-align:center}.rb-empty h2{font-size:18px;color:var(--tk-text-primary);margin:16px 0 0}.rb-empty p{font-size:13px}
.rb-dialog{padding:0;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 40px);border:1px solid var(--tk-border-subtle);border-radius:16px;color:var(--tk-text-primary);background:white;overflow:auto;overscroll-behavior:contain}.rb-dialog::backdrop{background:rgba(20,38,61,.35)}.rb-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 22px;border-bottom:1px solid var(--tk-border-subtle);position:sticky;top:0;z-index:2;background:white}.rb-dialog-header h2{font-size:19px;margin:0}.rb-dialog-body{padding:24px}.rb-dialog-body>label{display:block;margin-bottom:20px;font-weight:550;font-size:13px}.rb-dialog-body label input,.rb-dialog-body label select,.rb-dialog-body label textarea{display:block;width:100%;margin-top:8px;border:1px solid var(--tk-border-control);border-radius:8px;padding:12px;color:var(--tk-text-primary);background:white;font-size:16px;min-height:46px}.rb-two-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.rb-two-fields label{min-width:0;font-size:13px;font-weight:550}.rb-number{display:flex;align-items:center;gap:9px}.rb-number input{min-width:0}.rb-field-help{font-size:12px;color:var(--tk-text-secondary);margin:-8px 0 22px}.rb-optional{font-size:11px;font-weight:400;color:var(--tk-text-secondary);margin-left:7px}.rb-dialog-footer{display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:0;background:white;border-top:1px solid var(--tk-border-subtle);padding:16px 24px}.rb-dialog-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.rb-detail-name{font-size:27px;margin:20px 0 26px}.rb-details{margin:0}.rb-details>div{display:flex;align-items:flex-start;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--tk-border-subtle);font-size:14px;gap:16px}.rb-details dt{display:flex;align-items:center;gap:8px;color:var(--tk-text-secondary);flex-shrink:0}.rb-details dd{margin:0;text-align:right;font-weight:550}.rb-detail-note{margin-top:24px;background:var(--tk-bg-page);padding:16px;border-radius:8px}.rb-detail-note>span{font-size:12px;color:var(--tk-text-secondary)}.rb-detail-note p{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0}.rb-form-error{background:var(--tk-status-error-bg);color:var(--tk-status-error-text);padding:14px;border-radius:8px;font-size:13px;line-height:1.8}
@media(min-width:1500px){.rb-grid{min-width:calc(88px + var(--rb-hours)*170px)}}
@media(max-width:700px){.rb h1{font-size:24px}.rb-title{margin-bottom:20px}.rb-eyebrow{display:none}.rb-title .rb-button{font-size:13px;min-height:44px;padding:10px 13px}.rb-toolbar{align-items:stretch;flex-direction:column;gap:12px;margin-bottom:17px}.rb-date-controls{justify-content:space-between;gap:8px}.rb-date-picker{flex:1;justify-content:space-between;min-width:0}.rb-date-label{font-size:16px;padding:0 4px;min-width:0}.rb-today{font-size:13px;padding:10px 13px}.rb-view-switch{align-self:flex-start;padding:3px}.rb-view-switch button{min-width:90px;min-height:38px;font-size:13px}.rb-board-meta{flex-wrap:wrap;font-size:11px;margin-bottom:10px}.rb-scroll-hint{display:flex}.rb-grid{--rb-left:64px;min-width:calc(64px + var(--rb-hours)*144px)}.rb-scroll{border-radius:10px;max-height:66dvh;scroll-padding-left:64px}.rb-table-label{font-size:16px;min-height:100px}.rb-axis-corner{min-height:0;font-size:13px}.rb-axis{height:50px}.rb-tick{font-size:13px;top:15px}.rb-booking{padding:9px 11px}.rb-booking strong{font-size:17px}.rb-legend{gap:16px;flex-wrap:wrap;font-size:11px;margin:14px 0 24px}.rb-legend p{width:100%;margin:0;font-size:11px}.rb-section-title{display:block}.rb-section-title h2{font-size:16px}.rb-section-title p{margin-top:8px;font-size:11px;line-height:1.6}.rb-unplaced-list{grid-template-columns:1fr}.rb-unplaced-item{gap:10px;padding:14px 12px}.rb-unplaced-time{font-size:13px;gap:5px}.rb-unplaced-name strong{font-size:14px}.rb-unplaced-item .rb-status{font-size:10px;padding:5px 6px}.rb-list-item{grid-template-columns:1fr 1fr auto;gap:12px;padding:17px 14px;font-size:13px}.rb-list-item>svg{display:none}.rb-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:13px}.rb-dialog-header{padding:10px 15px}.rb-dialog-header h2{font-size:18px}.rb-dialog-body{padding:20px}.rb-dialog-footer{padding:13px 18px}.rb-dialog-footer>.rb-primary{flex:1}.rb-two-fields{gap:12px}.rb-details>div{font-size:13px}}
@media(prefers-reduced-motion:reduce){.rb *{scroll-behavior:auto!important}}

/* Keep a spanning reservation identifiable after horizontal scrolling. overflow:clip
   clips text without creating a new scroll container that would disable sticky. */
.rb-booking{display:block;overflow:clip;padding-top:10px;padding-bottom:10px}
.rb-booking>.rb-booking-content{position:sticky;left:calc(var(--rb-left) + 12px);display:flex;flex-direction:column;gap:3px;width:max-content;max-width:100%;overflow:visible;font-size:12px;line-height:1.35}
.rb-booking-content>span{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.rb-unplaced-link{display:inline-block;margin-left:12px;color:var(--tk-brand);text-decoration:underline;text-underline-offset:3px;font-weight:550}
.rb-unplaced-banner{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-height:44px;margin:0 0 10px;padding:10px 14px;border:1px solid var(--tk-status-warning-text);border-radius:10px;background:var(--tk-status-warning-bg);color:var(--tk-status-warning-text);font-size:14px;text-decoration:none}.rb-unplaced-banner span:last-child{margin-left:auto;font-weight:700}.rb-unplaced{scroll-margin-top:18px}
@media(max-width:700px){.rb-board-meta{gap:7px}.rb-unplaced-link{margin-left:8px}.rb-board-meta>span:first-child{line-height:1.8}}

/* Integrated in the existing staff shell. */
.rb{max-width:100%;min-width:0}.rb-booking.ended,.rb-status.ended{background:#EDF1F5;color:#536477}.rb-booking.cancelled,.rb-status.cancelled{background:#F4F4F5;color:#71717A}.rb-legend i.ended{background:#CAD3DC}.rb-history-help{font-size:13px;color:#63758A}.rb-host .rb-dialog-footer{flex-wrap:wrap}.rb-host .rb-dialog-body .rb-field-help{margin:0}.rb-dialog label:has(input[type=checkbox]){display:flex;align-items:center;gap:10px}.rb-dialog input[type=checkbox]{width:20px;min-height:20px;height:20px}.rb-draft-summary{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.rb-dialog-body .rb-fields-disabled{display:grid;gap:18px;border:0;padding:0;margin:0 0 18px;min-width:0}.rb-fields-disabled .rb-two-fields{margin:0}.rb-fields-disabled>label{font-size:13px;font-weight:550}.rb-dialog .rb-plan-comparison{padding:12px;background:#F4F7FA;border-radius:12px;font-size:13px}.rb-dialog .rb-plan-comparison p{white-space:pre-wrap}.rb-dialog-footer .danger{color:#A83939}.rb-unplaced-time{flex-wrap:wrap;max-width:150px}.rb-scroll:focus-visible{outline:2px solid #1F3553;outline-offset:3px}
@media(max-width:600px){.rb-title h1{font-size:25px}.rb-dialog-footer .rb-button{flex:1 1 auto}.rb-unplaced-item{grid-template-columns:1fr auto}.rb-unplaced-time{max-width:none;grid-column:1/-1}.rb-unplaced-name{min-width:0}.rb-unplaced-item>svg{display:none}}

.rb-save-message{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--tk-brand);margin:0 0 12px}.rb-refresh-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:var(--tk-text-secondary);margin-top:12px}.rb-dialog button,.rb-dialog input,.rb-dialog select,.rb-dialog textarea{font-family:inherit}.rb-dialog button:disabled{opacity:.6}.rb-dialog .rb-details dd{overflow-wrap:anywhere}.rb-dialog .rb-detail-name{overflow-wrap:anywhere}
/* Keep the footer outside the scrollable fields: sticky overlays can cover the memo. */
.rb-dialog[open]{display:flex;flex-direction:column;overflow:hidden}.rb-dialog>.rb-dialog-header{flex:0 0 auto;position:static}.rb-dialog>.rb-edit-form{display:flex;flex-direction:column;min-height:0;overflow:hidden}.rb-dialog .rb-edit-form>.rb-dialog-body,.rb-dialog>.rb-dialog-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:16px}.rb-dialog .rb-dialog-footer{flex:0 0 auto;position:static;padding-bottom:max(16px,env(safe-area-inset-bottom))}

.owner-period{display:flex;align-items:end;gap:20px;flex-wrap:wrap;margin:20px 0 14px}.owner-presets{display:flex;gap:6px}.owner-presets button{border:1px solid #dce5ef;border-radius:9px;padding:10px 14px;background:white;color:#1f3553}.owner-dates{display:flex;align-items:center;gap:10px}.owner-dates label{display:grid;gap:6px;font-size:13px}.owner-dates input{min-width:0;max-width:100%;border:1px solid #dce5ef;border-radius:9px;padding:10px;background:white;color:#1f3553;font:inherit}.owner-all-stores{font-size:14px;padding-bottom:10px}.owner-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.owner-metrics article{display:flex;flex-direction:column;gap:14px;min-width:0;container-type:inline-size}.owner-metrics article>span{font-size:14px;color:#62748a}.owner-metrics article>strong{font-size:min(clamp(24px,2.8vw,40px),16cqi);font-variant-numeric:tabular-nums;white-space:nowrap}.owner-metrics small{font-size:13px;color:#62748a;font-weight:400}.owner-metrics strong small{margin-left:8px}.owner-pay-note{font-size:13px;color:#62748a;line-height:1.8;margin:15px 0 24px}.owner-review-links{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.owner-review-links button,.staff-settings-link,.owner-dashboard-link{display:flex;gap:12px;align-items:center;border:1px solid #dce5ef;background:white;padding:18px;border-radius:12px;color:#1f3553;text-align:left;font:inherit}.owner-review-links span{flex:1}.owner-desktop-details{display:grid;gap:20px}.owner-desktop-details h2{display:flex;gap:8px;align-items:center;font-size:18px}.owner-table-scroll{overflow-x:auto}.owner-overview table{width:100%;border-collapse:collapse;white-space:nowrap}.owner-overview th,.owner-overview td{padding:16px 12px;text-align:right;border-bottom:1px solid #e5ebf2;font-size:14px}.owner-overview th:first-child{text-align:left}.owner-overview thead th{font-weight:500;color:#62748a}.owner-trend{display:grid;gap:12px;margin-top:20px}.owner-trend>div{display:grid;grid-template-columns:55px 1fr 110px;align-items:center;gap:12px;font-size:14px}.owner-trend>div>div{height:12px;background:#e2eff9;border-radius:4px;overflow:hidden}.owner-trend i{display:block;height:100%;background:#68c6ee;border-radius:4px}.owner-trend strong{text-align:right;font-variant-numeric:tabular-nums}.owner-mobile-note{display:none}.staff-settings-links{display:grid;gap:14px;margin:24px 0}.staff-settings-link>span,.owner-dashboard-link>span{flex:1;display:grid;gap:4px}.staff-settings-link small,.owner-dashboard-link small{font-size:13px;color:#62748a}.owner-dashboard-link{width:100%;padding:12px 16px;margin:0 0 16px;cursor:pointer}.owner-dashboard-link strong{font-size:15px}.personal-work-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.personal-work-nav button{padding:10px 14px;border:1px solid #dce5ef;border-radius:9px;background:white;color:#1f3553}.personal-work-nav button[aria-current=page]{background:#e2eff9;border-color:#68c6ee}.staff-mode-note{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;color:#62748a;font-size:14px}.staff-navigation-group{font-size:12px;color:#62748a;margin:0 0 6px}
@media(max-width:700px){.owner-desktop-details{display:none}.owner-mobile-note{display:block;color:#62748a;font-size:13px}.owner-period{display:grid;gap:14px}.owner-dates{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);width:100%}.owner-dates input{width:100%;box-sizing:border-box}.owner-metrics{grid-template-columns:1fr 1fr;gap:10px}.owner-metrics article:first-child{grid-column:1/-1}.owner-metrics article{padding:18px}.owner-metrics article>strong{font-size:min(26px,16cqi)}.owner-metrics article:first-child>strong{font-size:min(36px,16cqi)}.owner-metrics article>span{font-size:13px}.owner-metrics .text-button{font-size:12px}.owner-review-links{grid-template-columns:1fr}.staff-mode-note{align-items:start;flex-direction:column}}




.owner-presets button[aria-pressed=true]{background:#e2eff9;border-color:#68c6ee;font-weight:600}

/* Shared management navigation and responsive workforce views. */
.nav-group-heading{display:none}.all-menu-heading{font-size:13px;color:var(--tk-text-secondary);margin:20px 0 6px;padding:0 12px}.all-menu-heading:first-child{margin-top:0}
@media(min-width:1100px){.app-navigation .nav-group-heading{display:block;font-size:12px;font-weight:650;color:var(--tk-text-secondary);padding:14px 12px 4px}.app-navigation .nav-group-heading:first-child{padding-top:0}.staff-shell .app-navigation .nav-shortcuts>button{min-height:42px}}
.owner-overview .owner-desktop-details{display:grid;min-width:0}@media(max-width:700px){.owner-overview .owner-desktop-details{display:none}}.owner-overview .owner-desktop-details>section{min-width:0}.owner-overview .owner-table-scroll{max-width:100%;overflow:auto}.owner-table-scroll:focus-visible{outline:2px solid #8b6c36}
.management-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:16px 0 24px;overflow-x:auto}.management-calendar.day{grid-template-columns:1fr}.management-calendar-day{border:1px solid var(--tk-border-subtle);border-radius:10px;padding:10px;background:var(--tk-surface,#fff);min-width:0}.management-calendar-day h3{font-size:14px;line-height:1.5;margin:0 0 12px}.management-calendar-day h3 small{display:block;font-size:12px;font-weight:400}.shift-calendar-entry{display:flex;flex-direction:column;gap:5px;width:100%;text-align:left;font:inherit;font-size:12px;line-height:1.6;padding:10px 8px;margin:8px 0;border:1px solid var(--tk-border-subtle);border-left:3px solid #6c7a66;background:#f4f7f1;border-radius:6px;overflow-wrap:anywhere;cursor:pointer;color:inherit}.shift-calendar-entry.pending{background:#fff8e8;border-left-color:#a17b32}.shift-calendar-entry.cancelled,.shift-calendar-entry.rejected{background:#f5f5f5;border-left-color:#aaa}.shift-calendar-entry b{font-size:11px;color:#8b5620}.shift-calendar-entry:hover{outline:2px solid #a17b32}.management-attendance-scroll{max-width:100%;overflow:auto;margin:16px 0;isolation:isolate;border:1px solid var(--tk-border-subtle);border-radius:10px}.management-attendance-table{width:100%;min-width:1120px;border-collapse:separate;border-spacing:0;font-size:13px}.management-attendance-table th,.management-attendance-table td{padding:14px 12px;border-bottom:1px solid var(--tk-border-subtle);text-align:left;vertical-align:top;background:#fff;white-space:nowrap}.management-attendance-table thead th{background:#f4f3ef}.management-attendance-table tr.wf-selected-row>th,.management-attendance-table tr.wf-selected-row>td{background:#e2eff9}.management-attendance-table tr.wf-selected-row>th:first-child{box-shadow:inset 4px 0 #245e91,1px 0 #ddd}.management-attendance-table th:first-child{position:sticky;left:0;z-index:1;max-width:170px;min-width:140px;white-space:normal;box-shadow:1px 0 #ddd}.management-attendance-table td>span,.management-attendance-table small{display:block;margin-top:4px}.management-attendance-table small{color:var(--tk-text-secondary);font-size:11px}.management-attendance-table .text-button{text-align:left;min-height:44px}.management-attendance-scroll:focus-visible{outline:2px solid #8b6c36}.wf-personal-period select{min-height:44px}
@media(max-width:1099px){.management-calendar.week,.management-calendar.month{grid-template-columns:repeat(7,minmax(150px,1fr))}.management-attendance-table th:first-child{min-width:115px;max-width:130px}}
@media(max-width:700px){.owner-trend>div{grid-template-columns:42px minmax(20px,1fr) 100px;gap:8px}.owner-desktop-details .paper-card{padding:16px}.management-calendar.day .shift-calendar-entry{font-size:14px}.management-calendar-day{padding:12px}.management-attendance-table th,.management-attendance-table td{padding:12px 10px}}

[data-editor-actions]{flex-wrap:wrap;gap:12px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.editor-scroll-hint{flex:1 0 100%;font-size:12px;color:var(--tk-text-secondary);text-align:center}.guest-modal fieldset{margin-bottom:20px}.guest-table td>small{display:block;max-width:260px;white-space:normal;line-height:1.6;margin-top:6px}.management-attendance-table td:empty:after{content:'—'}

.staff-settings-link{min-width:0}.staff-settings-link>span{min-width:0;white-space:normal;overflow-wrap:anywhere}.staff-settings-link small{white-space:normal;overflow-wrap:anywhere}.staff-settings-link>svg{flex-shrink:0}.owner-review-links:has(>button:only-child){grid-template-columns:1fr}.owner-review-links>button{max-width:620px}.staff-shell .app-navigation{scrollbar-width:thin}

.table-usage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px}.table-usage-grid>div{display:grid;gap:8px;padding:14px;border:1px solid var(--tk-border-subtle);border-radius:10px}.table-usage-grid span,.table-usage-grid small{font-size:12px}.table-usage-grid small{color:var(--tk-text-secondary)}.table-usage-grid>div.table-usage-waiting{border-color:var(--tk-status-warning-text);background:var(--tk-status-warning-bg)}.table-usage-grid>div.table-usage-waiting span{color:var(--tk-status-warning-text);font-weight:700}

.calendar-scroll-help{display:none}@media(max-width:1099px){.calendar-scroll-help{display:block}}.management-attendance-table tbody th .text-button{white-space:normal;overflow-wrap:anywhere}

.commerce-danger-zone{flex:1 0 100%;border-top:1px solid var(--tk-border-subtle);padding-top:16px;margin-top:12px}.commerce-danger-zone summary{cursor:pointer;font-size:13px;padding:8px 0}.commerce-danger-zone .danger{margin-top:12px}

.management-attendance-table tbody th button{text-decoration:underline;text-underline-offset:4px;color:#245e91}

.management-calendar-weekday{text-align:center;font-size:13px;font-weight:600;padding:8px}.management-calendar-spacer{min-height:1px}
@media(max-width:700px){.management-calendar.month{grid-template-columns:1fr}.management-calendar.month .management-calendar-weekday,.management-calendar.month .management-calendar-spacer{display:none}}
@media(max-width:700px){.calendar-scroll-help.month{display:none}}
.store-line-card{border:1px solid var(--tk-border-subtle,#dce5ef);background:var(--tk-bg-surface,#fff);border-radius:12px;padding:24px;margin:24px 0}.store-line-card>h2{display:flex;align-items:center;gap:10px;font-size:20px;margin:0 0 16px}.store-line-content{display:flex;align-items:center;gap:32px}.store-line-content>img{display:block;background:#fff;width:240px;height:240px;max-width:100%;object-fit:contain;flex-shrink:0}.store-line-content h3{font-size:22px;margin:0 0 6px}.store-line-content p{line-height:1.8;margin:10px 0}.store-line-id{color:var(--tk-text-secondary,#62748a);font-variant-numeric:tabular-nums}.store-line-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.store-line-actions a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 16px;border:1px solid var(--tk-border-control,#b9c5d4);border-radius:8px;text-decoration:none;color:var(--tk-text-primary,#1f3553);background:var(--tk-bg-surface,#fff);font-size:14px}.store-line-actions a:first-child{background:#086738;border-color:#086738;color:#fff}.store-line-actions a:focus-visible{outline:3px solid var(--tk-focus,#3868a0);outline-offset:3px}@media(max-width:600px){.store-line-card{padding:20px 16px}.store-line-content{flex-direction:column;gap:12px;text-align:center}.store-line-actions{justify-content:center}}

/* Adopted 4594 presentation, scoped to cast UI; data and business actions stay in the application. */

/* Reference: style.css */
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui{--tk-navy:#1f3553;--tk-sky:#68c6ee;--tk-selected:#e2eff9;--ink:#173458;--muted:#627b98;--line:#dfebf3;--paper:#fff;--shadow:0 9px 28px #254d7810;--radius:22px;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:#edf7fc;font-synthesis:none;font-weight:500}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui *{box-sizing:border-box}
html[data-takamaru-theme] body:has(.app-shell.cast-shell){margin:0;min-width:320px;background:radial-gradient(ellipse at 15% 0,#d5f0ff 0,transparent 45%),radial-gradient(ellipse at 95% 40%,#e6eafb 0,transparent 50%),#f2f8fc}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui button:where(:not(.action)),html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui input,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui textarea,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui select{font:inherit;color:inherit}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui button:where(:not(.action)){cursor:pointer;border:0;background:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui button:disabled{cursor:default}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui button,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui a,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui input,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui textarea,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui select{-webkit-tap-highlight-color:transparent}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui button{touch-action:manipulation}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui button:focus-visible,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui select:focus-visible,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui textarea:focus-visible,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui a:focus-visible{outline:3px solid #1476af;outline-offset:3px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui button:hover:not(:disabled){filter:brightness(.985)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui button:active:not(:disabled){transform:translateY(1px)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui h1,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui h2,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui h3,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui h4,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui p{margin:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui button svg{flex-shrink:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui h2,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui h3,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui h4{line-height:1.45}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui img{max-width:100%}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui b,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui strong{font-weight:800}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui small{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui a{color:#2374a9}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui h1:focus{outline:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .muted{color:var(--muted);line-height:1.8}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .selected{background:var(--tk-selected)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 16px;border-radius:13px;background:linear-gradient(180deg,#315983,#183a62);color:#fff;font-weight:800;box-shadow:0 3px 0 #102e4b,0 5px 11px #23466b16;text-align:center;line-height:1.35}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .icon-button{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:13px;background:#fff;box-shadow:0 2px 7px #20476a09}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .text-button{display:inline-flex;align-items:center;gap:7px;padding:10px 6px;color:#376b92;text-decoration:underline;text-underline-offset:3px;font-size:13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .date-label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:12px;white-space:nowrap}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .section-title{display:flex;justify-content:space-between;align-items:center;gap:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .section-title h2,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .section-title h3{display:flex;align-items:center;gap:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .section-title h2{font-size:21px;letter-spacing:.01em}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .section-title h3{font-size:17px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .period-picker{border:0;border-radius:9px;padding:7px 20px 7px 7px;max-width:114px;font-size:12px;background-color:#f2f7fb;cursor:pointer}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .self-selected{display:inline-flex;align-items:center;gap:6px;padding:4px 13px;border-radius:9px;color:#fff;background:linear-gradient(120deg,#59cdaa,#2bb294);font-weight:700;font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .notice{margin:10px auto;max-width:1400px;padding:13px 18px;border-radius:12px;background:#fff1d3;color:#80541d;font-size:13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .notice button:where(:not(.action)){text-decoration:underline}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .done-pill{display:flex;align-items:center;gap:5px;background:#daf4e8;color:#236f56;padding:10px;border-radius:11px;font-size:13px;font-weight:700}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .app-header{max-width:1464px;margin:auto;min-height:74px;display:flex;gap:17px;align-items:center;padding:16px 24px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .brand-button{padding:0;background:white;border-radius:8px;display:flex}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .brand-button img{width:128px;height:42px;object-fit:contain}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .demo-badge{padding:5px 10px;border:1px solid #cde4f1;border-radius:30px;color:#5481a0;background:#f7fcff;font-size:11px;white-space:nowrap}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .header-right{margin-left:auto;display:flex;gap:14px;align-items:center}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .overview-button{padding:10px 14px;border-radius:10px;font-size:13px;font-weight:700}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading{max-width:1416px;margin:0 auto 22px;display:flex;justify-content:space-between;align-items:center;padding:7px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .eyebrow{font-size:9px;letter-spacing:.22em;color:#6d94ae;margin-bottom:5px;font-weight:700}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading h1{font-size:25px;letter-spacing:.025em}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading>p{text-align:right;color:#71839b;font-size:13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading>p>span{display:block;font-size:10px;letter-spacing:.12em;margin-top:5px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace{margin:0 auto;max-width:1416px;align-items:start}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace.overview{display:grid;grid-template-columns:1.02fr 1fr 1fr;gap:19px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace.single{max-width:510px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .screen{background:linear-gradient(#fff,#fbfdff);border-radius:30px;box-shadow:0 0 0 2px #274766,0 0 0 5px #d9eaf4,0 18px 40px #25456616;overflow:hidden;min-width:0;position:relative;display:flex;flex-direction:column}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .screen-body{padding:21px 17px 18px;flex:1}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .overview .screen{min-height:945px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .demo-footer{margin:24px auto 0;padding:0 15px 25px;color:#6a88a0;text-align:center;font-size:11px;line-height:1.8}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .demo-footer span{padding:0 9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .navigation{display:flex;align-items:stretch;gap:6px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .navigation button{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px;min-height:58px;border-radius:13px;font-weight:700;color:#607da0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .navigation button.selected{color:#126eab}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .screen-nav{margin-top:auto;padding:8px 10px 9px;background:linear-gradient(#fff,#f1faff);border-top:1px solid #e7f1f7}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .mobile-nav{display:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .single .screen-nav{display:flex}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .toast{position:fixed;z-index:50;left:50%;bottom:26px;transform:translateX(-50%);display:flex;align-items:center;gap:9px;padding:15px 22px;border-radius:15px;background:#1f3c5ded;color:#fff;box-shadow:0 8px 32px #163a5130;font-size:13px;max-width:calc(100vw - 32px);width:max-content;animation:toast-in .2s ease-out}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .toast svg{color:#96e8c5;flex-shrink:0}
@keyframes toast-in{from{opacity:0;margin-bottom:-8px}to{opacity:1;margin-bottom:0}}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-header{background:linear-gradient(130deg,#65bde8,#a3dffa);padding:18px 13px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .greeting{display:flex;justify-content:space-between;gap:5px;padding:0 4px 14px;color:#fff;text-shadow:0 1px 4px #377dab30}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .greeting h2{font-size:20px;letter-spacing:-.02em}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .greeting p{font-size:11px;margin-top:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .greeting>span{font-size:10px;white-space:nowrap;display:flex;align-items:flex-start;gap:5px;margin-top:3px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-card{position:relative;z-index:3;padding:11px 13px 7px;border-radius:17px;background:#ffffffed;box-shadow:0 4px 12px #20496920}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-main{display:flex;align-items:center;justify-content:space-between;gap:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-main>div>small{display:block;font-weight:700;margin-bottom:3px;font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-main strong{font-size:21px;letter-spacing:-.02em;white-space:nowrap}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-main strong>span{padding:0 2px;font-weight:600}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-main .primary{min-width:119px;padding:8px 11px;min-height:43px;font-size:15px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-links{display:flex;align-items:center;gap:0;margin-top:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-links button{color:#3c749f;font-size:11px;text-decoration:underline;text-underline-offset:3px;padding:5px 8px;position:relative}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-links button:first-child{padding-left:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-links button:not(:first-child):before{content:'';position:absolute;left:0;top:8px;height:9px;border-left:1px solid #b5cbdc}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-links .break-link{margin-left:auto;font-weight:700}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-wrap{background:#e3f0f6}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-stage{position:relative;height:260px;isolation:isolate;overflow:hidden}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-image{width:100%;height:100%;object-fit:cover;object-position:center;display:block;user-select:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-floor{position:absolute;inset:0;z-index:1;cursor:crosshair;touch-action:pan-y}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-floor:focus-visible{outline-offset:-6px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pet-actor{position:absolute;left:31%;top:80%;width:130px;height:173.333px;transform:translate(-50%,-82%);z-index:3;display:block;will-change:transform,left,top;padding:0;border-radius:50%;cursor:pointer}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pet-actor:active{transform:translate(-50%,-82%)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pet-actor:after{content:'';position:absolute;width:60%;height:8%;left:21%;bottom:9%;background:#5b54342b;border-radius:50%;filter:blur(4px);z-index:-1}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pet-sprite{display:block;width:100%;height:100%;background-size:400% 200%;background-repeat:no-repeat;opacity:0;transform-origin:center;pointer-events:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-cat[data-ready=true] .pet-sprite{opacity:1}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pet-sprite.states{background-image:var(--cat-states)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pet-sprite.walk{background-image:var(--cat-walk)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pet-caption{position:absolute;z-index:5;top:10px;left:11px;display:flex;gap:5px;align-items:center;font-size:9px;color:#406a83;background:#ffffffda;padding:5px 8px;border-radius:30px;pointer-events:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .live-dot{width:5px;height:5px;border-radius:50%;background:#49b895}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .live-dot.paused{background:#8fa0b4}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pet-controls{position:absolute;z-index:5;top:8px;right:10px;display:flex;gap:5px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pet-controls button{height:30px;width:30px;border-radius:9px;background:#ffffffed;box-shadow:0 2px 5px #1f355313;display:flex;align-items:center;justify-content:center;color:#376b8d}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-hint{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#ffffffb8;padding:4px 9px;border-radius:30px;z-index:4;color:#51738b;font-size:9px;pointer-events:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .destination{position:absolute;z-index:2;transform:translate(-50%,-50%);color:#1d8dc5;background:#def2ffc4;border-radius:50%;padding:8px;animation:destination 1.4s ease-out forwards;pointer-events:none}
@keyframes destination{0%{opacity:0;scale:.7}20%{opacity:1;scale:1}100%{opacity:0;scale:1.3}}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-shortcuts{display:flex;gap:11px;padding:0 13px 11px;margin-top:-1px;background:linear-gradient(#e4eff5,#eff7fc)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-shortcuts button{display:flex;gap:7px;justify-content:center;align-items:center;flex:1;min-width:0;border-radius:14px;min-height:46px;box-shadow:0 3px 0 #bbd2e3,0 4px 10px #456c8514;background:linear-gradient(#fff,#d3f0ff);font-weight:800;font-size:14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .home-content{padding:13px 13px 7px;background:linear-gradient(#f2f8fc,#fff)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-card{background:#fff;border-radius:20px;padding:13px 13px 11px;box-shadow:0 1px 13px #274b7010}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-card .section-title h3{font-size:16px;gap:5px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-card .period-picker{font-size:10px;max-width:96px;padding:6px 3px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-hero{display:flex;justify-content:space-between;gap:5px;align-items:center;margin:7px 0 12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-hero>div{min-width:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-number{display:block;font-size:46px;letter-spacing:-.065em;line-height:1.12;font-variant-numeric:tabular-nums}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-hero small{display:block;font-size:10px;color:var(--muted);margin-top:5px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .growth-badge{background:linear-gradient(130deg,#e6faef,#cff4e4);border-radius:12px;font-size:9px;padding:9px 9px 6px;white-space:nowrap;align-self:center;font-weight:700}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .growth-badge strong{display:block;color:#147244;font-size:25px;line-height:1.3}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .growth-badge strong>span{font-size:20px;padding-left:3px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .stacked-wage{height:24px;border-radius:11px;overflow:hidden;display:flex;color:#fff;font-size:11px;text-align:center}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .stacked-wage>span{display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#306697,#315f91)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .stacked-wage>span+span{background:linear-gradient(90deg,#ffbf9e,#ffab87);color:#614431;border-left:2px solid white}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .wage-legend{display:flex;justify-content:space-between;gap:8px;margin:9px 0 12px;font-size:9px;white-space:nowrap}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .wage-legend>span{display:flex;align-items:center;gap:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .wage-legend b{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .swatch{display:inline-block;width:12px;height:12px;border-radius:4px;flex-shrink:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .swatch.navy{background:#36699a}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .swatch.apricot{background:#ffb696}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .back-card{display:flex;align-items:center;text-align:left;width:100%;gap:10px;background:linear-gradient(110deg,#fff0e1,#ffe5d4);border-radius:13px;padding:10px 11px;margin-bottom:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .back-card>svg{color:#ad5b37}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .back-card small{font-size:10px;font-weight:700;display:block;margin-bottom:2px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .back-card strong{display:block;font-size:25px;letter-spacing:-.04em;line-height:1.25}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .back-growth{border-left:1px solid #edc9b3;padding-left:12px;margin-left:auto}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .back-growth strong{color:#167744;font-size:25px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .comparison h4{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin-bottom:5px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .comparison h4 small{font-weight:400;font-size:9px;color:var(--muted)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .compare-row{display:grid;grid-template-columns:25px 65px 1fr;gap:6px;align-items:center;font-size:10px;padding:3px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .compare-row b{font-size:10px;font-variant-numeric:tabular-nums}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .compare-row>div{height:10px;border-radius:4px;background:#edf2f7;overflow:hidden}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .compare-row i{display:block;height:100%;background:linear-gradient(90deg,#5595ca,#4588c0);border-radius:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .comparison>p{text-align:right;font-size:9px;color:var(--muted);margin-top:5px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .comparison>p b{color:#277753;font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:6px;margin-top:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips>button{padding:9px 6px;display:flex;align-items:center;justify-content:center;gap:5px;border-radius:12px;background:#f0f5fc;min-width:0;text-align:left}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips>button:nth-child(2){background:#ffe6f1}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips>button:nth-child(2)>svg{color:#ca5994}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips>button:nth-child(3){background:#dff9ed}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips>button:nth-child(3)>svg{color:#268c75}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips small{font-size:9px;display:block;font-weight:700}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips b{font-size:20px;letter-spacing:-.04em;white-space:nowrap;display:block}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips>button:first-child b{font-size:18px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips em{font-style:normal;font-size:8px;display:block;white-space:nowrap}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips b em{display:inline;font-size:13px;margin-left:3px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips svg{width:23px;height:23px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .attendance-link{width:100%;display:flex;align-items:center;gap:7px;padding:12px 1px 7px;font-size:10px;font-weight:600;text-align:left}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .attendance-link>span{flex:1}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .attendance-link i{font-style:normal;padding:0 3px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .attendance-link b{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .attendance-link>svg:first-child{width:19px;height:19px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-counts{display:flex;gap:12px;margin:19px 0 21px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-counts>div{display:flex;gap:12px;align-items:center;justify-content:center;flex:1;min-height:77px;border-radius:15px;background:linear-gradient(120deg,#ffe8f0,#fbdff0)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-counts>div+div{background:linear-gradient(120deg,#e1fbef,#d8f6e8)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-counts>div>svg{color:#c84389}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-counts>div+div>svg{color:#168671}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-counts>div>span{font-size:12px;font-weight:700}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-counts strong{display:block;font-size:32px;line-height:1.1}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-counts strong small{font-size:17px;margin-left:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .donut-title{font-size:18px;margin-bottom:3px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .donut{height:263px;position:relative}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .donut svg{display:block;max-width:100%;height:100%;margin:0 auto}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .donut svg text{font-family:inherit;fill:var(--ink);font-size:15px;font-weight:700;pointer-events:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .donut svg .donut-label{font-size:14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .donut svg .donut-value{font-size:29px;font-weight:800;letter-spacing:-.04em}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .donut-note{position:absolute;right:0;bottom:5px;font-size:9px;line-height:1.8;rotate:-8deg;color:#4d7090}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .donut-note span{display:block;font-size:21px;text-align:center;line-height:1.2}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .sales-total{display:flex;align-items:baseline;justify-content:space-between;gap:5px;margin:14px 0 15px;font-size:11px;font-weight:700}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .sales-total b{font-size:25px;margin-left:4px;letter-spacing:-.04em}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .sales-total small{font-weight:500;font-size:9px;white-space:nowrap}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-variant-numeric:tabular-nums}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table caption{font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table thead{background:#f0f6fb}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table th{padding:9px 5px;color:#627993;font-size:10px;font-weight:600;white-space:nowrap;text-align:right}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table th:first-child{width:27%;text-align:left;border-radius:10px 0 0 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table th:nth-child(2){width:28%}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table th:nth-child(3){width:13%}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table th:nth-child(4){width:32%;border-radius:0 10px 0 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table td{padding:11px 5px;text-align:right;border-bottom:1px solid #e1eaf4;font-size:13px;height:58px;vertical-align:top;white-space:nowrap}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table td:first-child{text-align:left}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table td:last-child b{font-weight:600}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table .selected td{background:#e2eff9;border-bottom-color:transparent}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table .selected td:first-child{border-radius:11px 0 0 11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table .selected td:last-child{border-radius:0 11px 11px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-name{display:flex;align-items:center;gap:5px;padding:0;min-height:26px;max-width:100%;font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-name>span{padding:2px 5px;border-radius:30px;font-size:9px;min-width:31px;text-align:center;font-weight:700}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .table-amount{padding:2px 0;font-weight:700;font-size:13px;min-height:26px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .mini-action{display:flex;align-items:center;justify-content:center;gap:2px;background:linear-gradient(#5ca7d6,#276eaa);color:#fff;box-shadow:0 2px 3px #24517322;font-size:9px;font-weight:700;margin:5px 0 0 auto;padding:5px 6px;border-radius:7px;min-height:26px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .strategy-hint{display:grid;grid-template-columns:43px 1fr;gap:7px 9px;background:linear-gradient(130deg,#fff6dc,#f5fcff);padding:14px 12px;border-radius:18px;margin-top:19px;box-shadow:0 0 0 1px #e1f0f6}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .strategy-hint strong{font-size:15px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .strategy-hint p{font-size:10px;line-height:1.7;margin-top:3px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .strategy-hint .primary{grid-column:2;justify-self:start;min-height:35px;font-size:11px;padding:7px 11px;border-radius:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .compass-medallion{display:flex;align-items:center;justify-content:center;border-radius:50%;width:43px;height:43px;background:linear-gradient(140deg,#fff,#dcecf6);color:#416289;box-shadow:0 3px 5px #2c53671d}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .data-footnote{font-size:9px;line-height:1.6;color:var(--muted);margin-top:11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .strategy-subtitle{font-size:16px;margin:13px 0 11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .desk-banner{position:relative;min-height:133px;display:flex;align-items:center;padding:14px 62px 14px 13px;margin:0 -17px 0;background:linear-gradient(#fff0,#fff4),url('/assets/room.png') center 40%/cover}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workflow-board{display:flex;background:#fffc;border:5px solid #d5b18b;border-radius:10px;box-shadow:0 4px 8px #5c47362c;padding:11px 10px;flex:1;justify-content:space-around}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workflow-board>div{position:relative;text-align:center;font-size:10px;flex:1}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workflow-board>div>span{display:flex;align-items:center;justify-content:center;background:#acdff9;border-radius:50%;width:42px;height:42px;margin:0 auto 5px;color:#287db2}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workflow-board>div:nth-child(2)>span{background:#ace7d2;color:#227d6c}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workflow-board>div:nth-child(3)>span{background:#ffefad;color:#88701b}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workflow-board i{position:absolute;right:-8px;top:11px;font-size:21px;font-style:normal;color:#5a7088}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .mini-cat{display:inline-block;width:90px;height:120px;flex-shrink:0;pointer-events:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .desk-banner>.mini-cat{position:absolute;right:-2px;bottom:0;filter:drop-shadow(0 3px 2px #66552224)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .mini-hop{animation:mini-hop .65s ease-in-out}
@keyframes mini-hop{0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)}}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-card{position:relative;background:linear-gradient(120deg,#eff7fc,#e2f3ff);padding:15px 14px 11px;border-radius:21px;box-shadow:0 6px 18px #2a597618;margin-top:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-person{display:flex;gap:9px;align-items:center;margin-top:13px;position:relative;padding-right:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .person-token{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:48px;height:48px;border-radius:50%;font-weight:800;font-size:16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-person>div{flex:1;min-width:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-person h3{font-size:18px;line-height:1.45;letter-spacing:-.02em}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-person p{font-size:10px;color:#4f789a;margin-top:3px;white-space:nowrap}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-person>select{position:absolute;top:-35px;right:0;border:0;padding:3px 15px 3px 4px;border-radius:5px;max-width:65px;background:#ffffffb0;font-size:10px;color:#44718f;cursor:pointer}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .warm-tip{display:flex;align-items:center;justify-content:center;gap:5px;background:#fff0d5;border-radius:8px;padding:6px 8px;font-size:10px;margin:12px 0 14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .warm-tip svg{color:#b89331}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-field{display:grid;grid-template-columns:75px 1fr;align-items:center;min-height:37px;gap:7px;border-bottom:1px solid #dce9f1;font-size:12px;margin-bottom:5px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-field>span{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:#265a82}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-field select{border:0;background:none;max-width:100%;width:100%;padding:7px 0;cursor:pointer;font-weight:600;font-size:11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-field strong{font-size:11px;line-height:1.7}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .memo-field{align-items:start;margin-top:10px;border:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .memo-field>span{padding-top:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .memo-field textarea{resize:vertical;min-height:62px;width:100%;border:1px solid #c6dced;border-radius:9px;padding:10px 9px;background:#fff;font-size:11px;line-height:1.6}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .memo-field textarea::placeholder{color:#8299af}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .record-button{width:100%;margin-top:7px;min-height:48px;font-size:16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .record-button.recorded{background:#d4eddf;color:#246248;box-shadow:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-footnote{text-align:center;color:#6686a1;font-size:9px;margin-top:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .field-error{font-size:11px;line-height:1.7;color:#a44132;margin:8px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategy-heading{font-size:12px;margin:17px 0 8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies{display:grid;grid-template-columns:1fr 1fr;gap:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies button{display:flex;align-items:center;gap:7px;background:linear-gradient(130deg,#e4d7ff,#dcd2fa);padding:12px 8px;border-radius:12px;min-height:82px;text-align:left}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies button:nth-child(2){background:linear-gradient(130deg,#fff1ba,#ffecbd)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies button>svg:first-child{width:26px;flex-shrink:0;color:#7e5ba8}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies button:nth-child(2)>svg:first-child{color:#ab7d36}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies button>span{flex:1;min-width:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies b{font-size:11px;line-height:1.7;display:block}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies small{display:block;font-size:9px;line-height:1.7;margin-top:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies button>svg:last-child{width:11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .stamp-book{display:block;position:relative;width:100%;margin-top:17px;padding:13px 10px 14px 22px;border-radius:11px;background:repeating-linear-gradient(90deg,transparent 0,transparent 19px,#d5e0e718 20px),#fffefa;border:1px solid #decfba;box-shadow:1px 4px 0 #cabbab35;text-align:left}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .stamp-book:before{content:'';position:absolute;width:13px;left:-5px;top:12px;bottom:12px;background:repeating-linear-gradient(0deg,transparent 0,transparent 14px,#8c6a4b 15px,#b89770 18px,transparent 21px)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .stamp-book h4{display:flex;align-items:center;gap:6px;font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .stamp-book h4>span{margin-left:auto;font-size:11px;color:#7890a2}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .stamp-row{display:flex;align-items:center;gap:8px;margin-top:14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .stamp-row>span{width:39px;height:39px;border-radius:50%;flex-shrink:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .stamp-empty{border:1px dashed #b9c1cc}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .stamped{display:flex;align-items:center;justify-content:center;rotate:-13deg;border:2px dotted #e36cad;color:#d5559b;box-shadow:0 0 0 3px #f6dbea88;background:#fff6fc}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .stamped>span{font-size:8px;text-align:center;line-height:1.35;font-weight:800}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .stamp-row em{font-size:9px;font-style:normal;line-height:1.6;rotate:-7deg;margin-left:auto;color:#526e91}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .records-screen{min-height:550px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .record-hero{display:flex;justify-content:center;align-items:center;gap:22px;background:linear-gradient(115deg,#eaf8ff,#eef0fc);border-radius:20px;padding:15px;margin:18px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .record-hero>.mini-cat{width:114px;height:152px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .record-hero small{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .record-hero strong{display:block;font-size:45px;line-height:1.3}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .record-hero strong>span{font-size:17px;margin-left:5px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .record-hero p{font-size:11px;color:var(--muted)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .achievement-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .achievement-grid>div{background:#f3f8fc;padding:17px 11px;border-radius:14px;display:flex;flex-direction:column;gap:6px;align-items:center}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .achievement-grid svg{color:#4894bd}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .achievement-grid small{font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .achievement-grid strong{font-size:19px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .achievement-grid span{font-size:9px;color:var(--muted)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .record-title{font-size:16px;margin:23px 0 13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .empty-records{text-align:center;border:1px dashed #c6dbe8;border-radius:18px;padding:24px 12px;background:#fcfeff}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .empty-records>svg{color:#6aa4c7;margin-bottom:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .empty-records h4{font-size:15px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .empty-records p{font-size:12px;color:var(--muted);line-height:1.8;margin:8px 0 17px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .empty-records .primary{font-size:13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .record-list{display:flex;flex-direction:column;gap:11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .record-list article{display:flex;align-items:flex-start;gap:9px;background:#f6fafd;padding:14px 11px;border-radius:13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .record-list article>div{min-width:0;flex:1}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .record-check{display:flex;background:#dff4e9;border-radius:50%;padding:5px;color:#33865e}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .record-check svg{width:15px;height:15px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .record-list h4{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .record-list small,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .record-list time{font-size:9px;color:var(--muted);display:block;margin:4px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .record-list p{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;margin:8px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .record-list .text-button{font-size:9px;padding:2px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .clock-log{list-style:none;margin:0;padding:0;border-radius:12px;background:#f6fafd}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .clock-log li{display:flex;justify-content:space-between;padding:10px 14px;font-size:12px;border-bottom:1px solid #e5edf5}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal{padding:0;border:0;border-radius:24px;box-shadow:0 20px 90px #17395440;width:min(480px,calc(100% - 30px));max-height:85dvh;color:var(--ink)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal::backdrop{background:#18345266;backdrop-filter:blur(5px)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal>header{display:flex;align-items:center;justify-content:space-between;padding:16px 19px 11px;border-bottom:1px solid var(--line)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal h2{font-size:19px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal .icon-button{box-shadow:none;background:#f1f7fb;width:35px;height:35px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal-body{padding:19px;font-size:13px;line-height:1.9}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal-body p+p{margin-top:13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal-body>h3{margin:15px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal-body hr{border:0;border-top:1px solid var(--line);margin:23px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal-body .primary{font-size:13px;margin-top:17px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .setting-row{display:flex;justify-content:space-between;align-items:center;width:100%;padding:15px 0;margin:10px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .setting-row>span{display:flex;align-items:center;gap:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .setting-row b{padding:4px 12px;background:#e2f3ff;border-radius:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .detail-list{margin:18px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .detail-list>div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .detail-list dd{margin:0;font-weight:800;font-size:18px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .detail-list dt{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .detail-list .detail-total{font-weight:700}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .detail-list .detail-total dd{font-size:26px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .mini-breakdown{background:#fff0e2;border-radius:14px;padding:14px;margin:17px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .mini-breakdown h3{font-size:14px;margin-bottom:7px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .mini-breakdown p{display:flex;justify-content:space-between;padding:5px 0;margin:0!important}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-calendar{margin-top:13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-calendar>div{display:flex;align-items:center;justify-content:space-between;padding:9px 6px;border-bottom:1px solid var(--line)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-calendar b{width:50px;font-size:22px;display:flex;align-items:center;gap:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-calendar small{font-size:11px;font-weight:500}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .dialog-amount{font-size:37px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal-body>.person-token{width:60px;height:60px}
@media(min-width:1530px){html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace.overview{gap:24px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .overview .screen{min-height:963px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-stage{height:274px}
}
@media(max-width:1470px) and (min-width:1180px){html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading{margin-left:25px;margin-right:25px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .greeting h2{font-size:17px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .greeting>span{font-size:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-number{font-size:41px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-card .section-title h3{font-size:14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .growth-badge{padding:8px 6px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .section-title h2{font-size:19px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table td{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .table-amount{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-name{gap:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-name>span{font-size:8px;min-width:27px;padding:2px 4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table th{font-size:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-person h3{font-size:16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .screen-body{padding:19px 14px 16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .desk-banner{margin-left:-14px;margin-right:-14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .stamp-row{gap:6px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .stamp-row>span{width:34px;height:34px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips b{font-size:19px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips>button:first-child b{font-size:16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips svg{width:18px;height:18px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-stage{height:246px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .wage-legend{font-size:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .wage-legend b{font-size:11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-main strong{font-size:20px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-main .primary{min-width:107px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-card{padding-left:12px;padding-right:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies button{padding:9px 7px;gap:6px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies button>svg:first-child{width:21px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies b{font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .donut{height:250px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .back-card strong,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .back-growth strong{font-size:24px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pet-actor{width:120px;height:160px}
}
@media(max-width:1179px){html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading{max-width:510px;margin:0 auto 19px;padding:4px 4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading h1{font-size:24px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading>p{font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .app-header{max-width:558px;padding:15px 24px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .demo-badge{font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace.single{margin:0 auto}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .screen{border-radius:28px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-stage{height:304px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-number{font-size:51px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .screen-body{padding:23px 21px 20px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .desk-banner{margin-left:-21px;margin-right:-21px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customers-screen,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .strategy-screen{min-height:895px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .donut{height:290px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table td{font-size:15px;height:65px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .table-amount{font-size:15px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-name{font-size:14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-name>span{font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table th{font-size:11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .strategy-hint{margin-top:23px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-person h3{font-size:21px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-field{grid-template-columns:89px 1fr;min-height:43px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-field>span,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-field strong,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-field select{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .memo-field textarea{font-size:13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies b{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies small{font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .stamp-row>span{width:43px;height:43px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .home-content{padding:16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-card{padding:16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips b{font-size:23px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips>button:first-child b{font-size:21px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips>button{padding:12px 8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .wage-legend{font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .wage-legend b{font-size:14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .back-card strong{font-size:30px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .back-card small{font-size:11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .comparison h4{font-size:13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .compare-row{font-size:12px;grid-template-columns:28px 78px 1fr}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .compare-row b{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-shortcuts button{min-height:50px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .attendance-link{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .attendance-link b{font-size:14px}
}
@media(max-width:580px){html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .app-header{min-height:58px;padding:10px 16px;gap:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .brand-button img{width:107px;height:33px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .icon-button{width:35px;height:35px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .demo-badge{font-size:9px;padding:4px 8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading{padding:2px 17px;margin-bottom:15px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .eyebrow{font-size:8px;letter-spacing:.15em}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading h1{font-size:21px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading>p{display:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace.single{margin:0 12px;max-width:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .screen{border-radius:23px;box-shadow:0 0 0 1px #315476,0 0 0 3px #dcecf6,0 10px 30px #26465c16}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .screen-body{padding:18px 14px 17px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .screen .screen-nav{display:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .mobile-nav{display:flex;position:fixed;z-index:20;bottom:0;left:0;right:0;background:#ffffffed;padding:7px 12px calc(7px + env(safe-area-inset-bottom));backdrop-filter:blur(12px);border-top:1px solid #dbeaf4;box-shadow:0 -5px 25px #3057760b}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .mobile-nav button{min-height:52px;font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .mobile-nav svg{width:22px;height:22px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .demo-footer{padding-bottom:93px;font-size:9px;margin-top:18px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .demo-footer span{padding:0 4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .toast{bottom:83px;font-size:11px;padding:12px 15px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .greeting h2{font-size:16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .greeting p{font-size:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .greeting>span{font-size:8px;gap:3px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .greeting>span svg{width:13px;height:13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-header{padding:15px 10px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-card{padding:9px 11px 5px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-main strong{font-size:21px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-main>div>small{font-size:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-main .primary{min-width:105px;min-height:40px;font-size:14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-links button{font-size:10px;padding-top:5px;padding-bottom:5px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-stage{height:242px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pet-actor{width:117px;height:156px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pet-controls button{width:29px;height:29px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pet-caption{font-size:8px;top:9px;left:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pet-controls{right:8px;top:7px;gap:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-hint{font-size:8px;bottom:7px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-shortcuts{padding:0 10px 11px;gap:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-shortcuts button{min-height:44px;font-size:13px;gap:6px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-shortcuts svg{width:19px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .home-content{padding:11px 10px 5px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-card{padding:12px 11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-card .section-title h3{font-size:14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-card .section-title svg{width:19px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-number{font-size:43px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-hero small{font-size:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .growth-badge{font-size:8px;padding:8px 7px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .growth-badge strong{font-size:23px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .growth-badge strong>span{font-size:18px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-card .period-picker{font-size:9px;max-width:88px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-hero{margin-top:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .wage-legend{font-size:8px;gap:5px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .wage-legend b{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .swatch{width:10px;height:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .back-card{padding:10px 8px;gap:7px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .back-card strong,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .back-growth strong{font-size:26px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .back-card small{font-size:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .back-growth{padding-left:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .back-card>svg{width:29px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .comparison h4{font-size:11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .comparison h4 small{font-size:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .compare-row{font-size:10px;grid-template-columns:24px 67px 1fr;gap:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .compare-row b{font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips{gap:5px;margin-top:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips>button{padding:9px 4px;gap:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips b{font-size:21px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips>button:first-child b{font-size:17px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips svg{width:19px;height:19px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips small{font-size:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips em{font-size:7px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .attendance-link{font-size:9px;gap:5px;padding-top:12px;padding-bottom:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .attendance-link b{font-size:11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .attendance-link>svg:first-child{width:17px;height:17px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .section-title h2{font-size:20px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .period-picker{font-size:11px;max-width:97px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-counts{margin:17px 0 18px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-counts>div{min-height:69px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-counts strong{font-size:29px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .donut{height:252px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .donut-title{font-size:17px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .sales-total{margin:12px 0 13px;font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .sales-total b{font-size:24px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .sales-total small{font-size:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table th{font-size:9px;padding:8px 3px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table td{font-size:12px;padding:10px 3px;height:58px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .table-amount{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-name{font-size:12px;gap:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-name>span{font-size:8px;min-width:27px;padding:2px 4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table th:first-child{width:27%}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table th:nth-child(2){width:28%}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table th:nth-child(3){width:13%}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table th:nth-child(4){width:32%}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .strategy-hint{margin-top:16px;padding:13px 10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .strategy-hint strong{font-size:14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .data-footnote{font-size:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customers-screen,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .strategy-screen{min-height:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .desk-banner{margin-left:-14px;margin-right:-14px;min-height:130px;padding-right:64px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .strategy-subtitle{font-size:15px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-card{padding:14px 11px 11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .person-token{width:44px;height:44px;font-size:15px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-person h3{font-size:17px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-person p{font-size:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-person{gap:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .warm-tip{font-size:9px;margin-top:11px;padding:6px 4px;gap:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-field{grid-template-columns:70px 1fr;min-height:38px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-field strong,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-field select{font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-field>span{font-size:10px;gap:6px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .memo-field textarea{font-size:11px;min-height:70px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .record-button{font-size:15px;min-height:47px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies{gap:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies button{padding:11px 8px;gap:6px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies b{font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies small{font-size:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies button>svg:first-child{width:23px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .stamp-row{gap:7px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .stamp-row>span{width:35px;height:35px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .stamp-row em{font-size:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .record-hero{gap:13px;padding:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .record-hero>.mini-cat{width:100px;height:133px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .record-hero p{font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .achievement-grid strong{font-size:17px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .achievement-grid span{font-size:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal{max-height:88dvh}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal-body{padding:17px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal>header{padding:13px 17px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal h2{font-size:17px}
}
@media(max-width:359px){html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace.single{margin:0 9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .greeting h2{font-size:14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .greeting>span{font-size:7px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .greeting p{font-size:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-main strong{font-size:18px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-main .primary{min-width:93px;font-size:12px;padding:7px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-stage{height:214px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pet-caption{font-size:7px;padding:5px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pet-controls{gap:3px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pet-controls button{width:27px;height:27px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pet-actor{width:105px;height:140px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-shortcuts button{font-size:12px;gap:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-number{font-size:36px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .growth-badge{font-size:7px;padding:7px 6px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .growth-badge strong{font-size:22px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-card .section-title h3{font-size:13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-card .period-picker{font-size:8px;max-width:79px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .wage-legend{font-size:7px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .wage-legend b{font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .back-card strong{font-size:23px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .back-growth strong{font-size:22px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .back-card small{font-size:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .back-card>svg{width:24px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .comparison h4 small{font-size:7px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips>button:first-child b{font-size:14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips b{font-size:18px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips svg{width:16px;height:16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .metric-chips em{font-size:6px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .attendance-link{font-size:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .attendance-link b{font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .section-title h2{font-size:17px;gap:5px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .section-title h2 svg{width:23px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .screen-body{padding:17px 11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table td,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .table-amount,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-name{font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-name{gap:3px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-name>span{font-size:7px;min-width:24px;padding:2px 3px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .sales-total b{font-size:22px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .sales-total small{font-size:7px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-person h3{font-size:15px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-person p{font-size:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .person-token{width:39px;height:39px;font-size:13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-field{grid-template-columns:62px 1fr;gap:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-field>span{font-size:9px;gap:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies button>svg:first-child{width:20px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies b{font-size:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies small{font-size:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .stamp-row>span{width:30px;height:30px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .stamp-row{gap:5px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .stamp-row em{font-size:7px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .desk-banner{margin-left:-11px;margin-right:-11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .date-label{font-size:10px}
}
@media(prefers-reduced-motion:reduce){html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui *{scroll-behavior:auto!important}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .mini-hop,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .destination,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .toast{animation:none!important}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui button:active:not(:disabled){transform:none}
}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace.overview{align-items:stretch}
@media(min-width:360px){html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table td,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .table-amount{font-size:14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-name{font-size:13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-field strong,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-field select{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-field>span{font-size:11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-person p{font-size:11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .warm-tip{font-size:11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies b{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies small{font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .wage-legend{font-size:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .wage-legend b{font-size:13px}
}
@media(min-width:1180px) and (max-width:1299px){html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-table td,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .table-amount{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-name{font-size:11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies b{font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .other-strategies small{font-size:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .plan-person p{font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .wage-legend{font-size:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .wage-legend b{font-size:11px}
}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .donut svg [role=button]{cursor:pointer}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .donut svg [role=button]:focus-visible{outline:none;filter:brightness(.88)}
@media(max-width:580px){html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading .eyebrow{display:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading{margin-bottom:11px;padding-top:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading h1{font-size:17px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-header{padding-top:11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .greeting{padding-bottom:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-stage{height:195px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pet-actor{width:103px;height:137.333px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-card{padding-top:10px;padding-bottom:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-hero{margin-bottom:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-shortcuts{padding-bottom:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .wage-legend{margin-top:7px;margin-bottom:9px}
}

/* Reference: customer-notes.css */
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-sections{display:flex;gap:5px;background:#edf5fb;border-radius:13px;padding:5px;margin:18px 0 20px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-sections>button{display:flex;flex:1;justify-content:center;align-items:center;gap:6px;min-height:43px;border-radius:10px;font-size:12px;font-weight:750;color:#617b98}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-sections>button[aria-pressed=true]{background:#fff;color:#234d77;box-shadow:0 2px 5px #27577512}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-sections>button>span{font-size:10px;background:#e9f2fa;padding:1px 6px;border-radius:7px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-total{font-size:11px;color:var(--muted)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .balance-note-link{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:43px;margin-top:12px;padding:9px;border-radius:10px;background:#f0f7fc;color:#2e608c;font-size:12px;font-weight:700}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-intro{display:flex;gap:11px;align-items:center;margin-bottom:17px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .notebook-mark{display:flex;align-items:center;justify-content:center;width:44px;height:48px;flex-shrink:0;background:#e8e0ff;color:#6b55a0;border-radius:11px;box-shadow:inset 4px 0 #d3c4f2}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-intro h3{font-size:15px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-intro p{font-size:11px;color:var(--muted);margin-top:3px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #c9dceb;border-radius:12px;padding:0 11px;min-height:46px;color:#577a9b}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-search:focus-within{outline:2px solid #2180b5;outline-offset:2px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-search input{width:100%;min-width:0;border:0;outline:0;font-size:13px;background:transparent;padding:12px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-search input::-webkit-search-cancel-button{display:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-search button{display:flex;padding:7px;margin-right:-6px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-filters{display:flex;gap:6px;margin:13px 0 17px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-filters button{display:flex;align-items:center;justify-content:center;flex:1;gap:5px;font-size:11px;border-radius:10px;padding:9px 5px;color:#526f8b;min-height:38px;white-space:nowrap}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-filters button.selected{background:var(--tk-selected);color:var(--ink);font-weight:750}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-filters button span{font-size:10px;opacity:.8}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-summary{display:flex;justify-content:space-between;align-items:center;margin:0 2px 10px;font-size:12px;font-weight:700}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-summary small{font-size:10px;color:var(--muted);font-weight:500}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-list{display:grid;gap:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-card{display:flex;align-items:center;gap:11px;min-width:0;padding:14px 11px;border:1px solid #dfebf3;border-radius:14px;background:#fff;box-shadow:0 3px 8px #31567906;text-align:left}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-card:hover{background:#f5faff}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-card>svg{flex-shrink:0;color:#6787a4}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:43px;height:47px;border-radius:15px;font-size:22px;font-weight:800;color:#24476b;box-shadow:inset 0 -3px #24476b0b}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-card-body{display:block;flex:1;min-width:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-card-title{display:flex;align-items:center;gap:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-card-title>b{font-size:16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-flag{display:inline-flex;align-items:center;gap:3px;border-radius:6px;padding:2px 6px;font-size:10px;line-height:1.7;font-weight:650;white-space:nowrap}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-flag.nominated{background:#ffedf6;color:#9c4371}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-flag.served{background:#edf3f7;color:#59738b}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-visit{display:block;color:#657c94;font-size:10px;margin:5px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-visit i{font-style:normal;margin:0 5px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-excerpt{display:flex;align-items:center;gap:5px;color:#526b86;font-size:11px;line-height:1.6;min-width:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-excerpt>svg{flex-shrink:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-excerpt>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-footnote,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .notebook-footnote{font-size:10px;line-height:1.85;color:var(--muted);margin-top:18px;text-align:center}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-empty{padding:28px 10px;text-align:center;border-radius:14px;background:#f4f8fc;color:#68839e}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-empty h4{font-size:14px;margin:10px 0 6px;color:var(--ink)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-empty p{font-size:11px;line-height:1.8}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .notebook-modal{width:min(580px,calc(100% - 30px));overflow:hidden}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .notebook-modal[open]{display:flex;flex-direction:column}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .notebook-modal>header{flex-shrink:0;background:#f6fbff}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .notebook-modal>.modal-body{overflow:auto;overscroll-behavior:contain;padding:20px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .notebook-person{display:flex;align-items:center;gap:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .notebook-person .directory-avatar{width:56px;height:61px;font-size:29px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .notebook-person h3{font-size:23px;line-height:1.3;margin-bottom:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .served-count{margin-left:auto;display:block;text-align:right;font-size:10px;color:var(--muted)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .served-count strong{display:block;font-size:28px;color:var(--ink);line-height:1.35}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .served-count small{font-size:12px;margin-left:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .notebook-summary{display:flex;justify-content:space-between;gap:10px;margin:17px 0 12px;border-top:1px solid #e2edf5;padding-top:13px;font-size:11px;color:var(--muted)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .notebook-summary b{color:var(--ink);margin-left:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .notebook-strategy{display:flex;align-items:center;gap:8px;width:100%;padding:12px;border-radius:11px;background:#e7f3fc;color:#2a587e;font-size:12px;font-weight:750;min-height:46px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .notebook-strategy>svg:last-child{margin-left:auto}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .history-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:27px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .history-heading h3{display:flex;align-items:center;gap:7px;font-size:15px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .history-heading>span{color:var(--muted);font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .history-description{font-size:11px;color:var(--muted);line-height:1.8;margin:8px 0 15px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .visit-history{display:grid;gap:11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .visit-entry{border:1px solid #dce8f0;border-radius:14px;overflow:hidden;background:#fff}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .visit-summary{display:flex;align-items:center;gap:12px;padding:13px;width:100%;text-align:left}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .visit-date{display:block;min-width:45px;line-height:1.4}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .visit-date b{font-size:16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .visit-date small{display:block;color:var(--muted);font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .visit-info{display:block;flex:1}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .visit-info>span{display:flex;align-items:center;gap:7px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .visit-info b{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .visit-info em{font-style:normal;font-size:9px;border-radius:5px;padding:0 5px;background:#d9f3e9;color:#308261}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .visit-info small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .visit-summary>svg{flex-shrink:0;color:#6e8aa4}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .expanded>.visit-summary>svg{transform:rotate(90deg)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .visit-preview{font-size:11px;color:#617b94;padding:0 13px 13px;line-height:1.7;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .visit-editor{padding:0 13px 13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .visit-editor label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:750;margin:0 0 7px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .visit-editor textarea{display:block;width:100%;min-height:112px;max-height:300px;resize:vertical;border:1px solid #c6dceb;border-radius:9px;padding:10px;background:#fafdff;line-height:1.8;font-size:14px;overflow-wrap:anywhere}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .visit-save-status{display:flex;justify-content:space-between;gap:8px;margin-top:6px;font-size:9px;color:#63819b}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .conversation-reference{border-radius:12px;background:#ffffffb5;padding:12px;margin:12px 0 10px;min-width:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .conversation-reference h4{display:flex;align-items:center;gap:5px;font-size:11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .conversation-reference h4 span{margin-left:auto;font-size:9px;font-weight:500;color:var(--muted)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .conversation-reference p{font-size:11px;line-height:1.8;color:#526d88;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;margin-top:7px;white-space:pre-wrap}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .conversation-reference button{display:flex;align-items:center;justify-content:flex-end;gap:4px;width:100%;color:#276697;font-size:10px;font-weight:700;min-height:32px;margin-top:3px}
@media(max-width:580px){html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-sections{margin:15px 0 19px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-sections>button{font-size:11px;gap:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-card{padding:12px 10px;gap:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-intro h3{font-size:14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-total{font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-card-title>b{font-size:15px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .notebook-modal{width:calc(100% - 20px);max-height:92dvh;border-radius:20px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .notebook-modal>.modal-body{padding:16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .visit-editor textarea{font-size:16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .conversation-reference{padding:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .conversation-reference h4{font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .conversation-reference h4 span{font-size:9px}
}
@media(max-width:359px){html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-card{gap:7px;padding:11px 8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-avatar{width:34px;height:40px;font-size:18px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-filters{gap:3px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-filters button{font-size:10px;gap:3px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-flag{font-size:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-intro h3{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-intro p{font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-card-title{gap:6px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-card-title>b{font-size:14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-card>svg{width:14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .history-heading h3{font-size:14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .history-heading>span{font-size:9px}
}

/* Reference: work-tools.css */
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-description{color:var(--muted);font-size:12px;line-height:1.85;margin:10px 0 17px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-submit{width:100%;margin:7px 0;min-height:47px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-month{display:flex;align-items:center;gap:8px;font-weight:750;margin:18px 0 12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-month select,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-period-heading select{border:0;border-radius:9px;padding:8px;background:#edf5fb;font-size:14px;font-weight:700}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-summary{display:flex;gap:20px;padding:15px 0;border-bottom:1px solid #e3edf5;font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-summary>span{display:flex;align-items:center;gap:6px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-summary b{margin-left:3px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-dot{display:inline-block;width:9px;height:9px;border-radius:50%}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-dot.confirmed{background:#4a9abf}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-dot.pending{background:#deba63}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;font-variant-numeric:tabular-nums}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .calendar-weekday{text-align:center;color:#788da5;font-size:11px;padding:5px 0 7px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-calendar>button{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;min-height:53px;padding:6px 1px;border:1px solid #e4edf4;background:#fff;font-size:15px;gap:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-calendar>button[aria-current=date] b{text-decoration:underline;text-underline-offset:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-calendar>button small{font-size:8px;line-height:1.2;white-space:nowrap}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-calendar>button.confirmed{background:#f0f8fd;color:#275875}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-calendar>button.pending{background:#fff9e8;color:#8e6a27}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-calendar>button.selected{background:var(--tk-selected);color:var(--ink)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-calendar>button:disabled{opacity:.42}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .calendar-empty-mark{height:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-list-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:25px 0 12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-list-heading h3{font-size:16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-list-heading>small{font-size:10px;color:var(--muted)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-list-heading .text-button{font-size:11px;padding:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-list,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-statement-list{display:grid;gap:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-row,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-statement{padding:17px;border:1px solid #dfebf4;border-radius:17px;background:#fff;box-shadow:0 3px 12px #315d7907}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-row-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-row-heading h4{font-size:16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .work-status{display:inline-flex;align-items:center;font-size:10px;line-height:1.6;font-weight:650;border-radius:7px;padding:4px 8px;white-space:nowrap;background:#edf3f7;color:#677d93}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .work-status.confirmed{background:#dff3eb;color:#27745b}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .work-status.pending{background:#fff0d2;color:#89601d}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .work-status.withdrawn{background:#edf0f4;color:#718297}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-hours{display:block;font-size:22px;margin:9px 0 4px;letter-spacing:-.02em}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-row.withdrawn .shift-hours{text-decoration:line-through;color:#8292a1}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .preserve-note{font-size:11px;line-height:1.8;color:#68819a;white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-row-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-row-actions button,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .secondary-button{padding:9px 12px;border-radius:9px;background:#f0f6fb;color:#365e85;font-size:12px;font-weight:700;min-height:37px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .consult-status{font-size:11px;background:#f1f7fc;border-radius:9px;padding:10px;margin-top:10px;color:#4c6b8c}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .consult-status span{display:block;margin-top:5px;white-space:pre-wrap;overflow-wrap:anywhere}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-empty{padding:30px 15px;border-radius:14px;background:#f2f7fb;color:#6d829a;text-align:center;font-size:13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-footnote{font-size:11px;line-height:1.9;color:var(--muted);margin:22px 0 5px;text-align:center}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .picked-dates{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0;min-height:26px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .picked-dates>button{padding:5px 8px;border-radius:7px;background:#e8f3fb;font-size:11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .picked-dates>span{font-size:12px;color:var(--muted)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-time-fields{display:grid;grid-template-columns:minmax(0,1fr) 17px minmax(0,1fr);gap:10px;align-items:center;margin:20px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-time-fields>label{min-width:0;font-size:12px;font-weight:700}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-time-fields>span{padding-top:20px;text-align:center}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-time-fields em{font-style:normal;font-size:10px;background:#e4f1fa;border-radius:5px;padding:2px 4px;margin-left:3px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-time-fields input{width:100%;min-width:0;display:block;margin-top:7px;padding:10px 6px;border:1px solid #ccdfed;border-radius:9px;font-size:18px;font-weight:750;background:#fff}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-field{display:block;font-size:12px;font-weight:700;margin:16px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-field>small{font-weight:500;color:var(--muted);margin-left:5px;font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-field textarea,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-field select{display:block;margin-top:8px;width:100%;min-width:0;padding:11px;border:1px solid #cddfec;border-radius:10px;background:#fff;font-size:14px;line-height:1.8;font-weight:500;resize:vertical;overflow-wrap:anywhere}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .local-save-status,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .demo-operation-note{font-size:10px;color:var(--muted);margin:9px 0;line-height:1.8}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .demo-operation-note{text-align:center}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .decision-subject{font-size:15px;font-weight:750;background:#f0f7fc;border-radius:10px;padding:13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-period-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:17px 0 13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-period-heading h3{font-size:16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-period-heading select{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-month-summary{display:flex;flex-direction:column;gap:7px;padding:21px 19px;background:linear-gradient(110deg,#e6f3fc,#f2f9ff);border-radius:18px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-month-summary>small{font-size:11px;color:#58789a}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-month-summary>strong{font-size:38px;line-height:1.2;letter-spacing:-.035em}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-month-summary>span{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-month-summary>span b{font-size:17px;margin-left:7px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-check-notice{display:flex;gap:10px;align-items:center;background:#fff5df;border-radius:12px;padding:14px 12px;margin:15px 0;color:#8e6522}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-check-notice strong{font-size:13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-check-notice p{font-size:10px;margin-top:5px;line-height:1.6}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-list-filter{display:flex;gap:7px;margin:16px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-list-filter button{font-size:12px;min-height:38px;padding:8px 17px;border-radius:10px;color:#536f8e}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-list-filter button.selected{font-weight:750;background:var(--tk-selected)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .daily-earned{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:14px 0 7px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .daily-earned small{font-size:11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .daily-earned strong{font-size:27px;letter-spacing:-.03em}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .daily-pay-split{font-size:11px;color:#67809b;line-height:1.7}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .daily-pay-split span{padding:0 5px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .daily-payout{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#f8f5ef;border-radius:10px;margin:13px 0;padding:10px;font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .daily-payout>span b{display:block;font-size:19px;margin-top:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .daily-payout>small{font-size:10px;color:#8f7653;text-align:right}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-row-actions{display:flex;gap:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-row-actions button{flex:1;font-size:12px;min-height:40px;padding:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-check{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.8;margin:20px 0 10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-check input{accent-color:#2c6a9c;width:19px;height:19px;margin-top:3px;flex-shrink:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .payment-scope{background:#f2f7fb;border-radius:12px;padding:14px;margin-top:16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .payment-scope>span{display:flex;justify-content:space-between;font-size:12px;gap:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .payment-scope>p{font-size:11px;color:var(--muted);line-height:1.8;margin-top:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .work-confirmed{display:flex;align-items:center;gap:8px;color:#267158;font-size:12px;background:#e7f7ef;padding:13px;border-radius:10px;margin-top:18px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .receipt-amount{display:block;font-size:40px;line-height:1.4;margin:15px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-intro{display:flex;align-items:center;gap:12px;margin:21px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-intro h3{font-size:16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-intro p{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.8}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-card{padding:21px 17px;background:#fff;border:1px solid #dce7f0;border-radius:18px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-card h3{font-size:19px;line-height:1.6;margin:15px 0 7px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-card>p{font-size:12px;color:#68809a}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-card dl{margin:19px 0;font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-card dl>div{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid #e5edf3}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-card dt{color:var(--muted)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-card dd{margin:0;text-align:right}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .download-copy{display:block;text-align:center;font-size:12px;line-height:1.8;margin:16px 0 3px;text-underline-offset:3px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-topics{margin:23px 0;padding:18px;background:#f2f8fc;border-radius:14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-topics h3{font-size:14px;margin-bottom:13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-topics p{display:flex;align-items:center;gap:8px;font-size:12px;margin:11px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-document{font-size:13px;line-height:1.9}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-document>h3{font-size:20px;margin:14px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-document>p{font-size:11px;color:var(--muted)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-document section{margin-top:24px;padding-top:19px;border-top:1px solid #e2eaf0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-document section h4{font-size:14px;margin-bottom:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-document section p{color:#496582;white-space:pre-wrap}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-draft-label{background:#fff2d6;padding:9px;border-radius:8px;color:#896625!important}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .home-screen .room-header{padding-bottom:16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .home-screen .room-shortcuts{margin-top:0;padding-top:16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-card .salary-period-picker{min-width:76px;max-width:none;min-height:36px;padding:7px 9px;font-size:12px;font-weight:700;flex-shrink:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-scope{color:var(--muted);font-size:10px;line-height:1.7;margin-top:7px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .home-metrics-heading{display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:700;color:var(--muted);margin:18px 2px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .home-metrics-heading>span{font-size:10px;font-weight:500}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-card .back-card>svg:last-child{margin-left:auto}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .app-header{max-width:800px;margin:0 auto}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading{max-width:680px;margin:12px auto 20px;padding-left:0;padding-right:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading>p{display:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading .eyebrow{font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace.single.essential-workspace{width:calc(100% - 28px);max-width:680px;margin:0 auto}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace.single.essential-home{max-width:510px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .essential-workspace>.screen{width:100%;min-height:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .essential-workspace .screen-body{padding:23px 22px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .essential-nav{display:flex;position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:680px;background:#ffffffed;backdrop-filter:blur(12px);border-top:1px solid #dbeaf4;border-radius:17px 17px 0 0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -4px 25px #2547660c}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .essential-nav button{min-height:54px;font-size:11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .essential-nav svg{width:23px;height:23px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .nav-icon{position:relative;display:block;height:23px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .nav-icon>i{font-size:9px;font-style:normal;position:absolute;left:17px;top:-4px;border-radius:8px;min-width:15px;padding:1px 4px;background:#b46342;color:#fff}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-shortcuts button{position:relative;gap:5px;font-size:13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shortcut-count{position:absolute;right:4px;top:3px;border-radius:7px;min-width:14px;background:#b46342;color:#fff;font-size:8px;font-style:normal;padding:1px 3px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .demo-footer{padding-bottom:110px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .toast{bottom:88px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-modal{width:min(580px,calc(100% - 24px));max-height:90dvh;overflow:hidden}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-modal[open]{display:flex;flex-direction:column}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-modal>header{flex-shrink:0;background:#f6fbff}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-modal>.modal-body{overflow:auto;overscroll-behavior:contain;padding:21px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-modal .utility-submit{margin:8px 0;min-height:46px;font-size:14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-modal .utility-description{margin:0 0 16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-modal .field-error{font-size:12px;line-height:1.8}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-modal .mini-breakdown h3{font-size:14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-modal .mini-breakdown p{margin-top:7px}
@media(max-width:740px){html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading{margin-left:18px;margin-right:18px}
}
@media(max-width:580px){html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading{margin-top:2px;margin-bottom:13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading .eyebrow{display:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .essential-workspace .screen-body{padding:20px 15px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace.single.essential-workspace{width:calc(100% - 24px)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .essential-nav{border-radius:0;padding-top:7px;padding-bottom:calc(7px + env(safe-area-inset-bottom))}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .essential-nav button{font-size:10px;min-height:52px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-shortcuts button{font-size:12px;gap:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-shortcuts button>svg{width:18px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-modal{width:calc(100% - 20px);max-height:92dvh;border-radius:21px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-modal>.modal-body{padding:16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-calendar{gap:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-calendar>button{min-height:47px;font-size:14px;border-radius:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-calendar>button small{font-size:7px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-summary{font-size:11px;gap:17px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-month select{font-size:14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-row,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-statement{padding:15px 12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-row-heading h4{font-size:15px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-field textarea,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-field select{font-size:16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-time-fields input{font-size:17px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-period-heading h3{font-size:15px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-period-heading select{font-size:11px;padding:8px 5px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-month-summary{padding:19px 15px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-month-summary>strong{font-size:36px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-month-summary{padding:14px 15px;gap:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-month-summary>strong{font-size:33px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-check-notice{padding:11px 12px;margin:12px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-check-notice p{display:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-list-filter{margin:12px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .work-status{font-size:9px;padding:4px 6px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-row-actions button{font-size:11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-check{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-card{padding:18px 13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-card h3{font-size:17px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-intro h3{font-size:14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-intro p{font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-card dl{font-size:11px}
}
@media(max-width:359px){html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .essential-workspace .screen-body{padding:18px 11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-shortcuts button{font-size:10px;gap:3px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-shortcuts button>svg{width:16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-calendar>button{font-size:12px;min-height:43px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-calendar>button small{font-size:6px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-calendar{gap:3px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-time-fields{gap:5px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-time-fields input{font-size:16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-period-heading h3{font-size:13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .daily-pay-split{font-size:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .daily-earned strong{font-size:25px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-intro{gap:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-intro h3{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-card h3{font-size:16px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-card dl{font-size:10px}
}

/* Reference: attendance.css */
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .accompaniment-start{display:flex;align-items:center;width:100%;gap:9px;padding:10px 1px 4px;margin-top:4px;border-top:1px solid #dbeaf4;text-align:left;color:#315f82}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .accompaniment-start>span{font-size:13px;font-weight:750;flex:1}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .accompaniment-start small{font-size:10px;font-weight:500;margin-left:9px;color:var(--muted)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .accompaniment-status{padding:10px 0 3px;margin-top:3px;border-top:1px solid #dbeaf4}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .accompaniment-status>div{display:flex;gap:8px;align-items:center}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .accompaniment-status strong{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .accompaniment-status small{display:block;font-size:10px;color:var(--muted);margin-top:4px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .accompaniment-status>button{display:flex;align-items:center;gap:4px;margin:7px 0 0 auto;font-size:10px;color:#326b94}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .attendance-explanation{font-size:13px;line-height:1.9;color:#56738e}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .attendance-subject{display:grid;gap:7px;background:#f0f7fc;padding:15px;border-radius:12px;margin:17px 0;font-size:13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .attendance-subject span{font-size:11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .attendance-confirm .utility-field input{width:100%;min-width:0;display:block;border:1px solid #ccdfed;background:#fff;border-radius:10px;padding:11px;font-size:16px;margin-top:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .attendance-confirm .utility-field input[type=datetime-local]{padding:11px 5px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .location-notice{display:flex;align-items:flex-start;gap:10px;background:#edf6fc;border-radius:14px;padding:15px 12px;margin:19px 0 13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .location-notice>svg{flex-shrink:0;margin-top:2px;color:#40799e}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .location-notice strong{font-size:13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .location-notice p{font-size:11px;color:#59758d;line-height:1.8;margin-top:6px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .location-notice small{display:block;font-size:10px;line-height:1.8;color:var(--muted);margin-top:5px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .attendance-error{font-size:12px;line-height:1.9;background:#fff0dc;border-radius:10px;padding:12px;color:#805823;margin:14px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .attendance-cancel{display:block;margin:6px auto 0;min-height:40px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .attendance-log li{display:block;padding:12px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .attendance-log li>div{display:flex;justify-content:space-between;gap:10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .attendance-log small{display:block;color:var(--muted);font-size:10px;margin-top:7px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .accompaniment-history-title{margin:24px 0 14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .accompaniment-history{display:grid;gap:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .accompaniment-history article{padding:14px;background:#f3f8fc;border-radius:13px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .accompaniment-history article>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .accompaniment-history article>div:first-child>strong{overflow-wrap:anywhere;min-width:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .accompaniment-history p{font-size:12px;margin-top:9px;line-height:1.8}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .accompaniment-history small{font-size:10px;display:block;color:var(--muted);line-height:1.9;margin-top:9px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .toast{top:12px;bottom:auto}
@media(max-width:359px){html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .accompaniment-start small{font-size:8px;margin-left:6px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .accompaniment-start>span{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .attendance-confirm .utility-field{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .location-notice{padding:12px 10px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .location-notice strong{font-size:12px}
}

/* Application shell and retained workflows use the adopted presentation without changing their storage. */
.app-shell.staff-shell.cast-shell{max-width:none;min-height:100dvh;background:transparent}
.app-shell.staff-shell.cast-shell .app-main{max-width:680px;width:calc(100% - 28px);margin:0 auto;padding:0 0 110px;min-height:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workforce{margin:0;padding:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-home{max-width:510px;margin:0 auto}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .screen{display:flex;flex-direction:column;border:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .screen-body{padding:23px 22px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .app-header{position:static;width:100%;max-width:800px;margin:0 auto;background:none;border:0;box-shadow:none;min-height:74px;padding:16px 24px;flex-wrap:nowrap}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .brand-button img{width:128px;height:42px;object-fit:contain}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading{max-width:680px;margin:12px auto 20px;padding:7px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .header-right{width:auto;margin-left:auto;gap:14px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .demo-badge{max-width:45%;overflow:hidden;text-overflow:ellipsis}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-cat{position:relative;line-height:normal}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pet-sprite{position:absolute;inset:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-cat[data-ready=false] .pet-actor{visibility:hidden}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cat-loading{position:absolute;z-index:6;inset:35px 12px auto;background:#fffffff0;padding:12px;border-radius:12px;font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cat-loading button{display:block;text-decoration:underline;margin-top:8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-no-plan{font-size:13px;white-space:normal}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-number{overflow-wrap:anywhere}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal{margin:auto;padding:0;border:0;position:fixed;background:#fff;box-sizing:border-box}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal-heading{display:flex;align-items:center;justify-content:space-between;padding:16px 19px 11px;border-bottom:1px solid #dfebf3;background:#f6fbff;flex-shrink:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal-heading h2{font-size:19px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-modal[open]{display:flex;flex-direction:column}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal-body{min-height:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-settings:not([open]){display:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-settings .setting-row{display:flex;width:100%;align-items:center;justify-content:space-between}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-settings #app-assistant-slot{display:block;position:static}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-settings .assistant-launcher{position:static;display:flex;gap:8px;align-items:center;padding:12px;color:#315f82;background:#edf5fb;border-radius:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-settings .pwa-install{margin:15px 0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-shift .wf-change:empty{display:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-shift .wf-change{margin:0;padding:0;border:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-shift .wf-shift-consult{margin-top:12px;background:#f0f6fb;padding:9px 12px;border-radius:9px;font-size:12px;min-height:37px;font-weight:700;text-decoration:none;color:#365e85}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-payouts,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-payout-content{margin:0;padding:0;border:0;background:transparent;display:block}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .pay-payout-content[hidden]{display:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-contract-flow .page-title{display:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-contract-flow .paper-card{padding:21px 17px;background:#fff;border:1px solid #dce7f0;border-radius:18px;box-shadow:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-name{white-space:normal;flex-wrap:wrap}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-card-title{flex-wrap:wrap;gap:4px 8px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .customer-flag{max-width:100%}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .notebook-person>div{min-width:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .notebook-person h3{overflow-wrap:anywhere}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .directory-total{white-space:nowrap}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .home-metrics-heading>span{max-width:65%;text-align:right}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .comparison h4 small{max-width:65%;text-align:right;line-height:1.4}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .data-footnote{overflow-wrap:anywhere}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-attendance-history .wf-personal-period{margin-top:0}
@media(max-width:740px){html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading{margin-left:18px;margin-right:18px}}
@media(max-width:580px){
 .app-shell.staff-shell.cast-shell .app-main{width:calc(100% - 24px)}
 html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .app-header{min-height:58px;padding:10px 16px;gap:10px}
 html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .brand-button img{width:107px;height:33px}
 html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading{margin-top:2px;margin-bottom:13px;padding:0}
 html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .screen-body{padding:20px 15px}
 html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal-heading{padding:13px 17px}
 html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal-heading h2{font-size:17px}
}

html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui{background:transparent}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .app-header{display:flex;grid-template-columns:none;flex-wrap:nowrap;backdrop-filter:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-home{width:100%;margin:0 auto;justify-self:center}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .greeting{margin:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .salary-card .period-picker{background:#f2f7fb;border:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .brand-button{flex-shrink:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .demo-badge{flex:0 1 auto}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-editor>fieldset{border:0;padding:0;margin:0;min-width:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-time-fields .wf-time-picker{border:0;padding:0;margin:0;min-width:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-time-fields legend{font-size:12px;font-weight:700;margin:0 0 7px;padding:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-time-fields .wf-time-selects{border:1px solid #ccdfed;border-radius:9px;display:flex;align-items:center;padding:7px 6px;gap:0;background:#fff}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-time-fields select{min-width:0;flex:1;width:45%;min-height:27px;padding:0;border:0;border-radius:0;font-size:18px;font-weight:750;text-align:center;background:transparent}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-time-fields .wf-time-selects>span{padding:0;min-width:5px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .issued-record-details{margin-top:16px;font-size:11px;color:var(--muted)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .issued-record-details .pay-statement-lines dd{white-space:nowrap}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-receipt .pay-payout-amount{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:10px 0 20px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-receipt .pay-payout-amount strong{font-size:35px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-field input{width:100%;min-width:0;margin-top:8px;padding:11px;border:1px solid #cddfec;border-radius:10px;font-size:16px}

@media(max-width:359px){html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .screen-body{padding:18px 11px}}
@media(max-width:580px){html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading{padding-bottom:2px}}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .app-header{color:var(--ink)}
/* 押せない間は他の画面と同じ薄い見た目にする（UX監査 ST-02/B2） */
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .primary:disabled{opacity:.52;cursor:not-allowed}
/* 給与明細の確認のチェック：文字を含む行全体を押せる範囲にし、高さ44px以上にする（ST-02） */
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-check{min-height:48px;align-items:center;padding:6px 0;cursor:pointer}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-check input{width:22px;height:22px;margin-top:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-card .download-copy{display:flex;justify-content:center;width:100%;color:#376b92;font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-procedure-link{margin-top:8px;font-size:11px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .contract-document .hiring-body{background:transparent;padding:0;white-space:pre-wrap;line-height:1.9;font:inherit}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal{gap:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal-body{scrollbar-gutter:auto}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-request-form .wf-request-scroll{overflow:visible;max-height:none;padding:0;margin:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-request-form fieldset{border:0;padding:0;margin:0;min-width:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-request-form .wf-action-subject{font-size:15px;font-weight:750;background:#f0f7fc;border:0;border-radius:10px;padding:13px;margin:0}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-request-form .wf-action-subject>strong{display:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-request-form .wf-form-actions{display:block;border:0;padding:0;margin:0;background:transparent;box-shadow:none}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-request-form .primary{width:100%}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .cast-consult-times{margin:12px 0;font-size:12px;color:var(--muted)}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui [hidden]{display:none!important}

/* Match the adopted intermediate-width shell and isolate legacy dialog spacing. */
@media(min-width:581px) and (max-width:1179px){
 html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .app-header{padding:15px 24px}
 html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .workspace-heading{padding-top:4px;padding-bottom:4px}
}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .screen{gap:normal}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal-heading{margin:0;gap:normal}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .modal-heading h2{margin:0;flex:initial}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .utility-field textarea::placeholder{font:inherit;color:#757575;opacity:1}

html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-main>div{min-width:0;flex:1}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-main .shift-no-plan{white-space:normal;font-size:16px;line-height:1.5}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .shift-main .primary{flex-shrink:0;white-space:nowrap}

/* The cast app is the device screen, not a framed phone preview. */
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .app-main{width:100%;max-width:none;margin:0;padding:env(safe-area-inset-top,0px) 0 calc(88px + env(safe-area-inset-bottom,0px))}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .screen{width:100%;max-width:none;margin:0;border:0;border-radius:0;box-shadow:none;min-height:calc(100dvh - 88px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .screen-body{padding:24px max(20px,env(safe-area-inset-right,0px)) 24px max(20px,env(safe-area-inset-left,0px))}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .room-header{padding:24px max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px))}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .greeting{flex-wrap:wrap;gap:8px;padding-bottom:20px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .greeting h2{font-size:22px;line-height:1.45}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .greeting p{font-size:14px;line-height:1.6}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .greeting>span{font-size:12px}
html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .navigation button{font-size:12px;min-height:60px;gap:5px}
@media(min-width:900px){html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .screen-body,html[data-takamaru-theme] .app-shell.staff-shell.cast-shell .cast-ui .home-content{padding-inline:max(24px,calc((100% - 850px)/2))}}

/* Customer surfaces share Red’s palette; operational/tablet styles remain scoped separately. */
.customer-shell{--tk-brand:#84283b;--tk-accent:#84283b;--tk-action-primary:#84283b;--tk-action-hover:#692031;--tk-bg-page:#faf8f4;--tk-bg-surface:#fffefa;--tk-bg-soft:#f3eee8;--tk-bg-selected:#f3e8e9;--tk-text-primary:#242120;--tk-text-secondary:#716964;--tk-text-secondary-on-page:#716964;--tk-text-active:#84283b;--tk-border-subtle:#e3ddd5;--tk-border-control:#a89f97;--tk-focus:#84283b;--tk-radius:8px;--tk-radius-control:8px;background:#faf8f4;color:#242120;min-height:100dvh;padding:0 0 90px;font-size:16px;line-height:1.65}
.customer-shell .customer-header{height:64px;background:#242120;color:#faf8f4;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100% - 560px)/2));border-bottom:1px solid #443c39}
.customer-shell .customer-header>button{display:flex;align-items:center;gap:8px;background:none;border:0;color:inherit;min-height:48px;padding:0 8px 0 0;font-size:13px}
.customer-shell .customer-wordmark{font-family:Georgia,'Times New Roman',serif;font-size:29px;font-weight:400;letter-spacing:-1px;white-space:nowrap}.customer-shell .customer-wordmark small{font:9px sans-serif;letter-spacing:1.5px;vertical-align:middle;margin-right:5px}
.customer-shell .app-main{width:100%;max-width:600px;margin:0 auto;padding:36px 20px 28px;min-height:0}
.customer-shell .page-title{margin:0 0 30px;gap:12px;align-items:center}.customer-shell .page-title h1{font-size:24px;line-height:1.4;letter-spacing:.025em;color:#242120;font-weight:650}.customer-shell .page-title .icon-button{border:1px solid #e3ddd5;border-radius:50%;width:40px;height:40px;min-width:40px;background:transparent;color:#242120}
.customer-shell .visit-secondary{display:flex;align-items:center;gap:16px;width:100%;min-height:94px;padding:24px 20px;margin:0 0 14px;background:#fffefa;border:1px solid #d9d0c7;border-radius:8px;box-shadow:0 2px 6px #24212004;color:#84283b;text-align:left}.customer-shell .visit-secondary>span{flex:1}.customer-shell .visit-secondary strong{font-size:18px;font-weight:600;color:#242120}.customer-shell .visit-secondary>svg:last-child{width:18px;color:#8e837b}
.customer-shell .customer-mypage-link{display:flex;align-items:center;justify-content:center;gap:9px;border:0;border-top:1px solid #e3ddd5;width:100%;background:none;color:#716964;font-size:14px;min-height:64px;margin:32px 0 0;padding:20px 0}
.customer-shell .customer-navigation{position:fixed;z-index:30;bottom:0;left:0;right:0;background:#fffefaed;backdrop-filter:blur(14px);border-top:1px solid #e3ddd5;display:flex;justify-content:center;padding:6px 20px max(6px,env(safe-area-inset-bottom));height:auto}.customer-shell .customer-navigation button{width:220px;min-height:56px;display:flex;align-items:center;justify-content:center;gap:10px;background:none;border:0;color:#716964;font-size:14px;font-weight:500}.customer-shell .customer-navigation button[aria-current=page]{color:#84283b;font-weight:700}.customer-shell .customer-navigation button+button{border-left:1px solid #e3ddd5}
.customer-shell .customer-menu nav{display:grid}.customer-shell .customer-menu nav button{display:flex;align-items:center;gap:14px;width:100%;min-height:64px;background:none;border:0;border-bottom:1px solid #e3ddd5;text-align:left;color:#84283b;font-size:16px}.customer-shell .customer-menu nav button span{flex:1;color:#242120}.customer-shell .customer-logout{margin-top:24px}
.customer-shell .action{min-height:52px;border-radius:8px;font-size:16px;font-weight:600;box-shadow:none}.customer-shell .action:not(.secondary){background:#84283b;border-color:#84283b;color:#fff}.customer-shell .action.secondary{background:transparent;border:1px solid #b2a69d;color:#242120}.customer-shell .text-button{color:#84283b;min-height:44px}.customer-shell button:disabled{opacity:.5}.customer-shell button:focus-visible,.customer-shell summary:focus-visible{outline:2px solid #84283b;outline-offset:3px}
.customer-shell .steps{display:flex;margin:0 0 32px;gap:0;border-bottom:1px solid #e3ddd5;border-radius:0;background:none;padding:0}.customer-shell .steps span{flex:1;text-align:center;font-size:13px;background:none;color:#716964;padding:0 0 12px;border-radius:0}.customer-shell .steps span.active{color:#84283b;border-bottom:2px solid #84283b;font-weight:700}
.customer-shell .reservation-input{gap:28px}.customer-shell .reservation-input fieldset{margin:0;border:0;padding:0;min-width:0}.customer-shell .reservation-input legend,.customer-shell .field>span{font-size:15px;font-weight:600;margin:0 0 12px;color:#242120}.customer-shell .field small{font-weight:400;color:#716964}.customer-shell .field input,.customer-shell .field textarea,.customer-shell select{background:#fffefa;border:1px solid #b9afa5;color:#242120;font-size:16px;border-radius:8px;min-height:50px;box-shadow:none;max-width:100%;min-width:0}.customer-shell .field input:focus,.customer-shell .field textarea:focus{border-color:#84283b;outline:2px solid #84283b25}.customer-shell .field input::placeholder{font-size:14px;color:#82776f}.customer-shell .two-fields{gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.customer-shell .choice-grid{gap:8px}.customer-shell .choice{border-radius:8px;border:1px solid #d9d0c7;background:#fffefa;color:#716964;min-height:52px;box-shadow:none}.customer-shell .choice.selected{border-color:#84283b;background:#f5e9e9;color:#84283b;box-shadow:inset 0 0 0 1px #84283b}.customer-shell .choice strong{color:inherit}.customer-shell .day-choices{margin-bottom:16px}.customer-shell .counter{background:#fffefa;border:1px solid #d9d0c7;border-radius:8px;padding:8px;max-width:none;display:flex;justify-content:space-between}.customer-shell .counter button{border:0;background:#f3eee8;color:#242120;border-radius:6px;width:44px;height:44px}.customer-shell .counter output{font-size:26px;font-weight:600}.customer-shell .counter output small{font-size:14px;font-weight:400;margin-left:8px}
.customer-shell .reservation-options,.customer-shell .reservation-time-details{background:none;border:0;border-top:1px solid #e3ddd5;border-bottom:1px solid #e3ddd5;border-radius:0;padding:16px 0}.customer-shell .reservation-options summary,.customer-shell .reservation-time-details summary{min-height:24px;color:#242120;font-size:15px}.customer-shell .reservation-options[open]>.field{margin-top:20px}.customer-shell .reservation-input-actions{position:static;background:none;border:0;padding:0;margin:0}.customer-shell .reservation-input-actions .action{width:100%}
.customer-shell .customer-reservation-sections>section{margin:0 0 32px}.customer-shell .customer-reservation-sections h2{font-size:16px;font-weight:600;margin:0 0 14px;letter-spacing:.035em}.customer-shell .reservation-grid{display:grid;grid-template-columns:1fr;gap:14px}.customer-shell .customer-reservation-card{background:#fffefa;border:1px solid #e3ddd5;border-radius:8px;padding:20px}.customer-shell .customer-reservation-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;font-size:12px;color:#716964}.customer-shell .badge{font-size:12px;font-weight:600;border-radius:4px;white-space:normal;padding:4px 7px}.customer-shell .badge.pending{background:#f6ebdb;color:#705018}.customer-shell .customer-reservation-card h3{font-size:23px;margin:20px 0 6px;font-weight:600;letter-spacing:.01em;color:#242120}.customer-shell .customer-reservation-card h3 span{font-size:20px;margin-left:6px}.customer-shell .customer-reservation-card p{margin:0;font-size:15px}.customer-shell .customer-reservation-detail{border-top:1px solid #e3ddd5;margin-top:20px;padding-top:4px}.customer-shell .customer-reservation-detail summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;cursor:pointer;color:#716964;font-size:13px;list-style:none}.customer-shell .customer-reservation-detail summary::-webkit-details-marker{display:none}.customer-shell .customer-reservation-detail[open] summary svg{transform:rotate(90deg)}.customer-shell .customer-reservation-detail .card-actions{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}.customer-shell .customer-empty{border-top:1px solid #e3ddd5;padding:22px 0;color:#716964;font-size:14px}.customer-shell .section-heading .small{font-size:12px}.customer-shell .recovery{border-top:1px solid #e3ddd5;margin-top:32px;padding-top:16px;color:#716964;font-size:13px}
.customer-shell .paper-card{border:1px solid #e3ddd5;box-shadow:none;background:#fffefa;border-radius:8px;padding:24px}.customer-shell .confirmation h2{font-size:18px}.customer-shell .confirmation dl{font-size:15px}.customer-shell .notice.info{background:#f3eee8;border-color:#e3ddd5;color:#514741}.customer-shell .notice{font-size:14px}.customer-shell .modal{background:#faf8f4;color:#242120;border-radius:12px;max-width:520px}.customer-shell .customer-information{min-height:40vh}.customer-shell .customer-information .paper-card{padding:28px 24px}.customer-shell .customer-information .small{color:#716964}
@media(min-width:700px){.customer-shell .app-main{padding-top:48px}.customer-shell .customer-header{height:64px}.customer-shell .page-title{margin-bottom:36px}}
@media(max-width:360px){.customer-shell .app-main{padding-left:16px;padding-right:16px}.customer-shell .customer-reservation-meta{flex-direction:column}.customer-shell .visit-secondary{padding:20px 14px;gap:12px}}
.customer-shell.app-shell{max-width:none;width:100%;border:0;box-shadow:none}
.customer-shell .app-main{padding-bottom:100px}
.customer-shell .notice.success{background:#f3eee8;color:#514741;border-color:#e3ddd5}
/* Preserve the supplied logo's original black/red artwork on its white field. */
.customer-shell .customer-header{background:#faf8f4;color:#242120;border-color:#e3ddd5;height:70px}
.customer-shell .customer-official-logo{display:block;width:62px;height:62px;object-fit:contain}
/* Customer information shares the approved charcoal / warm-paper palette. */
.customer-shell .customer-price-caption{font-size:13px;color:#675b52;margin:-12px 0 24px}
.customer-shell .customer-price-section{margin:0 0 24px}.customer-shell .customer-price-section h2{font-size:16px;letter-spacing:.06em;font-weight:600;margin:0 0 14px}
.customer-shell .customer-price-main{padding:26px 22px;background:linear-gradient(125deg,#34302e,#201f20);color:#f9f4eb;border:1px solid #655950;border-radius:12px;box-shadow:0 12px 28px #352c2712}.customer-shell .customer-price-main h2{color:#e9cfab;font-size:18px}
.customer-shell .customer-price-rows{margin:0}.customer-shell .customer-price-rows>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #e1d9d0}.customer-shell .customer-price-rows>div:last-child{border:0}.customer-shell .customer-price-rows dt{font-size:14px;line-height:1.65;min-width:0;overflow-wrap:anywhere}.customer-shell .customer-price-rows dd{margin:0;font-size:17px;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.customer-shell .customer-price-main .customer-price-rows>div{border-color:#ffffff24}
.customer-shell .customer-included{padding:22px;background:#eee8df;border-radius:8px}.customer-shell .customer-included p{font-size:14px;line-height:2;margin:0;color:#574b42}.customer-shell .customer-price-group{border-top:1px solid #dcd3c9;margin:0}.customer-shell .customer-price-group summary{display:flex;justify-content:space-between;align-items:center;min-height:60px;cursor:pointer;font-size:16px;font-weight:600;list-style:none}.customer-shell .customer-price-group summary::-webkit-details-marker{display:none}.customer-shell .customer-price-group[open] summary svg{transform:rotate(90deg)}.customer-shell .customer-price-footnote{font-size:12px;color:#695b52;line-height:1.8;margin-top:24px}
.customer-shell .customer-info-hero{background:linear-gradient(125deg,#34302e,#201f20);color:#f9f4eb;border:1px solid #655950;border-radius:12px;padding:30px 24px}.customer-shell .customer-info-hero>svg{color:#dec29f}.customer-shell .customer-info-hero h2{font-size:23px;font-weight:500;letter-spacing:.06em;margin:20px 0 14px;color:inherit}.customer-shell .customer-info-hero p{font-size:14px;line-height:1.8;margin:0;color:#e2d8ce}
.customer-shell .customer-contact-link,.customer-shell .customer-info-reserve{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;width:100%;padding:18px 20px;border:1px solid #d9cec1;background:#fffdfa;color:#632a38;border-radius:8px;text-decoration:none;font-size:15px;margin:24px 0}.customer-shell .customer-contact-link span{flex:1}.customer-shell .customer-contact-link small{display:block;color:#67584b;font-size:12px;margin-top:7px}.customer-shell .customer-info-reserve{margin-top:32px;background:#2b2828;color:#fff9f2;border-color:#2b2828}
.customer-shell .customer-info-empty{border-top:1px solid #ded4c9;padding:26px 0}.customer-shell .customer-info-empty p{font-size:15px;line-height:1.8}.customer-shell .customer-info-empty a{display:flex;align-items:center;gap:12px;min-height:44px;color:#773343}
.customer-shell .customer-public-casts{display:grid;gap:18px}.customer-shell .customer-public-cast{display:flex;gap:20px;border:1px solid #dfd4c8;padding:20px;background:#fffdfa;border-radius:10px}.customer-shell .customer-public-cast>img,.customer-shell .customer-cast-no-photo{width:90px;height:124px;object-fit:cover;border-radius:6px;flex-shrink:0}.customer-shell .customer-cast-no-photo{background:#eee7df;display:grid;place-items:center;color:#79685a}.customer-shell .customer-public-cast h2{font-size:23px;font-weight:500;margin:8px 0 12px}.customer-shell .customer-public-cast p{font-size:14px;line-height:1.8;margin:0}.customer-shell .customer-cast-working{font-size:12px;color:#486342}

.customer-shell .customer-information .customer-contact-link{background:#2b2828;color:#fff9f2;border-color:#2b2828}.customer-shell .customer-contact-link small{color:#e4d9cd}

.customer-shell .customer-access-hours{margin:26px 0 0;padding-top:20px;border-top:1px solid #685e55;font-size:14px}.customer-shell .customer-access-hours>div{display:flex;justify-content:space-between;gap:16px;margin:8px 0}.customer-shell .customer-access-hours dt{color:#e2d8ce}.customer-shell .customer-access-hours dd{margin:0;color:#fff9f2}.customer-shell .customer-access-secondary{display:grid;border-top:1px solid #ded4c9}.customer-shell .customer-access-secondary a{display:flex;align-items:center;gap:12px;min-height:62px;text-decoration:none;color:#633b3d;border-bottom:1px solid #ded4c9;font-size:15px}.customer-shell .customer-access-secondary a span{flex:1}
.customer-shell .customer-navigation{padding-left:8px;padding-right:8px}.customer-shell .customer-navigation button{flex:1;max-width:220px;min-width:0;flex-direction:column;gap:4px;font-size:12px;white-space:nowrap}.customer-order-entry{display:flex;gap:16px;background:#292726;color:#fffaf3;border:1px solid #49413a;border-radius:16px;padding:24px 20px;margin:12px 0 30px}.customer-order-entry>svg{flex-shrink:0;color:#cdbb9a;margin-top:4px}.customer-order-eyebrow{font-size:12px;color:#d1c7bb}.customer-order-entry h2{font-size:17px;line-height:1.65;margin:6px 0 14px;letter-spacing:0}.customer-order-entry button{display:inline-flex;align-items:center;gap:14px;background:none;border:0;border-bottom:1px solid #9d8a75;color:#fffaf3;padding:4px 0 8px;font-size:14px;min-height:44px}.customer-order-menu-title{font-size:19px;margin-bottom:10px}.customer-order-guide>svg{color:#8b7357}.customer-order-guide p{line-height:1.8}.customer-order-guide .button{width:100%}
/* Customer hospitality surfaces: tactile ivory, charcoal and restrained burgundy. */
.customer-shell .visit-secondary{position:relative;isolation:isolate;overflow:hidden;min-height:94px;padding:20px 22px;border-radius:14px;border-color:#d7c9bd;background:linear-gradient(120deg,#fffdf9,#f2ebe3);box-shadow:inset 0 1px #fff;color:#7c3745}
.customer-shell .visit-secondary:after{content:'';position:absolute;z-index:-1;right:-35px;top:-74px;width:200px;height:200px;border:1px solid #8062510c;border-radius:50%;box-shadow:0 0 0 24px #80625105,0 0 0 48px #80625104;pointer-events:none}
.customer-shell .visit-secondary strong{font-size:18px;letter-spacing:.025em}.customer-shell .visit-secondary>svg:first-child{padding:11px;box-sizing:content-box;width:24px;height:24px;border:1px solid #a5816c26;background:#fffaf57d;border-radius:50%}
.customer-shell .visit-secondary:focus-visible,.customer-shell .customer-navigation button:focus-visible{outline:2px solid #84283b;outline-offset:4px}
.customer-shell .customer-reservation-card{border-radius:14px;padding:22px;background:linear-gradient(120deg,#fffefa,#fcf8f2);border-color:#ded2c6;box-shadow:none}
.customer-shell .customer-reservation-sections h2{font-size:17px;letter-spacing:.045em}.customer-shell .customer-reservation-detail{border-color:#e6dbcf}.customer-shell .customer-empty{border-color:#ded2c6;line-height:1.8}
.customer-shell .customer-navigation{box-shadow:0 -7px 24px -19px #503d3433}.customer-shell .customer-navigation button[aria-current=page]{background:#84283b07;border-radius:8px}
.customer-shell .reservation-input{background:linear-gradient(125deg,#fffefa,#fcf8f2);border:1px solid #e2d8cd;border-radius:16px;padding:24px 20px;box-shadow:none}
@media(max-width:360px){.customer-shell .visit-secondary{gap:12px;padding:22px 16px}.customer-shell .visit-secondary strong{font-size:16px}.customer-shell .reservation-input{padding:20px 14px}.customer-shell .customer-reservation-card{padding:18px}}
@media(max-width:360px){.customer-shell .reservation-input .two-fields{grid-template-columns:1fr}}
.customer-shell .customer-header{background:#fff;border-bottom-color:#e5ddd4}

.customer-shell .customer-member-overview{margin:0 0 32px}.customer-shell .member-card{position:relative;isolation:isolate;overflow:hidden;padding:17px 23px 13px;border:1px solid #58504e;border-radius:12px;background:linear-gradient(115deg,#34302f,#211e1e 52%,#302226);color:#f5eee6;box-shadow:0 13px 23px -16px #171313b3}.customer-shell .member-card:after{content:'';position:absolute;z-index:-1;right:-84px;top:-120px;width:310px;height:310px;border-radius:50%;border:1px solid #d1b8ae19;box-shadow:0 0 0 24px #d1b8ae06,0 0 0 50px #d1b8ae05}.customer-shell .member-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#a04656}.customer-shell .member-card-top{display:flex;justify-content:flex-end;min-height:24px}.customer-shell .member-card-top button{background:none;border:0;color:#e0d4c9;font-size:12px;display:flex;gap:6px;align-items:center;min-height:32px}.customer-shell .member-card>p{color:#c4b8b0;font-size:12px;margin:10px 0 5px}.customer-shell .member-card h2{font-family:Georgia,'Times New Roman',serif;font-size:32px;line-height:1.3;font-weight:400;letter-spacing:.04em;color:#f6eee5;margin:0;overflow-wrap:anywhere}.customer-shell .member-card-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #ffffff20;padding-top:11px;margin-top:14px;font-size:14px}.customer-shell .member-visits{font-size:11px;color:#c8bcb3;white-space:nowrap}.customer-shell .member-visits strong{font-family:Georgia,serif;font-weight:400;font-size:23px;color:#f6eee5;margin:0 3px}.customer-shell .member-section-heading{display:flex;justify-content:space-between;align-items:center;margin:30px 0 13px}.customer-shell .member-section-heading h2{font-size:15px;letter-spacing:.035em;margin:0;font-weight:600}.customer-shell .member-section-heading>span{font-size:12px;color:#8d3b49}.customer-shell .member-cast-card{border:1px solid #e6ded5;border-radius:10px;overflow:hidden;background:#fffdf9;margin-bottom:16px}.customer-shell .member-cast-intro{display:flex;gap:15px;padding:17px 17px 0}.customer-shell .member-cast-intro>img,.customer-shell .member-photo-empty{width:110px;height:146px;flex-shrink:0;border-radius:5px;object-fit:cover;object-position:50% 32%}.customer-shell .member-photo-empty{display:grid;place-items:center;background:#eee7df;color:#89786c}.customer-shell .member-cast-intro>div:last-child{min-width:0;flex:1;padding-top:7px}.customer-shell .member-cast-intro h3{font-size:24px;font-weight:500;letter-spacing:.1em;margin:3px 0 12px;overflow-wrap:anywhere}.customer-shell .member-cast-intro p{font-size:14px;line-height:1.8;color:#4e4038;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.customer-shell .member-cast-intro button{display:flex;align-items:center;gap:10px;background:none;border:0;color:#853448;font-size:14px;min-height:44px;padding:7px 0;margin-top:7px}.customer-shell .member-schedule{margin:18px 17px 0;padding:14px 0;border-top:1px solid #ede6de;font-size:14px;color:#4e4038}.customer-shell .member-schedule>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.customer-shell .member-schedule strong{font-size:16px;color:#292523;text-align:right}.customer-shell .member-schedule p{margin:8px 0 0;line-height:1.65}.customer-shell .member-schedule-link{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:13px 17px;background:#f4eee8;color:#773644;border:0;border-top:1px solid #e8dfd6;font-size:14px}.customer-shell .member-checked{font-size:11px;color:#817168;text-align:right}.customer-shell .member-profile-photo{display:block;width:100%;max-height:320px;object-fit:cover;object-position:50% 25%;border-radius:8px}.customer-shell .member-shift{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 0;background:none;border:0;border-bottom:1px solid #dfd6cc;width:100%;font-size:14px;color:#3d302b}.customer-shell .member-shift strong{font-size:14px}.customer-shell .app-main:has(.customer-member-overview){max-width:430px}.customer-shell .customer-header{position:relative;justify-content:space-between}.customer-shell .customer-official-logo{position:absolute;left:50%;transform:translateX(-50%)}
@media(max-width:350px){.customer-shell .member-cast-intro{gap:12px;padding-left:14px;padding-right:14px}.customer-shell .member-cast-intro>img,.customer-shell .member-photo-empty{width:88px;height:130px}.customer-shell .member-schedule>div{align-items:flex-start;flex-direction:column;gap:5px}.customer-shell .member-card{padding-left:18px;padding-right:18px}}
.customer-preview-label{font-size:11px;background:#e9e3db;color:#655c54;text-align:center;padding:7px 8px}
.customer-shell .member-card{padding:12px 23px 15px;border-radius:16px;border-color:#74615a;background:radial-gradient(ellipse at 12% 0%,#67554b35,transparent 65%),linear-gradient(118deg,#393331,#201e1e 54%,#34252b);box-shadow:0 18px 32px -24px #231b19b3,inset 0 1px #fff7eb17}
.customer-shell .member-card h2{font-size:34px;letter-spacing:.075em}.customer-shell .member-card>p{font-size:13px;color:#d1c5bb;margin-top:12px}.customer-shell .member-card-bottom{margin-top:14px;padding-top:12px;color:#e3d7cd}.customer-shell .member-card-top button{min-height:44px;color:#e6d8ca}.customer-shell .member-card-top button:focus-visible{outline:2px solid #f1d8b8;outline-offset:2px;border-radius:4px}

/* 来店受付コード（P14・F186） */
.member-checkin{margin:16px 0}.member-checkin-code{display:grid;justify-items:center;gap:6px;padding:12px}.member-checkin-code strong{font-size:32px;letter-spacing:.12em}

.order-entrance{position:relative;isolation:isolate;overflow:hidden;min-height:200px;border-radius:22px;background:#192b3d;margin-bottom:24px;box-shadow:0 10px 28px #1d334516;color:#fff}
.order-entrance-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.order-entrance:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#152536ed 0%,#182737b3 48%,#17233210 100%);z-index:-1}
.order-entrance-content{padding:22px;max-width:420px}
.order-entrance-label{font-size:10px;letter-spacing:.2em;color:#d9e3eb;font-weight:600}
.order-entrance .order-entrance-content h2{color:#fff;font-size:23px;line-height:1.5;letter-spacing:.02em;margin:0 0 16px;font-weight:600}
.order-entrance-actions{display:grid;gap:10px;max-width:300px}
.order-entrance button{display:flex;align-items:center;justify-content:flex-start;gap:10px;border-radius:12px;padding:13px 16px;min-height:48px;font-family:inherit;font-size:14px;font-weight:650;cursor:pointer}
.order-entrance button>svg:last-child{margin-left:auto;flex:none}
.order-entrance-primary{background:#e8f3fc;border:1px solid #e8f3fc;color:#19374e}
.order-entrance-secondary{background:#e8f3fc;border:1px solid #e8f3fc;color:#19374e}
.order-entrance button:focus-visible{outline:3px solid #74c5ff;outline-offset:3px}
.order-entrance button:disabled{opacity:.55;cursor:default}
.order-entrance-content>p{font-size:12px;color:#e0e7ec;margin:12px 0 0}
.customer-mobile-order .order-entrance{margin-top:20px}
.customer-mobile-order .order-entrance-primary{background:#f2ece1;color:#382e25;border-color:#f2ece1}
.commerce-customer .commerce-product{border-radius:18px;box-shadow:0 4px 15px #203c5206;border-color:#dce6ee}
@media(max-width:600px){.order-entrance{min-height:208px;border-radius:18px}.order-entrance-content{padding:20px;max-width:100%}.order-entrance .order-entrance-content h2{font-size:21px}.order-entrance-art{object-position:65% center}.order-entrance-actions{max-width:255px}.order-entrance:after{background:linear-gradient(90deg,#152536ed 0%,#182737a8 56%,#17233222 100%)}.order-entrance button{font-size:13px;padding:12px}.customer-mobile-order .order-entrance-content{max-width:280px}}

/* Adopted order experience. Scoped to QR/tablet ordering, not LINE or staff UI. */
.order-experience{--order-teal:#348994;--order-ink:#203944;--order-mist:#f3f9fa;color:var(--order-ink);padding-bottom:96px}
.order-experience h1{font-size:28px;letter-spacing:.02em;line-height:1.4}.order-experience h2{font-size:20px}.order-experience button{font:inherit;cursor:pointer}.order-experience button:disabled{cursor:not-allowed;opacity:.5}.order-experience button:focus-visible,.order-experience input:focus-visible{outline:3px solid #62b9c3;outline-offset:3px}
.order-experience .commerce-order-layout{display:block}.order-experience .commerce-order-layout>section{min-width:0}.order-experience .commerce-cart{margin-top:28px;max-width:none;position:static}.order-experience .commerce-toolbar{margin:20px 0 28px}.order-experience .commerce-navigation button.selected{background:#e9f5f6;border-color:var(--order-teal);color:var(--order-teal)}.order-experience .tablet-button:not(.secondary){background:var(--order-teal);border-color:var(--order-teal);color:white}.order-experience .commerce-categories .selected{background:var(--order-teal);border-color:var(--order-teal);color:white}
.order-entry-buttons{display:grid;gap:14px;margin:26px 0 32px}.order-entry-buttons>button{display:flex;align-items:center;gap:16px;text-align:left;border:1px solid #dfe5e7;border-radius:15px;background:white;padding:20px;color:var(--order-ink);min-height:98px;box-shadow:0 2px 7px #17314704}.order-entry-buttons>button:first-child{border:2px solid #66aab3;background:#f8fcfc}.order-entry-buttons>button>span{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:13px;background:#edf3f5;color:#62808b}.order-entry-buttons>button:first-child>span{background:#509daa;color:white}.order-entry-buttons strong{flex:1;font-size:18px}.order-entry-buttons>button>svg{width:18px;flex-shrink:0}
.order-recent h2{margin-bottom:7px}.order-recent>p{margin-top:0}.order-recent article{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #e1e7e9;border-radius:15px;margin:12px 0;background:white}.order-recent article>div{flex:1;min-width:0}.order-recent article strong,.order-recent article small,.order-recent article span:not(.order-portrait):not(.order-portrait-placeholder):not(.order-self-icon){display:block}.order-recent article strong{font-size:18px}.order-recent article small{font-size:13px;color:#75868c;margin:4px 0}.order-recent article button,.order-experience .cast-drink-title button{border:1px solid #9fc3c8;border-radius:10px;color:#357b85;background:#fbfefe;padding:12px;min-height:44px;flex-shrink:0}.order-empty{padding:24px 16px;border-radius:14px;background:var(--order-mist);font-size:14px;color:#72868d}
.order-portrait{display:block;flex:0 0 66px;width:66px;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#eff5f6}.order-portrait img{display:block;width:100%;height:100%;object-fit:cover}.order-portrait-placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(145deg,#e9f1f2,#f6f9f9);color:#76949b}.order-portrait-placeholder svg{width:35%;height:35%;stroke-width:1.2}.order-portrait-placeholder small{font-size:12px!important}.order-self-icon{display:grid;place-items:center;width:66px;flex:0 0 66px;aspect-ratio:1;background:var(--order-mist);border-radius:12px;color:#7c979d}
.order-experience .cast-drink-picker{border:0;padding:0;background:transparent;box-shadow:none}.order-experience .cast-drink-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}.order-experience .cast-drink-title h1{margin:0}.order-experience .order-nominated{margin:24px 0 32px}.order-experience .order-nominated h2{font-size:15px;color:#557e86;margin-bottom:10px}.order-nominated>button{width:100%;display:flex;align-items:center;gap:20px;padding:18px;background:#f3fafb;border:2px solid #69aab3;border-radius:16px;text-align:left;color:var(--order-ink)}.order-nominated .order-portrait{width:96px;flex-basis:96px}.order-nominated>button>span:nth-child(2){flex:1}.order-nominated strong{font-size:24px;display:block}.order-nominated small{display:block;margin-top:8px;color:#4a8992}.order-cast-list-title{font-size:19px!important;margin:24px 0 14px}.order-cast-list-title small{font-size:13px;color:#81959b;margin-left:8px}
.order-experience .cast-drink-picker>input{width:100%;border:1px solid #d5e2e5;border-radius:10px;background:#fbfdfd;padding:13px 16px;color:var(--order-ink);font:inherit;box-sizing:border-box}.order-experience .cast-name-groups{display:flex;gap:6px;overflow-x:auto;margin:12px 0 20px;padding-bottom:6px}.order-experience .cast-name-groups button{min-width:38px;min-height:38px;border:1px solid #e0e8e9;background:white;color:#5d7b83;border-radius:8px;padding:6px 10px}.order-experience .cast-name-groups button[aria-pressed=true]{color:white;background:var(--order-teal);border-color:var(--order-teal)}
.order-experience .cast-drink-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.order-experience .cast-drink-grid>button{display:flex;flex-direction:column;align-items:stretch;gap:9px;background:#fff;border:1px solid #e2e9eb;border-radius:13px;padding:9px;color:var(--order-ink);min-width:0}.order-experience .cast-drink-grid .order-portrait{width:100%;flex-basis:auto;border-radius:8px;aspect-ratio:1}.order-experience .cast-drink-grid strong{text-align:center;font-size:17px}.order-experience .cast-drink-grid small{color:#68848c;font-size:11px}
.order-experience .commerce-products{gap:14px}.order-experience .commerce-product{border:1px solid #dee8eb;border-radius:14px;box-shadow:none;background:white}.order-experience .commerce-product h2{font-size:19px}.order-experience .commerce-quantity button{border-color:#c9dfe2;color:var(--order-teal);background:#f6fbfc;min-width:40px;min-height:40px}.order-experience .commerce-mobile-checkout{background:#fff;border-top:1px solid #dbe8ea;box-shadow:0 -6px 20px #17314708}
.order-experience .commerce-review{color:var(--order-ink);border:1px solid #dce8eb;border-radius:20px;max-height:85dvh;overflow:auto;padding:26px;box-sizing:border-box;background:white}.order-experience .commerce-review::backdrop{background:#122e3b66}.order-review-item{display:flex;align-items:flex-start;gap:14px;padding:20px 0;border-bottom:1px solid #e5edef}.order-review-item>div{flex:1;min-width:0}.order-review-item p{margin:6px 0 12px}.order-review-item>strong{font-size:16px;white-space:nowrap}.order-remove{border:0;background:none;color:#68828b;text-decoration:underline;font-size:13px!important;padding:10px 0}.order-experience .cast-customer-confirm{font-size:13px;text-align:center;color:#6c838b}.order-experience .commerce-review-total{font-size:32px}.order-experience .commerce-review .secondary{color:#4f7d86;border-color:#b9d4d9;background:#f7fbfc}
@media(min-width:720px){.order-entry-buttons{grid-template-columns:1fr 1fr}.order-experience .order-home{max-width:820px;margin:auto}.order-recent article{padding:18px 22px}.order-experience .commerce-review{width:580px}}
@media(max-width:600px){.order-experience h1{font-size:25px}.order-entry-buttons strong{font-size:16px}.order-entry-buttons>button{padding:16px;gap:12px}.order-experience .cast-drink-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.order-experience .cast-drink-grid>button{padding:7px;gap:7px}.order-experience .cast-drink-grid strong{font-size:15px}.order-experience .commerce-toolbar{flex-wrap:wrap;gap:10px}.order-experience .commerce-navigation{width:100%}.order-experience .commerce-navigation button{font-size:13px;padding:10px;flex:1}.order-experience .commerce-call{font-size:13px;padding:8px 12px}.order-experience .commerce-review{width:calc(100% - 24px);padding:20px}.order-review-item{gap:10px}.order-review-item .order-portrait,.order-review-item .order-self-icon{width:50px;flex-basis:50px}.order-recent article{gap:10px;padding:12px}.order-recent article strong{font-size:16px}.order-recent article button{font-size:12px;padding:10px}.order-portrait{width:58px;flex-basis:58px}}
.order-experience .commerce-toolbar{position:fixed;top:auto;bottom:0;left:0;right:0;max-width:820px;margin:0 auto;z-index:5;display:flex;flex-wrap:nowrap;gap:0;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e1e9eb;border-bottom:0;box-sizing:border-box}.order-experience .commerce-toolbar .commerce-navigation{display:contents}.order-experience .commerce-toolbar button{display:flex;flex:1;flex-direction:column;gap:5px;align-items:center;justify-content:center;font-size:12px;min-height:54px;border:0;border-radius:0;margin:0;padding:5px;background:white;color:#7a8e94}.order-experience .commerce-toolbar button.selected{color:var(--order-teal);background:white}.order-experience .commerce-toolbar button strong{display:none}.order-experience .commerce-mobile-checkout{bottom:76px}.order-experience:has(.commerce-mobile-checkout){padding-bottom:180px}.order-experience .commerce-visit-summary{max-width:none;background:#f4f9fa;border-color:#e0e9eb;padding:18px 20px;margin-bottom:30px}.order-experience .commerce-latest{margin:24px 0;padding:16px;border-top:1px solid #e1e9eb;color:#617a83;font-size:14px}.order-experience .commerce-latest p{margin:6px 0}
.order-experience{background:#fff;border-radius:18px;padding:22px 24px 96px}.order-experience:has(.commerce-mobile-checkout){padding-bottom:180px}.order-experience .commerce-visit-summary{padding:14px 16px}.order-experience .commerce-visit-row{margin:5px 0}.order-experience .commerce-visit-summary p{line-height:1.6;margin:5px 0}.order-experience .commerce-visit-summary summary{min-height:36px}.order-experience .commerce-visit-row strong{font-size:18px}@media(max-width:600px){.order-experience{padding:16px 14px 96px;border-radius:14px}.order-experience .order-entry-buttons>button{padding:14px;gap:10px}.order-entry-buttons strong{font-size:15px}.order-experience .order-entry-buttons>button>span{flex-basis:42px;height:46px}}
.order-experience .commerce-review:has(.order-review-body){display:flex;flex-direction:column;overflow:hidden;max-height:calc(100dvh - 24px)}.order-experience .commerce-review h2{flex-shrink:0;margin:0 0 12px}.order-review-body{overflow:auto;min-height:0;overscroll-behavior:contain;padding:0 2px}.order-review-footer{flex-shrink:0;border-top:1px solid #e2ebed;padding-top:12px;background:white}.order-review-footer>p{margin:3px 0}.order-experience .order-review-footer .commerce-review-total{font-size:28px;margin:4px 0}.order-review-footer .tablet-button{margin-top:10px;width:100%}.order-experience .commerce-review>.secondary{flex-shrink:0;margin:10px 0 0}.order-repeat-note{font-size:13px;color:#417a84;background:#edf7f8;padding:10px;border-radius:8px}.order-add-another{width:100%;padding:14px;margin:16px 0;border:1px dashed #9dc3c8;color:#347d88;background:#f9fcfd;border-radius:10px;min-height:44px}.order-experience .order-review-item{padding:12px 0}.order-experience .order-review-item .order-remove{padding:5px 0}
.order-history-item{display:flex;gap:14px;align-items:center;margin:14px 0}.order-history-item p{margin:6px 0}.order-history-item small{color:#956646}.order-history-item .order-portrait{width:52px;flex-basis:52px}
.order-confirm-total{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:4px 0 10px;text-align:left}.order-confirm-total>span{font-size:14px}.order-confirm-total small{display:block;font-size:11px;margin-top:4px;color:#7b9097}.order-confirm-total>strong{font-size:27px;white-space:nowrap}.order-experience .order-review-body>p{font-size:14px;margin:6px 0 12px}.order-experience .order-review-item{text-align:left;align-items:start;padding:12px 0;gap:10px}.order-experience .order-review-item>div>strong{font-size:16px}.order-experience .order-review-item p{font-size:14px;margin:4px 0 8px;line-height:1.4}.order-experience .order-review-item .commerce-quantity{display:inline-flex;gap:8px}.order-experience .order-review-item .commerce-quantity button{min-width:36px;min-height:40px;padding:4px}.order-experience .order-review-item .commerce-quantity output{font-size:17px;min-width:15px}.order-experience .order-review-item .order-remove{display:inline-block;margin-left:10px;padding:8px 0}.order-experience .order-review-footer .tablet-button{min-height:52px;padding:12px;font-size:16px}.order-experience .commerce-review>.secondary{min-height:44px;padding:10px;font-size:14px}.order-experience .order-add-another{font-size:14px;padding:10px;margin:12px 0}.order-experience .order-review-footer .cast-customer-confirm{font-size:12px}
@media(max-width:600px){.order-experience .commerce-review{padding:18px 16px}.order-experience .order-review-item>.order-portrait{width:44px;flex-basis:44px}.order-experience .order-review-item>strong{font-size:14px}.order-experience .order-review-item .order-remove{margin-left:4px;font-size:12px!important}}
.order-experience .order-review-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:5px 10px;line-height:1.5}.order-experience .order-review-item>div{display:contents}.order-experience .order-review-item>.order-portrait,.order-experience .order-review-item>.order-self-icon{grid-column:1;grid-row:1/3;width:44px}.order-experience .order-review-item>div>strong{grid-column:2;grid-row:1}.order-experience .order-review-item>strong{grid-column:3;grid-row:1}.order-experience .order-review-item p{grid-column:2/4;grid-row:2;margin:0}.order-experience .order-review-item .commerce-quantity{grid-column:2;grid-row:3;margin-top:7px;justify-self:start;gap:6px}.order-experience .order-review-item .commerce-quantity button{height:44px;width:36px;min-width:36px;min-height:44px;border-radius:9px}.order-experience .order-review-item .order-remove{grid-column:3;grid-row:3;align-self:center;margin:0;min-height:44px}.order-experience .order-review-body>p{line-height:1.5}.order-experience .order-repeat-note{font-size:12px;padding:8px}
.order-experience .commerce-review{max-width:calc(100vw - 24px)}
.order-experience .commerce-toolbar{height:calc(76px + env(safe-area-inset-bottom))}.order-experience .commerce-mobile-checkout{bottom:calc(76px + env(safe-area-inset-bottom))}
.order-experience .order-portrait img{border-radius:0}
/* Current menu content and explicit replacement step, 2026-09-21. */
.order-experience .order-back{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:8px 0;margin:0 0 12px;border:0;background:transparent;color:#347d88;font-size:14px}.order-entry-buttons strong small{display:block;margin-top:5px;font-weight:400;color:#6f858c;font-size:12px}.order-experience .order-bottle-entry{border-color:#c7dadf;background:#f8fbfc}.order-experience .order-self-bottle{display:block;border:1px solid #bdd4d9;border-radius:12px;background:#f8fcfc;color:#326f79;padding:14px 20px;margin:12px 0 24px;min-height:48px}.order-experience .commerce-categories{display:flex;flex-wrap:wrap;overflow:visible;gap:8px;margin:18px 0}.order-experience .commerce-categories button{white-space:normal;font-size:14px;padding:10px 13px;min-height:44px;max-width:100%}.order-experience .order-change-product{grid-column:2;grid-row:4;justify-self:start;min-height:40px;padding:5px 0;border:0;background:none;color:#357d88;text-decoration:underline;font-size:12px}.order-experience .commerce-review:has(.order-replacement-body){display:flex;flex-direction:column;overflow:hidden;max-height:calc(100dvh - 24px)}.order-replacement-body{overflow:auto;min-height:0;overscroll-behavior:contain;text-align:left}.order-replacement-recipient{display:flex;align-items:center;gap:12px;padding:12px 0}.order-replacement-recipient strong{font-size:17px}.order-experience .order-replacement-body>p{font-size:13px}.order-replacement-products{display:grid;gap:10px;padding-bottom:10px}.order-replacement-products>button{display:flex;gap:12px;align-items:center;text-align:left;padding:15px 12px;border:1px solid #dce7ea;border-radius:12px;background:#fff;color:#203944;min-height:70px}.order-replacement-products>button>span{flex:1;font-size:15px}.order-replacement-products strong{font-size:16px;white-space:nowrap}.order-replacement-products small{display:block;color:#6f858c;font-size:12px;font-weight:400}.order-experience .commerce-review>.order-review-back{display:flex;align-items:center;justify-content:flex-start;gap:8px}.order-experience .commerce-review:has(.order-replacement-body)>.order-review-back{display:none}@media(min-width:720px){.order-entry-buttons .order-bottle-entry{grid-column:1/-1;min-height:74px}}@media(max-width:600px){.order-experience .commerce-categories button{font-size:12px;padding:9px 11px}.order-experience .order-review-item .order-change-product{min-height:36px;grid-column:2/4}.order-experience .order-replacement-products>button{flex-wrap:wrap;gap:8px}.order-replacement-products strong{font-size:15px}}

.order-experience .commerce-product>p{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px;font-size:20px}.order-experience .commerce-product>p small{white-space:nowrap}.order-experience .commerce-quantity output small{font-size:11px;margin-left:2px}.order-replacement-products>button>small{font-size:11px;color:var(--order-teal,#458f99)}
@media(max-width:360px){.order-experience .order-replacement-products>button{display:grid;grid-template-columns:1fr auto;gap:7px}.order-replacement-products>button>span{grid-column:1/-1}.order-replacement-products>button>strong small{display:inline}.order-replacement-products>button>svg{display:none}}

.order-experience .order-dialog-back{align-self:flex-start;flex-shrink:0;margin-bottom:4px}@media(max-width:600px){.order-experience .order-entry-buttons{gap:10px;margin:18px 0 22px}.order-experience .order-entry-buttons>button{min-height:76px}.order-experience .order-entry-buttons>.order-bottle-entry{min-height:64px}}
/* Shared production header and product photography. */
.order-brand-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:56px;margin:0 0 24px;padding-bottom:16px;border-bottom:1px solid #e6edef}.order-brand-header>div{min-width:0}.order-brand-header img{display:block;width:56px;height:56px;object-fit:contain;border-radius:0}.order-table-badge{display:inline-flex;align-items:center;justify-content:center;padding:8px 18px;min-width:64px;max-width:50%;border:1px solid #dce7ea;border-radius:24px;color:#365967;background:#f5f9fa;font-size:16px;font-weight:600;overflow-wrap:anywhere}.order-assistant-slot{display:flex;justify-content:flex-end;margin-bottom:12px}
.order-product-image{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:112px;flex-shrink:0;overflow:hidden;background:#f7f9f9;border-radius:9px;margin:0 0 14px}.order-product-image img{display:block;width:100%;height:100%;object-fit:contain}.order-product-image>svg{color:#8da8ae;width:42px;height:42px}.order-product-image figcaption{position:absolute;right:5px;bottom:4px;padding:2px 5px;background:#ffffffde;border-radius:4px;color:#71858b;font-size:10px;line-height:1.3}
.order-experience .commerce-product{padding:12px;min-width:0;align-items:stretch}.order-experience .commerce-product h2{font-size:16px;line-height:1.5;min-height:48px;margin:0;overflow-wrap:anywhere}.order-experience .commerce-product>p{font-size:19px;gap:3px;margin:10px 0 16px}.order-experience .commerce-product>p small{font-size:12px}.order-experience .commerce-product .commerce-quantity{gap:4px}.order-experience .commerce-product .commerce-quantity button{width:40px;height:44px;min-width:40px;min-height:44px;padding:5px}.order-experience .commerce-product .commerce-quantity output{font-size:18px;min-width:16px}
.order-experience .order-replacement-products>button{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:8px 12px;padding:12px}.order-replacement-products .order-product-image{grid-column:1;grid-row:1/3;height:76px;width:60px;margin:0}.order-experience .order-replacement-products>button>span{grid-column:2;grid-row:1;font-size:14px}.order-experience .order-replacement-products>button>strong{grid-column:2;grid-row:2;font-size:15px}.order-experience .order-replacement-products>button>small{grid-column:3;grid-row:2;font-size:11px}.order-experience .order-replacement-products>button>svg{grid-column:3;grid-row:1;justify-self:end}.order-replacement-products .order-product-image figcaption{font-size:8px;right:0;padding:2px}
@media(max-width:600px){.order-brand-header{gap:20px;margin-bottom:20px}.order-brand-header img{width:48px;height:48px}.order-experience .commerce-products{gap:10px}.order-experience .commerce-product{padding:10px}.order-product-image{height:96px}.order-experience .commerce-product h2{font-size:15px}.order-experience .commerce-product>p{font-size:17px}.order-experience .commerce-product .commerce-quantity button{width:36px;min-width:36px}.order-experience .order-replacement-products>button{grid-template-columns:50px minmax(0,1fr);gap:6px 10px}.order-replacement-products .order-product-image{width:50px}.order-experience .order-replacement-products>button>small{grid-column:2;grid-row:3}.order-experience .order-replacement-products>button>svg{display:none}}
@media(max-width:600px){.order-experience .commerce-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.order-experience .commerce-categories button{font-size:13px;padding:9px 6px}.order-experience .commerce-categories button[data-category=included]{grid-column:1/-1}}
.order-replacement-products>button>strong small{display:inline;margin-left:3px;white-space:nowrap}
@media(min-width:720px){.order-experience .commerce-products{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* 注文の受付状況の「誰の注文か」（9/30）。長い名前もはみ出さずに折り返す */
.order-experience .tablet-message .order-history-by{font-size:14px;margin-top:10px;color:var(--muted);overflow-wrap:anywhere}.order-experience .tablet-message .order-history-by strong{color:var(--tk-text-primary);font-weight:650}
/* スマホの注文の確認：名前が同じお席の方に見えることの案内（9/30） */
.order-experience .order-history-note{word-break:auto-phrase}
/* 2026-10-16 UI/UX 監査：幅360px以下ではカテゴリ名（例「カクテル・ショット」）が2行に折れないよう文字と余白を詰める（CU-19） */
@media(max-width:360px){.order-experience .commerce-categories button{font-size:12px;padding:9px 4px;letter-spacing:-.02em}}
/* 2026-10-16 UI/UX 監査：客席タブレットで、注文画面の後ろの「スタッフへのご用件」が固定の下メニューに隠れないよう、下メニューの高さ分あける（CU-10） */
.tablet-main:has(.order-experience .commerce-toolbar) .tablet-requests-details{margin-bottom:96px}
/* 2026-10-16 UI/UX 監査 CU-01：ホームの一番上の「ただいまの注文」。受け付けられなかったときは注意の色 */
.order-home .commerce-latest{margin:0 0 18px;border:1px solid #d7e6e8;border-radius:14px;padding:6px 16px 12px;background:var(--order-mist)}.order-home .commerce-latest.rejected{border-color:#e8b8a2;background:#fff4ef}.order-home .commerce-latest>p:last-child{margin-bottom:0}.order-home .commerce-latest-pending{margin:0 0 14px;padding:10px 14px;border-radius:12px;background:var(--order-mist);font-size:14px}
/* 2026-10-16 UI/UX 監査 CU-02：お会計の確認の「まだお届けしていないご注文」 */
.commerce-undelivered{margin:4px 0 10px;padding:10px 12px;border-radius:12px;background:#fff7e8;color:#6b4a12;font-size:14px}
/* 2026-10-22 A7（試作・未採用）：開いたらメニュー。出勤中のキャストの写真（キャストのドリンク）と、この卓のメニューを最初の画面に並べる */
.order-cast-shelf,.order-home-menu{margin:0 0 32px}.order-cast-shelf h2,.order-home-menu>h2{margin:0;font-size:22px}.order-cast-shelf>.tablet-muted,.order-home-menu>.tablet-muted{margin:6px 0 14px}.order-shelf-more{display:block;margin:10px 0 0 auto;min-height:44px;padding:8px 14px;border:1px solid #cfe2e5;border-radius:10px;background:#fff;color:var(--order-teal);font-size:14px}
.order-no-casts{margin-top:12px;padding:16px;border-radius:14px;background:var(--order-mist);border:1px solid #d7e8eb}.order-no-casts>p{margin:0;line-height:1.7}.order-no-casts .tablet-staff-guidance{margin-top:10px}
/* 縦向き・スマホでは、空のカートの枠は出さない（お会計は「明細・お会計」の中。C2 で横向きも同じ入口に） */
.order-experience .commerce-cart-empty{display:none}
/* 横向きのタブレット：左にメニュー、右に「注文するもの」と「メニュー／履歴・明細／お会計」「スタッフを呼ぶ」 */
@media(min-width:900px) and (orientation:landscape){
 .order-experience{padding-bottom:28px}.order-experience:has(.commerce-mobile-checkout){padding-bottom:28px}.order-experience .commerce-mobile-checkout{display:none}
 .order-experience .commerce-order-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}
 .order-experience .order-home{max-width:none}
 .order-experience .commerce-side{position:sticky;top:16px;display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 32px);overflow-y:auto}
 .order-experience .commerce-cart{margin-top:0;padding:20px}.order-experience .commerce-cart-empty{display:block}.order-experience .commerce-cart-empty>p{margin:8px 0 14px}
 .order-experience .commerce-toolbar{position:static;height:auto;max-width:none;margin:0;padding:0;border:0;background:transparent;flex-direction:column;gap:10px}
 .order-experience .commerce-toolbar button{flex:none;flex-direction:row;justify-content:flex-start;gap:12px;width:100%;min-height:56px;padding:12px 18px;border:1px solid #dfe5e7;border-radius:14px;background:#fff;color:var(--order-ink);font-size:16px}
 .order-experience .commerce-toolbar button.selected{border-color:var(--order-teal);background:#e9f5f6;color:var(--order-teal)}

 .tablet-main:has(.order-experience .commerce-toolbar) .tablet-requests-details{margin-bottom:0}
}
/* キャストの写真は横に1列（横にスワイプ）。並びが長くても、下のメニューが最初の画面に見えるように */
.order-experience .order-cast-shelf .cast-drink-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 8px;margin:0 -2px}.order-experience .order-cast-shelf .cast-drink-grid>button{flex:0 0 118px;scroll-snap-align:start}
@media(max-width:600px){.order-experience .order-cast-shelf .cast-drink-grid>button{flex-basis:104px}}
@media(min-width:900px) and (orientation:landscape){
 html .order-experience .commerce-toolbar .commerce-navigation button,html[data-takamaru-theme] .order-experience .commerce-toolbar .commerce-navigation button,.order-experience .commerce-toolbar .commerce-call{border:1px solid #dfe5e7;border-radius:14px;background:#fff;color:var(--order-ink);box-shadow:none}
 html .order-experience .commerce-toolbar .commerce-navigation button.selected,html[data-takamaru-theme] .order-experience .commerce-toolbar .commerce-navigation button.selected{border:1px solid var(--order-teal);background:#e9f5f6;color:var(--order-teal)}
}
/* Gemini 3.8 Flash の画面レビュー（10/22）を受けて：横に続く写真の右端を薄くして、スワイプできることを見せる。横向きでは、表示の切り替え（メニュー・履歴・明細）とお店への依頼（お会計・スタッフを呼ぶ）の間をあける */
.order-experience .order-cast-shelf .cast-drink-grid{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 32px),transparent);padding-right:32px}
/* 2026-10-22 A7 採用：横向き 1280×800 の最初の画面で、メニューの商品の「＋」「−」まで見えるように、写真の並びと見出しの間を詰める */
@media(min-width:900px) and (orientation:landscape){.order-experience .order-cast-shelf,.order-experience .order-home-menu{margin-bottom:14px}.order-experience .order-cast-shelf h2,.order-experience .order-home-menu>h2{font-size:20px}.order-experience .order-cast-shelf>.tablet-muted,.order-experience .order-home-menu>.tablet-muted{margin:2px 0 10px;font-size:14px}.order-experience .order-cast-shelf .cast-drink-grid>button{flex-basis:96px;gap:6px;padding:7px}.order-experience .order-cast-shelf .cast-drink-grid strong{font-size:15px}.order-experience .order-home-menu .order-product-image{height:72px}.order-experience .order-home-menu .commerce-product>p{margin:4px 0 10px}.order-experience .order-home-menu .commerce-categories{margin-bottom:12px}.order-experience{padding-top:16px}.order-experience .order-brand-header{min-height:48px;margin-bottom:16px;padding-bottom:12px}.order-experience .order-brand-header img{width:48px;height:48px}}
/* 2026-10-23 A5 提案（未採用）：「履歴・明細」の一番上に払う金額（現金・カード）、そのすぐ下にお会計の操作。明細はこの下 */
.order-experience .commerce-pay-total{max-width:950px;margin:0 auto 18px;padding:20px 22px;border:2px solid #69aab3;border-radius:18px;background:#f8fcfc;box-sizing:border-box}
.order-experience .commerce-pay-total>h2{margin:0 0 12px;font-size:17px;color:#41737c}
.commerce-pay-amounts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.commerce-pay-amounts>div{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-radius:14px;background:#fff;border:1px solid #d7e8eb;min-width:0}
.commerce-pay-amounts span{font-size:15px;color:#557e86;font-weight:600}.commerce-pay-amounts strong{font-size:36px;line-height:1.2;color:var(--order-ink,#203944);white-space:nowrap;font-variant-numeric:tabular-nums}
.commerce-pay-single{margin:0;font-size:40px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}
.commerce-pay-note{margin:10px 0 0;font-size:14px;line-height:1.6;color:#41737c}.commerce-pay-tax{margin:6px 0 0;font-size:13px;color:#6c838b}
.order-experience .commerce-pay-total .commerce-checkout-action{margin:16px 0 0}.order-experience .commerce-pay-total .commerce-checkout-action .tablet-button{width:100%}.order-experience .commerce-pay-total .commerce-undelivered{margin:0 0 10px}.order-experience .commerce-pay-total .commerce-checkout-action:empty{display:none}
/* お会計の確認の窓：2つの金額を並べる（横幅が狭い窓なので小さめ） */
.order-experience .commerce-review .commerce-review-total{margin:12px 0 8px;font-size:inherit}.commerce-pay-amounts.compact strong{font-size:28px}.commerce-pay-single.compact{font-size:32px;text-align:center}.commerce-review .commerce-pay-amounts{text-align:left}
@media(max-width:600px){.order-experience .commerce-pay-total{padding:16px 14px}.commerce-pay-amounts{gap:8px}.commerce-pay-amounts>div{padding:10px 12px}.commerce-pay-amounts strong{font-size:26px}.commerce-pay-amounts.compact strong{font-size:24px}.commerce-pay-single{font-size:32px}}
/* スマホ幅は1行に1つ（7桁の金額でも枠からはみ出さない） */
@media(max-width:600px){.commerce-pay-amounts{grid-template-columns:1fr}.commerce-pay-amounts>div{flex-direction:row;align-items:baseline;justify-content:space-between;gap:10px}.commerce-pay-amounts strong,.commerce-pay-amounts.compact strong{font-size:26px}}
.order-experience .commerce-pay-method{margin:6px 0 0;padding:10px 12px;border-radius:10px;background:var(--order-mist);color:var(--order-ink);font-weight:600;font-size:14px}
/* 2026-10-23 実機調整 R1：店のタブレット（Xiaomi 横置き・アプリ表示 1163×728）の最初の画面で、1段目の商品の名前・価格・＋−まで見えるように詰める。部品・色・並びは A7 のまま */
@media(min-width:900px) and (orientation:landscape){
 .tablet-main:has(.order-experience){padding-top:12px}.tablet-main:has(.order-experience) .tablet-guest-history{padding-block:6px;margin-bottom:8px}
 .order-experience{padding-top:12px}.order-experience .order-brand-header{min-height:40px;margin-bottom:12px;padding-bottom:8px}.order-experience .order-table-badge{padding-block:5px}
 .order-experience .order-cast-shelf h2,.order-experience .order-home-menu>h2{display:inline-block;margin-right:14px}
 .order-experience .order-cast-shelf>.tablet-muted,.order-experience .order-home-menu>.tablet-muted{display:inline-block;margin:0}
 .order-experience .order-cast-shelf .cast-drink-grid{margin-top:8px}.order-experience .order-cast-shelf .cast-drink-grid>button{flex-basis:88px}
 .order-experience .order-cast-shelf,.order-experience .order-home-menu{margin-bottom:10px}.order-experience .order-home-menu .commerce-categories{margin:8px 0 10px}
 .order-experience .order-home-menu .order-product-image{height:60px}
}
/* 2026-10-23 実機調整 R3：横向きで「注文するもの」が伸びても、右の4つのボタンと「注文を確認」は画面の中に残す。動くのは品の一覧だけ（縦向き・スマホは今のまま） */
.order-experience .commerce-cart-lines{display:contents}
@media(min-width:900px) and (orientation:landscape){
 .order-experience .commerce-side{max-height:var(--commerce-side-max,calc(100vh - 32px));overflow-y:auto}
 .order-experience .commerce-toolbar{flex:none}
 .order-experience .commerce-cart{display:flex;flex-direction:column;flex:0 1 auto;min-height:0;overflow:hidden}.order-experience .commerce-cart>*{flex:none}
 .order-experience .commerce-cart>.commerce-cart-lines{display:block;flex:0 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin-inline:-4px;padding-inline:4px}
 .order-experience .commerce-cart>.commerce-cart-lines.scrollable{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 28px),transparent);padding-bottom:20px}
 .order-experience .commerce-cart-lines .commerce-cart-line{flex-direction:row;align-items:center;justify-content:space-between;padding:8px 0;gap:8px}
 .order-experience .commerce-cart-lines .commerce-cart-line>div:first-child{flex-direction:column;gap:2px;min-width:0}.order-experience .commerce-cart-lines .commerce-cart-line>div:first-child small{font-size:13px}
 .order-experience .commerce-cart-lines .commerce-cart-line .commerce-quantity{flex:none;gap:4px}
 .order-experience .commerce-cart>.commerce-pending{flex:0 1 auto;min-height:0;overflow-y:auto}
}
/* 2026-10-23 実機調整 R2：注文の受付の知らせ。縦向き・スマホは下のメニューのすぐ上に固定、横向きは右の列の一番上（右の列は画面に付いてくる） */
.order-experience .order-accepted-notice{position:fixed;left:12px;right:12px;bottom:calc(88px + env(safe-area-inset-bottom));z-index:6;max-width:796px;margin:0 auto;display:flex;align-items:center;gap:12px;padding:14px 16px;border:2px solid var(--order-teal);border-radius:14px;background:#e9f5f6;color:var(--order-ink);box-shadow:0 6px 20px rgba(32,57,68,.18);box-sizing:border-box}
.order-experience .order-accepted-notice>svg{flex:none;color:var(--order-teal)}.order-experience .order-accepted-notice>div{flex:1;min-width:0}
.order-experience .order-accepted-notice strong{display:block;font-size:17px}.order-experience .order-accepted-notice p{margin:3px 0 0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.order-experience .order-accepted-notice>button{flex:none;min-height:44px;padding:8px 12px;border:1px solid #cfe2e5;border-radius:10px;background:#fff;color:var(--order-teal);font-size:14px}
.order-experience .order-accepted-notice.rejected{border-color:#d29a3a;background:#fff6df}.order-experience .order-accepted-notice.rejected>svg{color:#b5791c}
/* 横向きは右の列の上に重ねる（注文の直後はカートが空なので、その上に出す。ボタンの列は押し出さない） */
@media(min-width:900px) and (orientation:landscape){.order-experience .order-accepted-notice{position:absolute;top:0;left:0;right:0;bottom:auto;z-index:3;flex-wrap:wrap;max-width:none;box-shadow:0 6px 20px rgba(32,57,68,.14)}.order-experience .order-accepted-notice>div{flex-basis:calc(100% - 34px)}.order-experience .order-accepted-notice>button{margin-left:auto}}
/* R3（実機のブラウザのタブ表示 1163×632 など、高さが低い横向き）：右の列のボタンと余白を少し詰め、「注文を確認」まで入れる */
@media(min-width:900px) and (orientation:landscape) and (max-height:760px){
 .order-experience .commerce-side{gap:10px}.order-experience .commerce-toolbar{gap:8px}
 .order-experience .commerce-toolbar button{min-height:48px;padding:8px 16px}
 .order-experience .commerce-cart{padding:16px 18px}.order-experience .commerce-cart .commerce-cart-total{padding-top:10px}.order-experience .commerce-cart .tablet-button{padding:11px 12px}
}
@media(max-width:899px),(orientation:portrait){.order-experience:has(.commerce-mobile-checkout) .commerce-toolbar{display:none}.order-experience:has(.commerce-mobile-checkout) .commerce-mobile-checkout{bottom:0}.order-experience:has(.commerce-mobile-checkout){padding-bottom:112px}}
/* C4（2026-10-24 ペルソナ監査）：キャストを選んだ後は、店名・戻る・キャスト名・注意書きを1行にまとめ、スクロールしても上に残す。分類はその下 */
.order-experience .order-cast-bar{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:10px;margin:0;padding:8px 0;background:#fff;border-bottom:1px solid #e1ecee}
.order-experience .order-cast-bar .order-cast-back{display:inline-flex;align-items:center;gap:4px;flex:none;min-height:44px;padding:6px 4px;border:0;background:transparent;color:#347d88;font-size:14px;white-space:nowrap}
.order-experience .order-cast-bar .order-cast-who{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.order-experience .order-cast-bar .order-portrait{width:44px;flex-basis:44px;border-radius:10px}
.order-experience .order-cast-bar .order-cast-who>span{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 4px;min-width:0}
.order-experience .order-cast-bar strong{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.order-experience .order-cast-bar small{font-size:12px;color:#6c838b;white-space:nowrap}
.order-experience .order-cast-bar .order-cast-change{flex:none;min-height:44px;padding:8px 12px;border:1px solid #9fc3c8;border-radius:10px;color:#357b85;background:#fbfefe;font-size:13px;white-space:nowrap}
.order-experience .order-cast-bar+.commerce-categories{margin-top:12px}
@media(max-width:600px){.order-experience .order-cast-bar{gap:6px}.order-experience .order-cast-bar .order-portrait{width:38px;flex-basis:38px}.order-experience .order-cast-bar strong{font-size:16px}.order-experience .order-cast-bar .order-cast-change{padding:8px 9px;font-size:12px}}
@media(max-width:360px){.order-experience .order-cast-bar{gap:4px}.order-experience .order-cast-bar .order-cast-who{gap:6px}.order-experience .order-cast-bar .order-cast-back{font-size:13px;gap:2px}.order-experience .order-cast-bar .order-portrait{width:32px;flex-basis:32px}}
/* C8（2026-10-24 ペルソナ監査）：おかわりのボタンに宛先と金額を出したので、ボタンは下の段に広げて名前・品名を折り返さない（スマホ・タブレットとも） */
.order-recent article{flex-wrap:wrap}.order-recent article>button{flex:1 1 100%}
@media(max-width:600px){.order-recent article>button{font-size:13px}}
/* 2026-10-29（村上さんの依頼・飲食店のモバイルオーダーの録画を参考に）：分類のタブを上に固定して全部を1本のページに、カードは写真・名前・値段と「＋」だけ、「＋」の後に追加の知らせ、受付後にお礼とフォローの案内 */
.order-experience .order-sticky-head{position:sticky;top:0;z-index:4;margin:0 0 4px;background:#fff;border-bottom:1px solid #e1ecee}
.order-experience .order-section-nav{display:flex;align-items:stretch;gap:6px}
.order-experience .order-section-tabs{flex:1;min-width:0;display:flex;gap:2px;padding-right:28px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.order-experience .order-section-tabs::-webkit-scrollbar{display:none}
.order-experience .order-section-tabs button{flex:none;min-height:48px;margin:0;padding:12px 14px 9px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#5f747b;font-size:15px;font-weight:600;white-space:nowrap}
.order-experience .order-section-tabs button.selected{color:var(--order-teal);border-bottom-color:var(--order-teal)}
.order-experience .order-section-trailing{flex:none;align-self:center;min-height:40px;margin:4px 0;padding:8px 12px;border:1px solid #cfe2e5;border-radius:999px;background:#f6fbfc;color:var(--order-teal);font-size:14px;font-weight:700;white-space:nowrap}
.order-experience .order-section-trailing.selected{background:var(--order-teal);border-color:var(--order-teal);color:#fff}
.order-experience .order-sticky-cast .order-cast-bar{position:static;border-bottom:1px solid #eef4f5}
.order-experience .order-sticky-cast+.order-menu-section>h3{margin-top:12px}
.order-experience .order-menu-section>h3{margin:24px 0 10px;font-size:18px;line-height:1.4}
.order-experience .order-home-menu{margin-bottom:8px}.order-experience .order-home-sections>.order-menu-section:first-child>h3{margin-top:12px}
.order-experience .commerce-product h2{word-break:auto-phrase}
.order-experience .commerce-product-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;width:100%;margin-top:auto;padding-top:8px}
.order-experience .commerce-product-foot>p{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin:0;font-size:18px;font-weight:650;line-height:1.3;min-width:0}
.order-experience .commerce-product-foot>p small{font-size:12px;font-weight:400;white-space:nowrap}
.order-experience .commerce-add{flex:none;display:grid;place-items:center;width:44px;height:44px;margin-left:auto;padding:0;border:0;border-radius:50%;background:var(--order-teal);color:#fff}
.order-experience .commerce-add:disabled{background:#c9dfe2;color:#fff}
.order-experience .commerce-product .commerce-product-foot .commerce-quantity{width:auto;margin:0 0 0 auto;gap:2px;justify-content:flex-end}
.order-experience .commerce-product .commerce-product-foot .commerce-quantity button{width:36px;min-width:36px;height:44px;min-height:44px;padding:4px}
.order-experience .commerce-product .commerce-product-foot .commerce-quantity output{min-width:22px;font-size:17px}
.order-experience .commerce-product.in-cart{border-color:var(--order-teal);box-shadow:inset 0 0 0 1px var(--order-teal)}
.order-experience .order-added-live{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.order-experience .order-added-flash{display:flex;align-items:center;gap:6px;min-width:0;color:var(--order-teal);font-size:14px;font-weight:700;line-height:1.4;animation:order-flash-in .25s ease-out}
.order-experience .order-added-flash>svg{flex:none}
.order-experience .commerce-mobile-checkout>span:has(.order-added-flash){flex:1;min-width:0}.order-experience .commerce-mobile-checkout .order-added-flash{padding:8px 10px;border-radius:10px;background:#eef7f8;font-size:13px;overflow-wrap:anywhere}
.order-experience .commerce-cart .order-added-flash{margin:4px 0 8px;padding:8px 10px;border-radius:10px;background:#eef7f8;overflow-wrap:anywhere}
@keyframes order-flash-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.order-experience .order-thanks-layer{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:16px;background:rgba(20,35,45,.4);animation:order-thanks-in .2s ease-out}
.order-experience .order-thanks{width:min(400px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:26px 20px 18px;border-radius:18px;background:#fff;text-align:center;box-shadow:0 18px 50px rgba(20,35,45,.28)}
.order-experience .order-thanks-check{color:var(--order-teal)}
.order-experience .order-thanks h2{margin:8px 0 8px;font-size:20px}
.order-experience .order-thanks-items{margin:0;font-size:15px;line-height:1.6;overflow-wrap:anywhere}
.order-experience .order-thanks-note{margin:6px 0 0;color:#5f747b;font-size:13px}
.order-experience .order-thanks-follow{margin:18px 0 0;padding:14px;border-radius:14px;background:#f6f8f9}
.order-experience .order-thanks-follow>p{margin:0;font-size:14px;line-height:1.6;text-wrap:balance}
.order-experience .order-thanks-follow>a{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;margin-top:10px;border:1px solid #d9c3d0;border-radius:12px;background:#fff;color:#8a3a68;font-size:15px;font-weight:700;text-decoration:none}
.order-experience .order-thanks-follow>small{display:block;color:#5f747b;font-size:12px}
.order-experience .order-thanks-qr{display:block;width:120px;height:120px;margin:10px auto 6px;border-radius:8px}
.order-experience .order-thanks-close{width:100%;min-height:48px;margin-top:16px;border:1px solid #cfe2e5;border-radius:12px;background:#fff;color:var(--order-teal);font-size:15px}
@keyframes order-thanks-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.order-experience .order-added-flash,.order-experience .order-thanks-layer{animation:none}}
/* 2026-10-29：タブレット横向きは右に注文の列があり、メニューの列が狭い。3列だと名前と値段が細かく折り返すので2列にする（参考の録画も2列） */
@media(min-width:900px) and (orientation:landscape){.order-experience .commerce-products{grid-template-columns:repeat(2,minmax(0,1fr))}.order-experience .order-home-sections .order-product-image{height:60px}}
.order-experience .commerce-product-foot>p{white-space:nowrap}
/* 2026-10-29：横向きの店のタブレット（1163×632）でも、最初の画面で1段目の「＋」まで見えるように、タブと分類の見出しを詰める（R1 と同じ考え方） */
@media(min-width:900px) and (orientation:landscape){.order-experience .order-section-tabs button{min-height:42px;padding:9px 12px 7px}.order-experience .order-section-trailing{min-height:36px;padding:6px 12px}.order-experience .order-home-sections>.order-menu-section:first-child>h3{margin:8px 0 6px;font-size:16px}.order-experience .order-home-menu{margin-bottom:4px}}

.monthly-switch,.monthly-toolbar,.monthly-actions,.monthly-summary{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:20px 0}.monthly-toolbar .field{min-width:180px;margin:0}.monthly-summary h2{margin:0 auto 0 0}.monthly-page small,.monthly-editor small{display:block}.monthly-page h2 small{font-size:13px;color:var(--text-muted,#64748b);font-weight:400;margin-top:6px}.monthly-table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:14px}.monthly-table th,.monthly-table td{padding:14px 12px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:top}.monthly-table thead th{position:sticky;top:0;background:#f5f7fa;z-index:1}.monthly-table tbody th{position:sticky;left:0;background:white}.monthly-table th button{border:0;background:transparent;color:#1d4ed8;font:inherit;cursor:pointer;padding:6px}.monthly-table th button:disabled{color:#94a3b8;cursor:default}.monthly-table td small{font-size:11px;color:#9a6200;margin-top:4px}.monthly-table tr.has-preparation{background:#fffdf5}.monthly-table-scroll{max-height:65vh;border:1px solid #e2e8f0;border-radius:12px}.monthly-cards{display:none}.monthly-editor{width:min(760px,calc(100vw - 32px))}.monthly-editor fieldset{border:0;padding:0;min-width:0;margin:20px 0}.monthly-editor .field{margin:16px 0}.monthly-editor h3{margin:28px 0 12px}.monthly-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.monthly-input-grid input,.monthly-input-grid select{min-width:0;width:100%;box-sizing:border-box}.monthly-shift{padding:16px;border:1px solid #dce3ec;border-radius:12px;margin:16px 0}.monthly-shift h4{margin:0}.monthly-shift>.action{margin:12px 8px 0 0}.monthly-drink{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid #e2e8f0}.monthly-drink>span{flex:1}.monthly-admin form{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.monthly-admin .field{margin:16px 0}.monthly-admin form .action{margin-bottom:16px}.monthly-page>.notice{margin:16px 0}.monthly-editor>.modal-body>.notice{margin:16px 0}
@media(max-width:640px){.monthly-page .table-scroll-wrap{display:none}.monthly-cards{display:grid;gap:10px}.monthly-cards>div>button:first-child{display:grid;grid-template-columns:1fr auto;gap:8px;text-align:left;padding:16px;border:1px solid #dce3ec;border-radius:12px;background:white;color:#17263c;font:inherit;min-height:88px}.monthly-cards small{grid-column:1/-1;color:#52627a}.monthly-cards>div>button:first-child:disabled{opacity:.5}.monthly-input-grid{grid-template-columns:1fr;gap:0}.monthly-toolbar{align-items:stretch}.monthly-toolbar .field{flex:1}.monthly-editor{width:100vw;max-width:100vw;max-height:100dvh;margin:0;border-radius:0}.monthly-editor .modal-body{padding:16px}.monthly-drink{gap:8px}.monthly-drink .action{padding:10px}.monthly-actions>.action{flex:1}.monthly-summary{gap:8px}}
/* Scoped controls must not inherit the full-width primary action used by older pages. */
.monthly-page .monthly-toolbar>.action,.monthly-page .monthly-summary>.action,.monthly-page .monthly-admin .action,.monthly-switch>.action,.monthly-editor .action{width:auto;flex-shrink:0}
.monthly-drink>span{min-width:0;flex:1 1 auto}.monthly-drink>.action{width:44px;min-width:44px;padding:10px}.monthly-drink>strong{white-space:nowrap;min-width:32px}.monthly-editor .monthly-actions>.action{flex:1 1 150px}.monthly-table-scroll th:first-child{min-width:100px}.monthly-page .monthly-table-scroll thead th:first-child{z-index:2;left:0}.monthly-editor .modal-body{overflow-y:auto}
.monthly-page .page-title{margin:4px 0 8px}.monthly-page .page-title>div{display:flex;gap:16px;align-items:baseline}.monthly-page .page-title h1{font-size:24px}.monthly-page .page-title p{margin:0}.monthly-page>.notice{margin:8px 0;padding:12px 16px}.monthly-page .monthly-toolbar{margin:12px 0;align-items:end}.monthly-page .monthly-summary{margin:8px 0;gap:12px}.monthly-summary p{margin:4px 0}.monthly-summary>.action{margin-left:auto}.monthly-page>.small{margin:8px 0}.monthly-table-scroll{max-height:calc(100dvh - 280px);min-height:240px}.monthly-table th,.monthly-table td{padding:10px 12px}
@media(max-width:640px){.monthly-page .page-title>div{display:block}.monthly-page .page-title p{margin-top:6px}.monthly-page .monthly-toolbar>.action{width:100%;min-height:44px}.monthly-summary>.action{margin-left:0}.monthly-page>.notice{padding:12px}.monthly-editor .monthly-actions>.action{flex:1 1 100%}}

.monthly-cards>div>button:first-child{width:100%}.monthly-cards>div>.action{width:auto;margin:8px 0 4px;min-height:44px}.monthly-table td>.action{display:block;width:auto;margin-top:8px;min-height:44px}.monthly-editor input[type=checkbox]{width:20px;height:20px;vertical-align:middle;margin-right:8px}

.monthly-source{border:1px solid #dce3ec;border-radius:12px;padding:8px 16px;margin:12px 0;overflow-wrap:anywhere}

.monthly-admin form>fieldset{flex:1 1 100%;border:0;padding:0;min-width:0}.monthly-person-jobs{border-top:1px solid #dce3ec;padding:16px 0;margin-top:16px}.monthly-person-jobs>fieldset{border:0;padding:0;min-width:0}

.attendance-ledger{--ledger-ink:#203c39;--ledger-muted:#647773;--ledger-line:#dfe7e3;color:var(--ledger-ink);max-width:1440px;margin:0 auto}
.ledger-page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.ledger-page-head .page-title{margin:0}.ledger-tools{display:flex;gap:8px;flex-wrap:wrap}.ledger-tools .action{font-size:13px;min-height:38px}
.ledger-toolbar{display:flex;align-items:end;gap:16px;background:#fff;padding:16px 20px;border:1px solid var(--ledger-line);border-radius:12px;margin-bottom:20px}.ledger-toolbar .field{margin:0;font-size:12px;gap:6px}.ledger-toolbar input{min-height:42px;background:#fff}.ledger-toolbar input[type=month]{width:180px}.ledger-search{flex:1;max-width:340px}.ledger-toolbar>.action{margin-left:auto;min-height:42px}
.ledger-layout{display:grid;grid-template-columns:218px minmax(0,1fr);gap:20px;align-items:start}.ledger-people{border:1px solid var(--ledger-line);background:#fff;border-radius:12px;overflow:hidden;max-height:78vh;overflow-y:auto;position:sticky;top:16px}.ledger-people-heading{padding:16px;font-size:12px;font-weight:700;background:#f6f8f6;border-bottom:1px solid var(--ledger-line)}.ledger-people-heading span{float:right;color:var(--ledger-muted)}.ledger-people>button{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid #edf1ef;padding:14px 16px;border-radius:0;background:#fff;color:var(--ledger-ink);cursor:pointer;min-height:88px}.ledger-people>button.selected{background:#e8f1ed;box-shadow:inset 4px 0 #377463}.ledger-people>button:hover{background:#f1f6f3}.ledger-people>button strong{display:block;font-size:16px;line-height:1.5}.ledger-people>button small{display:block;color:var(--ledger-muted);font-size:10px;margin:2px 0 6px}.ledger-people>button>span{font-size:11px}.ledger-people em{font-style:normal;color:#875718;margin-left:12px}.ledger-main{min-width:0}.ledger-mobile-person{display:none}
.ledger-person-head{background:#fff;border:1px solid var(--ledger-line);border-radius:12px;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.ledger-person-head h2{font-size:24px;margin:0 0 6px;font-weight:700}.ledger-person-head p{margin:0;font-size:12px;color:var(--ledger-muted)}.ledger-person-head p span{display:block;margin-top:4px}.ledger-person-head dl{display:flex;gap:28px;margin:0}.ledger-person-head dt{font-size:11px;color:var(--ledger-muted);margin-bottom:5px}.ledger-person-head dd{margin:0;font-size:24px;line-height:1.3;font-variant-numeric:tabular-nums}.ledger-person-head dd small{font-size:11px;display:block;margin-top:4px;color:var(--ledger-muted)}.ledger-person-head .ledger-person-note{width:100%;font-size:11px;line-height:1.7;border-top:1px solid #edf1ef;padding-top:12px}.ledger-legend{font-size:11px;color:var(--ledger-muted);margin:16px 2px 10px;line-height:1.7}
.ledger-table-wrap{border:1px solid var(--ledger-line);border-radius:12px;background:#fff;overflow:clip}.ledger-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px;font-variant-numeric:tabular-nums}.ledger-table th,.ledger-table td{padding:13px 12px;text-align:left;border:0;border-bottom:1px solid #e9eeeb;vertical-align:middle;line-height:1.5;overflow-wrap:anywhere}.ledger-table thead th{background:#eff4f1;color:#49635b;font-size:11px;font-weight:600;padding-top:14px;padding-bottom:14px}.ledger-table th:first-child{width:90px}.ledger-table th:last-child{width:68px}.ledger-table .ledger-check{width:100px}.ledger-table tbody th{font-weight:600;background:#fff}.ledger-table th small{font-size:10px;color:var(--ledger-muted);font-weight:400;display:block}.ledger-table .ledger-empty td{color:#71817b;font-size:11px}.ledger-table .ledger-empty th,.ledger-table .ledger-empty td{background:#fafbf9;padding-top:9px;padding-bottom:9px}.ledger-table .ledger-empty th{color:#677871}.ledger-weekend th>span{color:#957055}.ledger-duration{font-weight:700;font-size:15px}.ledger-unknown{color:#956b25;font-size:12px}.ledger-source{color:#657b72;font-size:10px}.ledger-attention{color:#885e24;font-size:11px;background:#fff4da;border-radius:4px;padding:4px 6px;display:inline-block}.ledger-edit-button{border:1px solid #c9d8cf;color:#35604e;background:#fff;border-radius:6px;padding:6px 9px;font-size:11px;min-height:36px;cursor:pointer;white-space:nowrap}.ledger-edit-button:disabled{opacity:.45;cursor:default}.ledger-mobile-check{display:none}.ledger-table .ledger-editing>*{background:#edf4ef}.ledger-editor-row>td{padding:16px;background:#f5f8f5}.ledger-editor-row .paper-editor{box-shadow:none;margin:0;padding:16px;background:white}.ledger-before{font-size:12px;margin-bottom:12px;line-height:1.6}.ledger-before p{margin:4px 0}.ledger-before strong{margin-right:12px}.ledger-footnote{font-size:11px;color:var(--ledger-muted);line-height:1.8;margin-top:14px}.ledger-saved{background:#e7f3e9;border-radius:8px;padding:12px 16px;font-size:13px}
@media(max-width:1050px){.ledger-layout{grid-template-columns:175px minmax(0,1fr);gap:12px}.ledger-table th,.ledger-table td{padding:12px 7px}.ledger-person-head{padding:18px}.ledger-person-head dl{gap:20px}.ledger-table th:first-child{width:66px}.ledger-table .ledger-check{width:84px}}
@media(max-width:700px){.ledger-page-head{align-items:flex-start;margin-bottom:16px}.ledger-tools{justify-content:flex-end;gap:4px;max-width:180px}.ledger-tools .action{font-size:10px;padding:6px 8px;min-height:32px}.ledger-toolbar{gap:10px;padding:12px;margin-bottom:14px;flex-wrap:wrap}.ledger-toolbar input[type=month]{width:145px}.ledger-search{flex:1;min-width:120px}.ledger-toolbar>.action{margin:0;min-height:32px;font-size:11px;padding:4px 10px}.ledger-layout{display:block}.ledger-people{display:none}.ledger-mobile-person{display:flex;margin:0 0 12px;font-size:12px}.ledger-mobile-person select{min-height:44px}.ledger-person-head{padding:16px;gap:16px}.ledger-person-head h2{font-size:22px}.ledger-person-head dl{width:100%;justify-content:space-between;gap:12px}.ledger-person-head dd{font-size:22px}.ledger-person-head .ledger-person-note{font-size:10px}.ledger-legend{font-size:10px;line-height:1.8}.ledger-table{font-size:12px}.ledger-table th,.ledger-table td{padding:11px 5px}.ledger-table th:first-child{width:54px}.ledger-table th:last-child{width:48px}.ledger-table .ledger-break,.ledger-table .ledger-check{display:none}.ledger-table thead th{font-size:10px}.ledger-table th small{font-size:9px}.ledger-table .ledger-duration{font-size:13px}.ledger-table .ledger-unknown{font-size:11px}.ledger-mobile-check{display:block;font-size:9px;font-weight:400;color:#916927;line-height:1.4;margin-top:3px}.ledger-edit-button{min-height:40px;padding:6px;font-size:10px}.ledger-editor-row>td{padding:8px}.ledger-editor-row .paper-editor{padding:10px}.ledger-editor-row .paper-edit-grid{display:grid;grid-template-columns:1fr}.ledger-editor-row input,.ledger-editor-row select,.ledger-editor-row textarea{max-width:100%;min-width:0}.ledger-table .ledger-empty th,.ledger-table .ledger-empty td{padding-top:8px;padding-bottom:8px}}
.attendance-ledger .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.attendance-ledger .ledger-toolbar>.action,.attendance-ledger .ledger-tools>.action{width:auto;flex:0 0 auto}.attendance-ledger .ledger-search{min-width:220px}.ledger-person-head dt,.ledger-person-head p,.ledger-legend,.ledger-footnote{font-size:12px}.ledger-table{font-size:14px}.ledger-table thead th{font-size:12px}.ledger-source{font-size:12px}.ledger-people>button small{font-size:11px}.ledger-person-head dl{gap:36px}.ledger-person-head dd{font-size:26px}
@media(max-width:700px){.attendance-ledger .ledger-search{min-width:120px}.ledger-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end}.ledger-toolbar input[type=month]{width:100%}.ledger-toolbar>.action{height:42px}.ledger-person-head dl{gap:12px}.ledger-person-head dd{font-size:22px}.ledger-person-head dt{font-size:11px}.ledger-person-head .ledger-person-note{font-size:11px}.ledger-table{font-size:12px}.ledger-table thead th{font-size:11px}.ledger-legend,.ledger-footnote{font-size:11px}.ledger-tools .action{width:auto!important}}
.ledger-table td:nth-child(2),.ledger-table td:nth-child(3){white-space:nowrap}.ledger-person-head{padding:18px 22px}.ledger-person-head .ledger-person-note{padding-top:8px}.ledger-toolbar{padding:12px 16px}.ledger-person-head h2{font-size:22px}.ledger-person-head p span{display:inline-block;margin:0 0 0 8px}
@media(max-width:700px){.ledger-person-head{padding:14px}.ledger-person-head dl{gap:8px}.ledger-person-head dd{font-size:21px}.ledger-person-head .ledger-person-note{padding-top:8px}.ledger-page-head{gap:6px}.ledger-page-head .ledger-tools{max-width:170px}.ledger-tools .action{padding:6px!important;min-height:32px!important}.ledger-toolbar{padding:10px;gap:8px}.ledger-toolbar input{padding:6px;min-height:42px;font-size:12px}.ledger-toolbar .ledger-search{min-width:0}.ledger-legend{margin-top:12px}.ledger-table th:first-child{width:52px}.ledger-table th:last-child{width:50px}.ledger-table .ledger-editor-row>td{white-space:normal}.ledger-person-head p span{margin-left:0;display:block}}
.paper-duration-input{font-size:13px}.paper-duration-input>div{display:flex;gap:10px;align-items:center;margin-top:6px}.paper-duration-input>div>label{display:flex;align-items:center;gap:6px;font-size:12px}.paper-duration-input input{width:74px!important;min-width:0}.paper-duration-input small{display:block;font-size:11px;color:#6a776e}.paper-duration-input .text-button{font-size:11px}.paper-editor-actions>.action{width:auto;flex:0 0 auto}.paper-recovery{font-size:12px;margin-top:12px}.ledger-match{display:flex;align-items:center;gap:12px;font-size:12px;background:#edf3ee;padding:10px 14px;border-radius:8px;margin-top:10px;flex-wrap:wrap}.ledger-match .text-button{font-size:12px}.ledger-table .ledger-future>*{background:#f3f5f2;color:#849087}.ledger-table .ledger-unreceived>*{background:#fffaf0}.ledger-table .ledger-unreceived td{color:#8a6b36}
@media(max-width:700px){.ledger-person-head{padding:12px;gap:10px}.ledger-person-head h2{font-size:19px;margin:0 0 4px}.ledger-person-head>div{display:flex;align-items:baseline;gap:12px;width:100%}.ledger-person-head>div p{font-size:10px}.ledger-person-head p span{display:inline;margin-left:6px}.ledger-person-head dl{width:100%}.ledger-person-head dd{font-size:20px}.ledger-person-head dd small{display:inline;margin-left:5px;font-size:10px}.ledger-person-head dt{font-size:10px;margin-bottom:3px}.ledger-person-head .ledger-person-note{font-size:10px;padding-top:6px}.ledger-match{font-size:10px;padding:8px 10px;gap:5px}.ledger-match .text-button{font-size:11px}.ledger-legend{font-size:10px}.ledger-page-head{margin-bottom:10px}.ledger-page-head .page-title{font-size:22px}.ledger-tools{gap:2px}.ledger-mobile-person{margin-bottom:10px}.ledger-toolbar{margin-bottom:10px}.ledger-person-head dd{white-space:nowrap}}
.ledger-table thead{position:sticky;top:0;z-index:2}.ledger-table td.ledger-duration{text-align:right;padding-right:24px}.ledger-table td.ledger-unknown{text-align:right;padding-right:24px}
@media(max-width:700px){.ledger-table td.ledger-duration,.ledger-table td.ledger-unknown{padding-right:8px}}
.ledger-row-source{display:block;color:#718176;font-size:10px;margin-top:3px}.ledger-basis{display:block;margin-top:3px}.paper-clock-input>span{font-size:13px}.paper-clock-input>div{display:flex;gap:6px;margin-top:6px}.paper-clock-input select{width:84px!important;flex:0 0 auto}.paper-clock-input input{min-width:0}.paper-change-summary{padding:12px 16px;border:1px solid #d3e2d8;border-radius:8px;background:#edf4ef;font-size:12px;line-height:1.8;margin:14px 0}.paper-change-summary p{margin:6px 0}.ledger-table-wrap{overflow:visible}.ledger-table thead th:first-child{border-radius:12px 0 0 0}.ledger-table thead th:last-child{border-radius:0 12px 0 0}
.ledger-table-context{display:flex;gap:14px;align-items:center;height:36px;position:sticky;top:0;background:#f5f7f4;z-index:3;font-size:12px;padding:0 12px;border-bottom:1px solid #dce6df}.ledger-table-context span{color:#65776b;font-size:11px}.ledger-table thead{top:36px}.ledger-mobile-check{white-space:normal}
.ledger-export{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin:-8px 0 16px}.ledger-export>.action{width:auto;margin:0;min-height:42px;flex:0 0 auto}@media(max-width:700px){.ledger-export{justify-content:stretch}.ledger-export>.action{flex:1 1 0}}
.attendance-voided{margin:0 0 16px}.attendance-voided ul{list-style:none;padding:0;margin:8px 0 0}.attendance-voided li{display:grid;gap:2px;padding:8px 0;border-top:1px solid var(--ledger-line);font-size:13px}.attendance-voided small{color:#5f6f6a;font-size:12px}
.attendance-history,.attendance-void{margin-top:12px;border-top:1px solid var(--ledger-line,#dfe7e3);padding-top:8px}.attendance-history ol{list-style:none;padding:0;margin:8px 0}.attendance-history li{display:grid;gap:2px;padding:8px 0;border-top:1px solid var(--ledger-line,#dfe7e3);font-size:13px}.attendance-history li small,.attendance-history li span{color:#5f6f6a;font-size:12px}.attendance-void .action{width:auto;margin-top:8px}.attendance-void .check-row{display:flex;gap:8px;align-items:center;margin-top:8px}

.payroll{max-width:1440px;gap:12px}
.payroll .pay-page-heading{margin-bottom:0}
.payroll .pay-toolbar{align-items:end;flex-wrap:wrap;margin:0}
.payroll .pay-toolbar .wf-tabs{flex-wrap:wrap}
.pay-formal-scope{color:#647773;font-size:13px;line-height:1.7;margin:0 0 20px}
.pay-ledger{--pay-ink:#203c39;--pay-muted:#647773;--pay-line:#dfe7e3;color:var(--pay-ink)}
.pay-ledger-toolbar{display:grid;grid-template-columns:180px minmax(180px,320px) 1fr;align-items:end;gap:16px;padding:16px 20px;border:1px solid var(--pay-line);border-radius:12px;background:white;margin-bottom:20px}
.pay-ledger-toolbar label,.pay-ledger-mobile-person{display:grid;gap:6px;font-size:12px;font-weight:500}
.pay-ledger-toolbar label:nth-child(2){flex:1;max-width:320px}
.pay-ledger-toolbar input{min-height:42px;min-width:0;background:white}
.pay-ledger-toolbar .action{margin-left:auto;min-height:42px;width:auto!important;justify-self:end}
.pay-ledger-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px}
.pay-ledger-people{border:1px solid var(--pay-line);border-radius:12px;background:white;align-self:start;overflow:hidden}
.pay-ledger-people>p{font-size:12px;padding:14px;margin:0;border-bottom:1px solid var(--pay-line)}
.pay-ledger-people>p span{float:right;color:var(--pay-muted)}
.pay-ledger-people>button{display:grid;gap:5px;width:100%;border:0;border-bottom:1px solid #edf1ef;border-radius:0;padding:14px 16px;background:white;text-align:left;color:var(--pay-ink);cursor:pointer}
.pay-ledger-people>button[aria-pressed=true]{background:#edf5f0;box-shadow:inset 3px 0 #387969}
.pay-ledger-people strong{font-size:15px;overflow-wrap:anywhere}
.pay-ledger-people small{font-size:11px;color:var(--pay-muted)}
.pay-ledger-people span{font-size:13px;font-variant-numeric:tabular-nums}
.pay-ledger-people em{display:block;color:#8b642b;font-size:11px;font-style:normal;margin-top:3px}
.pay-ledger-main{min-width:0}.pay-ledger-mobile-person{display:none}
.pay-ledger-person{border:1px solid var(--pay-line);background:white;border-radius:12px;padding:20px 24px}
.pay-ledger-person-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pay-ledger-person h2{font-size:23px;margin:0 0 6px;overflow-wrap:anywhere}
.pay-ledger-person-title p{font-size:12px;color:var(--pay-muted);margin:0}
.pay-ledger-person-title>span{font-size:12px;color:var(--pay-muted);text-align:right}
.pay-ledger-person dl{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:20px;margin:20px 0 0;padding-top:16px;border-top:1px solid var(--pay-line)}
.pay-ledger-person dt{font-size:12px;color:var(--pay-muted);margin:0 0 8px}
.pay-ledger-person dd{font-size:23px;font-weight:600;font-variant-numeric:tabular-nums;margin:0;overflow-wrap:anywhere}
.pay-ledger-person dl>div:first-child dd{font-size:28px}
.pay-ledger-alert{color:#8b642b;font-size:12px;margin:14px 0 0}
.pay-ledger-caption,.pay-ledger-notice{font-size:12px;line-height:1.7;margin:16px 0;color:var(--pay-muted)}
.pay-ledger-notice{color:#326755}
.pay-ledger-table-wrap{border:1px solid var(--pay-line);border-radius:12px;overflow:hidden;background:white}
.pay-ledger-table{border-collapse:collapse;width:100%;font-size:14px;font-variant-numeric:tabular-nums}
.pay-ledger-table thead{background:#f4f7f5}
.pay-ledger-table th,.pay-ledger-table td{padding:13px 12px;border-bottom:1px solid var(--pay-line);text-align:right;vertical-align:middle}
.pay-ledger-table thead th{font-size:12px;color:var(--pay-muted);font-weight:500;white-space:nowrap}
.pay-ledger-table th:first-child{text-align:left;width:80px;font-weight:500}
.pay-ledger-table small{display:block;font-size:11px;line-height:1.5;font-weight:400;margin-top:4px}
.pay-ledger-table tbody th small{color:var(--pay-muted)}
.pay-ledger-amount{font-size:16px;font-weight:600;white-space:nowrap}
.pay-ledger-confirmed{color:#36705b}.pay-ledger-waiting{color:#916927}.pay-ledger-unknown{font-size:12px;font-weight:400;color:var(--pay-muted)}
.pay-ledger-table td:last-child,.pay-ledger-table thead th:last-child{text-align:center;width:70px}
.pay-ledger-table tr:not(.pay-ledger-detail-row)>td>button{min-height:44px;min-width:54px;white-space:nowrap;border:1px solid var(--pay-line);border-radius:6px;background:white;padding:6px 10px;color:var(--pay-ink);font-size:12px;cursor:pointer}
.pay-ledger-expanded{background:#f3f8f5}
.pay-ledger-table .pay-ledger-detail-row>td{text-align:left;width:auto;padding:16px;background:#f8faf8}
.pay-ledger-detail h3{margin:0 0 16px;font-size:15px}
.pay-ledger-detail dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 24px;margin:0 0 18px}
.pay-ledger-detail dl>div{min-width:0}.pay-ledger-detail dt{color:var(--pay-muted);font-size:12px;margin-bottom:4px}
.pay-ledger-detail dd{margin:0;font-size:14px;overflow-wrap:anywhere}
.pay-ledger .paper-editor{margin:18px 0 0;max-width:100%;box-sizing:border-box}
.pay-ledger .paper-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.pay-ledger .paper-editor input,.pay-ledger .paper-editor select,.pay-ledger .paper-editor textarea{max-width:100%;min-width:0;box-sizing:border-box}
.pay-ledger-help{font-size:12px;color:var(--pay-muted);line-height:1.8;margin:16px 0}
.pay-ledger-help summary{cursor:pointer;min-height:32px}
.pay-ledger button:focus-visible{outline:2px solid #387969;outline-offset:2px}
.pay-ledger button:disabled{cursor:default;opacity:.55}
@media(max-width:1050px){.pay-ledger-layout{grid-template-columns:175px minmax(0,1fr);gap:14px}.pay-ledger-person{padding:16px}.pay-ledger-person-title{align-items:start;flex-direction:column}.pay-ledger-person-title>span{text-align:left}.pay-ledger-person dl{gap:12px}.pay-ledger-person dd{font-size:20px}.pay-ledger-person dl>div:first-child dd{font-size:23px}.pay-ledger-table th,.pay-ledger-table td{padding:12px 8px}}
@media(max-width:800px){.pay-ledger-layout{display:block}.pay-ledger-people{display:none}.pay-ledger-mobile-person{display:grid;margin-bottom:14px}.pay-ledger-mobile-person select{min-height:44px}.pay-ledger-toolbar{padding:12px;gap:10px;grid-template-columns:160px minmax(100px,1fr) auto}.pay-ledger-toolbar label{min-width:0}.pay-ledger-toolbar input{width:100%}.pay-ledger-toolbar label:nth-child(2){max-width:none}.pay-ledger-detail dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.payroll .pay-toolbar{margin-bottom:0}.payroll .pay-toolbar .wf-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}.payroll .pay-toolbar .wf-tabs button{min-height:42px;font-size:12px;padding:8px}.pay-ledger-toolbar{display:grid;grid-template-columns:1fr 1fr auto;padding:10px;gap:8px}.pay-ledger-toolbar input{font-size:13px;padding:6px}.pay-ledger-toolbar .action{padding:8px;font-size:12px}.pay-ledger-person{padding:14px}.pay-ledger-person h2{font-size:21px}.pay-ledger-person dl{grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.pay-ledger-person dl>div:first-child{grid-column:1/-1}.pay-ledger-person dl>div:first-child dd{font-size:28px}.pay-ledger-person dd{font-size:20px}.pay-ledger-person dt{font-size:11px;margin-bottom:5px}.pay-ledger-time,.pay-ledger-difference{display:none}.pay-ledger-table th:first-child{width:46px}.pay-ledger-table th,.pay-ledger-table td{padding:12px 6px}.pay-ledger-table thead th{font-size:10px}.pay-ledger-amount{font-size:15px}.pay-ledger-daily{font-size:12px}.pay-ledger-table small{font-size:10px}.pay-ledger-table td:last-child,.pay-ledger-table thead th:last-child{width:48px}.pay-ledger-table tr:not(.pay-ledger-detail-row)>td>button{padding:6px;min-height:44px}.pay-ledger-table .pay-ledger-detail-row>td{padding:12px}.pay-ledger .paper-edit-grid{grid-template-columns:minmax(0,1fr)}.pay-ledger .paper-editor{padding:12px}.pay-ledger .paper-editor-actions{flex-wrap:wrap}}

.pay-ledger-detail-actions{display:flex;flex-wrap:wrap;gap:12px}.pay-ledger-detail-actions>.action{width:auto!important;min-height:44px}.pay-ledger-resolution{font-size:13px;line-height:1.7;color:#647773}

.pay-ledger-identity{overflow-wrap:anywhere;font-size:12px;color:#647773}.pay-ledger-difference-note{display:block;margin-top:4px}.pay-ledger .paper-save-context{font-size:13px;line-height:1.7;overflow-wrap:anywhere;border-top:1px solid #dfe7e3;padding-top:12px}
/* 月・年の締めの出力（P9）。印刷用の表は /liff/print.html で開く */
.daily-print .closing-print h1{font-size:18px;margin:0 0 8px}.daily-print .closing-print h2{font-size:14px;margin:16px 0 4px}.daily-print .closing-print h2 small{font-weight:normal;color:#555}.daily-print .closing-print p{margin:0 0 6px}.daily-print .closing-print table{width:100%;border-collapse:collapse;font-size:10px}.daily-print .closing-print th,.daily-print .closing-print td{border:1px solid #bbb;padding:3px 5px;text-align:left;overflow-wrap:anywhere}.daily-print .closing-print td.num{text-align:right;font-variant-numeric:tabular-nums}.daily-print .closing-print-person{break-inside:avoid-page}@media print{.daily-print .closing-print-person+.closing-print-person{break-before:page}}
.closing-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:16px;padding:16px 20px;border:1px solid var(--pay-line);border-radius:12px;background:white;margin-bottom:16px}.closing-toolbar .wf-tabs{margin:0}.closing-toolbar label{display:grid;gap:6px;font-size:12px;font-weight:500}.closing-toolbar input{min-height:42px;background:white;width:180px}.closing-toolbar>.action{margin-left:auto;min-height:42px;width:auto!important}
.closing-state{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border:1px solid var(--pay-line);border-radius:12px;background:#f8faf8;margin-bottom:12px}.closing-state.closed{border-color:#9fc0ad;background:#eef6f0}.closing-state strong{display:block;font-size:15px}.closing-state small{display:block;font-size:12px;color:var(--pay-muted);margin-top:4px;line-height:1.6}.closing-state>.action{width:auto!important;margin:0;flex:0 0 auto;min-height:42px}
.closing-changes{margin:0 0 12px}.closing-changes ul{list-style:none;padding:0;margin:8px 0 0}.closing-changes li{display:grid;gap:2px;padding:8px 0;border-top:1px solid var(--pay-line);font-size:13px}.closing-changes li span,.closing-changes li small{color:var(--pay-muted);font-size:12px}
.closing-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 12px}.closing-summary>div{border:1px solid var(--pay-line);border-radius:12px;background:white;padding:12px 16px}.closing-summary span{display:block;font-size:12px;color:var(--pay-muted)}.closing-summary strong{font-size:20px;font-variant-numeric:tabular-nums}
.closing-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin:0 0 12px}.closing-actions>.action{width:auto!important;margin:0;min-height:42px}
.closing-table{min-width:980px}.closing-table th,.closing-table td{white-space:nowrap}
/* R4 画面監査：月の給与の内訳は横に長い表の1行。折り返さない指定を受け継いで、有給・時給の注意の文が画面の外へ伸びていた。
   内訳だけは折り返し、表を横に動かしても画面の幅に収まる位置に留める */
.closing-table .pay-ledger-detail-row>td{white-space:normal}.closing-table .pay-ledger-detail{position:sticky;left:16px;max-width:calc(100vw - 88px)}
.closing-table.closing-year{min-width:1180px}.closing-table th:first-child{width:auto;min-width:130px}.closing-table td.closing-strong{font-weight:650}.closing-table .closing-diff{color:#8b6223}.closing-table .wf-badge{display:inline-block;margin:0}
.closing-detail h4{margin:18px 0 8px;font-size:14px}.closing-adjustments{list-style:none;padding:0;margin:0}.closing-adjustments li{display:grid;gap:4px;padding:8px 0;border-top:1px solid var(--pay-line);font-size:13px}.closing-adjustments li.voided>span{text-decoration:line-through;color:var(--pay-muted)}.closing-adjustments small{color:var(--pay-muted);font-size:12px}.closing-adjustments .text-button{justify-self:start}
.closing-adjust-form{border:1px solid var(--pay-line);border-radius:10px;padding:12px 14px;margin:12px 0 0;display:grid;gap:10px;max-width:560px}.closing-adjust-form legend{font-size:13px;font-weight:600;padding:0 4px}.closing-adjust-form .action{width:auto!important;justify-self:start}
.closing-casts{margin-top:24px}.closing-casts h3{font-size:16px;margin:0 0 8px}
@media(max-width:700px){.closing-toolbar{padding:12px;gap:10px}.closing-toolbar input{width:140px}.closing-state{flex-direction:column;align-items:stretch}.closing-summary{grid-template-columns:1fr 1fr 1fr;gap:6px}.closing-summary>div{padding:8px}.closing-summary strong{font-size:15px}.closing-actions>.action{flex:1 1 0}}
/* 狭い幅では「計算できません」が語の途中で折り返すので、合計のカードを縦に並べる */
@media(max-width:520px){.closing-summary{grid-template-columns:minmax(0,1fr)}.closing-summary>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.closing-summary span{display:inline}}
.sales-export{margin-top:20px}.sales-export h2{font-size:17px;margin:0 0 4px}.sales-export .owner-presets,.sales-export .owner-dates{margin:12px 0}.sales-export .owner-dates{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.sales-export .owner-dates label{display:grid;gap:4px;font-size:12px}.sales-export-table{border-collapse:collapse;width:100%;min-width:760px;font-size:13px;font-variant-numeric:tabular-nums}.sales-export-table th,.sales-export-table td{padding:8px 10px;border-bottom:1px solid #dfe7e3;text-align:right;white-space:nowrap}.sales-export-table th:first-child{text-align:left}.sales-export-table thead th{font-size:12px;font-weight:500;color:#647773}.sales-export-table .sales-total{font-weight:650;background:#f4f7f5}.sales-voided ul{list-style:none;padding:0;margin:8px 0 0}.sales-voided li{display:grid;gap:2px;padding:8px 0;border-top:1px solid #dfe7e3;font-size:13px}.sales-voided small{color:#647773}
.daily-month-summary{margin:0 0 24px}.daily-month-summary>summary{min-height:44px;display:flex;align-items:center;font-size:15px}.daily-month-summary .daily-month-missing td,.daily-month-summary .daily-month-missing th{color:#8a9591}
.pay-month-panel,.closing-month,.closing-month .table-scroll-wrap,.sales-export,.daily-month-summary{min-width:0;max-width:100%}.pay-month-panel[hidden]{display:none}

/* 月次の明細書の印刷（P30）。A4 縦に1人1枚。日報の印刷（A4 横）と分けるため、名前つきのページ（slip）にする。
   印刷の画面の本文の余白（.daily-print の padding）は明細書では外し、@page の余白だけにする。 */
@page slip{size:A4 portrait;margin:8mm}
html:has(.slip-print),body.daily-print:has(.slip-print){padding:0;background:white}
.slip-sheet{page:slip}
.slip-print{--slip-line:#7c85cc;--slip-label:#e1e6ee;--slip-accent:#5b66c4;color:#1d1f2a;font:9pt/1.35 "Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.slip-print *{box-sizing:border-box}
.slip-sheet{width:192mm;min-height:279mm;margin:0 auto;display:flex;flex-direction:column;gap:3mm;break-after:page;page-break-after:always}
.slip-sheet:last-child{break-after:auto;page-break-after:auto}
.slip-top{display:grid;grid-template-columns:96mm 1fr 22mm;gap:4mm;align-items:end}
.slip-head{border:1px solid var(--slip-line);border-radius:3mm;padding:4mm 6mm 3mm}
.slip-head h1{margin:0 0 3mm;font-size:15pt;font-weight:500;letter-spacing:.04em;text-align:right}.slip-head h1 span{color:var(--slip-accent);margin-left:3mm}
.slip-head dl{display:grid;grid-template-columns:16mm 1fr;gap:1.2mm 3mm;margin:0;font-size:10.5pt}.slip-head dt{color:var(--slip-accent);white-space:nowrap}.slip-head dd{margin:0}
.slip-pay{display:grid;gap:2mm}.slip-note{border:1px solid var(--slip-line);border-radius:3mm;min-height:17mm;padding:2mm 3mm;font-size:8.5pt}
.slip-paydate{margin:0;border-bottom:1px solid var(--slip-line);padding:0 2mm .8mm;display:flex;gap:4mm;justify-content:center;font-size:10pt}.slip-paydate span{color:var(--slip-accent);letter-spacing:.4em}
.slip-stamp{display:grid;gap:1.5mm;justify-items:center}.slip-stamp div{width:20mm;height:20mm;border:1px solid var(--slip-line)}.slip-stamp span{color:var(--slip-accent);font-size:9.5pt}
.slip-body{display:grid;grid-template-columns:33mm 55mm 46mm minmax(0,1fr);gap:3.3mm;align-items:start}
/* 4つの列は内容の高さ（最低 --slip-body-min）。stretch だと高さが決まり、行が多くてページをまたぐとき下の「合計」が切れる（L6）。 */
.slip-body>*{min-height:var(--slip-body-min,96mm)}.slip-body>.slip-box>.slip-lines{flex:1 0 auto}.slip-stack>.slip-other{flex:1 0 auto}
.slip-stack{display:flex;flex-direction:column;gap:2.5mm}
.slip-box{border:1px solid var(--slip-line);border-radius:2mm;overflow:hidden;display:flex;flex-direction:column}
.slip-box h2{margin:0;background:var(--slip-label);border-bottom:1px solid var(--slip-line);text-align:center;font-size:10pt;font-weight:500;letter-spacing:.8em;color:var(--slip-accent);padding:.6mm 0 .6mm .8em}
.slip-lines{flex:1;display:grid;grid-template-columns:1fr auto;grid-auto-rows:min-content;background:linear-gradient(to right,var(--slip-label) 0,var(--slip-label) var(--slip-split,60%),#fff var(--slip-split,60%))}
.slip-lines>span{padding:.5mm 1.5mm;font-size:8.5pt;min-height:4.6mm}.slip-lines>span:nth-child(2n){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:2mm}
.slip-lines small{font-size:7.5pt;color:#444}
.slip-sheet{position:relative}.slip-draft-mark{position:absolute;top:0;right:0;margin:0;padding:.5mm 2mm;border:1px solid #b3261e;color:#b3261e;font-size:9pt;font-weight:700;background:#fff;z-index:2}
/* 下書きの透かし：明細書の上半分の中央に斜めに薄く。文字の上に重ねても読めるよう色は薄く、押せる物の邪魔をしない。確定したものには出さない。 */
.slip-draft-watermark{position:absolute;top:62mm;left:50%;z-index:1;margin:0;transform:translate(-50%,-50%) rotate(-24deg);font-size:50pt;font-weight:700;letter-spacing:.12em;white-space:nowrap;color:rgba(179,38,30,.13);pointer-events:none;user-select:none}
.slip-draft-footer{margin:0;text-align:center;font-size:8.5pt;font-weight:600;color:#b3261e}
.slip-basis tr.slip-draft-row th{background:#fff;color:#b3261e;text-align:center;font-weight:700;letter-spacing:.3em;padding:.6mm 1.5mm}
.slip-attendance .slip-lines{grid-template-columns:1fr 13mm;background:linear-gradient(to right,var(--slip-label) 0,var(--slip-label) calc(100% - 13mm),var(--slip-line) calc(100% - 13mm),var(--slip-line) calc(100% - 13mm + 1px),#fff calc(100% - 13mm + 1px))}
.slip-earnings .slip-lines{grid-template-columns:1fr 23mm;background:linear-gradient(to right,var(--slip-label) 0,var(--slip-label) calc(100% - 23mm),var(--slip-line) calc(100% - 23mm),var(--slip-line) calc(100% - 23mm + 1px),#fff calc(100% - 23mm + 1px))}
.slip-deductions .slip-lines{grid-template-columns:1fr 22mm;background:linear-gradient(to right,var(--slip-label) 0,var(--slip-label) calc(100% - 22mm),var(--slip-line) calc(100% - 22mm),var(--slip-line) calc(100% - 22mm + 1px),#fff calc(100% - 22mm + 1px))}
.slip-total{display:grid;border-top:1px solid var(--slip-line);background:var(--slip-label)}.slip-total span{padding:.8mm 1.5mm;font-size:9pt}.slip-total span:first-child{text-align:center;letter-spacing:.8em;color:var(--slip-accent)}.slip-total span:last-child{background:#fff;text-align:right;border-left:1px solid var(--slip-line);font-variant-numeric:tabular-nums}
.slip-earnings .slip-total{grid-template-columns:1fr 23mm}.slip-deductions .slip-total{grid-template-columns:1fr 22mm}.slip-other .slip-total{grid-template-columns:1fr 23mm}
.slip-attendance{flex:1}.slip-tax{display:grid;grid-template-columns:1fr 13mm}.slip-tax span{padding:.6mm 1.5mm;border-bottom:1px solid var(--slip-line)}.slip-tax span:nth-child(odd){background:var(--slip-label);color:var(--slip-accent);text-align:center;letter-spacing:.2em}.slip-tax span:nth-child(even){text-align:right;border-left:1px solid var(--slip-line)}.slip-tax span:nth-last-child(-n+2){border-bottom:0}
.slip-other .slip-lines{min-height:18mm;grid-template-columns:1fr 23mm;background:linear-gradient(to right,var(--slip-label) 0,var(--slip-label) calc(100% - 23mm),var(--slip-line) calc(100% - 23mm),var(--slip-line) calc(100% - 23mm + 1px),#fff calc(100% - 23mm + 1px))}
.slip-amount{display:grid;grid-template-columns:1fr 23mm;border:1px solid var(--slip-line);border-radius:2mm;overflow:hidden}.slip-amount span{padding:.8mm 1.5mm}.slip-amount span:first-child{background:var(--slip-label);color:var(--slip-accent);text-align:center;letter-spacing:.15em}.slip-amount span:last-child{text-align:right;border-left:1px solid var(--slip-line);font-variant-numeric:tabular-nums}
.slip-amount.net span:last-child{font-weight:700}
.slip-transfer .slip-lines{min-height:8mm;grid-template-columns:1fr 23mm;background:linear-gradient(to right,var(--slip-label) 0,var(--slip-label) calc(100% - 23mm),var(--slip-line) calc(100% - 23mm),var(--slip-line) calc(100% - 23mm + 1px),#fff calc(100% - 23mm + 1px))}.slip-transfer .slip-total{grid-template-columns:1fr 23mm}
.slip-cumulative{display:grid;grid-template-columns:5mm 1fr 23mm;border:1px solid var(--slip-line);border-radius:2mm;overflow:hidden}.slip-cumulative b{grid-row:span 3;background:var(--slip-label);color:var(--slip-accent);font-weight:500;writing-mode:vertical-rl;text-align:center;letter-spacing:.3em;border-right:1px solid var(--slip-line);padding:1mm 0}.slip-cumulative span{padding:.6mm 1.5mm;font-size:8.5pt;white-space:nowrap;border-bottom:1px solid var(--slip-line)}.slip-cumulative span:nth-last-child(-n+2){border-bottom:0}.slip-cumulative span:nth-child(even){background:var(--slip-label);color:var(--slip-accent);text-align:center}.slip-cumulative span:nth-child(odd){text-align:right;border-left:1px solid var(--slip-line);font-variant-numeric:tabular-nums}
.slip-issuer{margin:0;text-align:right;font-size:10pt}
.slip-cut{border:0;border-top:1px dashed #999;margin:0}
.slip-basis{border:1px solid var(--slip-line);border-radius:2mm;padding:2.5mm 3mm;display:block;flex:1}.slip-basis>:not(:first-child){margin-top:2mm}
.slip-basis h2{margin:0;font-size:10.5pt;color:var(--slip-accent);font-weight:600}.slip-basis h2 small{font-weight:400;color:#555;margin-left:2mm;font-size:8pt}
.slip-basis table{width:100%;border-collapse:collapse;font-size:8pt}.slip-basis th,.slip-basis td{border:1px solid #c5cae0;padding:1mm 1.5mm;text-align:left;vertical-align:top;overflow-wrap:anywhere}.slip-basis th{background:var(--slip-label);font-weight:500}
.slip-basis td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.slip-basis col.kind{width:11mm}.slip-basis col.item{width:36mm}.slip-basis col.amount{width:22mm}
.slip-basis p{margin:0;font-size:8.5pt;white-space:pre-wrap}
.slip-basis .slip-sum{font-size:9pt;font-weight:600}
/* 行が多い・根拠が長いときは次のページへ続ける。行の途中・見出しの直後では切らず、表の見出しは次のページにも出す（切れて消える所を作らない）。 */
.slip-top{break-inside:avoid}.slip-box h2,.slip-basis h2{break-after:avoid}.slip-lines>span,.slip-total,.slip-amount,.slip-cumulative,.slip-tax{break-inside:avoid}
.slip-basis thead{display:table-header-group}.slip-basis tr{break-inside:avoid}.slip-basis p{orphans:2;widows:2}.slip-issuer,.slip-draft-footer{break-before:avoid}
.slip-lines>span:nth-child(odd){overflow-wrap:anywhere}
@media screen{.slip-print{background:#f3f4f7;padding:6mm 0}.slip-sheet{background:#fff;padding:8mm;width:210mm;min-height:297mm;margin:0 auto 6mm;box-shadow:0 1px 4px rgba(0,0,0,.18)}}
