@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');
:root{--ink:#1d211d;--forest:#252b25;--forest2:#30372f;--gold:#cbaa67;--gold2:#e1ca98;--paper:#f4f2ed;--white:#fff;--muted:#767a72;--line:#deddd6;--green:#49765c;--red:#a74e4e;--shadow:0 18px 50px rgba(24,28,22,.09)}*{box-sizing:border-box}html{font-size:16px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-page{min-height:100vh}.sidebar{width:258px;position:fixed;inset:0 auto 0 0;background:var(--ink);color:#f7f5ef;padding:32px 22px 20px;display:flex;flex-direction:column;z-index:20}.logo{display:flex;align-items:center;gap:13px}.brand-mark{width:42px;height:48px;display:grid;place-items:center;color:var(--gold2);font:600 26px 'Playfair Display';border:1px solid rgba(225,202,152,.65);clip-path:polygon(50% 0,100% 18%,100% 82%,50% 100%,0 82%,0 18%)}.logo b{font:600 20px 'Playfair Display';letter-spacing:.13em}.logo small{display:block;color:var(--gold2);font-size:9px;letter-spacing:.23em;margin-top:4px}.sidebar nav{margin-top:58px;display:grid;gap:8px}.sidebar nav a{padding:13px 15px;color:#aeb3aa;display:flex;align-items:center;gap:12px;border-radius:4px;font-size:14px;font-weight:600}.sidebar nav a span{font-size:19px;width:22px}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(203,170,103,.13);color:#f7f4ed}.sidebar nav a.active{border-left:2px solid var(--gold)}.security-note{margin-top:auto;border:1px solid rgba(203,170,103,.18);background:rgba(203,170,103,.07);padding:14px;display:flex;gap:11px;align-items:flex-start}.security-note>span{color:var(--gold)}.security-note b{display:block;font-size:11px;letter-spacing:.03em}.security-note small{display:block;color:#8f968b;font-size:10px;line-height:1.5;margin-top:4px}.profile{display:flex;align-items:center;gap:10px;border-top:1px solid #353a34;margin-top:18px;padding-top:18px}.profile>span{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--ink);font-weight:700;font-size:12px}.profile div{min-width:0;flex:1}.profile b,.profile small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile b{font-size:12px}.profile small{color:#8f968b;font-size:10px;margin-top:3px}.profile button{border:0;background:none;color:#a7aca4;font-size:18px}.content{margin-left:258px;min-height:100vh;padding:42px clamp(28px,4vw,68px) 70px}.mobile-head{display:none}.eyebrow{margin:0 0 10px;color:#9b7c40;font-size:10px;font-weight:700;letter-spacing:.24em}.hero,.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.hero h1,.page-heading h1,.auth-card h1{font:500 clamp(32px,4vw,45px)/1.1 'Playfair Display';margin:0}.hero p:not(.eyebrow){margin:11px 0 0;color:var(--muted);font-size:14px}.date-chip{border:1px solid var(--line);background:#eeece6;padding:10px 14px;color:#6f736b;font-size:12px}.scan-panel{background:var(--forest);color:white;margin:32px 0 28px;padding:22px 25px;display:flex;align-items:center;gap:18px;box-shadow:var(--shadow)}.scan-icon{font-size:27px;color:var(--gold)}.scan-copy{min-width:180px}.scan-copy label,.scan-copy span{display:block}.scan-copy label{font-weight:700;font-size:14px}.scan-copy span{font-size:10px;color:#9ba197;margin-top:4px}.scan-panel input,.inline-search input{flex:1;background:#181b18;border:1px solid #4b5148;color:white;padding:13px 15px;outline:none;min-width:0}.scan-panel input:focus,.inline-search input:focus{border-color:var(--gold)}.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:12px 20px;font-size:12px;font-weight:700;letter-spacing:.03em;min-height:43px}.button.primary{background:var(--gold);color:#20231f}.button.primary:hover{background:var(--gold2)}.button.secondary{background:white;border-color:var(--line)}.button.wide{width:100%}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{background:white;border:1px solid #e6e3dc;padding:20px;display:flex;gap:15px;align-items:center}.stat-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%}.stat-icon.gold{background:#f1e7d3;color:#9d7534}.stat-icon.green{background:#dce9df;color:#477058}.stat-icon.pale{background:#e7e6df}.stat-icon.dark{background:#30352f;color:#d8b979}.stat small,.stat strong,.stat div span{display:block}.stat small{font-size:10px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.stat strong{font:600 22px 'Playfair Display';margin:6px 0}.stat div span{font-size:10px;color:#989b94}.table-section{margin-top:35px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-head h2,.form-title h2,dialog h2{font:500 22px 'Playfair Display';margin:0}.section-head a{font-size:11px;color:#967536;font-weight:700}.table-card{background:#fff;border:1px solid #e4e1d9;overflow:auto}.table-card table{width:100%;border-collapse:collapse;min-width:760px}.table-card th{text-align:left;background:#eeece6;color:#777b73;font-size:9px;text-transform:uppercase;letter-spacing:.13em;padding:12px 16px}.table-card td{padding:15px 16px;border-top:1px solid #eceae4;font-size:12px}.table-card td strong,.table-card td small{display:block}.table-card td small{color:#999c96;margin-top:4px;font-size:9px}.table-card td a{font-weight:700}.amount.positive{color:var(--green)}.amount.negative{color:var(--red)}.empty-row{text-align:center;color:var(--muted);padding:35px!important}.alert{padding:14px 17px;margin:0 0 20px;border-left:3px solid}.alert.success{background:#e4eee7;border-color:var(--green);color:#345b44}.alert.danger{background:#f4e2e2;border-color:var(--red);color:#803f3f}.alert.info{background:#ece8dc;border-color:var(--gold);color:#765e2f}.page-heading{align-items:center;margin-bottom:28px}.inline-search{display:flex;min-width:min(420px,48vw)}.inline-search input{background:#fff;color:var(--ink);border-color:var(--line)}.empty-state{background:white;border:1px dashed #cecbc1;text-align:center;padding:75px 30px;color:var(--muted)}.empty-state>div{font-size:44px;color:var(--gold)}.empty-state h2{font:500 25px 'Playfair Display';color:var(--ink);margin:14px 0 5px}.status-banner{display:flex;align-items:center;gap:15px;background:#eee9dc;border:1px solid #dbceb0;padding:18px 20px;margin-bottom:18px}.status-banner>span{width:40px;height:40px;border-radius:50%;background:var(--gold);display:grid;place-items:center;font-size:23px}.status-banner strong,.status-banner small{display:block}.status-banner small{margin-top:4px;color:var(--muted)}.form-card{background:white;border:1px solid #e1ded6;padding:26px;margin-bottom:25px}.form-title{display:flex;gap:15px;align-items:center;border-bottom:1px solid #ebe8e0;padding-bottom:18px;margin-bottom:20px}.form-title>span{font:500 24px 'Playfair Display';color:var(--gold)}.form-title p{margin:4px 0 0;color:var(--muted);font-size:11px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px;margin-bottom:20px}.form-grid .full{grid-column:1/-1}label{display:grid;gap:7px;font-size:11px;font-weight:700;color:#5f635c}input,select,textarea{width:100%;border:1px solid #d9d7cf;background:#faf9f6;color:var(--ink);padding:11px 12px;outline:none;border-radius:0}input:focus,select:focus,textarea:focus{border-color:#ae8c4e;box-shadow:0 0 0 2px rgba(203,170,103,.12)}label small{font-size:9px;color:#999;font-weight:400}.amount-label{position:relative}.amount-label span{position:absolute;right:13px;bottom:13px;font-size:11px;color:var(--muted)}.card-overview{display:grid;grid-template-columns:minmax(330px,1fr) 1.2fr;gap:28px;background:white;border:1px solid #e2dfd7;padding:27px;margin-bottom:25px}.gift-card{aspect-ratio:1.6;max-width:440px;position:relative;overflow:hidden;color:white;background:radial-gradient(circle at 70% 20%,#566052,#242924 58%);padding:25px;box-shadow:0 18px 40px rgba(16,20,16,.27)}.card-shine{position:absolute;width:260px;height:260px;border:1px solid rgba(220,194,139,.18);border-radius:50%;right:-100px;top:-90px}.card-shine:after{content:'';position:absolute;inset:25px;border:1px solid rgba(220,194,139,.12);border-radius:50%}.gift-top,.gift-bottom{display:flex;justify-content:space-between;align-items:center;position:relative}.gift-top span{font:600 18px 'Playfair Display';letter-spacing:.15em}.gift-top em{font-style:normal;font-size:8px;letter-spacing:.2em;color:var(--gold2)}.gift-balance{position:absolute;left:25px;bottom:52px}.gift-balance small{display:block;color:#c1c6bd;font-size:8px;letter-spacing:.17em}.gift-balance strong{font:500 30px 'Playfair Display';display:block;margin-top:6px}.gift-bottom{position:absolute;bottom:20px;left:25px;right:25px;font-size:9px;letter-spacing:.12em;color:#b9bdb6}.gift-bottom b{color:var(--gold2)}.card-details{padding:5px 10px}.status-line{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;border-bottom:1px solid #ebe8e0;padding-bottom:16px}.badge{display:inline-block;padding:5px 9px;font-size:9px;font-weight:700}.badge.success{background:#dce9df;color:#3d674d}.badge.danger{background:#f2dddd;color:#8b4040}.card-details dl{display:grid;grid-template-columns:1fr 1fr;gap:20px}.card-details dt{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.card-details dd{margin:5px 0 0;font-size:12px;font-weight:700}.action-tabs{display:flex;border-bottom:1px solid #d9d6cf;margin:30px 0 0}.action-tabs button{border:0;background:transparent;padding:13px 22px;font-size:12px;font-weight:700;color:var(--muted)}.action-tabs button.active{color:#8b6c32;border-bottom:2px solid var(--gold)}.transaction-form{border-top:0}.hidden{display:none!important}.filters{display:flex;align-items:end;gap:12px;background:#fff;border:1px solid #e1ded6;padding:17px;margin-bottom:20px}.filters label{flex:1}.stack{display:grid;gap:16px}.link-button{border:0;background:none;color:#8f6e32;font-size:10px;font-weight:700}.auth-page{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at 70% 20%,#394138,#171a17 60%);position:relative}.auth-page:after{content:'';position:fixed;inset:0;background:linear-gradient(120deg,transparent 55%,rgba(203,170,103,.08));pointer-events:none}.auth-card{width:min(420px,100%);background:#f7f5f0;padding:42px;box-shadow:0 30px 80px rgba(0,0,0,.35);position:relative;z-index:1}.auth-card .brand-mark{background:var(--ink);margin:0 auto 18px}.auth-card>.eyebrow,.auth-card>h1,.auth-card>.muted{text-align:center}.auth-card h1{font-size:34px}.muted{color:var(--muted);font-size:12px;line-height:1.6}.auth-card>.muted{margin:10px 0 25px}.input-action{display:flex;position:relative}.input-action button{position:absolute;right:6px;top:6px;bottom:6px;border:0;background:transparent;color:#777}.auth-foot{text-align:center;font-size:11px;color:var(--muted);margin:22px 0 0}.auth-foot a{color:#8e6c2f;font-weight:700}dialog{border:0;padding:34px;width:min(460px,calc(100% - 30px));box-shadow:0 25px 80px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(19,22,18,.65)}.modal-close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:25px;color:#777}
@media(max-width:1050px){.stats-grid{grid-template-columns:1fr 1fr}.card-overview{grid-template-columns:1fr}.gift-card{width:100%}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.mobile-head{display:flex;position:sticky;top:0;z-index:15;height:65px;background:var(--ink);color:white;align-items:center;justify-content:space-between;padding:10px 18px}.mobile-head .brand-mark{width:32px;height:38px;font-size:19px}.mobile-head .logo b{font-size:14px}.mobile-head button{background:none;border:0;color:var(--gold2);font-size:23px}.content{margin-left:0;padding:28px 17px 55px}.hero,.page-heading{align-items:flex-start}.date-chip{display:none}.scan-panel{display:grid;grid-template-columns:auto 1fr;padding:18px}.scan-panel input,.scan-panel .button{grid-column:1/-1;width:100%}.stats-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.card-overview{padding:15px}.gift-card{min-width:0}.filters{display:grid;grid-template-columns:1fr 1fr}.filters label:first-child,.filters .button{grid-column:1/-1}.inline-search{min-width:0;width:100%}.page-heading{flex-direction:column}.page-heading .button{width:100%}.auth-card{padding:30px 24px}.scan-copy{min-width:0}}
@media(max-width:430px){.gift-card{padding:18px}.gift-balance{left:18px;bottom:45px}.gift-bottom{left:18px;right:18px}.gift-balance strong{font-size:24px}.card-details dl{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.filters label{grid-column:1/-1}}
