body,input,select,textarea,button,table,time,.date,.badge,.status,.stats strong,.stats strong.small,.row time,.day-number,.event time,.calendar-nav{font-family:"Yu Gothic UI","Meiryo",sans-serif;font-variant-numeric:tabular-nums}
.stats strong{font-size:34px;font-weight:600;line-height:1.2}
.stats strong.small{font-size:20px}
.row time{font-size:18px}
.recipient-picker{border:1px solid var(--line);border-radius:10px;padding:14px}.recipient-picker legend{font-size:13px;color:#596961;padding:0 6px}.recipient-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:220px;overflow:auto}.recipient-list label{display:flex;grid-template-columns:none;flex-direction:row;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:9px;background:#fff;cursor:pointer}.recipient-list input{width:auto;flex:none}.recipient-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:700px){.recipient-list{grid-template-columns:1fr}}
.recipient-all{display:flex;grid-template-columns:none;flex-direction:row;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:9px;background:#f4f8f6;cursor:pointer;margin-bottom:10px}.recipient-all input{width:auto;flex:none}
.pdf-dropzone{display:flex;align-items:center;justify-content:center;min-height:100px;border:2px dashed var(--line);border-radius:10px;cursor:pointer;color:#596961;text-align:center;padding:16px;transition:background .15s,border-color .15s}.pdf-dropzone.dragover{border-color:#34765e;background:#f4f8f6;color:#173f32}
body.masters-theme aside nav a:hover{background:#2f37a3;color:#fff}body.masters-theme aside nav a:focus-visible{outline-color:#8891d9}body.masters-theme aside nav a.active,body.masters-theme aside nav a[aria-current="page"]{background:#e9eaf6;color:#212778}body.masters-theme aside nav a.active::before,body.masters-theme aside nav a[aria-current="page"]::before{background:#0d4ad7}body.masters-theme aside nav a.active:hover,body.masters-theme aside nav a[aria-current="page"]:hover{background:#d8dbf0;color:#212778}
.route-picker{border:1px solid var(--line);border-radius:10px;padding:14px}.route-picker legend{font-size:13px;color:#596961;padding:0 6px}.route-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}@media(max-width:700px){.route-steps{grid-template-columns:1fr}}
.leave-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.leave-types label{display:flex;grid-template-columns:none;flex-direction:row;align-items:center;gap:9px;min-height:42px;border:1px solid var(--line);border-radius:8px;padding:9px 12px;background:#fff;cursor:pointer}.leave-types input[type="checkbox"]{width:18px;height:18px;min-width:18px;margin:0;flex:0 0 18px}.leave-types span{line-height:1.4}@media(max-width:640px){.leave-types{grid-template-columns:1fr}}
.expense-total{display:flex;align-items:center;justify-content:space-between;background:var(--mint);border-radius:10px;padding:14px 18px;margin-bottom:12px}.expense-total strong{font-size:24px;color:var(--green)}.expense-table-wrap{width:100%;overflow:visible}.expense-table{width:100%;min-width:0;table-layout:fixed}.expense-table th,.expense-table td{padding:8px 5px}.expense-table th:nth-child(1){width:16%}.expense-table th:nth-child(2){width:19%}.expense-table th:nth-child(3){width:14%}.expense-table th:nth-child(4){width:11%}.expense-table th:nth-child(5){width:14%;text-align:center}.expense-table th:nth-child(6){width:19%}.expense-table th:nth-child(7){width:7%}.expense-table input{width:100%;min-width:0;padding:8px 6px}.expense-line-total-cell{text-align:center;vertical-align:middle}.expense-line-total{white-space:nowrap;font-weight:bold}.expense-delete button{padding:6px 8px;min-height:34px}.expense-actions{display:flex;gap:8px;margin-top:10px}.attachment-field{margin-top:14px}.attachment-field input{padding:8px}@media(max-width:640px){.expense-table,.expense-table tbody{display:block}.expense-table thead{display:none}.expense-table tr{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:12px}.expense-table td{display:grid;gap:5px;border:0;padding:0}.expense-table td::before{content:attr(data-label);font-size:12px;color:var(--muted)}.expense-table .expense-delete{display:flex;grid-column:1/-1;justify-content:flex-end}.expense-table .expense-delete::before{display:none}.expense-delete button{width:auto}}

@page{size:A4 portrait;margin:10mm}
.flash.error{position:fixed;top:16px;right:clamp(14px,3vw,40px);z-index:10000;width:min(520px,calc(100vw - 28px));margin:0;padding:14px 18px;border:1px solid #e4bcbc;box-shadow:0 8px 30px #56202030}
.password-field{position:relative}.password-field input{padding-right:46px}.password-field button{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:38px;height:38px;min-height:0;padding:8px;border:0;background:transparent;color:var(--muted)}.password-field button:hover{color:var(--green);background:var(--mint)}.password-field svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}
.schedule-detail dl{display:grid;grid-template-columns:1fr 1fr;margin:0}.schedule-detail dl>div{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:14px;border-bottom:1px solid var(--line)}.schedule-detail .wide-detail{grid-column:1/-1}.schedule-detail dt{color:var(--muted);font-size:13px}.schedule-detail dd{margin:0;white-space:pre-line}@media(max-width:640px){.schedule-detail dl{grid-template-columns:1fr}.schedule-detail .wide-detail{grid-column:auto}}
.schedule-delete-form{display:flex;align-items:flex-end;gap:10px}.schedule-delete-form fieldset{display:flex;gap:12px;margin:0;padding:7px 10px;border:1px solid var(--line);border-radius:8px}.schedule-delete-form legend{padding:0 4px;color:var(--muted);font-size:12px}.schedule-delete-form .checkbox{display:flex;align-items:center;gap:5px;white-space:nowrap}@media(max-width:640px){.schedule-delete-form,.schedule-delete-form fieldset{align-items:stretch;flex-direction:column}.schedule-delete-form fieldset{gap:6px}}
.schedule-edit-scope{display:flex;gap:18px;padding:10px 12px;border:1px solid var(--line);border-radius:8px}.schedule-edit-scope legend{padding:0 5px;color:var(--muted);font-size:12px}.schedule-edit-scope .checkbox{display:flex;align-items:center;gap:5px}@media(max-width:640px){.schedule-edit-scope{flex-direction:column;gap:7px}}
.input-invalid{border-color:#c83232!important;background:#fff4f4!important;box-shadow:0 0 0 2px #c8323220!important}.form-error-summary{padding:10px 12px;border:1px solid #e4a7a7;border-radius:8px;background:#fff0f0;color:#a51d1d;font-weight:700}.field-error{display:block;color:#b42318;font-size:12px;font-weight:700;margin-top:4px}
.directory-list{padding:0;overflow:hidden}.directory-head,.directory-row{display:grid;grid-template-columns:minmax(160px,.9fr) minmax(130px,.55fr) minmax(230px,1.25fr) minmax(170px,.8fr);gap:18px;align-items:center;padding:11px 18px}.directory-head{background:var(--mint);color:var(--muted);font-size:12px;font-weight:bold}.directory-row{border-top:1px solid var(--line);color:var(--ink)}.directory-row:hover{background:#f6faf7}.directory-row span,.directory-row a{overflow-wrap:anywhere}.employee-name-link{color:var(--ink);text-decoration:none}.employee-name-link:hover,.employee-mail-link:hover{text-decoration:underline}.employee-mail-link{width:max-content;max-width:100%}.employee-detail dl{display:grid;grid-template-columns:1fr 1fr;margin:0}.employee-detail dl>div{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:14px;border-bottom:1px solid var(--line)}.employee-detail dt{color:var(--muted);font-size:13px}.employee-detail dd{margin:0}.detail-actions{justify-content:flex-end;margin-top:20px}@media(max-width:640px){.directory-head{display:none}.directory-row{grid-template-columns:1fr;padding:12px 15px;gap:4px}.directory-row span{font-size:13px}.directory-row span:last-child::before{content:'所属会社：';color:var(--muted)}.employee-detail dl{grid-template-columns:1fr}.employee-detail dl>div{grid-template-columns:100px 1fr}}
.cards:has(> .person){grid-template-columns:1fr;gap:8px}.cards>.person{align-items:center;gap:12px;padding:10px 14px;border-radius:10px}.cards>.person .avatar{width:38px;height:38px;flex:0 0 38px;font-size:16px}.cards>.person .person-info{display:grid;grid-template-columns:minmax(180px,24%) minmax(260px,32%) minmax(280px,1fr) 120px;align-items:center;gap:8px 16px;width:100%;min-width:0}.cards>.person .person-info h2,.cards>.person .person-info p{margin:0}.cards>.person .person-info small{overflow-wrap:anywhere}.cards>.person .actions{width:120px;justify-content:flex-end;flex-wrap:nowrap}.cards>.person .actions button{min-height:34px;padding:6px 10px}@media(max-width:800px){.cards>.person{align-items:flex-start}.cards>.person .person-info{grid-template-columns:1fr auto}.cards>.person .person-info p,.cards>.person .person-info small{grid-column:1/-1}.cards>.person .actions{grid-column:2;grid-row:1;width:auto}}@media(max-width:520px){.cards>.person .person-info{display:block}.cards>.person .actions{margin-top:8px;justify-content:flex-start}}
.timecard-month table{min-width:760px}.timecard-month td{padding-top:9px;padding-bottom:9px}.timecard-month tr.sunday td:first-child,.timecard-month tr.sunday .timecard-date-link{color:#c33}.timecard-month tr.saturday td:first-child,.timecard-month tr.saturday .timecard-date-link{color:#2865b0}.timecard-month .missing{color:#999}.leave-cell{color:#b8860b;font-weight:600;text-align:center;background:#fff8e6}.leave-tag{display:inline-block;color:#b8860b;font-weight:600;font-size:12px;background:#fff8e6;border-radius:6px;padding:1px 6px}.manual-time{color:#0e7c86;font-weight:700}.timecard-month dialog{text-align:left}.timecard-date-link{border:0;background:none;color:var(--green);padding:0;text-decoration:underline;border-radius:0;font-weight:600}.timecard-month dialog input{min-height:42px}
.time-select{display:grid;grid-template-columns:minmax(74px,1fr) auto minmax(74px,1fr);align-items:center;gap:7px;width:100%}.time-select select{min-height:42px;width:100%;padding-right:28px}
.report-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.report-identity,.report-project{display:grid;grid-template-columns:1fr 1fr;gap:12px;grid-column:1/-1}.report-form>.report-block,.report-form>label{grid-column:1/-1}.report-period{display:flex;align-items:end;gap:10px}.report-period label{flex:1}.report-form textarea{min-height:100px}.report-form .report-large textarea{min-height:145px}.report-form>button{justify-self:start}
.flex-form{display:grid;gap:14px}.flex-time-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fafcfb}@media(max-width:640px){.flex-time-row{grid-template-columns:1fr}}
.drop-zone{place-items:center;text-align:center;gap:5px;padding:22px;border:2px dashed #9db7aa;border-radius:10px;background:#f8fbf9;cursor:pointer;transition:.2s}.drop-zone:hover,.drop-zone.is-dragging{border-color:var(--green);background:var(--mint)}.drop-zone input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.drop-zone strong{color:var(--green)}.drop-zone small{overflow-wrap:anywhere}
@media print{
  body{background:#fff;font-size:10pt}
  body>aside,main>header,main>.toolbar,main>section.panel,.flash{display:none!important}
  main{margin:0!important;padding:0!important;width:100%!important}
  dialog#create-workflow{position:static!important;display:block!important;width:190mm!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;overflow:visible!important}
  dialog#create-workflow::backdrop{display:none}
  #workflow-form{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:5mm!important;margin:0!important}
  #workflow-form>[hidden],#workflow-form>[style*="display: none"]{display:none!important}
  #workflow-form>.route-picker:not([data-workflow-section]){display:none!important}
  .dialog-head button,.expense-actions,.attachment-field,.expense-delete,.form-grid>button{display:none!important}
  .dialog-head{grid-column:1/-1;border-bottom:2px solid #333;padding-bottom:2mm}
  .dialog-head h2{font-size:16pt}
  input,select,textarea{border:0;border-bottom:1px solid #777;border-radius:0;padding:2mm;background:transparent}
  .expense-total{padding:2mm 4mm;margin-bottom:2mm}
  .expense-total strong{font-size:15pt}
  .expense-table{display:table!important;table-layout:fixed!important;font-size:8.5pt}
  .expense-table thead{display:table-header-group!important}
  .expense-table tbody{display:table-row-group!important}
  .expense-table tr{display:table-row!important;border:0!important;padding:0!important}
  .expense-table th,.expense-table td{display:table-cell!important;border:1px solid #777!important;padding:1.5mm!important}
  .expense-table td::before{display:none!important}
  .expense-table input{padding:0;border:0}
  .route-picker{padding:3mm;margin:0}
  .report-form{gap:2mm!important}.report-form textarea{min-height:24mm}.report-form .report-large textarea{min-height:40mm}.report-form>button{display:none!important}.report-period{padding:2mm}
}
@media print{main>section.schedule-calendar-area{display:block!important}}
.timecard-print-title,.timecard-print-summary{display:none}
@media print{
  @page{size:A4 portrait;margin:5mm}
  html,body{width:200mm!important;margin:0!important;padding:0!important;font-size:7pt!important}
  main{width:200mm!important;max-width:200mm!important;margin:0!important;padding:0!important}
  .timecard-print-title,.timecard-print-summary{display:block!important}
  .timecard-print-title{border-bottom:1px solid #333;margin-bottom:1mm}.timecard-print-title h1{font-size:11pt;margin:0;line-height:1.1}.timecard-print-title p{margin:.5mm 0 1mm;color:#333;line-height:1.1}
  main>section.timecard-month{display:block!important;box-shadow:none!important;border:0!important;padding:0!important}
  .timecard-stats{display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:1mm!important;margin-bottom:1.5mm!important}.timecard-stats article{box-shadow:none!important;border:1px solid #999!important;padding:1mm!important;min-height:0!important}.timecard-stats span,.timecard-stats small{font-size:5.8pt!important;line-height:1.05}.timecard-stats strong,.timecard-stats strong.small{font-size:7.5pt!important;margin-top:.4mm!important;line-height:1.05}
  .timecard-month .panel-head{padding:0 0 .5mm!important;min-height:0}.timecard-month .panel-head h2{font-size:8pt;margin:0;line-height:1}.timecard-month .panel-head a{display:none}.timecard-month .table-wrap{overflow:visible}.timecard-month table{min-width:0!important;margin:0!important;table-layout:fixed;line-height:1}.timecard-month th,.timecard-month td{border:1px solid #aaa;padding:.45mm .7mm!important;font-size:6.2pt!important;height:3.7mm;line-height:1!important}.timecard-month th{padding:.6mm .7mm!important}.timecard-month th:first-child,.timecard-month td:first-child{width:17mm}.timecard-month th:last-child,.timecard-month td:last-child{width:32mm}.timecard-date-link{min-height:0!important;text-decoration:none;color:#111;font-weight:normal;font-size:6.2pt!important;line-height:1!important;padding:0!important}
  .timecard-print-summary{margin-top:1.5mm!important;break-inside:avoid;page-break-inside:avoid}.timecard-print-summary h2{font-size:8pt;margin:0 0 .7mm;line-height:1}.timecard-print-summary table{min-width:0!important;table-layout:fixed;margin:0;line-height:1}.timecard-print-summary th,.timecard-print-summary td{border:1px solid #888;padding:.55mm!important;font-size:5.7pt!important;line-height:1.05!important;height:4mm}.timecard-print-summary th{background:#eee;color:#222}
}
.workflow-invalid,#workflow-form :user-invalid{border-color:#c83232!important;background:#fff4f4!important;box-shadow:0 0 0 2px #c8323220}.field-error{display:block;color:#b42318;font-size:12px;font-weight:700;margin-top:4px}.route-picker.has-error{border-color:#c83232;background:#fffafa}
.workflow-invalid,#workflow-form :user-invalid{border-color:#c83232!important;background:#fff4f4!important;box-shadow:0 0 0 2px #c8323220}.field-error{display:block;color:#b42318;font-size:12px;font-weight:700;margin-top:4px}.route-picker.has-error{border-color:#c83232;background:#fffafa}
aside nav a{position:relative;transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}aside nav a:hover{background:#34765e;color:#fff;transform:translateX(3px)}aside nav a:focus-visible{outline:3px solid #a8d8c2;outline-offset:2px}aside nav a.active,aside nav a[aria-current="page"]{background:#e8f2ec;color:#173f32;font-weight:700;box-shadow:0 3px 12px #071d1640}aside nav a.active::before,aside nav a[aria-current="page"]::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:4px;border-radius:0 4px 4px 0;background:#d29b3f}aside nav a.active:hover,aside nav a[aria-current="page"]:hover{background:#d5eade;color:#173f32}@media(max-width:900px){aside nav a:hover{transform:translateY(-2px)}aside nav a.active::before,aside nav a[aria-current="page"]::before{left:8px;right:8px;top:auto;bottom:0;width:auto;height:3px;border-radius:3px 3px 0 0}}
.workflow-tabs{display:flex;flex-wrap:wrap;gap:8px}.workflow-tabs a{padding:10px 14px;border:1px solid #bdd5c9!important;border-radius:8px;background:#e8f2ec!important;color:#285b47!important;text-decoration:none;font-weight:600;transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.workflow-tabs a:hover,.workflow-tabs a:focus-visible{background:#1e6b4b!important;border-color:#1e6b4b!important;color:#fff!important;transform:translateY(-1px);box-shadow:0 3px 10px #174c3930}.workflow-tabs a.active,.workflow-tabs a[aria-current="page"]{background:#1e6b4b!important;border-color:#1e6b4b!important;color:#fff!important;box-shadow:0 3px 10px #174c3930}.workflow-tabs a.active::before,.workflow-tabs a[aria-current="page"]::before{content:none}
.workflow-tabs+section table{table-layout:fixed;width:100%;min-width:1120px}.workflow-tabs+section th:nth-child(1),.workflow-tabs+section td:nth-child(1){width:140px;min-width:140px;max-width:140px}.workflow-tabs+section th:nth-child(2),.workflow-tabs+section td:nth-child(2){width:170px;min-width:170px;max-width:170px}.workflow-tabs+section th:nth-child(3),.workflow-tabs+section td:nth-child(3){width:29%}.workflow-tabs+section th:nth-child(4),.workflow-tabs+section td:nth-child(4){width:25%}.workflow-tabs+section th:nth-child(5),.workflow-tabs+section td:nth-child(5){width:120px}.workflow-tabs+section th:nth-child(6),.workflow-tabs+section td:nth-child(6){width:110px}.workflow-tabs+section th:nth-child(7),.workflow-tabs+section td:nth-child(7){width:70px}.workflow-tabs+section th,.workflow-tabs+section td{overflow-wrap:anywhere}.workflow-tabs+section th:nth-child(2),.workflow-tabs+section td:nth-child(2){padding-left:12px;text-align:left}
.workflow-tabs+section td:nth-child(2)>.badge{margin-left:0}.workflow-tabs+section td:nth-child(2)>b{display:block;padding-left:10px;text-align:left}
.workflow-tabs+section th:nth-child(6),.workflow-tabs+section td:nth-child(6),.workflow-tabs+section th:nth-child(7),.workflow-tabs+section td:nth-child(7){text-align:left;vertical-align:top}.workflow-tabs+section td:nth-child(6) form,.workflow-tabs+section td:nth-child(7) form{margin:0;justify-items:start;align-items:start}.workflow-tabs+section td:nth-child(6) button,.workflow-tabs+section td:nth-child(7) button{display:inline-block;width:auto;min-width:0;min-height:30px;padding:5px 9px;white-space:nowrap;word-break:keep-all;line-height:1.2;font-size:12px}.workflow-tabs+section td:nth-child(6) .decision{min-width:0;justify-items:start}.workflow-tabs+section td:nth-child(6) .decision input{min-width:100px}.workflow-tabs+section th:nth-child(7),.workflow-tabs+section td:nth-child(7){width:82px}
