﻿/* Shared working-page layout. Overview and authentication pages do not opt in. */
body .soumu-business-main { min-width: 0; max-width: none !important; padding: 0 !important; }
.soumu-business-breadcrumb-bar { border-bottom: 1px solid var(--employee-border, #dfe5ec); background: transparent; }
.soumu-business-breadcrumb-bar .soumu-breadcrumbs { display:flex; align-items:flex-start; min-height:30px; margin:0; padding:0 10px 12px; font-size:.75rem; line-height:1.2; }
.soumu-business-breadcrumb-bar .soumu-breadcrumbs li + li::before { content:''; width:5px; height:5px; border-top:1px solid #a6b0bc; border-right:1px solid #a6b0bc; transform:rotate(45deg); margin:0 .5rem; }
.soumu-business-breadcrumb-bar .soumu-breadcrumbs a { color:#68778b; }
.soumu-business-breadcrumb-bar .soumu-breadcrumbs [aria-current] { color:var(--soumu-blue-dark,#31588f); font-weight:700; }
.soumu-business-content { min-width:0; padding:20px 10px 20px 14px; }
body .soumu-business-content > div[class*="max-w-"],
body .soumu-business-content > .managed-users-content,
body .soumu-business-content > .access-content { width:100%; max-width:none; margin-inline:0; padding:0; }
body .soumu-business-heading { margin:0 0 16px !important; padding:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; min-height:0; }
body .soumu-business-heading:not(:has(a, button, input, select)) { display:none; }
body .soumu-business-heading h1 { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
body .soumu-business-heading p,
body .soumu-business-heading .employee-page-title-icon,
body .soumu-business-heading .access-heading-icon { display:none; }
body .soumu-business-heading > div:not(:has(a,button,input,select)) { display:none; }
body .soumu-business-filter, body .soumu-business-filter-toolbar {
  min-width:0; align-items:end; gap:12px; padding:16px; margin-bottom:20px;
  border:1px solid var(--employee-border,#dfe5ec); border-radius:8px; background:#fff; box-shadow:0 2px 8px rgb(16 24 40 / .04);
}
body .soumu-business-filter-toolbar { display:flex; flex-wrap:wrap; }
body .soumu-business-filter-toolbar > form { flex:1 1 260px; margin:0; padding:0; border:0; box-shadow:none; }
body .soumu-business-filter:not([style*="display:contents"]) { display:flex; flex-wrap:wrap; }
body .soumu-business-filter > label { flex:1 1 150px; min-width:0; font-size:12px; font-weight:600; color:#52647a; }
body .soumu-business-filter > label:has(input[type="search"]), body .soumu-business-filter > .search-field { flex:2 1 240px; }
body .soumu-business-filter :is(input:not([type="hidden"]),select) { min-width:0; height:40px; min-height:40px; border-radius:4px; font-size:13px; }
body .soumu-business-filter > :is(button,a), body .soumu-business-filter-toolbar > :is(button,a) { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:40px; border-radius:4px; white-space:nowrap; }
body .soumu-business-filter .soumu-business-filter { padding:0; margin:0; border:0; background:transparent; box-shadow:none; }
body .soumu-business-filter .att-filter-title { display:none; }
body .soumu-business-content .la-card-head:has(#leave-table-title) { display:none; }
.soumu-business-content :is(table,.overflow-x-auto) { max-width:100%; }
body.attendance-page:has(.soumu-business-main) .att-shell { padding:0 !important; }
body.attendance-page:has(.soumu-business-main) .att-layout { gap:0; }
@media(min-width:701px) {
  body.attendance-page .att-main.soumu-business-main { margin-left:225px; }
  body.attendance-page .att-layout.is-collapsed .att-main.soumu-business-main { margin-left:68px; }
}
body .la-workspace:has(> .soumu-business-main) { padding:0; }
body .la-shell.soumu-business-main { width:100%; max-width:none; margin:0; }
.soumu-record-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:14px 4px; border-top:1px solid #dfe5ec; }
.soumu-record-summary { margin:0; color:#66758a; font-size:12px; font-variant-numeric:tabular-nums; }
.soumu-record-summary strong { color:#253246; font-weight:700; }
.soumu-record-footer .record-pagination { display:flex; align-items:center; gap:5px; max-width:100%; padding:3px; overflow-x:auto; }
.soumu-record-footer .record-pagination :is(a,span:not(.is-ellipsis)) { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; min-width:40px; min-height:40px; padding:8px 12px; border:1px solid #dce3ec; border-radius:6px; background:#fff; color:var(--soumu-blue-dark,#31588f); font-size:12px; font-weight:600; text-decoration:none; }
.soumu-record-footer .record-pagination a:hover { background:#edf3fc; border-color:#9bb1cf; }
.soumu-record-footer .record-pagination .is-current { color:#fff; background:var(--soumu-blue-dark,#31588f); border-color:var(--soumu-blue-dark,#31588f); }
.soumu-record-footer .record-pagination .is-disabled { color:#9aa5b5; background:#f7f8fa; border-color:#e7ebf1; }
.soumu-record-footer .record-pagination a:focus-visible { outline:2px solid #31588f; outline-offset:1px; }
.soumu-record-footer .record-pagination .is-ellipsis { color:#64748b; }
@media(max-width:639px) {
  body .soumu-business-filter > label { flex-basis:calc(50% - 12px); }
  body .soumu-business-filter > label:has(input[type="search"]) { flex-basis:100%; }
  .soumu-record-footer { justify-content:center; }
  .soumu-record-summary { width:100%; text-align:center; }
  .soumu-record-footer .record-pagination { flex-wrap:wrap; justify-content:center; }
}
.soumu-record-footer .record-pagination button { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; min-width:40px; min-height:40px; padding:8px 12px; border:1px solid #dce3ec; border-radius:6px; background:#fff; color:var(--soumu-blue-dark,#31588f); font-size:12px; font-weight:600; cursor:pointer; }
.soumu-record-footer .record-pagination button.is-current { color:#fff; background:var(--soumu-blue-dark,#31588f); border-color:var(--soumu-blue-dark,#31588f); }
.soumu-record-footer .record-pagination button:disabled { color:#9aa5b5; background:#f7f8fa; border-color:#e7ebf1; cursor:default; }
.soumu-record-footer .record-pagination button:hover:not(:disabled):not(.is-current) { background:#edf3fc; border-color:#9bb1cf; }
.soumu-record-footer .record-pagination button:focus-visible { outline:2px solid #31588f; outline-offset:1px; }
.soumu-record-footer[hidden] { display:none !important; }
body .soumu-business-main.flex-col > .soumu-business-content { flex:1; min-height:0; overflow-y:auto; }
body .soumu-business-content .att-table-card > .att-card-head { display:none; }
/* Functional section headings remain on pages with multiple tables/forms. */
body .settings-wrap.soumu-business-main { width:100%; max-width:none; margin:0; }
body .settings-page:has(> .settings-wrap.soumu-business-main) { padding:0; }
.soumu-business-content .settings-heading .eyebrow { display:none; }
.soumu-business-content .settings-heading h1 { font-size:18px; }
.soumu-business-main .soumu-business-content table thead th { background:#f4f6f9; color:#475467; font-size:12px; font-weight:700; }
.soumu-business-content .soumu-record-footer { background:#f2f3f5; }
body .soumu-business-filter .att-btn,
body .soumu-business-filter .la-button:not(.secondary) { background:var(--soumu-blue-dark,#31588f); border-color:var(--soumu-blue-dark,#31588f); color:#fff; }
@media(min-width:701px) {
  body.attendance-page .att-layout.is-collapsed #attendanceSidebar { width:68px !important; }
}
@media(min-width:1024px) {
  body .la-workspace:has(> #businessSidebar.is-collapsed) { grid-template-columns:72px minmax(0,1fr); }
}
.attendance-view-tabs { display:flex; gap:4px; margin:0 0 16px; border-bottom:1px solid #dfe5ec; overflow-x:auto; }
.attendance-view-tabs a { display:inline-flex; align-items:center; justify-content:center; gap:8px; flex-shrink:0; padding:12px 18px; border-bottom:3px solid transparent; color:#64748b; font-size:13px; font-weight:600; text-decoration:none; }
.attendance-view-tabs a:hover { background:#f4f7fb; color:var(--soumu-blue-dark,#31588f); }
.attendance-view-tabs a[aria-current="page"] { color:var(--soumu-blue-dark,#31588f); border-bottom-color:var(--soumu-blue-dark,#31588f); background:#edf3fc; }
.attendance-view-tabs a:focus-visible { outline:2px solid #31588f; outline-offset:-3px; }
@media(max-width:639px) { .attendance-view-tabs a { flex:1; padding:11px 12px; font-size:12px; } }
/* Compact, placeholder-led attendance filters. */
body.attendance-page .soumu-business-content { padding-top:8px; }
body.attendance-page .att-filter .att-field { gap:0; }
body.attendance-page .att-filter input::placeholder { color:#8795a8; font-weight:400; }
body.attendance-page .att-filter .attendance-period-note { flex:0 0 100%; margin:0; line-height:1.8; }
body.attendance-page .att-filter:has(.attendance-period-note) { flex-wrap:wrap; }
/* Keep the attendance workspace in the viewport; only table rows scroll. */
body.attendance-page { overflow:hidden; }
body.attendance-page > .wrapper { display:flex; flex-direction:column; height:100dvh; min-height:0; overflow:hidden; }
body.attendance-page > .wrapper > .soumu-header { flex-shrink:0; }
body.attendance-page .att-shell { flex:1; min-height:0; width:100%; overflow:hidden; }
body.attendance-page .att-layout { height:100%; min-height:0; overflow:hidden; }
body.attendance-page .att-main.soumu-business-main { display:flex; flex-direction:column; height:100%; min-height:0; overflow:hidden; }
body.attendance-page .soumu-business-breadcrumb-bar { flex-shrink:0; }
body.attendance-page .soumu-business-content { display:flex; flex-direction:column; flex:1; min-height:0; overflow:hidden; }
body.attendance-page .att-filter { flex-shrink:0; }
body.attendance-page #attendanceResults { display:flex; flex-direction:column; flex:1; min-height:0; overflow:hidden; }
body.attendance-page .attendance-view-tabs { flex-shrink:0; }
body.attendance-page .att-table-card { display:flex; flex-direction:column; flex:1; min-height:0; margin-top:0; overflow:hidden; }
body.attendance-page .att-table-wrap { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
body.attendance-page .att-table { border-collapse:separate; border-spacing:0; }
body.attendance-page .att-table thead th { position:sticky; top:0; z-index:2; background:#f4f6f9; box-shadow:0 1px 0 #dfe5ec; }
body.attendance-page .att-table-card > .soumu-record-footer { flex-shrink:0; }
body.attendance-page .att-table-wrap:focus-visible { outline:2px solid var(--soumu-blue-dark,#31588f); outline-offset:-2px; }
.attendance-employee-link { border-radius:4px; text-decoration:none; }
.attendance-employee-link .person { color:var(--soumu-blue-dark,#31588f); }
.attendance-employee-link:hover .person { text-decoration:underline; text-underline-offset:3px; }
.attendance-employee-link:focus-visible { outline:2px solid #7899ca; outline-offset:3px; }
