* , *::before, *::after{box-sizing:border-box}body{margin:0;background:#f3f6fa;color:#243347;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.7}a{color:#205f9d}h1{margin:0 0 18px;font-size:26px;line-height:1.5}h2{font-size:21px;margin:14px 0 10px}button,input{font:inherit}button{min-height:48px;border:0;border-radius:8px;padding:11px 20px;background:#205f9d;color:#fff;cursor:pointer;font-weight:600}button:hover{background:#194e82}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #e0a525;outline-offset:3px}.auth-page{padding:60px 20px}.auth-card{width:100%;max-width:440px;margin:auto;padding:32px;background:#fff;border:1px solid #dbe3ec;border-radius:12px;box-shadow:0 4px 16px #18334e0c}.auth-card h1{font-size:22px;margin-bottom:24px}.login-logo{display:block;width:220px;max-width:100%;height:auto;margin:0 auto 24px}.auth-form{display:flex;flex-direction:column;gap:20px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field label{font-weight:600;font-size:14px}.field input{display:block;width:100%;min-width:0;min-height:48px;border:1px solid #becbda;border-radius:8px;padding:11px 12px;font-size:16px;background:#fff;color:inherit}.notice{padding:12px;border-radius:8px;overflow-wrap:anywhere;margin:0 0 20px}.notice.error{background:#ffecec;color:#a40000;border:1px solid #ffbcbc}.note{font-size:13px;color:#647185;margin:0 0 20px}.auth-form+.note{margin:20px 0 0;text-align:center}.container{max-width:1160px;padding:36px 20px 60px;margin:auto}.lead{color:#647185;margin:0 0 28px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.card{display:block;min-width:0;padding:28px;background:#fff;border:1px solid #dbe3ec;border-radius:12px;text-decoration:none;color:inherit;overflow-wrap:anywhere}.card[href]:hover{border-color:#91acc7;box-shadow:0 4px 16px #18334e14}.card p{margin:0;color:#647185;font-size:14px}.tag{display:inline-block;background:#eaf1f8;color:#285c8e;border-radius:5px;padding:3px 9px;font-size:12px}.arrow{display:block;margin-top:24px;color:#205f9d;font-weight:700}.is-pending .tag{background:#edf0f3;color:#647185}.breadcrumb{font-size:13px;margin-bottom:20px}@media(max-width:640px){.auth-page{padding:32px 16px}.auth-card{padding:24px}.auth-card h1{font-size:20px}.container{padding:28px 16px 48px}h1{font-size:23px}.cards{grid-template-columns:1fr;gap:18px}.card{padding:24px}}

/* 経費申請・申請履歴 */
.panel{background:#fff;border:1px solid #dbe3ec;border-radius:12px;padding:24px;margin:22px 0;min-width:0}.panel h2{margin-top:0;font-size:19px}.panel .field+.field{margin-top:20px}.field textarea,.field select{width:100%;min-width:0;max-width:100%;padding:11px 12px;border:1px solid #becbda;border-radius:8px;font:inherit;color:inherit;background:#fff}.field textarea{resize:vertical}.field input[type=file]{font-size:14px;min-width:0;max-width:100%}.field input[type=checkbox]{width:20px;min-height:20px;display:inline-block}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 20px;border-radius:8px;border:1px solid transparent;background:#205f9d;color:#fff;text-decoration:none;text-align:center;font-weight:600}.secondary{background:#fff;color:#205f9d;border:1px solid #becbda}.compact{min-height:44px;padding:8px 12px;font-size:12px}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:20px 0}.form-actions form{margin:0}.expense-filters{display:flex;flex-wrap:wrap;align-items:end;gap:14px;background:#fff;padding:20px;border:1px solid #dbe3ec;border-radius:10px;margin-top:24px}.expense-filters .field{flex:1;min-width:180px}.expense-filters a{font-size:13px}.list-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:18px 0}.list-heading p{margin:0}.entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.item-editor{background:#fff;border:1px solid #dbe3ec;border-radius:12px;padding:24px;margin-bottom:20px}.item-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.item-heading h2{margin:0;font-size:19px}.text-button{background:#fff;color:#a13c35;border:1px solid #d6c0bd;font-size:13px;padding:8px 12px;min-height:44px}.text-button:hover{background:#fff0ef}.text-button:disabled{color:#8b96a5;border-color:#dbe3ec;cursor:default}.item-editor>.field{margin-top:20px}.edit-files{padding:0;list-style:none;margin-top:20px}.edit-files li{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:10px;background:#f3f6fa;border-radius:8px;margin-bottom:8px;overflow-wrap:anywhere}.edit-files a{flex:1;min-width:0}.edit-files label{font-size:13px;display:flex;align-items:center;gap:5px}.entry-total{text-align:right;margin:22px 0;font-size:14px}.entry-total strong{font-size:24px;margin-left:10px;font-variant-numeric:tabular-nums}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.detail-grid .panel{margin:20px 0 0}.facts{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px 16px;font-size:14px;margin:20px 0 0}.facts dt{color:#647185;font-size:12px;text-align:center;align-self:center}.facts dd{margin:0;min-width:0;overflow-wrap:anywhere;white-space:pre-wrap}.facts .assignee{display:block;margin-top:6px;color:#647185;white-space:normal}.table-panel{border:1px solid #dbe3ec;border-radius:10px;overflow:hidden;background:#fff}.employee-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px}.employee-table th,.employee-table td{padding:13px 10px;border-bottom:1px solid #e7ecf2;vertical-align:middle;overflow-wrap:anywhere;min-width:0}.employee-table th{background:#edf2f7;color:#4f6074;font-size:12px;text-align:center}.employee-table tbody tr:last-child td{border-bottom:0}.employee-table .cell-value{display:block;min-width:0}.history-table th:nth-child(1){width:7%}.history-table th:nth-child(2){width:20%}.history-table th:nth-child(3){width:25%}.history-table th:nth-child(4){width:20%}.history-table th:nth-child(5){width:18%}.history-table th:nth-child(6){width:10%}.items-table th:nth-child(1){width:8%}.items-table th:nth-child(2){width:22%}.items-table th:nth-child(3){width:20%}.items-table th:nth-child(4){width:15%}.items-table th:nth-child(5){width:20%}.items-table th:nth-child(6){width:15%}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.center{text-align:center}.number{text-align:right;font-variant-numeric:tabular-nums}.cell-value small,.scope-money{display:block}.cell-value small{color:#647185;font-size:11px;margin-top:4px}.pre-wrap{white-space:pre-wrap}.status-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;border:1px solid;font-size:12px;font-weight:700;white-space:nowrap}.status-draft{background:#f1f5f9;color:#475569;border-color:#cbd5e1}.status-pending_first{background:#fffbeb;color:#92400e;border-color:#fcd34d}.status-pending_final{background:#f5f3ff;color:#6d28d9;border-color:#c4b5fd}.status-approved{background:#dcfce7;color:#166534;border-color:#86d9a8}.status-rejected{background:#fee2e2;color:#991b1b;border-color:#fca5a5}.status-paid{background:#dbeafe;color:#1e40af;border-color:#93c5fd}.result-warning{display:inline-block;padding:3px 9px;border:1px solid #f3c08a;background:#fff7ed;color:#b45309;border-radius:5px;font-size:12px}.expense-date-point{display:block}.date-day,.date-weekday{display:inline-block;white-space:nowrap}.expense-date-separator{display:block;line-height:1.3}.pager{display:flex;justify-content:space-between;gap:16px;margin:22px 0;font-size:14px}.empty{padding:30px!important;text-align:center}.invoice-links{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0}.invoice-links a{display:block;padding:10px;border:1px solid #dbe3ec;border-radius:8px;overflow-wrap:anywhere;font-size:13px}.invoice-links a[aria-current]{background:#eaf1f8;border-color:#6e9ac5}.invoice-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:20px 0}.invoice-toolbar h3{flex:1;min-width:0;font-size:15px;overflow-wrap:anywhere}.invoice-pdf{display:block;width:100%;height:600px;border:1px solid #dbe3ec;border-radius:8px}.invoice-image{display:block;max-width:100%;height:auto;margin:auto}#invoice-preview{scroll-margin-top:20px}
@media(max-width:1000px){.detail-grid{grid-template-columns:1fr;gap:0}.employee-table,.employee-table tbody{display:block;width:100%}.employee-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.table-panel{border:0;background:transparent;overflow:visible}.employee-table tbody tr{display:block;border:1px solid #dbe3ec;background:#fff;border-radius:10px;padding:6px 14px;margin-bottom:14px}.employee-table td{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;align-items:center;width:100%;padding:11px 0;text-align:left;min-height:44px}.employee-table td::before{content:attr(data-label);text-align:center;font-size:12px;font-weight:600;color:#647185}.employee-table .button{justify-self:center}.employee-table .status-badge{justify-self:start}.employee-table td:last-child{border-bottom:0}.employee-table td.empty{display:block}.employee-table td.empty::before{display:none}}
@media(max-width:640px){.entry-grid{grid-template-columns:1fr}.item-editor,.panel{padding:20px}.item-heading{align-items:flex-start}.item-heading h2{font-size:18px}.facts{grid-template-columns:80px minmax(0,1fr);gap:16px 10px}.expense-filters{padding:16px}.expense-filters .field{min-width:100%;flex-basis:100%}.list-heading{align-items:flex-start;flex-direction:column;gap:5px}.entry-total strong{font-size:21px}.invoice-pdf{height:450px}.form-actions>button{flex:1}.employee-table td{grid-template-columns:78px minmax(0,1fr);gap:10px}.detail-grid .panel{margin-top:16px}}

/* 状態・操作の値と明細の列幅 */
.employee-table td[data-label="申請状態"],.employee-table td[data-label="操作"],.responsive-table td[data-label="状況"],.responsive-table td[data-label="操作"]{text-align:center}
.employee-table td[data-label="申請状態"] .status-badge,.employee-table td[data-label="操作"] .button,.responsive-table td[data-label="状況"] .status-badge,.responsive-table td[data-label="操作"] .button{justify-self:center}
.items-table th:nth-child(1){width:7%}.items-table th:nth-child(2){width:24%}.items-table th:nth-child(3){width:28%}.items-table th:nth-child(4){width:18%}.items-table th:nth-child(5){width:23%}

.task-dashboard{margin:24px 0 28px}.task-dashboard h2{font-size:20px;margin:0 0 14px}.task-links{display:flex;flex-wrap:wrap;gap:14px}.task-link{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:1 1 180px;min-width:0;padding:18px;background:#fff;border:1px solid #dbe3ec;border-left:4px solid #d5a333;border-radius:10px;text-decoration:none;color:#243347}.task-link:hover{border-color:#91acc7}.task-link span{font-size:14px}.task-link strong{font-size:24px;white-space:nowrap}.task-link.task-rejected{border-left-color:#c76852}.task-link.task-draft{border-left-color:#8292a6}.task-mark{display:table;margin:0 0 12px auto;padding:4px 10px;border-radius:999px;color:#8a4b00;background:#fff3d6;border:1px solid #eac36b;font-size:12px;font-weight:700}.task-mark::before{content:"●";margin-right:5px}.task-link:focus-visible{outline:3px solid #e0a525;outline-offset:3px}
.approval-table th:nth-child(1){width:7%}.approval-table th:nth-child(2){width:18%}.approval-table th:nth-child(3){width:29%}.approval-table th:nth-child(4){width:17%}.approval-table th:nth-child(5){width:19%}.approval-table th:nth-child(6){width:10%}.rejection-form{margin-top:22px;padding-top:20px;border-top:1px solid #dbe3ec}.rejection-form button{margin-top:14px}.danger{background:#a13c35}.danger:hover{background:#87312b}

.card-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:32px;flex-wrap:wrap}.card-topline .task-mark{display:inline-flex;align-items:center;margin:0 0 0 auto;white-space:nowrap}.card-topline .tag{margin:0}.task-link .task-label{display:flex;flex-direction:column;gap:5px;min-width:0}.task-link .task-context{font-size:12px;color:#647185;overflow-wrap:anywhere}.recall-form{margin:18px 0 24px}.recall-form .note{margin:8px 0 0}
