:root{color:#202420;background:#f5f3ed;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif;--paper: #f5f3ed;--ink: #202420;--muted: #7f827b;--line: #d9d8d1;--green: #c7ef80;--coral: #e8755c}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,a{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--coral);outline-offset:3px}.app{min-height:100vh;background:var(--paper)}.topbar{display:flex;justify-content:space-between;align-items:center;max-width:760px;margin:auto;padding:24px 20px}.brand-mark{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700}.brand-dot{width:8px;height:8px;border-radius:50%;background:var(--coral)}.link-button{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:12px}.link-button:hover{color:var(--ink)}.simple-shell{max-width:760px;margin:auto;padding:45px 20px 60px}.login-shell{display:grid;min-height:100vh;max-width:760px;padding-top:20px;place-items:center}.login-box{width:min(100%,500px);padding:20px;text-align:center}.login-box:before{display:block;width:28px;height:3px;margin:0 auto 24px;background:var(--coral);content:""}.login-box h1{margin:0 0 16px;font-size:clamp(34px,7vw,52px);line-height:1.04;letter-spacing:-.065em}.muted-label{margin:0;color:var(--muted);font-size:11px;letter-spacing:.08em}.muted-copy{max-width:400px;margin:0 auto 24px;color:var(--muted);line-height:1.7;font-size:14px}.primary-button{display:inline-flex;align-items:center;justify-content:center;border:0;padding:13px 18px;background:var(--ink);color:#fff;text-decoration:none;cursor:pointer;font-size:13px;font-weight:700}.primary-button:hover{background:#3d4840}.primary-button:disabled{opacity:.45;cursor:not-allowed}.user-card{display:flex;align-items:center;gap:13px;padding-bottom:23px;border-bottom:1px solid var(--line)}.user-card img{width:48px;height:48px;border-radius:50%;object-fit:cover;background:#ddd}.user-details{flex:1;min-width:0}.user-details strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.status{padding:7px 10px;border:1px solid var(--line);font-size:11px;white-space:nowrap}.status-pending{background:#fff8d9;border-color:#e7d795}.status-approved{background:#e4efff;border-color:#bdd1ef}.status-paid{background:#e3f6b8;border-color:#c5dc92}.amount-card{margin-top:18px;padding:27px;border:1px solid var(--line);background:#fffefa}.total-amount{padding-bottom:25px;border-bottom:1px dashed var(--line)}.total-amount div{display:flex;align-items:baseline;gap:9px;margin-top:10px}.total-amount strong{font-size:clamp(44px,11vw,76px);line-height:.9;letter-spacing:-.08em}.total-amount em{color:var(--coral);font-size:12px;font-style:normal;font-weight:700}.amount-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-top:22px}.amount-grid div{min-width:0}.amount-grid span{display:block;margin-bottom:8px;color:var(--muted);font-size:11px}.amount-grid strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:17px;font-weight:500}.action-card{margin-top:18px;padding:25px 27px;background:var(--ink);color:#fff}.action-card>strong{display:block;font-size:18px}.action-card p{margin:9px 0 18px;color:#b8c0b7;font-size:13px}.action-card b{color:var(--green);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;font-weight:500}.actions{display:flex;align-items:center;gap:18px}.action-card .primary-button{background:var(--green);color:var(--ink)}.action-card .primary-button:hover{background:#dafb9f}.action-card .link-button{color:var(--green)}.loading-screen{display:grid;place-items:center;min-height:70vh;color:var(--muted);font-size:13px}.startup-error{max-width:620px;margin:100px auto;padding:35px 20px}.startup-error h1{margin:0 0 12px;font-size:34px;letter-spacing:-.06em}.startup-error p{color:var(--muted)}.startup-error code{padding:3px 5px;background:#e6e3da}.error-banner{position:fixed;z-index:5;top:15px;left:50%;transform:translate(-50%);display:flex;gap:12px;align-items:center;max-width:calc(100vw - 30px);padding:11px 14px;background:var(--coral);color:#fff;font-size:12px}.error-banner button{border:0;background:transparent;color:#fff;cursor:pointer;font-size:18px}@media (max-width: 600px){.simple-shell{padding-top:25px}.login-box{padding:20px 8px}.amount-card{padding:22px 19px}.amount-grid{grid-template-columns:repeat(2,1fr)}.actions{align-items:flex-start;flex-direction:column;gap:15px}}
