@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@300;400;500;600;700&display=swap');
:root{--ink:#1f2523;--soft-ink:#5d6662;--line:#e4e8e2;--paper:#fbfaf6;--surface:#ffffff;--surface-2:#f3f7f1;--accent:#d84a34;--accent-2:#2f7d68;--gold:#e2ad45;--danger:#d94b4b;--blue:#4478c8;--purple:#7864c9;--radius:18px}
*{box-sizing:border-box}
html{min-width:320px}
body{font-family:"Nunito Sans",system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--paper);color:var(--ink);margin:0;font-weight:400;letter-spacing:0}
a{text-decoration:none;color:inherit}
strong,.fw-bold,.fw-black{font-weight:600!important}
.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-weight:600;letter-spacing:0;color:var(--ink)}
.small,small{font-weight:400}
.btn{border-radius:14px;font-weight:600;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px}
.btn-sm{min-height:34px}
.btn-lg{min-height:52px}
.btn-brand{background:var(--accent);color:#fff;border:1px solid var(--accent);box-shadow:none}
.btn-brand:hover{background:#bd3f2c;border-color:#bd3f2c;color:#fff}
.btn-dark-soft{background:#26302c;color:#fff;border:1px solid #26302c}
.btn-dark-soft:hover{background:#1d2522;color:#fff}
.app-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 28px rgba(31,37,35,.06)}
.badge{border-radius:999px;padding:.42rem .68rem;text-transform:none;font-weight:600}
.badge-success{background:#e4f5eb;color:#217044}.badge-primary{background:#e5eefb;color:#2f62a8}.badge-warning{background:#fff4d8;color:#8a5b14}.badge-danger{background:#ffe8e3;color:#ad3b28}.badge-info{background:#e3f4f5;color:#247076}.badge-purple{background:#eee9fb;color:#5a49a5}.badge-secondary{background:#edf0ec;color:#5d6662}
.toast-box{position:fixed;left:14px;right:14px;bottom:18px;z-index:3000;display:none;background:#26302c;color:#fff;border-radius:16px;padding:13px 15px;box-shadow:0 16px 38px rgba(31,37,35,.18);font-weight:500}
.toast-box.show{display:block;animation:rise .22s ease}
@keyframes rise{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}
.form-control,.form-select{border-radius:14px;border-color:var(--line);font-weight:400;color:var(--ink);min-height:42px}
.form-control:focus,.form-select:focus{border-color:var(--accent-2);box-shadow:0 0 0 .18rem rgba(47,125,104,.14)}
.form-label{font-weight:600;color:var(--ink)}
.text-money{color:var(--accent);font-weight:600}
.page-shell{min-height:100vh}
.text-muted{color:var(--soft-ink)!important}
@media(max-width:575px){.btn{width:auto}.app-card{border-radius:16px}.container{padding-left:14px;padding-right:14px}}
