:root{--ink:#16312f;--muted:#71827f;--line:#e5ebe8;--teal:#087f77;--teal-dark:#075f5a;--pale:#f4f8f6;--coral:#e47662;--cream:#fbfaf6}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:14px 'DM Sans',sans-serif;background:var(--cream)}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:'Plus Jakarta Sans',sans-serif}.hidden{display:none!important}.brand{display:flex;align-items:center;gap:9px;font:800 24px 'Plus Jakarta Sans';letter-spacing:-1px}.brand-mark{display:grid;place-items:center;color:white;background:var(--teal);border-radius:9px;width:30px;height:30px;font-size:27px;line-height:1}.brand-light{color:white}.brand-light .brand-mark{background:#e8866d}.eyebrow,.step-label,.workspace-label{font-size:10px;font-weight:700;letter-spacing:1.5px;color:#849491}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.login-art{background:var(--teal-dark);padding:48px 8vw;display:flex;flex-direction:column;position:relative;overflow:hidden}.login-art:after{content:'';position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.13);border-radius:50%;right:-230px;bottom:-180px;box-shadow:0 0 0 55px rgba(255,255,255,.03),0 0 0 110px rgba(255,255,255,.02)}.art-copy{margin-top:auto;margin-bottom:16vh;color:white;max-width:490px}.art-copy .eyebrow{color:#a7d2cc}.art-copy h1{font-size:clamp(42px,5vw,70px);line-height:1.05;margin:20px 0}.art-copy em{font-style:normal;color:#eaa08d}.art-copy p{font-size:16px;color:#b8d2ce;line-height:1.7;max-width:360px}.art-qr{position:absolute;bottom:48px;left:8vw;color:#b8d2ce;display:flex;align-items:center;gap:14px;font-size:12px}.mini-qr{width:52px;height:52px;background:repeating-conic-gradient(#fff 0 25%,transparent 0 50%) 0/10px 10px;border:5px solid white;border-radius:3px}.login-panel{padding:48px 9vw;display:flex;justify-content:center;flex-direction:column;max-width:650px}.mobile-brand{display:none}.login-heading{margin:80px 0 38px}.login-heading h2{font-size:34px;margin:12px 0 9px;letter-spacing:-1px}.login-heading p{color:var(--muted)}.form-stack{display:flex;flex-direction:column;gap:21px;max-width:400px}.form-stack label,.field-label{font-weight:600;display:flex;flex-direction:column;gap:8px}.form-stack a{float:right;color:var(--teal);font-size:12px;font-weight:500;text-decoration:none}.form-stack input{margin-top:1px}.form-stack input,.field-label input,.field-label select{border:1px solid #d9e3df;border-radius:9px;padding:14px 15px;background:white;color:var(--ink);font:inherit;outline:none}.form-stack input:focus,.field-label input:focus,.field-label select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(8,127,119,.1)}.check-row{flex-direction:row!important;align-items:center;gap:8px!important;color:var(--muted);font-size:13px}.check-row input{accent-color:var(--teal)}.btn{border:0;border-radius:8px;padding:13px 17px;font:600 13px 'DM Sans';cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-1px);filter:brightness(.98)}.btn-primary{background:var(--teal);color:white;box-shadow:0 7px 16px rgba(8,127,119,.17)}.btn-lg{padding:16px 18px;display:flex;justify-content:space-between;font-size:14px}.login-note{color:#90a19e;font-size:12px;margin-top:22px}.security-note{border-top:1px solid var(--line);margin-top:auto;padding-top:22px;color:#94a29f;font-size:12px;display:flex;gap:8px}.app-shell{display:flex;min-height:100vh;background:#f8fbf9}.sidebar{width:248px;background:white;border-right:1px solid var(--line);padding:30px 20px 20px;display:flex;flex-direction:column}.sidebar .brand{margin:0 13px 53px}.workspace-label{margin:0 13px 10px;font-size:9px}.workspace{border:1px solid var(--line);padding:10px;border-radius:9px;display:flex;align-items:center;gap:9px;font-size:11px}.workspace b,.user-menu b{display:block;font-size:12px}.workspace small,.user-menu small{display:block;color:var(--muted);margin-top:3px;font-size:10px}.chevron{margin-left:auto;color:#9caaa7}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700;flex:none}.avatar-teal{background:#d4efeb;color:var(--teal)}.avatar-coral{background:#f7ddd7;color:#b25747}.side-nav{margin-top:28px;display:flex;flex-direction:column;gap:5px}.side-nav a{padding:12px 13px;color:#7e908d;text-decoration:none;border-radius:8px;font-weight:600;display:flex;gap:12px}.side-nav a.active,.side-nav a:hover{color:var(--teal);background:#eaf6f3}.sidebar-bottom{margin-top:auto}.help-card{background:#f3f8f6;border-radius:10px;padding:13px 10px;display:flex;gap:9px;align-items:center}.help-icon{width:24px;height:24px;background:#d3eeea;border-radius:50%;display:grid;place-items:center;color:var(--teal);font-weight:700}.help-card b{font-size:11px}.help-card small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.logout-btn{border:0;background:none;color:#a07870;padding:18px 8px 0;cursor:pointer;font:600 12px 'DM Sans'}.main-content{flex:1;min-width:0}.topbar{height:115px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5.5%}.breadcrumb{color:#90a09d;font-size:11px;margin-bottom:11px}.breadcrumb span{margin:0 7px}.topbar h1{font-size:24px;letter-spacing:-.6px}.top-actions,.user-menu{display:flex;align-items:center;gap:18px}.icon-btn{border:0;background:none;color:#627571;font-size:22px;position:relative;cursor:pointer}.icon-btn i{position:absolute;width:6px;height:6px;background:var(--coral);border:2px solid white;border-radius:50%;right:1px;top:1px}.user-menu{gap:9px}.page-body{padding:38px 5.5%;max-width:1450px}.welcome-bar{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px}.welcome-bar .eyebrow{color:#9aa9a5}.welcome-bar h2{font-size:24px;margin-top:9px;letter-spacing:-.7px}.live-status{font-size:11px;color:#66817a}.live-status i{display:inline-block;width:7px;height:7px;background:#3bb485;border-radius:50%;margin-right:5px}.content-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:21px;align-items:stretch}.card{background:white;border:1px solid var(--line);border-radius:13px;padding:27px;box-shadow:0 3px 14px rgba(30,72,64,.025)}.card-title{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:27px}.card-title h3{font-size:18px;margin-top:7px}.step-label{color:var(--teal);font-size:9px}.required-note{color:#9ba9a6;font-size:10px}.source-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:25px}.source-card{border:1px solid var(--line);border-radius:9px;padding:12px 10px;cursor:pointer;display:flex;align-items:center;gap:8px;position:relative}.source-card.selected{border-color:var(--teal);background:#f0faf7;box-shadow:0 0 0 1px var(--teal)}.source-card input{position:absolute;opacity:0}.bank-logo{width:29px;height:29px;border-radius:7px;display:grid;place-items:center;color:white;font:800 9px 'Plus Jakarta Sans'}.mb{background:#54a946}.vcb{background:#159c73}.acb{background:#3765a7}.source-card b{font-size:11px}.source-card small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.source-card .tick{display:none;margin-left:auto;color:var(--teal)}.source-card.selected .tick{display:block}.field-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:14px}.field-label>span{color:var(--coral);font-size:11px}.input-wrap{position:relative}.input-wrap input{padding-right:55px!important;width:100%}.input-wrap span{position:absolute;right:13px;top:14px;color:var(--muted);font-size:11px}.hint{font-size:10px;color:#9aa8a5;font-weight:400}.advanced-row{border-top:1px solid var(--line);margin-top:21px;padding-top:16px;display:flex;justify-content:space-between}.text-btn{border:0;background:none;color:var(--teal);font:600 12px 'DM Sans';padding:0;cursor:pointer}.char-count{color:#9aa8a5;font-size:10px}.advanced-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:17px}.generate-btn{width:100%;margin-top:28px;display:flex;justify-content:space-between}.preview-card{display:flex;flex-direction:column}.preview-badge{background:#eaf6f3;border-radius:20px;color:var(--teal);font-size:10px;padding:6px 10px;font-weight:700}.empty-preview{margin:auto;text-align:center;color:#9aa8a5}.empty-icon{margin:0 auto 18px;width:70px;height:70px;background:#f1f7f5;border:1px dashed #b7d5ce;border-radius:15px;display:grid;place-items:center;font-size:36px;color:#63a69c}.empty-preview h4{font:700 14px 'Plus Jakarta Sans';color:#60736f;margin-bottom:8px}.empty-preview p{line-height:1.6;font-size:11px}.qr-result{text-align:center;display:flex;flex-direction:column;align-items:center}.qr-frame{padding:11px;border:1px solid var(--line);border-radius:10px;background:white;margin:2px 0 15px}.qr-frame img{width:215px;height:215px;object-fit:contain;display:block}.result-amount{font:800 21px 'Plus Jakarta Sans';letter-spacing:-.5px}.result-message{font-size:12px;font-weight:600;margin-top:5px}.result-account{font-size:10px;color:var(--muted);margin-top:4px}.result-actions{display:flex;gap:9px;margin-top:21px}.btn-secondary{background:white;border:1px solid #cedbd7;color:var(--ink)}.reset-btn{margin-top:17px;color:#81918e}.recent-section{margin-top:39px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:17px}.section-heading h3{font-size:18px;margin-top:7px}.table-card{padding:0;overflow:hidden}.table-card table{width:100%;border-collapse:collapse;font-size:11px}.table-card th{text-align:left;color:#93a19e;font-size:9px;letter-spacing:1px;font-weight:700;background:#fbfcfb;padding:15px 20px}.table-card td{padding:17px 20px;border-top:1px solid var(--line)}.amount-cell{font-weight:700}.status{color:#378768;background:#e8f7ef;border-radius:20px;padding:5px 8px;font-size:9px;font-weight:700}.source-cell{display:flex;align-items:center;gap:8px}.source-dot{width:20px;height:20px;border-radius:5px;color:white;display:grid;place-items:center;font-size:7px;font-weight:700}.toast{position:fixed;top:25px;right:25px;background:#16312f;color:white;padding:13px 17px;border-radius:9px;z-index:10;opacity:0;transform:translateY(-10px);pointer-events:none;transition:.25s;font-size:12px}.toast.show{opacity:1;transform:translateY(0)}@media(max-width:950px){.login-shell{grid-template-columns:1fr}.login-art{display:none}.login-panel{padding:35px 8vw}.mobile-brand{display:flex}.login-heading{margin:80px 0 35px}.sidebar{width:210px}.content-grid{grid-template-columns:1fr}.preview-card{min-height:480px}}@media(max-width:650px){.sidebar{display:none}.topbar{height:90px;padding:0 20px}.topbar h1{font-size:20px}.user-menu>span:not(.avatar):not(.chevron){display:none}.page-body{padding:25px 16px}.welcome-bar{display:block}.live-status{display:block;margin-top:16px}.card{padding:20px}.source-options,.field-grid,.advanced-fields{grid-template-columns:1fr}.source-options{grid-template-columns:1fr 1fr}.table-card{overflow-x:auto}.table-card table{min-width:650px}}
.tcb{background:#e5362e}
.logout-top-btn{border:0;background:#f3f8f6;color:var(--teal);border-radius:7px;padding:8px 10px;cursor:pointer;font:600 11px 'DM Sans'}.settings-panel{margin-top:38px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px}.settings-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.settings-form .btn,.settings-form .hint,.upload-label{grid-column:1/-1}.upload-label{border:1px dashed #b7d5ce;border-radius:9px;padding:16px;color:var(--teal);cursor:pointer}.upload-label input{display:block;margin-top:10px}.logo-upload-preview{min-height:110px;display:grid;place-items:center;background:#f5f9f7;border-radius:10px;margin-bottom:16px}.company-logo-preview{max-width:220px;max-height:100px;object-fit:contain}.empty-logo{color:#9aa8a5;font-size:12px}.settings-banks{margin-top:21px}.settings-banks table{min-width:750px}
.brand-mark img{width:100%;height:100%;object-fit:contain;border-radius:9px}
.table-action{border:0;background:transparent;color:var(--teal);font:600 11px 'DM Sans';cursor:pointer;margin-right:10px;padding:3px}.table-action.delete-bank-btn{color:#b25747}.status-off{background:#f8e6e2;color:#ae6658}
.user-management-panel{margin-top:21px}.user-form-actions{grid-column:1/-1;display:flex;gap:10px}.user-table{margin-top:21px;padding:0;overflow:hidden}.user-table table{width:100%;border-collapse:collapse;font-size:11px}.user-table th{background:#fbfcfb;color:#93a19e;font-size:9px;letter-spacing:1px;text-align:left;padding:15px 20px}.user-table td{padding:15px 20px;border-top:1px solid var(--line)}
.qr-frame img{width:430px;height:auto;max-width:100%;display:block}
.history-controls{display:flex;align-items:end;gap:12px;margin:0 0 18px}.history-controls label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:600;color:var(--muted)}.history-controls input,.history-controls select{border:1px solid #d9e3df;border-radius:8px;padding:11px 12px;background:white;color:var(--ink);font:inherit}.history-controls .btn{height:39px}.history-pager{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px;padding:18px 4px}.pager-actions{display:flex;align-items:center;gap:14px}.pager-actions button:disabled{opacity:.35;cursor:not-allowed}.pager-actions b{color:var(--ink)}
@media(max-width:650px){.history-controls{flex-wrap:wrap;align-items:stretch}.history-controls label{flex:1 1 140px}.history-controls .btn{flex:1 1 130px}.history-pager{gap:12px;flex-direction:column;align-items:flex-start}}
