:root{--ink:#1d1d1f;--muted:#727272;--line:#dfdfdc;--paper:#f7f7f4;--card:#fff;--accent:#2f5b4b;--warn:#a46819;--danger:#a44539}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);scrollbar-gutter:stable}body{min-width:320px;margin:0;font-family:Arial,Noto Sans KR,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline-offset:3px;outline:3px solid #2f5b4b57}.shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#ffffffc2;justify-content:space-between;align-items:center;gap:24px;padding:24px clamp(20px,5vw,72px);display:flex;position:sticky;top:0}.brand{letter-spacing:-.02em;align-items:center;gap:12px;display:flex}.brand-logo-mark{object-fit:contain;flex:none;width:38px;height:33px}.brand-logo-wordmark{object-fit:contain;flex:none;width:108px;height:18px}.brand-sub{color:var(--muted);align-self:center;align-items:center;margin-left:6px;font-size:12px;line-height:1;display:inline-flex}.topbar-nav{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.topbar-nav a{border-radius:999px;justify-content:center;align-items:center;padding:8px 10px;display:inline-flex}.topbar-action{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:8px 10px;display:inline-flex}.topbar-action:hover{color:var(--ink);background:#ecece8}.topbar-action:disabled{cursor:wait;opacity:.6}.topbar-error{color:var(--danger);font-size:11px}.topbar-nav a:hover{color:var(--ink);background:#ecece8}.page{width:min(1440px,100% - 40px);margin:0 auto;padding:56px 0 80px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0 0 18px;font-size:11px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.065em;max-width:740px;margin-bottom:22px;font-size:clamp(38px,6vw,76px);font-weight:500;line-height:.98}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin:36px 0 16px;display:flex}.section-heading>.toolbar-actions{align-items:flex-start;margin-left:auto}.projects-heading{align-items:flex-start}.page>.section-heading:first-child{margin-top:0}.home-heading{border-bottom:1px solid var(--line);margin-top:0;padding-bottom:20px}.page-title{margin-bottom:0;font-size:clamp(38px,6vw,64px)}.muted{color:var(--muted)}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 28px #19191609}.invite-control{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1d1d1f6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{width:min(100%,680px);max-height:min(720px,100vh - 40px);padding:24px;overflow-y:auto}.modal-qr{width:min(100%,420px)}.modal-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.modal-header h2{letter-spacing:-.045em;margin:0;font-size:24px}.modal-close{border:1px solid var(--line);width:34px;height:34px;color:var(--ink);background:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.modal-close:hover{background:#efefeb}.qr-modal-code{width:min(180px,100%);height:auto;margin:0 auto 16px;display:block}.qr-modal-link{background:var(--paper);color:var(--muted);overflow-wrap:anywhere;border-radius:10px;margin:0 0 20px;padding:10px 12px;font-size:12px;line-height:1.5}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.project-list{gap:12px;display:grid}.project-card{justify-content:space-between;align-items:center;gap:24px;min-height:88px;padding:26px 28px;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex}.project-card:hover{border-color:#c7d8cf;transform:translateY(-1px);box-shadow:0 16px 32px #19191612}.project-card h3{letter-spacing:-.04em;margin-bottom:0;font-size:20px}.project-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.project-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.project-code{color:var(--accent);letter-spacing:.08em;font-weight:700}.project-status{color:#236447;background:#e7f1e9;border-radius:999px;align-items:center;min-height:22px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.danger-button{color:#9a4437;border-color:#e4c7c1}.danger-button:hover{background:#fdf5f2;border-color:#c99387}.delete-modal-copy{margin-bottom:20px}.delete-modal-copy p{margin:0 0 8px}.button{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:999px;align-items:center;gap:8px;padding:11px 16px;font-size:13px;transition:transform .18s,background .18s;display:inline-flex}.button:hover{background:#363636;transform:translateY(-1px)}.button.secondary{color:var(--ink);background:0 0}.button.secondary:hover{background:#efefeb}.button.tiny{padding:7px 10px;font-size:12px}.button:disabled,.row-action:disabled{cursor:not-allowed;opacity:.52}.button:disabled:hover{background:var(--ink);transform:none}.ledger-shell{overflow:hidden}.ledger-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.filters{align-items:center;gap:8px;min-width:0;max-width:100%;display:flex;overflow-x:auto}.filter{border:1px solid var(--line);white-space:nowrap;min-height:32px;color:var(--muted);background:#fff;border-radius:999px;justify-content:center;align-items:center;padding:8px 11px;font-size:12px;line-height:1;display:inline-flex}.filter.active{background:var(--ink);border-color:var(--ink);color:#fff}.toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.toolbar-actions>div{position:relative}.table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scrollbar-width:thin;overflow-x:auto}table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:1040px;font-size:13px}.ledger-col-status{width:12%}.ledger-col-performer{width:16%}.ledger-col-type{width:10%}.ledger-col-gross{width:9%}.ledger-col-net{width:10%}.ledger-col-account{width:23%}.ledger-col-match{width:14%}.ledger-col-evidence{width:6%}th{color:var(--muted);text-align:left;text-transform:uppercase;letter-spacing:.09em;border-bottom:1px solid var(--line);white-space:nowrap;padding:15px 18px;font-size:11px;font-weight:500}td{vertical-align:middle;border-bottom:1px solid #ededeb;padding:17px 18px}tbody tr:hover{background:#fafaf7}.person{flex-direction:column;gap:4px;display:flex}.account-cell,.account-cell .person{min-width:0}.account-bank,.account-value{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.account-cell .account-value{letter-spacing:0;height:18px;font-size:12px;line-height:18px}.person strong{font-weight:600}.person small{color:var(--muted)}.amount{font-variant-numeric:tabular-nums;white-space:nowrap}.status{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:11px;display:inline-flex}.status.ready{color:#236447;background:#e7f1e9}.status.match_pending,.status.evidence_missing,.status.consent_missing,.status.amount_review{color:#8a5b18;background:#f8efdc}.status.overseas,.status.match_rejected{color:#9a4437;background:#f7e8e4}.status.paid{color:#345b83;background:#e8eff8}.status.draft,.status.evidence_processing{color:#666;background:#ededeb}.status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.masked{font-variant-numeric:tabular-nums;color:#555;letter-spacing:.03em}.row-action{min-height:28px;color:var(--accent);background:#fff;border:1px solid #cfd8d2;border-radius:7px;justify-content:center;align-items:center;padding:5px 8px;font-size:12px;line-height:1;transition:background .18s,border-color .18s;display:inline-flex}.row-action:hover{background:#eef5f0;border-color:#9db9aa}.match-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.match-action{border-radius:8px;justify-content:center;align-items:center;gap:5px;min-height:30px;padding:6px 9px;font-size:12px;font-weight:600;line-height:1;transition:background .18s,border-color .18s,transform .18s;display:inline-flex}.match-action:hover:not(:disabled){transform:translateY(-1px)}.match-action.confirm{color:#236447;background:#f0f7f2;border:1px solid #b9d1c4}.match-action.confirm:hover:not(:disabled){background:#e2f0e6;border-color:#8eb49d}.match-action.reject{color:#9a4437;background:#fff7f5;border:1px solid #e3bcb4}.match-action.reject:hover:not(:disabled){background:#f9e9e5;border-color:#c98e83}.match-action:disabled{cursor:not-allowed;opacity:.52}.empty{text-align:center;color:var(--muted);padding:48px 24px}.fallback-page{place-items:center;min-height:calc(100vh - 124px);display:grid}.fallback-card{width:min(100%,520px);color:var(--ink);flex-direction:column;align-items:center;display:flex}.fallback-card .eyebrow{margin-bottom:16px}.fallback-card h1{text-align:center;margin-bottom:28px;font-size:clamp(34px,6vw,56px)}.ledger-footer{color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;font-size:11px;display:flex}.form-page{max-width:760px;margin:0 auto}.auth-page{padding-top:24px}.auth-page .form-page{place-items:center;width:min(100%,520px);min-height:calc(100vh - 124px);display:grid}.auth-page .form-card{width:100%}.form-card{padding:clamp(22px,5vw,42px)}.form-card h1{text-wrap:balance;font-size:clamp(34px,6vw,56px)}.form-heading-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.form-heading-copy{min-width:0}.language-toggle{flex:none}.auth-heading{word-break:keep-all}.form-auth-link{align-items:center;margin-bottom:24px;display:inline-flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.field{flex-direction:column;gap:7px;display:flex}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:600}.field input,.field select,.field textarea{background:#fff;border:1px solid #cfcfcb;border-radius:10px;outline:none;width:100%;padding:12px 13px}.field input[type=file]{min-height:44px}.field input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);flex:none;margin:0;padding:0}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2f5b4b1f}.nationality-combobox{position:relative}.nationality-combobox>input{background:#fff;border:1px solid #cfcfcb;border-radius:10px;outline:none;width:100%;padding:12px 13px}.nationality-combobox>input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2f5b4b1f}.nationality-options{z-index:30;border:1px solid var(--line);background:#fff;border-radius:12px;max-height:250px;padding:5px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 14px 30px #19191624}.nationality-options button{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:8px;padding:9px 10px;font-size:13px;display:block}.nationality-options button:hover,.nationality-options button[aria-selected=true]{color:var(--accent);background:#eef5f0}.nationality-options .hint{padding:12px 10px;display:block}.catalog-settings{padding:20px}.catalog-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;display:flex}.catalog-list{gap:12px;margin-top:16px;display:grid}.catalog-team{border:1px solid var(--line);border-radius:14px;padding:16px}.catalog-team.is-archived{opacity:.62;background:#f8f8f5}.catalog-team-heading,.catalog-role{align-items:center;gap:8px;display:flex}.catalog-team-heading{justify-content:space-between;margin-bottom:12px}.catalog-inputs,.catalog-role{flex:1}.catalog-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.catalog-role{margin-top:8px}.catalog-team input{border:1px solid #cfcfcb;border-radius:8px;width:100%;min-width:0;padding:9px 10px}.catalog-roles{padding-left:18px}.catalog-roles>.button{margin-top:12px}.hint{color:var(--muted);font-size:12px;line-height:1.5}.account-suggestions{gap:6px;margin-top:2px;display:grid}.account-suggestions .filters{flex-wrap:wrap;overflow:visible}.account-suggestions .filter{white-space:nowrap}.account-suggestions small{opacity:.72;text-transform:uppercase;font-size:10px}.checkbox{align-items:center;gap:8px;width:fit-content;flex-direction:row!important;font-weight:400!important;display:inline-flex!important}.form-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:28px;display:flex}.otp-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.consent-box{border:1px solid var(--line);background:#fcfcfa;border-radius:12px;max-height:230px;padding:16px;font-size:14px;line-height:1.7;overflow-y:auto}.signature{touch-action:none;background:#fff;border:1px dashed #b8b8b3;border-radius:12px;width:100%;height:140px}.error{color:var(--danger);font-size:13px}.success{color:var(--accent);font-size:13px}@media (max-width:780px){.topbar{padding:18px 20px}.brand-sub,.topbar-nav a:not(:last-child){display:none}.page{width:min(100% - 28px,680px);padding-top:34px}.section-heading{align-items:flex-start}.section-heading>.toolbar-actions{width:100%;margin-left:0}.section-heading>.toolbar-actions .invite-control{align-items:flex-start}.auth-page .form-page{min-height:calc(100vh - 104px)}.project-card{flex-direction:column;align-items:flex-start}.project-actions{width:100%}.project-card .project-actions .button{flex:1;justify-content:center}.ledger-footer{flex-direction:column;align-items:flex-start}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.catalog-toolbar,.catalog-team-heading{flex-direction:column;align-items:stretch}.catalog-inputs{grid-template-columns:1fr}.catalog-role{flex-wrap:wrap}.catalog-role .row-action{margin-left:auto}}@media (max-width:560px){.topbar{gap:12px;padding:14px}.brand{gap:8px}.brand-logo-mark{width:32px;height:28px}.brand-logo-wordmark{width:92px;height:15px}.topbar-nav{font-size:12px}.topbar-nav a{padding:7px 8px}.page{width:calc(100% - 24px);padding-top:28px;padding-bottom:56px}h1,.page-title{font-size:clamp(34px,11vw,52px)}.section-heading{gap:12px;margin-bottom:14px}.projects-heading>.button{justify-content:center;width:100%}.project-card{gap:18px;padding:20px}.card{border-radius:16px}.form-card{padding:20px 16px}.form-heading-row{flex-direction:column;align-items:stretch}.language-toggle{align-self:flex-start;overflow:visible}.form-actions{margin-top:24px}.form-actions .button{flex:1 1 0;justify-content:center}.button{min-height:44px}.button.tiny{min-height:38px}.ledger-toolbar{align-items:stretch;padding:14px}.ledger-toolbar>.filters,.ledger-toolbar>.toolbar-actions{width:100%}.ledger-toolbar>.toolbar-actions{flex-wrap:nowrap;justify-content:flex-start;padding-bottom:3px;overflow-x:auto}.ledger-toolbar>.toolbar-actions .button{white-space:nowrap;flex:none;justify-content:center}.filters{gap:6px;padding-bottom:3px}.filter{min-height:38px;padding-inline:12px}.match-actions{gap:5px}.match-action,.row-action{min-height:34px}.section-heading>.toolbar-actions .invite-control{align-items:stretch;width:100%}.invite-control>.button{justify-content:center;width:100%}.modal-backdrop{padding:12px}.modal{max-height:calc(100vh - 24px);padding:20px}.modal-actions .button{flex:1 1 0;justify-content:center}.fallback-page{min-height:calc(100vh - 104px)}.ledger-footer{padding:12px 14px}}@media (max-width:360px){.auth-heading{letter-spacing:-.055em;font-size:30px}}
