:root{--espresso:#2b1b12;--espresso-soft:#4a362a;--cream:#fbf7f0;--cream-raised:#fff;--gold:#b8863c;--gold-deep:#8f6526;--cedi-green:#2f6844;--usd-blue:#2f5a68;--overdue:#a8412c;--border:#e7ddce;--border-strong:#d8c9ae;--font-display:"Fraunces",Georgia,serif;--font-body:"Inter",-apple-system,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--radius:10px;--shadow-card:0 1px 2px #2b1b120f,0 4px 12px #2b1b120a}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background:#fbf7f0;background:var(--cream);font-family:Inter,-apple-system,sans-serif;font-family:var(--font-body);font-size:15px;line-height:1.5}body,h1,h2,h3{color:#2b1b12;color:var(--espresso);margin:0}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-family:var(--font-display);font-weight:600}table{border-collapse:collapse;width:100%}.mono{font-feature-settings:"tnum";font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-variant-numeric:tabular-nums}button{cursor:pointer;font-family:Inter,-apple-system,sans-serif;font-family:var(--font-body)}a{color:#8f6526;color:var(--gold-deep)}:focus-visible{outline:2px solid #b8863c;outline:2px solid var(--gold);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}.page-header{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:20px}.page-header h1{font-size:24px}.page-header .subtitle{color:var(--espresso-soft);font-size:13px;margin-top:4px}.card{background:var(--cream-raised);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card)}.data-table{width:100%}.data-table th{background:#fbf7f0;color:var(--espresso-soft);font-size:11px;font-weight:600;letter-spacing:.05em;padding:12px 16px;text-align:left;text-transform:uppercase}.data-table td,.data-table th{border-bottom:1px solid var(--border)}.data-table td{font-size:14px;padding:13px 16px}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#fcfaf5}.badge{border-radius:999px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.03em;padding:2px 9px;text-transform:uppercase}.badge-chain{background:#efe2c8;color:var(--gold-deep)}.badge-individual{background:#e3ece6;color:var(--cedi-green)}.btn{border:none;border-radius:7px;font-family:var(--font-body);font-size:13.5px;font-weight:600;padding:9px 16px}.btn-primary{background:var(--espresso);color:var(--cream)}.btn-primary:hover{background:var(--gold-deep)}.btn-ghost{background:#0000;border:1px solid var(--border-strong);color:var(--espresso-soft)}.btn-ghost:hover{border-color:var(--espresso-soft);color:var(--espresso)}.btn-danger-text{background:none;color:var(--overdue);font-weight:500;padding:4px 8px}.empty-state{color:var(--espresso-soft);padding:48px 24px;text-align:center}.empty-state .empty-title{color:var(--espresso);font-family:var(--font-display);font-size:17px;margin-bottom:6px}.modal-backdrop{align-items:flex-start;background:#2b1b1252;display:flex;inset:0;justify-content:center;padding-top:8vh;position:fixed;z-index:20}.modal-panel{background:var(--cream-raised);border-radius:14px;box-shadow:0 12px 40px #2b1b1238;max-height:80vh;max-width:calc(100vw - 32px);overflow-y:auto;padding:24px;width:420px}.modal-panel h2{font-size:18px;margin-bottom:18px}.form-field{margin-bottom:14px}.form-field label{color:var(--espresso-soft);display:block;font-size:12.5px;font-weight:600;margin-bottom:5px}.form-field input,.form-field select,.form-field textarea{background:var(--cream);border:1px solid var(--border-strong);border-radius:7px;color:var(--espresso);font-family:var(--font-body);font-size:14px;padding:9px 11px;width:100%}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#0000;outline:2px solid var(--gold);outline-offset:0}.form-row{display:flex;gap:10px}.form-row .form-field{flex:1 1}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.app-shell{display:flex;min-height:100vh}.sidebar{background-color:var(--espresso);background-image:linear-gradient(to bottom,#2b1b1240 0,var(--espresso) 78%),url(/static/media/coffee-bg.449d540d6b85ee240ecb.jpg);background-position:top;background-size:cover;color:var(--cream);display:flex;flex-direction:column;flex-shrink:0;gap:32px;padding:28px 20px;width:264px}.brand-logo{display:block;height:auto;max-width:192px;width:100%}.brand-sub{color:#c9b79a;display:block;font-size:11px;letter-spacing:.06em;margin-top:4px;text-transform:uppercase}nav{display:flex;flex-direction:column;gap:2px}.nav-link{align-items:center;border-radius:8px;color:#e4d6be;display:flex;font-size:14px;font-weight:500;gap:10px;padding:9px 12px;text-decoration:none;transition:background-color .15s ease,color .15s ease}.nav-icon{flex-shrink:0;opacity:.75}.nav-link.active .nav-icon,.nav-link:hover .nav-icon{opacity:1}.nav-link:hover{background:#ffffff0f;color:var(--cream)}.nav-link.active{background:var(--gold);color:var(--espresso);font-weight:600}.main-column{display:flex;flex:1 1;flex-direction:column;min-width:0}.topbar{background:var(--cream-raised);border-bottom:1px solid var(--border);gap:20px;height:64px;justify-content:flex-end;padding:0 28px}.topbar,.user-menu{align-items:center;display:flex}.user-menu{font-size:13.5px;gap:10px}.user-greeting{color:var(--espresso-soft);font-weight:600}.content{flex:1 1;padding:28px}.currency-toggle{align-items:center;background:var(--cream);border:1px solid var(--border-strong);border-radius:999px;color:var(--espresso-soft);display:inline-flex;font-family:var(--font-mono);font-size:13px;font-weight:500;gap:8px;padding:7px 14px 7px 10px;transition:border-color .15s ease}.currency-toggle:hover{border-color:var(--gold)}.currency-toggle .bean{background:var(--gold);border-radius:50% 50% 50% 50%/60% 60% 40% 40%;flex-shrink:0;height:18px;position:relative;width:14px}.currency-toggle .bean:after{background:var(--espresso);border-radius:2px;bottom:10%;content:"";left:50%;position:absolute;top:10%;transform:translateX(-50%) rotate(8deg);width:1.5px}.currency-toggle .active{color:var(--espresso);font-weight:700}.currency-toggle .sep{color:var(--border-strong)}@media (max-width:720px){.app-shell{flex-direction:column}.sidebar{align-items:center;justify-content:space-between;padding:14px 16px;width:100%}.sidebar,nav{flex-direction:row}.content{padding:18px}}.login-shell{align-items:center;background-image:linear-gradient(#140c089e,#140c08b8),url(/static/media/coffee-bg.449d540d6b85ee240ecb.jpg);background-position:50%;background-size:cover;display:flex;justify-content:center;min-height:100vh;padding:20px;position:relative}.login-card{background:var(--cream-raised);border-bottom:6px solid var(--gold);border-radius:16px;border-top:6px solid var(--gold);box-shadow:0 24px 70px #00000073;max-width:100%;padding:36px 32px 30px;position:relative;text-align:center;width:380px}.login-logo{display:block;margin:0 auto 6px;width:180px}.login-subtitle{color:var(--espresso-soft);font-size:12.5px;letter-spacing:.04em;margin:0 0 26px;text-transform:uppercase}.login-card form{text-align:left}.login-submit{font-size:14px;margin-top:6px;padding:11px;width:100%}.login-error{background:#fbeae6;border-radius:7px;color:var(--overdue);font-size:13px;margin-bottom:14px;padding:9px 12px}.login-help{color:var(--espresso-soft);font-size:13px;line-height:1.5;margin:0 0 16px}.login-links{display:flex;justify-content:flex-end;margin:-6px 0 16px}.link-button{background:none;border:none;color:var(--gold-deep);font-size:12.5px;font-weight:600;padding:0;text-decoration:underline}.password-field{align-items:center;display:flex;position:relative}.password-field input{padding-right:40px;width:100%}.password-toggle{align-items:center;background:none;border:none;color:var(--espresso-soft);display:flex;padding:4px;position:absolute;right:10px}.password-toggle:hover{color:var(--espresso)}
/*# sourceMappingURL=main.d6e6c52e.css.map*/