/* GENERATED KRODIA RUNTIME COMMON CSS
Source modules are maintained separately. Runtime loads this file once after page-specific CSS.
Regenerate with cloud/krod/tools/build_krod_common_css.py.
*/

/* ===== source: krod.css ===== */

:root{--side:250px;--side-collapsed:76px}*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif}a{color:inherit}button,input,select{font:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{position:sticky;top:0;z-index:120;width:var(--side);height:100vh;flex:0 0 var(--side);overflow-y:auto;transition:width .18s ease,flex-basis .18s ease}.sidebar-home,.nav-item{text-decoration:none}.sidebar-home{display:flex;align-items:center;gap:9px;padding:11px 12px;border-radius:8px;font-weight:800}.sidebar-home:hover,.sidebar-home.active,.nav-item.active{background:#edf8f1;color:var(--navy)}.sidebar-home-icon{flex:0 0 18px;text-align:center;font-size:16px}.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-separator{height:1px;margin:10px 4px 13px}.nav-section{--section-bg:#f8fbf9;--section-head:#edf8f1;--section-ink:#52635a;overflow:hidden;border:1px solid #dce5e0;border-radius:10px;background:var(--section-bg)}.nav-section.tone-daily{--section-bg:#f5f9fd;--section-head:#e7f0f8;--section-ink:#315579}.nav-section.tone-operation{--section-bg:#f4faf9;--section-head:#e4f1ef;--section-ink:#2f625f}.nav-section.tone-hr{--section-bg:#faf7fc;--section-head:#efe7f4;--section-ink:#665174}.nav-section.tone-analysis{--section-bg:#f6faf5;--section-head:#e8f1e5;--section-ink:#4f6749}.nav-section.tone-data{--section-bg:#fdf9f3;--section-head:#f4eadb;--section-ink:#72583c}.nav-section.tone-system{--section-bg:#f7f8fa;--section-head:#e9edf2;--section-ink:#4f5f70}.nav-section-title{margin:0;border-bottom:1px solid rgba(52,64,84,.08);font-weight:900;letter-spacing:.08em}.nav-list{display:grid}.nav-item{display:flex;align-items:center;gap:8px;padding:8px 11px;border-radius:8px;font-weight:800}.nav-state{flex:0 0 auto;padding:2px 5px;border-radius:999px;font-size:9px;font-weight:900}.sidebar-edge-toggle{position:fixed;top:18px;left:var(--side);z-index:180;display:grid;width:22px;height:38px;place-items:center;padding:0;border:1px solid #c6d5cd;border-left:0;border-radius:0 8px 8px 0;box-shadow:0 2px 7px rgba(7,56,33,.10);font-size:17px;font-weight:900;cursor:pointer;transition:left .18s ease}.sidebar-overlay{display:none}.content-shell{min-width:0;flex:1;padding:20px 22px 40px}.mobile-toolbar{display:none}.mobile-home{margin-left:10px;font-size:13px;font-weight:900;text-decoration:none}.main{width:100%;max-width:1540px;margin:auto}.main.wide{max-width:none}.flash{margin-bottom:14px;padding:10px 12px;border:1px solid #b9d8c7;border-radius:8px;background:#edf8f1;color:#0d4f32;font-size:13px}.dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.dashboard-kicker,.module-kicker{margin-bottom:4px;font-size:10px;font-weight:900;letter-spacing:.12em}.dashboard-head h1,.module-view h1{margin:0 0 5px;font-size:25px}.dashboard-head p,.module-view>p,.module-head-row p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.dashboard-date{font-size:12px;font-weight:700;color:#637169}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:14px}.dashboard-panel,.module-view{padding:18px;border:1px solid var(--line);border-radius:13px}.dashboard-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #e5ece8}.dashboard-panel-head>div{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.dashboard-panel-head h2{margin:0;font-size:17px}.dashboard-panel-head span{font-size:10px;font-weight:700;color:#829188}.dashboard-focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-focus-card{position:relative;display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:4px 12px;min-height:126px;align-content:center;padding:18px 36px 17px 20px;border:1px solid #dce5e0;border-left:4px solid #9bc8ad;border-radius:10px;background:#fff;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.dashboard-focus-card:hover{border-color:#9bc8ad;box-shadow:0 5px 14px rgba(7,56,33,.09);transform:translateY(-1px)}.dashboard-focus-card::after{content:'›';position:absolute;right:9px;top:50%;transform:translateY(-50%);color:#829188;font-size:22px;font-weight:700}.dashboard-focus-card.focus-chukan{border-left-color:#4f8fce}.dashboard-focus-card.focus-report{border-left-color:#5ba66d}.dashboard-focus-card.focus-monthly{border-left-color:#8b72c9}.dashboard-focus-card.focus-maintenance{border-left-color:#32a6a1}.dashboard-focus-card strong{align-self:end;color:#405148;font-size:13px}.dashboard-focus-card .task-state{align-self:end;color:#15251d;font-size:23px;font-weight:900;line-height:1.15;text-align:right}.dashboard-focus-card .task-target,.dashboard-focus-card .task-meta{align-self:start;margin-top:5px;font-size:11px;color:#637169}.dashboard-focus-card .task-meta{text-align:right}.migration-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.migration-summary-card{display:grid;gap:6px;min-height:118px;align-content:center;padding:16px;border:1px solid #dce5e0;border-radius:10px;background:#f8fbf9}.migration-summary-card.available{background:#f1fbf4;border-color:#c9e8d2}.migration-summary-card span{font-size:11px;font-weight:800;color:#637169}.migration-summary-card strong{font-size:23px}.migration-summary-card small{color:#748078}.module-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.module-card{display:block;min-height:135px;padding:14px;border:1px solid #dce5e0;border-radius:10px;background:#fbfdfb;text-decoration:none;transition:.15s}.module-card:hover{border-color:#9bc8ad;background:#fff;box-shadow:0 5px 14px rgba(7,56,33,.07);transform:translateY(-1px)}.module-card.available{background:#f4fbf6;border-color:#c9e8d2}.module-card-top{display:flex;justify-content:space-between;gap:8px}.module-category{font-size:10px;font-weight:800;color:#748078}.module-status{padding:2px 6px;border-radius:999px;background:#eef4f0;color:#829188;font-size:9px;font-weight:900}.module-card.available .module-status{background:#e2f6e8;color:#317747}.module-card h3{margin:12px 0 6px;font-size:15px}.module-card p{margin:0;color:#637169;font-size:11px;line-height:1.6}.development-note{display:grid;gap:5px;margin-top:20px;padding:14px;border:1px solid #f2d18d;border-radius:9px;background:#fff7e6;color:#7a4a00;font-size:13px;line-height:1.7}.button-row{display:flex;gap:8px;margin-top:16px}.master-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.master-home{padding:22px}.master-sections{display:grid;gap:18px;margin-top:22px}.master-section{padding:16px;border:1px solid #dce5e0;border-radius:12px;background:#f8fbf9}.master-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #e5ece8}.master-section-head h2{margin:2px 0 0;font-size:18px}.master-section-head p{max-width:560px;margin:0;color:#637169;font-size:11px;line-height:1.6;text-align:right}.master-section-kicker{display:block;color:#748078;font-size:9px;font-weight:900;letter-spacing:.12em}.master-section .master-grid{margin-top:0}.master-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.master-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.master-section .master-card{min-height:124px;background:#fff}.master-section .master-card h3{margin:13px 0 6px;font-size:17px}.master-partner-tree{display:grid;grid-template-columns:minmax(0,1.3fr) 42px minmax(0,1fr);align-items:stretch}.master-card-parent{border-width:2px}.master-card-child{position:relative}.master-card-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.master-parent-label,.master-child-label{font-size:10px;font-weight:800;color:#637169}.master-tree-connector{display:flex;align-items:center;justify-content:center}.master-tree-connector span{display:block;width:100%;height:2px;background:#c6d5cd;position:relative}.master-tree-connector span::after{content:'›';position:absolute;right:-2px;top:50%;transform:translateY(-54%);font-size:20px;font-weight:900;color:#829188}.master-card-parent .master-card-state{background:#edf8f1;color:#145f3c}.master-card-child .master-card-state{background:#f5fbf7;color:#52635a}.master-card{display:block;min-height:150px;padding:16px;border:1px solid #dce5e0;border-radius:11px;background:#fbfdfb;text-decoration:none;transition:.15s}.master-card:hover{border-color:#9bc8ad;background:#fff;box-shadow:0 5px 14px rgba(7,56,33,.07);transform:translateY(-1px)}.master-card.available{background:#f3fbf5;border-color:#c4e5cd}.master-card-state{display:inline-block;padding:3px 7px;border-radius:999px;background:#eef4f0;color:#829188;font-size:10px;font-weight:900}.master-card.available .master-card-state{background:#e3f6e9;color:#317747}.master-card h2{margin:14px 0 6px;font-size:18px}.master-card p{margin:0;color:#637169;font-size:12px;line-height:1.7}.module-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.import-box{margin:18px 0 14px;padding:12px;border:1px solid #dce5e0;border-radius:10px;background:#f8fbf9}.import-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.drop-zone{flex:1 1 440px;min-height:72px;border:2px dashed #8fb59e;border-radius:10px;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px;background:#fff;cursor:pointer;transition:.15s}.drop-zone.dragover{border-color:#187344;background:#edf8f1}.drop-title{font-weight:800}.drop-sub{font-size:11px;color:#637169;margin-top:3px}.file-name{font-size:12px;color:#334155;margin-top:6px;word-break:break-all}.file-input{display:none}.import-note{margin-top:7px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.toolbar input,.toolbar select{height:36px;border:1px solid #c6d5cd;border-radius:7px;padding:0 10px}.toolbar input[type=text]{min-width:260px}.count{font-size:12px;font-weight:800;color:#405148}.table-scroll{overflow:auto;max-height:68vh;border:1px solid #dce5e0;border-radius:9px}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th,.data-table td{padding:8px 9px;border-bottom:1px solid #dce5e0;text-align:left;white-space:nowrap}.data-table th{position:sticky;top:0;z-index:1}.data-table th a{color:#33483d;text-decoration:none}.badge{display:inline-block;padding:2px 7px;border-radius:999px;background:#e2e8f0}.badge.ok{background:#dcfce7;color:#166534}.foot-note{margin:10px 0 0;color:#748078;font-size:11px}footer{border-top:1px solid var(--line);color:#748078}.footer-inner{margin-left:var(--side);padding:12px 18px 16px;text-align:center;font-size:10px;transition:margin-left .18s ease}.login-body{background:#f4f7f5}.login-wrap{display:grid;min-height:100vh;place-items:center;padding:24px}.login-card{width:min(440px,100%);padding:28px;border:1px solid #dce5e0;border-radius:14px;background:#fff;box-shadow:var(--shadow)}.login-kicker{color:var(--navy);font-size:10px;font-weight:900;letter-spacing:.12em}.login-card h1{margin:7px 0 4px;font-size:25px}.login-card p{margin:0 0 18px;color:#637169;font-size:12px}.login-card label{display:block;margin-bottom:6px;font-size:12px;font-weight:800}.login-card input{width:100%;height:42px;margin-bottom:10px;border:1px solid #c6d5cd;border-radius:8px;padding:0 11px}.login-card .primary-button{width:100%}@media(min-width:981px){body.sidebar-collapsed .sidebar{width:var(--side-collapsed);flex-basis:var(--side-collapsed)}body.sidebar-collapsed .sidebar-edge-toggle{left:var(--side-collapsed)}body.sidebar-collapsed .sidebar-inner{padding-left:8px;padding-right:8px}body.sidebar-collapsed .sidebar-home{justify-content:center;padding:11px 8px}body.sidebar-collapsed .sidebar-home .nav-label,body.sidebar-collapsed .nav-item .nav-label,body.sidebar-collapsed .nav-state{display:none}body.sidebar-collapsed .nav-section{border:0;border-radius:0;background:transparent;overflow:visible}body.sidebar-collapsed .nav-section-title{height:1px;margin:12px 6px 8px;border:0;color:transparent;overflow:hidden}body.sidebar-collapsed .nav-list{padding:0}body.sidebar-collapsed .nav-item::after{content:attr(data-short);width:32px;height:32px;place-items:center;border:1px solid #dce5e0;border-radius:8px;background:#f8fbf9;color:#33483d;font-size:15px;font-weight:900}body.sidebar-collapsed .footer-inner{margin-left:var(--side-collapsed)}}@media(max-width:1100px){.module-card-grid,.master-grid,.master-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.master-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.sidebar{position:fixed;top:0;left:0;z-index:260;width:min(82vw,290px);height:100vh;transform:translateX(-104%);transition:transform .2s ease}body.nav-open .sidebar{transform:translateX(0)}.sidebar-edge-toggle{display:none}.sidebar-overlay{position:fixed;inset:0;z-index:250;display:block;background:rgba(7,56,33,.38);opacity:0;pointer-events:none;transition:opacity .2s ease}body.nav-open .sidebar-overlay{opacity:1;pointer-events:auto}.content-shell{padding:10px 14px 32px}.mobile-toolbar{position:sticky;top:0;z-index:200;display:flex;align-items:center;min-height:48px;margin:0 -14px 12px;padding:6px 14px;border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}.footer-inner{margin-left:0}.dashboard-focus-grid{grid-template-columns:1fr}.migration-summary{grid-template-columns:1fr 1fr}.module-head-row{flex-direction:column}}@media(max-width:700px){.module-card-grid,.master-grid,.master-grid-2,.master-grid-3,.migration-summary{grid-template-columns:1fr}.master-section-head{align-items:flex-start;flex-direction:column;gap:5px}.master-section-head p{text-align:left}.master-partner-tree{grid-template-columns:1fr;gap:0}.master-tree-connector{height:28px}.master-tree-connector span{width:2px;height:100%}.master-tree-connector span::after{content:'⌄';right:auto;left:50%;top:auto;bottom:-5px;transform:translateX(-50%);font-size:18px}.dashboard-head{align-items:flex-start;flex-direction:column;gap:6px}.dashboard-panel,.module-view{padding:14px 12px}.dashboard-focus-card{min-height:112px;padding:15px 30px 14px 16px}.dashboard-focus-card .task-state{font-size:21px}.toolbar input[type=text]{min-width:100%;width:100%}}

/* KRODIA dashboard standard layout: consolidated from dashboard_compact.css. */
.dashboard-grid{gap:11px}.dashboard-panel{padding:14px 15px;border-color:var(--krod-border,#dce5e0)}.dashboard-panel-head{margin-bottom:8px;padding-bottom:7px}.dashboard-focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.dashboard-focus-card{min-height:74px;padding:10px 26px 10px 52px;gap:1px 8px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title state" "target target" "meta meta";align-content:center;position:relative;overflow:hidden}.dashboard-focus-card>strong{grid-area:title;align-self:center;font-size:13px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-focus-card .task-state{grid-area:state;align-self:center;justify-self:end;font-size:17px;line-height:1.15;white-space:nowrap}.dashboard-focus-card .task-target{grid-area:target;margin-top:2px;font-size:9px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-focus-card .task-meta{grid-area:meta;margin-top:1px;font-size:9px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-card-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.72);border:1px solid currentColor;color:#52615a}.dashboard-card-icon svg,.quick-register-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.dashboard-focus-card::after{right:9px}.dashboard-focus-card:hover .dashboard-card-icon{background:#fff}.dashboard-focus-card.focus-maintenance.available{border-color:#b8dedb;border-left-color:#32a6a1;background:#f3fbfa}.dashboard-focus-card.focus-maintenance.available .task-state,.dashboard-focus-card.focus-maintenance.available .dashboard-card-icon{color:#167c78}.dashboard-focus-card.focus-recruitment-interview{border-color:#f6d7d9;border-left-color:#d94f59;background:#fff8f8}.dashboard-focus-card.focus-recruitment-interview .task-state,.dashboard-focus-card.focus-recruitment-interview .dashboard-card-icon{color:#b4232c}.dashboard-focus-card.focus-recruitment-join{border-color:#cfe0f6;border-left-color:#4b83c3;background:#f7fbff}.dashboard-focus-card.focus-recruitment-join .task-state,.dashboard-focus-card.focus-recruitment-join .dashboard-card-icon{color:#245f9f}.dashboard-focus-card.focus-interview-signature .dashboard-card-icon{color:#8a6414}.dashboard-focus-card.focus-incident .dashboard-card-icon{color:#9b2c2c}.dashboard-focus-card.focus-chukan .dashboard-card-icon{color:#2d74b7}.dashboard-focus-card.focus-report .dashboard-card-icon,.dashboard-focus-card.focus-daily-report-gap .dashboard-card-icon{color:#9a5b00}.dashboard-focus-card.focus-monthly .dashboard-card-icon{color:#6f55b5}.dashboard-focus-card.focus-forecast-labor .dashboard-card-icon{color:#157347}.dashboard-focus-card.focus-paid-leave-conflict .dashboard-card-icon{color:#b42318}
.quick-register-panel{padding-top:12px;padding-bottom:13px}.quick-register-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.quick-register-card{min-height:62px;border:1px solid #d7e2dc;border-radius:11px;background:#fff;color:#153529;text-decoration:none;display:flex;align-items:center;gap:10px;padding:9px 11px;position:relative;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.quick-register-card:hover{transform:translateY(-1px);border-color:#76ad91;box-shadow:0 3px 10px rgba(20,65,45,.08)}.quick-register-icon{width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:grid;place-items:center;background:#f2f8f5;color:#167a50}.quick-register-card>span:not(.quick-register-icon){min-width:0;display:flex;flex-direction:column;gap:2px}.quick-register-card strong{font-size:12px;line-height:1.25;white-space:nowrap}.quick-register-card small{font-size:9px;color:#66766f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-register-card>b{margin-left:auto;font-size:18px;font-weight:500;color:#6a8879}.quick-incident .quick-register-icon{color:#a82c34;background:#fff5f5}.quick-interview .quick-register-icon{color:#176c4a;background:#f1faf5}.quick-dispatch .quick-register-icon{color:#256ca8;background:#f2f8fd}.quick-leave .quick-register-icon{color:#8b6415;background:#fff9ec}.quick-applicant .quick-register-icon{color:#6d50a5;background:#f7f4fc}.migration-summary-card{min-height:92px;padding:13px;gap:4px}.migration-summary-card strong{font-size:21px}.module-card{min-height:108px;padding:12px 13px}.module-card h3{margin:8px 0 4px;font-size:14px}.module-card p{font-size:10px;line-height:1.5}
@media(max-width:1180px){.dashboard-focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-register-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.dashboard-panel{padding:12px 11px}.dashboard-focus-grid{grid-template-columns:1fr;gap:6px}.dashboard-focus-card{min-height:70px;padding:9px 24px 9px 49px}.dashboard-card-icon{left:10px;width:29px;height:29px}.dashboard-focus-card .task-state{font-size:16px}.quick-register-grid{grid-template-columns:1fr 1fr}.quick-register-card{min-height:58px}.quick-register-card small{display:none}}@media(max-width:430px){.quick-register-grid{grid-template-columns:1fr}}

/* Dashboard heading/card rules are part of the KRODIA shared standard. */
.dashboard-panel-head h2{
  display:flex;
  align-items:center;
  gap:8px;
}
.dashboard-panel-head h2::before{
  content:"";
  width:4px;
  height:17px;
  border-radius:2px;
  background:var(--krod-green-700,#187344);
  flex:none;
}
.module-card.available:hover{
  border-color:var(--krod-green-500,#22a45f);
  background:var(--krod-green-softer,#f3faf5);
}
.dashboard-focus-card:hover{
  border-color:var(--krod-green-500,#22a45f);
}
.payroll-month-actions,.payroll-settings-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;overflow:visible}
.payroll-attendance-summary th,.payroll-attendance-summary td{text-align:center}
.payroll-evidence th{text-align:center}
.payroll-evidence td:nth-child(1){text-align:right;white-space:nowrap}
.payroll-evidence td:nth-child(2){text-align:left}
.payroll-evidence td:nth-child(n+3){text-align:center}

.payroll-deduction-fields{align-items:start!important}
.payroll-deduction-fields>label{display:flex;flex-direction:column;justify-content:flex-start;gap:6px;min-width:0}
.payroll-deduction-fields>label>span{line-height:20px}
.payroll-deduction-fields input,.payroll-deduction-fields select{height:38px!important;min-height:38px!important;margin:0!important;box-sizing:border-box}
.payroll-deduction-fields small{line-height:1.5}
.payroll-deduction-fields textarea{width:100%;box-sizing:border-box;resize:vertical}
.payroll-deduction-reason{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;margin-top:4px;max-width:32em}

/* ===== source: master-edit.css ===== */

.head-actions,.row-actions,.form-actions{display:flex;gap:8px;align-items:center}
.link-button{display:inline-flex;align-items:center;text-decoration:none}
.row-actions form{margin:0}
.master-list-compact .data-table th,.master-list-compact .data-table td{padding:6px 7px}
.master-list-compact .data-table .compact-col{width:1%;white-space:nowrap}
.warn-button{border-color:#f4b4b4;color:#a12828}
.master-edit-form{margin-top:20px}
.business-master-edit-form .form-grid{grid-template-columns:minmax(0,1fr);max-width:760px}.business-master-edit-form .wide-field{grid-column:auto}
.business-pair-row,.business-toggle-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.business-triple-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.business-departure-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.business-departure-row label span{font-size:10px;white-space:nowrap}.business-departure-row input{padding-left:5px;padding-right:5px}
.client-master-edit-form .form-grid{grid-template-columns:minmax(0,1fr);max-width:760px}.client-master-edit-form .wide-field{grid-column:auto}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.payroll-method-scroll{overflow-x:auto;padding:2px 0 8px}
.payroll-method-grid{grid-template-columns:repeat(4,minmax(210px,1fr)) minmax(430px,1.8fr);min-width:1340px;gap:10px;margin:0}
.payroll-method-grid>.info-panel{min-width:0}
.info-panel.payroll-method-card{border:1px solid var(--krod-border,#dce5e0);background:#fbfcfb;color:var(--krod-text,#15251d);transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}
.info-panel.payroll-method-card.is-selected-payroll-method{border:3px solid var(--krod-green-700,#187344);background:#e8f7ee;box-shadow:0 0 0 2px rgba(24,115,68,.12)}
.payroll-method-card.is-selected-payroll-method .payroll-method-choice strong{color:var(--krod-green-900,#073821)}
.payroll-selected-badge,.payroll-configured-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;border:1px solid #82b99a;border-radius:999px;background:#fff;color:var(--krod-green-800,#145f3c);font-size:10px;font-weight:900;line-height:1.3;white-space:nowrap}
.payroll-selected-badge[hidden]{display:none}
.payroll-method-tab-button{display:inline-flex;align-items:center;gap:6px}
.payroll-method-tab-button.is-configured-payroll-method.secondary-button{border:2px solid var(--krod-green-700,#187344);background:#fff;color:var(--krod-green-900,#073821)}
.payroll-method-tab-button.primary-button .payroll-configured-badge{border-color:rgba(255,255,255,.72);background:rgba(255,255,255,.16);color:#fff}
.payroll-method-grid input[type="number"]{max-width:170px}
.payroll-method-grid input[readonly]{max-width:190px}
.payroll-combined-card{min-width:0}
.payroll-combined-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.payroll-combined-section{display:grid;align-content:start;gap:8px;padding:10px;border:1px solid var(--krod-border,#dce5e0);border-radius:10px;background:#fff}
.payroll-combined-section h3{margin:0;padding-bottom:8px;border-bottom:1px solid var(--krod-border,#dce5e0);font-size:14px}
.payroll-combined-section label{display:grid;gap:6px;font-size:12px;font-weight:800}
.payroll-combined-section input,.payroll-combined-section select{width:100%}
.payroll-combined-section p{margin:0;font-size:12px;line-height:1.6}
.payroll-method-choice{display:inline-flex!important;align-items:center;gap:7px!important;cursor:pointer}
.payroll-method-choice input{width:auto!important;margin:0}
.payroll-calculation-table{min-width:920px;table-layout:fixed}
.payroll-calculation-item-col{width:220px}.payroll-calculation-category-col{width:100px}.payroll-calculation-formula-col{width:500px}.payroll-calculation-value-col{width:200px}
.payroll-minimum-result{padding:8px 10px;border-radius:8px;font-weight:900}
.payroll-minimum-result.is-ok{border:1px solid #78b995;background:#edf8f1;color:#12633a}
.payroll-minimum-result.is-warning{border:1px solid #e8b66b;background:#fff8e8;color:#8a5200}
.form-grid label{display:grid;gap:6px;font-size:12px;font-weight:800}
.form-grid label span b{color:#b42318}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--krod-border-strong,#c6d5cd);border-radius:8px;padding:9px 10px;background:#fff;font:inherit}
.master-edit-form input:required,.master-edit-form select:required,.master-edit-form textarea:required{transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.master-edit-form input:required:invalid,.master-edit-form select:required:invalid,.master-edit-form textarea:required:invalid{border-color:#fda29b;background:#fff4f3;box-shadow:0 0 0 1px rgba(217,45,32,.06)}
.form-grid input:disabled{background:var(--krod-surface-muted,#eef4f0);color:#6f7d75}
.wide-field{grid-column:1/-1}
.form-actions{justify-content:flex-end;margin-top:18px}
.danger-left{margin-right:auto}
.required-mark{margin-left:3px;color:#d92d20;font-size:12px;font-weight:900;vertical-align:top}
.check-field{display:flex!important;align-items:center;gap:9px;min-height:42px;padding:8px 10px;border:1px solid var(--krod-border,#dce5e0);border-radius:8px;background:var(--krod-surface-subtle,#f8fbf9)}.check-field input{width:auto!important;margin:0}.check-field span{font-weight:800}
.business-week-field{display:flex;align-items:center;gap:18px;min-height:54px;padding:10px 14px;border:1px solid var(--krod-border,#dce5e0);border-radius:10px;background:var(--krod-surface-subtle,#f8fbf9)}.business-week-title{font-size:12px;font-weight:900;white-space:nowrap}.business-week-options{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.business-week-option{display:flex!important;align-items:center;gap:6px!important;font-size:13px!important;font-weight:800!important;cursor:pointer}.business-week-option input{width:auto!important;margin:0;transform:scale(1.08)}
.master-date-wrap{position:relative;display:flex;align-items:center}.master-date-selects{display:grid;grid-template-columns:minmax(92px,1.35fr) minmax(66px,1fr) minmax(66px,1fr);gap:6px;width:100%}.master-month-selects{display:grid;grid-template-columns:minmax(92px,1.35fr) minmax(66px,1fr);gap:6px;width:100%}.master-date-selects select,.master-month-selects select{min-width:0;padding-left:7px;padding-right:4px}.master-date-wrap:focus-within{outline:2px solid var(--krod-focus-ring,rgba(25,135,84,.14));outline-offset:1px;border-radius:8px}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}.wide-field{grid-column:auto}.head-actions{flex-wrap:wrap}.business-week-field{align-items:flex-start;flex-direction:column;gap:8px}.business-week-options{gap:12px}.business-pair-row,.business-triple-row,.business-toggle-row{grid-template-columns:1fr}.business-departure-row{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 2026-09-24: 従業員一覧をKRODIA高密度一覧標準へ合わせる。従業員一覧だけに限定する。 */
.employee-view.master-list-compact .data-table th,
.employee-view.master-list-compact .data-table td,
.master-standard-list .data-table th,
.master-standard-list .data-table td,
.standard-admin-list .data-table th,
.standard-admin-list .data-table td{
  border-right:1px solid var(--krod-border,#dce5e0);
}
.employee-view.master-list-compact .data-table th:last-child,
.employee-view.master-list-compact .data-table td:last-child,
.master-standard-list .data-table th:last-child,
.master-standard-list .data-table td:last-child,
.standard-admin-list .data-table th:last-child,
.standard-admin-list .data-table td:last-child{
  border-right:0;
}
.employee-view.master-list-compact .data-table tbody tr:nth-child(even),
.master-standard-list .data-table tbody tr:nth-child(even),
.standard-admin-list .data-table tbody tr:nth-child(even){
  background:#f8fbf9;
}
.employee-view.master-list-compact .employee-number-cell{
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.employee-view.master-list-compact .employee-status-cell{
  text-align:center;
}
.employee-view.master-list-compact .employee-action-head,
.employee-view.master-list-compact .employee-action-cell{
  text-align:right;
}

/* 2026-09-24: 非配車の共通マスタ一覧だけを高密度一覧標準へ寄せる。 */
.master-standard-list .master-status-cell{
  text-align:center;
}
.master-standard-list .master-status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
  padding:3px 7px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
}
.master-standard-list .master-status-badge.is-active{
  background:#e8f7ee;
  color:var(--krod-green-800,#145f3c);
}
.master-standard-list .master-status-badge.is-inactive{
  background:#edf1ef;
  color:#52635a;
}
.master-standard-list .master-empty{
  padding:26px 12px!important;
  color:var(--krod-text-muted,#637169);
  text-align:center!important;
}

/* 2026-09-24: 従業員一覧の0件表示を標準化する。 */
.employee-view.master-list-compact .employee-empty{
  padding:26px 12px!important;
  color:var(--krod-text-muted,#637169);
  text-align:center!important;
}

/* 2026-09-24: 非配車マスタ一覧の操作列・数値列を最終統一する。 */
.master-standard-list .master-number-cell{
  text-align:right;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.master-standard-list .master-action-head,
.master-standard-list .master-action-cell{
  text-align:right;
  white-space:nowrap;
}

/* ===== source: krod_page_header.css ===== */

.krod-page-header{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:20px;min-height:66px;padding:12px 16px;border:1px solid var(--krod-border,#dce5e0)}
.krod-page-header-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:20px;font-weight:900;line-height:1.2}
.krod-page-header-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;flex-wrap:nowrap}
.krod-page-header-controls form{display:flex;align-items:center;gap:8px;margin:0}
.krod-page-header-controls input[type="month"],.krod-page-header-controls input[type="date"]{height:38px;min-width:150px;padding:0 10px;border:1px solid var(--krod-border-strong,#c6d5cd);border-radius:8px;background:#fff;color:var(--krod-text,#15251d);font-weight:800}
.krod-page-header-controls .krod-page-header-nav{min-width:62px}
@media(max-width:1100px){.krod-page-header{grid-template-columns:minmax(180px,1fr) auto;gap:12px}.krod-page-header-title{font-size:18px}.krod-page-header-controls{gap:6px}}
@media(max-width:820px){.krod-page-header{grid-template-columns:1fr;align-items:start}.krod-page-header-controls{justify-content:flex-start;flex-wrap:wrap}.krod-page-header-controls form{flex:1 1 100%}.krod-page-header-controls input[type="month"],.krod-page-header-controls input[type="date"]{flex:1 1 auto;min-width:0}}

/* ===== source: krod_calendar.css ===== */

:root{
  --krod-calendar-weekday:#138447;
  --krod-calendar-sun:#9f3f4b;
  --krod-calendar-sat:#315c96;
  --krod-calendar-border:#dce5e0;
  --krod-calendar-grid-line:#e5ece8;
  --krod-calendar-selected:#edf8f1;
  --krod-calendar-selected-line:var(--krod-green-500,#22a45f);
  --krod-calendar-today:var(--krod-green-900,#0d4f32);
  --krod-calendar-outside:#f6f8f7;
}
.krod-calendar-component{display:grid;gap:10px}
.krod-calendar-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:center;gap:24px;min-height:58px;padding:10px 14px;border:1px solid var(--krod-border,#dce5e0);border-radius:11px;background:linear-gradient(180deg,#fff,var(--krod-surface-subtle,#f8fbf9))}
.krod-calendar-page-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--krod-text,#15251d);font-size:18px;font-weight:900}
.krod-calendar-controls{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0;flex-wrap:nowrap}
.krod-calendar-controls-note{margin-right:3px;color:var(--krod-text-muted,#637169);font-size:11px;font-weight:900;white-space:nowrap}
.krod-calendar-nav{min-width:62px;flex:0 0 auto}
.krod-calendar-jump{display:flex;align-items:center;gap:7px;margin-left:2px;flex:0 0 auto}
.krod-calendar-jump input{height:36px;min-width:150px;padding:0 9px;border:1px solid var(--krod-border-strong,#c6d5cd);border-radius:7px;background:#fff;color:var(--krod-text,#15251d);font-weight:700}
.krod-calendar-card{overflow:auto;border:1px solid var(--krod-calendar-border);border-radius:11px;background:#fff;box-shadow:var(--krod-shadow-card,0 1px 2px rgba(7,56,33,.06),0 5px 16px rgba(7,56,33,.06))}
.krod-calendar-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:8px 12px;border-bottom:1px solid var(--krod-calendar-border)}
.krod-calendar-note{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--krod-text-muted,#637169);font-size:11px}
.krod-calendar-month-label{flex:0 0 auto;color:var(--krod-green-900,#0d4f32);font-size:18px;font-weight:900}
.krod-calendar-weekdays,.krod-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:760px}
.krod-calendar-weekdays>div{padding:8px;text-align:center;background:var(--krod-calendar-weekday);color:#fff;border-right:1px solid rgba(255,255,255,.18);font-size:12px;font-weight:900}
.krod-calendar-weekdays>div:last-child{border-right:0}
.krod-calendar-weekdays .sun{background:var(--krod-calendar-sun)}
.krod-calendar-weekdays .sat{background:var(--krod-calendar-sat)}
.krod-calendar-day,.krod-calendar-blank{position:relative;min-height:116px;padding:8px;border:0;border-right:1px solid var(--krod-calendar-grid-line);border-bottom:1px solid var(--krod-calendar-grid-line);background:#fff;color:var(--krod-text,#15251d);text-align:left;font:inherit}
.krod-calendar-day:nth-child(7n),.krod-calendar-blank:nth-child(7n){border-right:0}
.krod-calendar-day{display:flex;flex-direction:column;gap:4px;cursor:pointer}
.krod-calendar-day:hover{background:var(--krod-green-softer,#f5fbf7)}
.krod-calendar-day.sun{background:#fffafa}.krod-calendar-day.sat{background:#f8fbff}
.krod-calendar-day-number{font-size:14px;font-weight:900;color:var(--krod-text,#15251d)}
.krod-calendar-day.sun .krod-calendar-day-number{color:#b42318}
.krod-calendar-day.sat .krod-calendar-day-number{color:#175cd3}
.krod-calendar-day.is-today,.krod-calendar-day.today{box-shadow:inset 0 0 0 3px var(--krod-calendar-today);z-index:1}
.krod-calendar-day.is-selected,.krod-calendar-day.active{background:var(--krod-calendar-selected);box-shadow:inset 0 0 0 3px var(--krod-calendar-selected-line);z-index:2}
.krod-calendar-day.is-today.is-selected,.krod-calendar-day.today.active{box-shadow:inset 0 0 0 3px var(--krod-calendar-selected-line),inset 0 0 0 6px var(--krod-calendar-today)}
.krod-calendar-day.outside,.krod-calendar-blank{background:var(--krod-calendar-outside);color:#b5bdc8}
.krod-calendar-day.outside .krod-calendar-day-number{color:#b5bdc8}
.krod-calendar-items{display:grid;gap:3px;min-height:0}
.krod-calendar-item{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;padding:2px 4px;border-radius:5px;font-size:10px;line-height:1.3}
.krod-calendar-item>span,.krod-calendar-item>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.krod-calendar-overflow{margin-top:auto;color:var(--krod-text-muted,#637169);font-size:10px;font-weight:800}
@media(max-width:1100px){.krod-calendar-toolbar{grid-template-columns:minmax(190px,1fr) auto;gap:14px}.krod-calendar-page-title{font-size:16px}.krod-calendar-controls{gap:5px}.krod-calendar-nav{min-width:56px}.krod-calendar-jump input{min-width:140px}}
@media(max-width:820px){.krod-calendar-toolbar{grid-template-columns:1fr;gap:8px}.krod-calendar-controls{justify-content:flex-start;flex-wrap:wrap}.krod-calendar-jump{margin-left:0}.krod-calendar-page-title{font-size:16px}.krod-calendar-note{display:none}.krod-calendar-day,.krod-calendar-blank{min-height:108px}}
@media(max-width:560px){.krod-calendar-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.krod-calendar-nav{width:100%}.krod-calendar-jump{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto}.krod-calendar-jump input{width:100%;min-width:0}}

/* ===== source: krod_calendar_mobile.css ===== */

/* KROD通常カレンダーのスマートフォン標準。配車DOMには適用しない。 */
.krod-calendar-mobile-details{display:none}
.actual-day-mobile-summary{display:none}

@media(max-width:700px),(max-width:900px) and (orientation:landscape) and (max-height:500px){
  .krod-calendar-controls-note{display:none}
  .krod-calendar-card{overflow:hidden}
  .krod-calendar-card-head{min-height:34px;padding:6px 8px}
  .krod-calendar-month-label{font-size:15px}
  .krod-calendar-weekdays,.krod-calendar-grid{width:100%;min-width:0}
  .krod-calendar-weekdays>div{min-width:0;padding:5px 0;font-size:11px}
  .krod-calendar-day,.krod-calendar-blank{min-width:0;min-height:58px;padding:4px 3px;gap:1px;overflow:hidden}
  .krod-calendar-day-number{font-size:12px;line-height:1.2}
  .krod-calendar-items,.krod-calendar-overflow{display:none}
  .krod-calendar-day:not([data-mobile-summary=""])::after{content:attr(data-mobile-summary);display:block;max-width:100%;margin-top:auto;overflow:hidden;color:var(--krod-text-muted,#637169);font-size:10px;font-weight:900;line-height:1.2;text-align:center;text-overflow:ellipsis;white-space:nowrap}

  .krod-calendar-mobile-details{display:grid;gap:6px;padding:10px;border:1px solid var(--krod-calendar-border);border-radius:10px;background:var(--krod-surface,#fff)}
  .krod-calendar-mobile-details>h2{margin:0 0 2px;color:var(--krod-green-900,#0d4f32);font-size:14px}
  .krod-calendar-mobile-detail{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:7px 8px;border:1px solid var(--krod-border,#dce5e0);border-radius:7px;background:var(--krod-surface-subtle,#f8fbf9);color:var(--krod-text,#15251d);font-size:11px;text-decoration:none}
  .krod-calendar-mobile-detail>span,.krod-calendar-mobile-detail>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

  .incident-calendar{overflow:hidden}
  .incident-calendar .calendar-weekdays,.incident-calendar .calendar-week{width:100%;min-width:0;grid-template-columns:repeat(7,minmax(0,1fr))}
  .incident-calendar .calendar-weekdays span{min-width:0;padding:5px 0;font-size:11px}
  .incident-calendar .incident-day{min-width:0;min-height:58px;padding:4px 3px;overflow:hidden}
  .incident-calendar .incident-day>strong{font-size:12px;line-height:1.2}
  .incident-calendar .incident-chip,.incident-calendar .more-count{display:none}
  .incident-calendar .incident-day:not([data-mobile-summary=""])::after{content:attr(data-mobile-summary);display:block;max-width:100%;margin-top:7px;overflow:hidden;color:var(--krod-text-muted);font-size:10px;font-weight:900;line-height:1.2;text-align:center;text-overflow:ellipsis;white-space:nowrap}

  .actual-calendar-wrap{overflow:hidden}
  .actual-calendar{width:100%;min-width:0;table-layout:fixed}
  .actual-calendar th{min-width:0;padding:5px 0;font-size:11px}
  .actual-calendar td{height:58px}
  .actual-calendar .actual-day{height:58px;min-width:0;padding:4px 3px;gap:1px;overflow:hidden}
  .actual-day-number{font-size:12px;line-height:1.2}
  .actual-day>strong,.actual-day>small:not(.actual-day-mobile-summary),.actual-day>em{display:none}
  .actual-day-mobile-summary{display:block!important;margin-top:auto;overflow:hidden;font-size:10px!important;font-weight:900;line-height:1.2;text-align:center;text-overflow:ellipsis;white-space:nowrap}

  .fuel-calendar{overflow:hidden}
  .fuel-weekdays,.fuel-calendar-grid{width:100%;min-width:0;grid-template-columns:repeat(7,minmax(0,1fr))}
  .fuel-weekdays div{min-width:0;padding:5px 0;font-size:11px}
  .fuel-day,.fuel-blank{min-width:0;min-height:58px;padding:4px 3px;overflow:hidden}
  .fuel-day-head{display:block}
  .fuel-day-number{font-size:12px;line-height:1.2}
  .fuel-day-total,.fuel-day-products{display:none}
  .fuel-day:has(.fuel-day-product)::after{content:'あり';display:block;margin-top:8px;color:#175cd3;font-size:10px;font-weight:900;text-align:center}
}

/* ===== source: product_search.css ===== */

.krod-global-search{position:relative;z-index:80;display:flex;justify-content:center;padding:12px 24px 0}
.krod-product-search-shell{position:relative;width:min(760px,100%)}
.krod-product-search-input-wrap{display:flex;align-items:center;gap:10px;height:48px;padding:0 14px;border:1px solid var(--krod-border-strong,#c6d5cd);border-radius:12px;background:#fff;box-shadow:var(--krod-shadow-card,0 1px 2px rgba(7,56,33,.06),0 5px 16px rgba(7,56,33,.06))}
.krod-product-search-input-wrap:focus-within{border-color:#198754;box-shadow:0 0 0 3px rgba(25,135,84,.12)}
.krod-product-search-icon{flex:0 0 auto;color:var(--krod-text-muted,#637169);font-size:19px;line-height:1}
.krod-product-search-input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--krod-text,#15251d);font:inherit;font-size:15px}
.krod-product-search-input::placeholder{color:var(--krod-text-muted)}
.krod-product-search-clear{display:none;width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:var(--krod-text-muted,#637169);font-size:20px;line-height:1;cursor:pointer}
.krod-product-search-clear:hover,.krod-product-search-clear:focus{background:var(--krod-green-softer,#f3faf5);color:var(--krod-green-900,#0d4f32);outline:none}
.krod-product-search-shell.has-value .krod-product-search-clear{display:inline-grid;place-items:center}
.krod-product-search-panel{position:absolute;left:0;right:0;top:56px;overflow:hidden;border:1px solid var(--krod-border,#dce5e0);border-radius:12px;background:#fff;box-shadow:var(--krod-shadow-float,0 12px 32px rgba(7,56,33,.14))}
.krod-product-search-panel[hidden]{display:none}
.krod-product-search-status{padding:12px 16px;border-bottom:1px solid var(--krod-border,#dce5e0);color:var(--krod-text-muted,#637169);font-size:12px;font-weight:700}
.krod-product-search-results{max-height:min(58vh,520px);overflow:auto}
.krod-product-search-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:13px 16px;border-bottom:1px solid var(--krod-border,#dce5e0);color:inherit;text-decoration:none}
.krod-product-search-result:last-child{border-bottom:0}
.krod-product-search-result:hover,.krod-product-search-result.is-active{background:var(--krod-hover,#f1f8f4)}
.krod-product-search-result-name{display:block;margin-bottom:3px;color:#145f3c;font-size:14px;font-weight:800}
.krod-product-search-result-description{display:block;color:var(--krod-text-muted,#637169);font-size:12px;line-height:1.55}
.krod-product-search-result-category{align-self:start;padding-top:2px;color:#829188;font-size:11px;font-weight:700;white-space:nowrap}
.krod-product-search-empty{padding:22px 16px;text-align:center;color:var(--krod-text-muted,#637169);font-size:13px}
.krod-product-search-footer{display:flex;justify-content:flex-end;padding:9px 14px;border-top:1px solid var(--krod-border,#dce5e0);background:var(--krod-surface-subtle,#f8fbf9)}
.krod-product-search-footer a{color:var(--krod-green-800,#145f3c);font-size:12px;font-weight:800;text-decoration:none}
@media(max-width:980px){.krod-global-search{padding:10px 12px 0}.krod-product-search-input-wrap{height:44px}.krod-product-search-panel{top:52px}}
@media(max-width:560px){.krod-global-search{padding:8px 8px 0}.krod-product-search-result{grid-template-columns:1fr;gap:4px}.krod-product-search-result-category{padding-top:0}.krod-product-search-input{font-size:14px}}

/* ===== source: krod_theme.css ===== */

:root{--krod-green-950:#073821;--krod-green-900:#0d4f32;--krod-green-800:#145f3c;
  --krod-green-700:#187344;--krod-green-600:#198754;--krod-green-500:#22a45f;
  --krod-green-soft:#edf8f1;--krod-green-softer:#f5fbf7;
  --krod-bg:#f4f7f5;--krod-surface:#fff;--krod-text:#15251d;--krod-text-muted:#637169;
  --krod-border:#dce5e0;--krod-border-strong:#c6d5cd;--krod-danger:#c93645;
  --krod-warning:#b66a08;--krod-info:#2879bd;--krod-radius-sm:6px;--krod-radius-md:10px;
  --krod-radius-lg:14px;--krod-space-1:4px;--krod-space-2:8px;--krod-space-3:12px;
  --krod-space-4:16px;--krod-space-5:20px;--krod-shadow:0 1px 3px rgba(7,56,33,.08);
  --krod-surface-subtle:#f8fbf9;--krod-surface-muted:#eef4f0;--krod-divider:#e5ece8;
  --krod-hover:#f1f8f4;--krod-header-bg:#eef5f1;--krod-focus-ring:rgba(25,135,84,.14);
  --krod-shadow-card:0 1px 2px rgba(7,56,33,.06),0 5px 16px rgba(7,56,33,.06);
  --krod-shadow-float:0 12px 32px rgba(7,56,33,.14);
  --bg:var(--krod-bg);--surface:var(--krod-surface);--text:var(--krod-text);
  --muted:var(--krod-text-muted);--line:var(--krod-border);--navy:var(--krod-green-800);
  --shadow:var(--krod-shadow);--krod-button:var(--krod-green-700);
  --krod-button-hover:var(--krod-green-800);--krod-button-active:var(--krod-green-900);
  --krod-button-soft:var(--krod-green-soft);--krod-button-border:var(--krod-green-700);;--krod-semantic-saturday:#175cd3;
  --krod-semantic-early:#175cd3;
  --krod-semantic-info:#2879bd;
  --krod-semantic-inspection:#d06b32;
  --krod-semantic-quarterly:#4f86c6;}
body{background:var(--krod-bg);color:var(--krod-text)}
.sidebar{background:linear-gradient(180deg,var(--krod-green-950),var(--krod-green-900));border-right:0;box-shadow:6px 0 22px rgba(7,56,33,.14)}
.sidebar-inner{padding:12px 10px 20px;min-height:100%;display:flex;flex-direction:column}.sidebar-home{color:#fff}.sidebar-home:hover,.sidebar-home.active{background:rgba(255,255,255,.12);color:#fff}
.sidebar-separator{background:rgba(255,255,255,.16)}.nav-section,.nav-section.tone-daily,.nav-section.tone-operation,.nav-section.tone-hr,.nav-section.tone-analysis,.nav-section.tone-data,.nav-section.tone-system{border:0;background:transparent}
.nav-section+.nav-section{margin-top:8px}.nav-section-title{display:flex;align-items:center;gap:7px;padding:7px 9px;border:0;background:rgba(255,255,255,.07);color:#c9e8d5;font-size:10px}
.nav-category-icon,.nav-item-icon{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-item-icon{width:13px;height:13px;flex-basis:13px;fill:currentColor;stroke:none;opacity:.72}
.nav-list{gap:2px;padding:4px}.nav-item{min-height:36px;justify-content:flex-start;background:transparent;color:#e7f3ec;font-size:12px}.nav-item:hover{background:rgba(255,255,255,.10);color:#fff}.nav-item.active{background:#fff;color:var(--krod-green-900);box-shadow:0 2px 10px rgba(7,56,33,.22)}.nav-item .nav-label{flex:1}.nav-state{background:rgba(255,255,255,.12);color:#cfe6d8}.nav-state.available{background:rgba(144,238,180,.16);color:#b9efcd}.nav-item.active .nav-state.available{background:var(--krod-green-soft);color:var(--krod-green-800)}
.sidebar-build-version{margin:14px 4px 0;padding:10px 8px 2px;border-top:1px solid rgba(255,255,255,.16);border-top-color:rgba(255,255,255,.16)!important;color:#9bc5ac!important;font-size:9px;line-height:1.5;word-break:break-all}.sidebar-build-version strong{display:block;margin-top:2px;color:#d9eee1!important;font-size:10px;font-weight:800}.sidebar-edge-toggle{border-color:var(--krod-green-800);background:var(--krod-green-900);color:#fff}.sidebar-edge-toggle:hover{background:var(--krod-green-800)}
.mobile-toolbar{background:rgba(244,247,245,.96)}.mobile-home{color:var(--krod-green-900)}
.dashboard-panel,.module-view,.krod-card{background:var(--krod-surface);border-color:var(--krod-border);border-radius:var(--krod-radius-lg);box-shadow:var(--krod-shadow-card)}
.dashboard-kicker,.module-kicker{color:var(--krod-green-700)}.dashboard-head h1,.module-view h1,.krod-page-header-title{color:var(--krod-text)}
.krod-page-header{border-radius:var(--krod-radius-lg);background:linear-gradient(180deg,#fff,var(--krod-surface-subtle));box-shadow:var(--krod-shadow-card)}
.data-table,.krod-table{background:#fff;color:var(--krod-text)}.data-table th,.krod-table th{background:var(--krod-header-bg);color:var(--krod-green-900);border-bottom-color:var(--krod-border-strong)}.data-table td,.krod-table td{border-bottom-color:var(--krod-border)}.data-table tbody tr:nth-child(even),.krod-table tbody tr:nth-child(even){background:var(--krod-surface-subtle)}.data-table tbody tr:hover,.krod-table tbody tr:hover{background:var(--krod-hover)}.table-scroll{border-color:var(--krod-border);background:#fff}
input,select,textarea,.krod-form input,.krod-form select,.krod-form textarea{border-color:var(--krod-border-strong);background:#fff;color:var(--krod-text);border-radius:var(--krod-radius-sm)}
input:focus,select:focus,textarea:focus{border-color:var(--krod-green-600);outline:3px solid rgba(25,135,84,.14);outline-offset:0}
/* KROD共通フォーム: ページCSSのブラウザ由来・独自の立体表現を最終段で打ち消す。 */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),select,textarea{
  border-width:1px;border-style:solid;border-color:var(--krod-border-strong);background-color:var(--krod-surface);
  background-image:none;box-shadow:none!important;-webkit-box-shadow:none!important;filter:none;color:var(--krod-text)
}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):hover,select:hover,textarea:hover{border-color:#93ad9f}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):focus,select:focus,textarea:focus{
  border-color:var(--krod-green-600)!important;outline:3px solid var(--krod-focus-ring)!important;outline-offset:0;box-shadow:none!important
}
input:disabled,select:disabled,textarea:disabled{border-color:var(--krod-border);background-color:var(--krod-surface-muted)!important;color:#78867e;box-shadow:none!important;cursor:not-allowed}
.badge,.krod-badge{background:var(--krod-surface-muted);color:#52635a}.badge.ok,.badge.success,.krod-badge-success{background:var(--krod-green-soft);color:var(--krod-green-800)}.badge.warning,.krod-badge-warning{background:#fff4dc;color:#8a5207}.badge.error,.badge.danger,.krod-badge-danger{background:#fdebed;color:#a51f2e}.badge.info,.krod-badge-info{background:#eaf4fd;color:#1d659d}
.flash,.krod-alert,.info-panel{border-color:#bcd8c7;background:var(--krod-green-soft);color:var(--krod-green-900)}.alert-danger,.krod-alert-danger,[role="alert"].error{border-color:#efb8bf;background:#fff1f2;color:#9d2533}.alert-warning,.krod-alert-warning{border-color:#efd39a;background:#fff8e8;color:#7a4a00}
.master-section,.migration-summary-card,.module-card,.master-card{border-color:var(--krod-border)}.module-card.available,.master-card.available,.migration-summary-card.available{border-color:#bfe0ca;background:var(--krod-green-softer)}
footer{border-color:var(--krod-border);background:var(--krod-surface-muted)}.footer-inner a{color:var(--krod-green-800)}
.readonly-notice{margin-bottom:12px}.permission-readonly form[method="post"],.permission-readonly form[method="POST"],.permission-readonly a[href$="/new"],.permission-readonly a[href*="/edit"],.permission-readonly .danger-button,.permission-readonly .delete-button,.permission-readonly .actual-delete,.permission-readonly [data-write-action]{display:none!important}.legacy-login-help{margin-top:14px;color:var(--krod-text-muted);font-size:12px}.legacy-login-help summary{cursor:pointer;color:var(--krod-green-800);font-weight:700}.legacy-login-help p{margin:8px 0 0}.auth-actions,.auth-category-bulk{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.auth-category-bulk{margin:12px 0;padding:12px;border:1px solid var(--krod-border);border-radius:var(--krod-radius-sm);background:var(--krod-green-softer)}.auth-permission-table select{min-width:58px}.auth-permission-table th,.auth-permission-table td{text-align:center}.auth-permission-table th:first-child,.auth-permission-table td:first-child{text-align:left}.auth-role-fixed{font-weight:800;color:var(--krod-text-muted);display:block;padding:9px 11px;border-radius:var(--krod-radius-sm);background:var(--krod-surface-muted)}
.auth-permissions-view{max-width:980px;margin:0 auto}.auth-role-picker{position:sticky;top:8px;z-index:4;display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:14px 0;padding:14px}.auth-role-picker select{min-width:220px}.auth-role-help{color:var(--krod-text-muted);font-size:12px}.auth-category-list{display:grid;gap:12px}.auth-category-card{padding:0;overflow:hidden}.auth-category-card summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px 16px;cursor:pointer;background:var(--krod-header-bg);list-style:none}.auth-category-card summary::-webkit-details-marker{display:none}.auth-category-card summary::after{content:'＋';font-weight:900;color:var(--krod-green-800)}.auth-category-card[open] summary::after{content:'−'}.auth-category-heading{display:flex;align-items:center;gap:9px;min-width:0}.auth-category-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;color:var(--krod-green-800);flex:none}.auth-category-summary-level{margin-left:auto;font-size:12px;font-weight:800;color:var(--krod-text-muted)}.auth-category-body{padding:0 16px 14px}.auth-category-bulk label{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.auth-category-level{min-width:190px}.auth-delete-note{font-size:12px;color:#7a4a00}.auth-feature-list{border:1px solid var(--krod-border);border-radius:var(--krod-radius-sm);overflow:hidden}.auth-feature-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,320px);gap:14px;align-items:center;padding:11px 13px;background:var(--krod-surface);border-bottom:1px solid var(--krod-border)}.auth-feature-row:last-child{border-bottom:0}.auth-feature-name{font-weight:700}.auth-role-control select{width:100%}.auth-orphan-warning{display:flex;gap:8px;flex-direction:column;margin:12px 0}.auth-save-actions{position:sticky;bottom:8px;justify-content:flex-end;align-items:center;padding:12px;background:rgba(255,255,255,.94);border:1px solid var(--krod-border);border-radius:var(--krod-radius-sm);box-shadow:var(--krod-shadow-card)}#auth-unsaved-status{margin-right:auto;color:#8a5207;font-weight:800}
@media(min-width:981px){body.sidebar-collapsed .nav-item{padding:8px;justify-content:center}body.sidebar-collapsed .nav-item::after{display:none}body.sidebar-collapsed .nav-item-icon{display:block;width:20px;height:20px;flex-basis:20px}body.sidebar-collapsed .nav-section-title span{display:none}body.sidebar-collapsed .nav-section-title{justify-content:center;background:transparent;padding:7px 0}body.sidebar-collapsed .nav-category-icon{width:17px;height:17px}}
@media(max-width:980px){.sidebar{box-shadow:18px 0 42px rgba(7,56,33,.28)}}
@media(max-width:430px){.content-shell{padding-left:10px;padding-right:10px}.mobile-toolbar{margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px}.dashboard-panel,.module-view{padding:12px 10px}.krod-page-header{padding:11px 12px}}
@media(max-width:600px){.auth-role-picker{position:static}.auth-role-picker select,.auth-category-level{width:100%;min-width:0}.auth-category-card summary{padding:13px 12px}.auth-category-heading{flex-wrap:wrap}.auth-category-summary-level{display:none}.auth-category-body{padding:0 10px 10px}.auth-feature-row{grid-template-columns:1fr;gap:6px}.auth-category-bulk label,.auth-category-apply{width:100%}.auth-save-actions{bottom:4px}}


/* 2026-09-25: 共通視覚階層をKRODIA標準として強化する。 */
/* visual-only: geometry / dispatch behavior is intentionally unchanged */


/* base template visual styles externalized 2026-09-25 */
.sidebar-home.sidebar-brand{justify-content:center;padding:8px;background:#fff;border:1px solid var(--krod-border,#dce5e0)}
    .sidebar-home.sidebar-brand:hover,.sidebar-home.sidebar-brand.active{background:#fff;border-color:var(--krod-green-500,#22a45f)}
    .sidebar-brand-logo{display:block;width:100%;max-width:204px;height:auto;min-width:0;object-fit:contain}
    @media(min-width:981px){body.sidebar-collapsed .sidebar-home.sidebar-brand{padding:4px 2px;min-height:44px}}
    
    .sidebar-inner nav{flex:1 0 auto}
    
    
    .nav-google-section{margin-top:8px}
    .nav-google-title{display:flex;align-items:center;gap:6px;padding:7px 9px;color:#bfe2ce;font-size:10px;font-weight:800;letter-spacing:.02em}
    .nav-google-title .nav-google-star{font-size:11px;color:#f8d66d}
    .nav-google-section .nav-item{margin-bottom:2px}
    @media(min-width:981px){body.sidebar-collapsed .sidebar-build-version{display:none}body.sidebar-collapsed .nav-google-title{display:none}}
/* semantic colors: keep meaning distinct from generic KRODIA green */

.krod-num-head{text-align:right!important}

/* modal visual layer only — geometry remains screen-owned */
.paid-leave-dialog,
.employee-unsaved-dialog,
.vehicle-unsaved-dialog,
.billing-modal-card,
.billing-highway-modal-card{
  border-color:var(--krod-border,#dce5e0);
  background:var(--krod-surface,#fff);
  box-shadow:var(--krod-shadow-float,0 12px 32px rgba(7,56,33,.14));
}

/* KRODIA canonical operation buttons: runtime authority for shape, size and role. */
.primary-button,.dashboard-action,.krod-btn-primary,.krod-button.primary,.button.primary,
.secondary-button,.krod-btn-secondary,.krod-button.secondary,.button.secondary,.mobile-menu-button,
.danger-button,.delete-button,.krod-btn-danger{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;
  min-height:36px!important;height:36px!important;padding:0 14px!important;border:1px solid var(--krod-border-strong)!important;
  border-radius:var(--krod-radius-sm)!important;font-size:12px!important;font-weight:800!important;line-height:1.2!important;
  text-decoration:none!important;white-space:nowrap;cursor:pointer!important;
  transition:background-color .12s ease,border-color .12s ease,color .12s ease,translate .06s ease,box-shadow .08s ease
}
.primary-button,.dashboard-action,.krod-btn-primary,.krod-button.primary,.button.primary{
  border-color:var(--krod-green-700)!important;background:var(--krod-green-700)!important;color:#fff!important;
  box-shadow:0 2px 0 var(--krod-green-900),0 3px 8px rgba(7,56,33,.16)!important
}
.secondary-button,.krod-btn-secondary,.krod-button.secondary,.button.secondary,.mobile-menu-button{
  border-color:var(--krod-green-700)!important;background:var(--krod-surface)!important;color:var(--krod-green-800)!important;
  box-shadow:0 2px 0 var(--krod-border-strong),0 3px 7px rgba(7,56,33,.10)!important
}
.danger-button,.delete-button,.krod-btn-danger{
  border-color:var(--krod-danger)!important;background:var(--krod-danger)!important;color:#fff!important;
  box-shadow:0 2px 0 #9d2533,0 3px 8px rgba(120,24,35,.14)!important
}
.primary-button:hover,.dashboard-action:hover,.krod-btn-primary:hover,.krod-button.primary:hover,.button.primary:hover{background:var(--krod-green-800)!important}
.secondary-button:hover,.krod-btn-secondary:hover,.krod-button.secondary:hover,.button.secondary:hover,.mobile-menu-button:hover{background:var(--krod-green-soft)!important}
.danger-button:hover,.delete-button:hover,.krod-btn-danger:hover{background:#b72d3c!important}
.primary-button:active,.dashboard-action:active,.krod-btn-primary:active,.krod-button.primary:active,.button.primary:active{background:var(--krod-green-900)!important;box-shadow:inset 0 2px 4px rgba(7,56,33,.28)!important}
.secondary-button:active,.krod-btn-secondary:active,.krod-button.secondary:active,.button.secondary:active,.mobile-menu-button:active{background:var(--krod-green-soft)!important;box-shadow:inset 0 2px 4px rgba(7,56,33,.18)!important}
.danger-button:active,.delete-button:active,.krod-btn-danger:active{background:#9d2533!important;box-shadow:inset 0 2px 4px rgba(90,17,27,.28)!important}

/* Canonical compact utility buttons: table/row utilities only. */
.primary-button.compact,.secondary-button.compact,.danger-button.compact,.small-button,
.attendance-save-button,.attendance-columns-button,.attendance-search-button,
.actual-reconcile-button,.actual-action-modify,.actual-action-more,.dispatch-history-refresh,.chukan-action:not(.muted),
.lateness-filter-button,.lateness-filter-actions button,
.actual-delete,.warn-button,.actual-exclude-button,.attachment-delete-button,.maintenance-line-delete,
.business-alias-remove,.iv-file-remove,.maintenance-selected-file>button,.paid-leave-cancel,.status-cancel-button{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;
  min-height:34px!important;height:34px!important;padding:0 10px!important;border:1px solid var(--krod-border-strong)!important;
  border-radius:var(--krod-radius-sm)!important;font-size:11px!important;font-weight:800!important;line-height:1.2!important;
  text-decoration:none!important;white-space:nowrap;cursor:pointer!important;
  transition:background-color .12s ease,border-color .12s ease,color .12s ease,translate .06s ease,box-shadow .08s ease
}
.primary-button.compact,.attendance-save-button,.actual-reconcile-button{
  border-color:var(--krod-green-700)!important;background:var(--krod-green-700)!important;color:#fff!important;
  box-shadow:0 2px 0 var(--krod-green-900),0 3px 7px rgba(7,56,33,.14)!important
}
.secondary-button.compact,.small-button,.attendance-columns-button,.attendance-search-button,
.actual-action-modify,.actual-action-more,.dispatch-history-refresh,.chukan-action:not(.muted),
.lateness-filter-button,.lateness-filter-actions button{
  border-color:var(--krod-green-700)!important;background:var(--krod-surface)!important;color:var(--krod-green-800)!important;
  box-shadow:0 2px 0 var(--krod-border-strong),0 3px 6px rgba(7,56,33,.09)!important
}
.danger-button.compact,.actual-delete,.warn-button,.actual-exclude-button,.attachment-delete-button,.maintenance-line-delete,
.business-alias-remove,.iv-file-remove,.maintenance-selected-file>button,.paid-leave-cancel,.status-cancel-button{
  border-color:var(--krod-danger)!important;background:var(--krod-danger)!important;color:#fff!important;
  box-shadow:0 2px 0 #9d2533,0 3px 7px rgba(120,24,35,.12)!important
}
.primary-button.compact:hover,.attendance-save-button:hover,.actual-reconcile-button:hover{background:var(--krod-green-800)!important}
.secondary-button.compact:hover,.small-button:hover,.attendance-columns-button:hover,.attendance-search-button:hover,
.actual-action-modify:hover,.actual-action-more:hover,.dispatch-history-refresh:hover,.chukan-action:not(.muted):hover,
.lateness-filter-button:hover,.lateness-filter-actions button:hover{background:var(--krod-green-soft)!important}
.danger-button.compact:hover,.actual-delete:hover,.warn-button:hover,.actual-exclude-button:hover,.attachment-delete-button:hover,.maintenance-line-delete:hover,
.business-alias-remove:hover,.iv-file-remove:hover,.maintenance-selected-file>button:hover,.paid-leave-cancel:hover,.status-cancel-button:hover{background:#b72d3c!important}
.primary-button.compact:active,.attendance-save-button:active,.actual-reconcile-button:active{box-shadow:inset 0 2px 4px rgba(7,56,33,.28)!important}
.secondary-button.compact:active,.small-button:active,.attendance-columns-button:active,.attendance-search-button:active,
.actual-action-modify:active,.actual-action-more:active,.dispatch-history-refresh:active,.chukan-action:not(.muted):active,
.lateness-filter-button:active,.lateness-filter-actions button:active{box-shadow:inset 0 2px 4px rgba(7,56,33,.18)!important}
.danger-button.compact:active,.actual-delete:active,.warn-button:active,.actual-exclude-button:active,.attachment-delete-button:active,.maintenance-line-delete:active,
.business-alias-remove:active,.iv-file-remove:active,.maintenance-selected-file>button:active,.paid-leave-cancel:active,.status-cancel-button:active{box-shadow:inset 0 2px 4px rgba(90,17,27,.28)!important}

.primary-button:focus-visible,.dashboard-action:focus-visible,.krod-btn-primary:focus-visible,.krod-button.primary:focus-visible,.button.primary:focus-visible,
.secondary-button:focus-visible,.krod-btn-secondary:focus-visible,.krod-button.secondary:focus-visible,.button.secondary:focus-visible,.mobile-menu-button:focus-visible,
.danger-button:focus-visible,.delete-button:focus-visible,.krod-btn-danger:focus-visible,.small-button:focus-visible,
.attendance-save-button:focus-visible,.attendance-columns-button:focus-visible,.attendance-search-button:focus-visible,
.actual-reconcile-button:focus-visible,.actual-action-modify:focus-visible,.actual-action-more:focus-visible,.dispatch-history-refresh:focus-visible,.chukan-action:focus-visible,
.lateness-filter-button:focus-visible,.actual-delete:focus-visible,.warn-button:focus-visible,.actual-exclude-button:focus-visible,.attachment-delete-button:focus-visible,
.maintenance-line-delete:focus-visible,.business-alias-remove:focus-visible,.iv-file-remove:focus-visible,.paid-leave-cancel:focus-visible,.status-cancel-button:focus-visible{
  outline:3px solid var(--krod-focus-ring)!important;outline-offset:2px
}
@media(max-width:600px){
  .primary-button,.dashboard-action,.krod-btn-primary,.krod-button.primary,.button.primary,
  .secondary-button,.krod-btn-secondary,.krod-button.secondary,.button.secondary,.mobile-menu-button,
  .danger-button,.delete-button,.krod-btn-danger{min-height:44px!important;height:44px!important}
  .primary-button.compact,.secondary-button.compact,.danger-button.compact,.small-button,
  .attendance-save-button,.attendance-columns-button,.attendance-search-button,
  .actual-reconcile-button,.actual-action-modify,.actual-action-more,.dispatch-history-refresh,.chukan-action:not(.muted),
  .lateness-filter-button,.lateness-filter-actions button,
  .actual-delete,.warn-button,.actual-exclude-button,.attachment-delete-button,.maintenance-line-delete,
  .business-alias-remove,.iv-file-remove,.maintenance-selected-file>button,.paid-leave-cancel,.status-cancel-button{min-height:40px!important;height:40px!important}
}
/* Shared press motion and disabled state. */
button:not(:disabled):not([aria-disabled="true"]):active,
input[type="button"]:not(:disabled):active,
input[type="submit"]:not(:disabled):active,
input[type="reset"]:not(:disabled):active,
[role="button"]:not([aria-disabled="true"]):active,
a.primary-button:active,a.secondary-button:active,a.danger-button:active,a.small-button:active,
a.dashboard-action:active,a.krod-btn-primary:active,a.krod-btn-secondary:active,a.krod-btn-danger:active,
a.krod-button:active,a.button:active,a[class$="-button"]:active,a[class*="-button "]:active,
.chukan-action:active,.dispatch-history-refresh:active,.actual-delete:active{translate:0 2px!important}
.krod-action-pressed{translate:0 2px!important}
.primary-button.krod-action-pressed,.dashboard-action.krod-action-pressed,.krod-btn-primary.krod-action-pressed,.krod-button.primary.krod-action-pressed,.button.primary.krod-action-pressed{background:var(--krod-green-900)!important;box-shadow:inset 0 2px 4px rgba(7,56,33,.22)!important}
button:disabled,.primary-button:disabled,.dashboard-action:disabled,.secondary-button:disabled,.small-button:disabled,.danger-button:disabled{opacity:.55;cursor:not-allowed!important;transform:none!important;translate:none!important;box-shadow:none!important}

/* Shared form-label typography, including legends and inline labels. */
.krod-field-label,.form-grid .krod-field-label{font-family:inherit;font-size:13px;font-weight:600;line-height:1.5}

.location-master-edit .simple-admin-form>.form-grid{border:0}

.store-chart .store-viewer [data-viewer-choices],.store-chart .store-viewer [data-viewer-upload],.store-chart .store-viewer [data-viewer-description],.store-chart .store-editor-tools{background:var(--krod-surface);border:1px solid var(--krod-border);border-radius:var(--krod-radius-sm);box-shadow:var(--krod-shadow-card)}
.store-chart .store-viewer>.store-inline-editor{border:0;border-radius:0;background:transparent}
.store-chart .store-inline-editor .store-editor-footer{border:0;background:var(--krod-surface)}

@media(max-width:700px){.store-chart .store-inline-editor h2{font-size:18px}}

/* Interview list typography: keep phone fields readable without Safari focus zoom. */
@media(max-width:760px){
  .company-interview-view input,
  .company-interview-view select{font-size:16px}
  .company-interview-view .company-interview-filter .krod-field>span{font-size:12px}
  .company-interview-view .company-interview-content span{font-size:14px;line-height:1.5}
}

.labor-management-page .forecast-cards strong .labor-stat-unit{font:inherit;color:inherit}

/* Vehicle chart phone visuals; shared chart/list and dispatch are unchanged. */
@media(max-width:760px){
  .vehicle-chart-detail-view .vehicle-detail-hero h1{font-size:24px}
  .vehicle-chart-detail-view .vehicle-key-metric strong{font-size:18px;line-height:1.4}
  .vehicle-chart-detail-view .vehicle-key-metric small{font-size:11px;line-height:1.5}
  .vehicle-chart-detail-view .vehicle-detail-mobile-nav>span{font-size:12px;font-weight:700}
  .vehicle-chart-detail-view .vehicle-detail-mobile-nav select{font-size:16px}
  .vehicle-chart-detail-view .detail-grid dd{font-size:14px;line-height:1.5}
  .vehicle-chart-detail-view .detail-grid dt{font-size:12px}
  .vehicle-chart-detail-view .detail-grid>div:nth-child(-n+2){border-top:0}
  .vehicle-chart-detail-view .detail-grid>div:nth-child(n+3){border-top:1px solid var(--krod-divider)}
}

/* Incident calendar mobile typography and cards; no other module is affected. */
@media(max-width:760px),(max-width:900px) and (orientation:landscape) and (max-height:500px){
  .incident-calendar-page .incident-month-overview>h2{font-size:16px;line-height:1.5}
  .incident-calendar-page .incident-overview-card{border:1px solid var(--krod-border);border-radius:var(--krod-radius-md);font-size:14px;line-height:1.5}
  .incident-calendar-page .incident-overview-card time{color:var(--krod-text-muted);font-size:12px}
  .incident-calendar-page .incident-overview-card-meta{font-size:12px}
  .incident-calendar-page .incident-summary-open,.incident-calendar-page .incident-summary-close{color:var(--krod-green-800);font-size:12px;font-weight:700;text-decoration:underline}
  .incident-calendar-page .incident-overview-summary summary:focus-visible{outline:3px solid var(--krod-focus-ring);outline-offset:2px}
  .incident-calendar-page .calendar-weekdays span{font-size:11px}
  .incident-calendar-page .incident-day-number{font-size:12px;line-height:1.2}
  .incident-calendar-page .incident-day:not([data-mobile-summary=""])::after{color:var(--krod-text-muted);font-size:10px;font-weight:900;line-height:1.2}
}

/* Labor dashboard mobile visuals stay scoped to this page. */
@media(max-width:760px){
  .labor-management-page .forecast-month strong{font-size:16px}
  .labor-management-page>.forecast-cards.labor strong{font-size:20px;line-height:1.4}
  .labor-management-page>.forecast-cards.labor strong .labor-stat-unit{font-size:12px;font-weight:600}
  .labor-management-page .forecast-baseline{font-size:12px;line-height:1.6}
  .labor-management-page .forecast-warning{font-size:12px;line-height:1.6}
  .labor-management-page .forecast-table-wrap td:first-child:not([colspan]){background:var(--krod-surface)}
}

/* Personal division selection remains available when business data is read-only. */
.user-business-scope{margin-bottom:12px;padding:12px}
.user-business-scope .toolbar{margin-bottom:0}
.business-scope-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
body.permission-readonly form.business-scope-form{display:flex!important}
body.permission-readonly form.business-scope-form button{display:inline-flex!important}
.business-assignment-fieldset{grid-column:1/-1}
.business-assignment-fieldset label{display:inline-flex;align-items:center;gap:8px;margin-right:12px}
.business-assignment-fieldset input[type=checkbox]{width:auto;min-height:0}
.business-assignment-fieldset small{display:block;margin-top:8px}
