:root{--main:#38a8f5;--dark:#075985;--soft:#eaf7ff;--bg:#f7fbff;--text:#0f172a;--muted:#64748b;--line:#dbeafe;--red:#b42318;--green:#14804a;--blue:#2563eb}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.appHeader{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;position:sticky;top:0}.headerInner{justify-content:space-between;align-items:center;gap:16px;width:min(1240px,100% - 32px);min-height:68px;margin:auto;display:flex}.brand,.nav{align-items:center;gap:10px;display:flex}.brandLogo,.loginLogo{background:linear-gradient(145deg,var(--main),#7dd3fc);color:#fff;border-radius:14px;place-items:center;font-weight:900;display:grid}.brandLogo{width:42px;height:42px}.loginLogo{width:76px;height:76px;margin:auto;font-size:26px}.brand span:last-child{display:grid}.brand small{color:var(--muted);font-size:12px}.nav{flex-wrap:wrap;justify-content:flex-end}.navLink,.userPill,.logoutButton{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-weight:700}.logoutButton{color:var(--red)}.loginPage{background:radial-gradient(circle at top,#e0f2fe 0,#f7fbff 44%,#fff 100%);place-items:center;min-height:100dvh;padding:22px;display:grid}.loginCard{border:1px solid var(--line);text-align:center;background:#fff;border-radius:24px;width:min(580px,100%);padding:40px;box-shadow:0 20px 60px #0f4c8120}.loginCard h1{white-space:nowrap;letter-spacing:-.03em;color:var(--text);overflow-wrap:normal;margin:2px 0 0;font-size:clamp(30px,3.2vw,38px);line-height:1.12}.loginProductHeader{justify-content:center;align-items:center;gap:14px;margin-bottom:18px;display:flex}.loginProductText{text-align:left}.loginBrandName{color:var(--dark);letter-spacing:.04em;margin:0 0 3px;font-size:14px;font-weight:900}.loginCatch{color:var(--blue);margin:0 0 8px;font-size:clamp(17px,2.5vw,21px);font-weight:900;line-height:1.5}.loginCard .lead{margin:0 0 22px}.eyebrow{color:var(--main);letter-spacing:.12em;margin:0 0 5px;font-size:12px;font-weight:900}.lead,.pageIntro p{color:var(--muted)}.formStack,.formCard,.field{text-align:left;gap:12px;display:grid}.formStack label,.field{gap:7px;display:grid}.formStack span,.field span{font-size:14px;font-weight:800}.field b{color:var(--red)}input,select,textarea{background:#fff;border:1px solid #d6cbb8;border-radius:12px;outline:none;width:100%;min-height:48px;padding:12px 13px}textarea{resize:vertical;line-height:1.6}input:focus,select:focus,textarea:focus{border-color:var(--main);box-shadow:0 0 0 3px #38a8f529}.primaryButton,.secondaryButton,.smallButton{background:linear-gradient(135deg,var(--main),var(--blue));color:#fff;border:0;border-radius:12px;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;font-weight:900;display:inline-flex;box-shadow:0 10px 22px #2563eb22}.secondaryButton{background:var(--soft);color:var(--dark);box-shadow:none;border:1px solid #bae6fd}.smallButton{min-height:36px;padding:7px 12px}.big{width:100%;min-height:56px}.hint{color:var(--muted);font-size:12px;line-height:1.7}.errorBox,.successBox{border-radius:12px;padding:12px;font-weight:700}.errorBox{color:#8f1c14;background:#fff0ee}.successBox{color:#0b6b3a;background:#eaf8ef}.page{width:min(1240px,100% - 28px);margin:auto;padding:28px 0 56px}.narrow{max-width:560px}.pageIntro{margin-bottom:20px}.pageIntro h1{margin:4px 0 8px}.row{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.formCard,.tableCard,.summaryGrid article{border:1px solid var(--line);background:#fff;border-radius:18px;box-shadow:0 14px 36px #3a2c1414}.formCard{padding:24px}.readonlyName{background:var(--soft);border-radius:13px;gap:5px;padding:14px;display:grid}.readonlyName span{color:var(--muted);font-size:12px;font-weight:700}.uploadBox{text-align:center;background:#f0f9ff;border:2px dashed #7dd3fc;border-radius:16px;align-content:center;place-items:center;gap:7px;min-height:150px;display:grid}.uploadBox input{display:none}.cameraIcon{font-size:30px}.previewImage{object-fit:contain;border:1px solid var(--line);border-radius:14px;width:100%;max-height:360px}.summaryGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0;display:grid}.summaryGrid article{padding:18px}.summaryGrid span{color:var(--muted);margin-bottom:7px;font-size:13px;display:block}.summaryGrid strong{font-size:24px}.tableCard{overflow:hidden}.filters{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:10px;padding:14px;display:flex}.filters input,.filters select{max-width:220px}.tableScroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:1060px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap;padding:14px 13px}th{color:#075985;background:#f0f9ff;font-size:13px}.purposeCell{white-space:normal;min-width:230px;line-height:1.5}.statusBadge{border-radius:999px;align-items:center;min-height:28px;padding:4px 10px;font-size:12px;font-weight:900;display:inline-flex}.status-未確認{color:#334155;background:#eef2f7}.status-内容不足,.status-差し戻し{color:#8a5a00;background:#fff4d6}.status-確認済み{color:#0c6b3d;background:#e8f7ef}.status-精算済み{color:#214f9a;background:#e8f0ff}.modalBackdrop{z-index:50;background:#1418219e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.detailModal{background:#fff;border-radius:20px;width:min(1040px,100%);max-height:calc(100dvh - 40px);overflow:auto}.modalHeader{z-index:2;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:16px 20px;display:flex;position:sticky;top:0}.modalHeader h2,.modalHeader p{margin:0}.modalHeader button{border:0;border-radius:999px;width:40px;height:40px;font-size:24px}.detailGrid{grid-template-columns:1fr 420px;gap:22px;padding:22px;display:grid}.detailList{background:#f8fbff;border-radius:14px;grid-template-columns:110px 1fr;gap:11px;padding:14px;display:grid}.detailList dt{color:var(--muted);font-weight:700}.detailList dd{margin:0}.actionRow{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.approveButton,.returnButton,.settledButton{color:#fff;border:0;border-radius:12px;min-height:44px;padding:0 15px;font-weight:900}.approveButton{background:var(--green)}.returnButton{background:#b7791f}.settledButton{background:var(--blue)}.receiptImageLarge,.imagePlaceholder{object-fit:contain;border:1px solid var(--line);background:#f8fbff;border-radius:14px;width:100%;min-height:420px;max-height:650px}.imagePlaceholder{color:var(--muted);place-items:center;display:grid}@media (max-width:900px){.summaryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.detailGrid{grid-template-columns:1fr}}@media (max-width:600px){.loginProductHeader{gap:10px;margin-bottom:14px}.loginProductText{text-align:left}.loginLogo{width:54px;height:54px;font-size:18px}.loginCard h1{white-space:normal;font-size:clamp(28px,8vw,34px);line-height:1.18}.headerInner{flex-direction:column;align-items:stretch;width:calc(100% - 20px);min-height:auto;padding:10px 0}.nav{justify-content:flex-start}.formCard{padding:18px 15px}.loginCard{padding:30px 20px}.summaryGrid{gap:9px}.summaryGrid article{padding:13px}.filters input,.filters select{width:100%;max-width:none}.row{display:block}.page{width:calc(100% - 20px);padding-top:20px}}.passwordInputWrap{align-items:center;display:flex;position:relative}.passwordInputWrap .passwordInput{padding-right:52px}.passwordToggleButton{width:38px;height:38px;color:var(--muted);background:0 0;border:0;border-radius:10px;place-items:center;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.passwordToggleButton:hover{background:var(--soft);color:var(--blue)}.passwordToggleButton:focus-visible{outline-offset:2px;outline:3px solid #38a8f540}.passwordToggleIcon{fill:currentColor;width:22px;height:22px}
