@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:Manrope,system-ui,sans-serif;color:#163a55;background:#f5faff;font-synthesis:none;--navy: #143d5b;--blue: #2496df;--blue-dark: #147ac4;--blue-soft: #e7f6ff;--green: #23a873;--green-soft: #e5f8f0;--red: #e1585c;--red-soft: #ffedef;--border: #d5e7f1;--muted: #71899a}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 80% 0,#e2f7ff 0,transparent 28%),#f6faff}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}h1,h2,p{margin-top:0}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;padding:18px 15px;display:flex;flex-direction:column;overflow:hidden;isolation:isolate;background:linear-gradient(165deg,#d8f2ff,#effaff 52%,#e3f8ef);border-right:1px solid #b9dfee;box-shadow:8px 0 35px #1c638a12;z-index:50}.sidebar:before{content:"";position:absolute;z-index:-1;top:-88px;right:-78px;width:210px;height:210px;border:32px solid #ffffff4d;border-radius:50%;box-shadow:0 0 0 18px #2ca4e20d}.sidebar:after{content:"";position:absolute;z-index:-1;left:18px;right:18px;bottom:95px;height:125px;opacity:.42;background-image:radial-gradient(circle,#37a4dc 1.3px,transparent 1.4px);background-size:14px 14px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 65%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 65%,transparent);pointer-events:none}.brand{height:76px;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.brand img{width:205px;height:68px;object-fit:contain}.sidebar-caption{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:6px;margin:1px 14px 14px;padding:6px 9px;border:1px solid #ffffffb8;border-radius:999px;background:#ffffff70;color:#50768b;font-size:9px;font-weight:750;letter-spacing:.2px}.sidebar-caption svg{width:13px;height:13px;color:var(--green)}.sidebar-close{display:none}.sidebar nav{position:relative;z-index:1;display:flex;flex-direction:column;gap:7px}.sidebar nav a{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 13px;border:1px solid transparent;border-radius:14px;color:#3b6680;font-size:13px;font-weight:700;text-decoration:none;transition:.18s}.sidebar nav a svg{width:35px;height:35px;padding:8px;border:1px solid #ffffffd1;border-radius:10px;background:#ffffff9c;color:#2189ce;box-shadow:0 4px 13px #217ca112}.sidebar nav a:hover{transform:translate(3px);border-color:#ffffffb8;background:#ffffffa8}.sidebar nav a.active{color:#fff;border-color:#78c9f0;background:linear-gradient(135deg,#2b9de2,#1682cd);box-shadow:0 10px 24px #147ac435}.sidebar nav a.active svg{color:#fff;border-color:#ffffff35;background:#ffffff2b}.privacy-card{position:relative;z-index:1;display:flex;align-items:center;gap:9px;margin-top:auto;margin-bottom:10px;padding:11px;border:1px solid #ffffffc7;border-radius:15px;background:linear-gradient(135deg,#ffffffb8,#f4fff9a6);box-shadow:0 8px 25px #216e9810}.privacy-card>svg{width:29px;height:29px;padding:6px;border-radius:9px;background:#dff7ec;color:var(--green)}.privacy-card>div{display:flex;flex-direction:column}.privacy-card strong{font-size:10px}.privacy-card span{color:#78909f;font-size:8px}.user-card{position:relative;z-index:1;display:grid;grid-template-columns:38px 1fr 31px;align-items:center;gap:9px;padding:10px;border:1px solid #fff;border-radius:15px;background:#ffffffcf;box-shadow:0 8px 25px #216e9815}.user-card>div{min-width:0;display:flex;flex-direction:column}.user-card strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-card span{font-size:9px;color:var(--green);font-weight:800;text-transform:uppercase}.user-card button,.sidebar-close,.mobile-header button{border:0;background:none;color:#678295;padding:5px}.app-shell>main{margin-left:250px;min-height:100vh}.mobile-header{display:none}.page{max-width:1420px;margin:auto;padding:34px 34px 70px}.page-heading,.welcome{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}.page-heading h1,.welcome h1{font-size:29px;letter-spacing:-.8px;margin:0 0 7px;color:var(--navy)}.page-heading p,.welcome p{margin:0;color:var(--muted);font-size:13px}.eyebrow{font-size:10px!important;text-transform:uppercase;letter-spacing:1.4px;font-weight:800;color:var(--green)!important;margin-bottom:6px!important}.date-pill{background:#fff;border:1px solid var(--border);border-radius:999px;padding:9px 13px;color:#547187;font-size:11px}.heading-actions{display:flex;gap:9px}.button{min-height:43px;border:0;border-radius:11px;padding:9px 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:800}.button svg{width:18px}.button.primary{color:#fff;background:linear-gradient(135deg,#299ce1,#1478c5);box-shadow:0 7px 18px #1478c52c}.button.secondary{color:var(--navy);background:#fff;border:1px solid var(--border)}.button.income-button{color:#08784e;background:var(--green-soft);border:1px solid #c6eddd}.button.full{width:100%}.panel{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 5px 18px #164f7409;overflow:hidden}.panel>header{display:flex;justify-content:space-between;padding:19px 21px;border-bottom:1px solid var(--border)}.panel>header h2{font-size:16px;margin:0 0 3px}.panel>header p{font-size:11px;color:var(--muted);margin:0}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.summary-card{display:grid;grid-template-columns:47px 1fr;gap:12px;padding:18px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 7px 24px #164f740b}.summary-icon{width:47px;height:47px;display:grid;place-items:center;border-radius:14px;background:var(--blue-soft);color:var(--blue-dark)}.summary-icon svg{width:22px}.summary-card small{display:block;font-size:10px;color:var(--muted);font-weight:700}.summary-card strong{display:block;font-size:18px;margin:3px 0;color:var(--navy)}.summary-card p{margin:0;color:#91a2ae;font-size:9px}.summary-card.income .summary-icon{background:var(--green-soft);color:var(--green)}.summary-card.expense .summary-icon{background:var(--red-soft);color:var(--red)}.summary-card.flow .summary-icon{background:#f0eaff;color:#7754cc}.activity-list{padding:5px 20px}.activity{display:grid;grid-template-columns:39px 1fr auto;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid #edf3f6}.activity:last-child{border:0}.activity>span{width:37px;height:37px;display:grid;place-items:center;border-radius:11px}.activity>span svg{width:18px}.activity>span.income{background:var(--green-soft);color:var(--green)}.activity>span.expense{background:var(--red-soft);color:var(--red)}.activity>div{display:flex;flex-direction:column}.activity strong{font-size:12px}.activity small{font-size:9px;color:var(--muted)}.activity b{font-size:12px}.money.income,.activity b.income{color:var(--green)}.money.expense,.activity b.expense{color:var(--red)}.filter-bar{display:grid;grid-template-columns:minmax(230px,1.5fr) repeat(4,minmax(125px,.7fr));gap:9px;margin-bottom:14px}.filter-bar input,.filter-bar select,.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:42px;padding:9px 11px;border:1px solid #cddfe9;border-radius:10px;background:#fff;color:var(--navy);outline:none}.filter-bar input:focus,.filter-bar select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#55aee2;box-shadow:0 0 0 3px #2d9be316}.search{position:relative}.search svg{position:absolute;left:11px;top:11px;width:18px;color:#8a9eac}.search input{padding-left:36px}.table-panel{min-height:250px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;padding:11px 14px;background:#f4f9fc;color:#7890a2;font-size:9px;text-transform:uppercase;letter-spacing:.5px}td{padding:12px 14px;border-top:1px solid #e8f0f4;font-size:11px;color:#47667b}td strong{display:block;color:var(--navy)}td small{display:block;margin-top:2px;color:#91a1ad}.kind-badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:800}.kind-badge.income{color:#08784e;background:var(--green-soft)}.kind-badge.expense{color:#b23c42;background:var(--red-soft)}td.money{text-align:right;font-weight:800}.void-row{opacity:.5;text-decoration:line-through}.row-actions{display:flex;gap:5px}.row-actions button,.category-card>button{width:30px;height:30px;border:1px solid var(--border);border-radius:8px;background:#fff;color:#638096;display:grid;place-items:center}.row-actions button:last-child{color:var(--red)}.row-actions svg,.category-card>button svg{width:15px}.pagination{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:12px 14px;border-top:1px solid var(--border)}.pagination span{margin-right:auto;font-size:10px;color:var(--muted)}.pagination button{display:flex;align-items:center;gap:3px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:6px 9px;font-size:9px;color:#5b7688}.pagination svg{width:14px}.pagination strong{font-size:10px}.empty{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#9aabb6}.empty svg{width:30px}.empty strong{margin-top:8px;color:#617d90;font-size:12px}.empty span{font-size:10px;margin-top:3px}.loading{min-height:230px;display:flex;align-items:center;justify-content:center;gap:9px;color:var(--muted);font-size:11px}.loading span{width:21px;height:21px;border:2px solid #d9edf8;border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.center{min-height:100vh;display:grid;place-items:center}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px;background:#133d5880;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{width:min(560px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:20px;box-shadow:0 25px 70px #0d2d4266}.modal.wide{width:min(850px,100%)}.modal>header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:18px 21px;background:#fff;border-bottom:1px solid var(--border)}.modal>header h2{font-size:18px;margin:0}.modal>header button{width:34px;height:34px;border:1px solid var(--border);border-radius:9px;background:#fff;color:#668193}.modal-body{padding:21px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label,.form-grid>div{display:flex;flex-direction:column;gap:5px;color:#48677b;font-size:11px;font-weight:700}.form-grid .span-2{grid-column:1/-1}.form-grid textarea{resize:vertical}.form-grid label>span{font-weight:500;color:#8ca0ad}.currency{display:flex!important;flex-direction:row!important;align-items:center;border:1px solid #cddfe9;border-radius:10px}.currency span{padding-left:11px;font-weight:800}.currency input{border:0;box-shadow:none!important}.form-actions{align-items:flex-end!important;padding-top:12px;border-top:1px solid var(--border)}.form-error{padding:10px 12px;border:1px solid #ffd0d3;border-radius:10px;background:#ffebed;color:#a83b41;font-size:11px}.toast-stack{position:fixed;right:18px;bottom:18px;z-index:200;display:flex;flex-direction:column;gap:8px}.toast{display:grid;grid-template-columns:20px 1fr 25px;gap:8px;align-items:center;width:min(390px,calc(100vw - 36px));padding:12px;background:#fff;border:1px solid var(--border);border-radius:13px;box-shadow:0 12px 35px #153d5633;font-size:11px}.toast.success>svg{color:var(--green)}.toast.error>svg{color:var(--red)}.toast button{border:0;background:none;color:var(--muted)}.period-picker{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px;padding:12px;background:#fff;border:1px solid var(--border);border-radius:15px}.preset-row{display:flex;gap:5px}.preset-row button{border:0;border-radius:9px;background:#f1f7fa;color:#5f7b8e;padding:8px 11px;font-size:10px;font-weight:800}.preset-row button.active{background:var(--blue-dark);color:#fff}.date-range{display:flex;gap:8px}.date-range label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px}.date-range input{border:1px solid var(--border);border-radius:8px;padding:7px}.report-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px}.report-summary article{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:14px;background:#fff;border:1px solid var(--border);border-top:3px solid #8bcdf3;border-radius:13px}.report-summary article>svg{position:absolute;right:10px;top:10px;width:18px;color:#85a9bd}.report-summary span{font-size:9px;color:var(--muted);text-transform:uppercase}.report-summary strong{font-size:14px;margin-top:4px}.report-summary .green{border-top-color:var(--green)}.report-summary .red{border-top-color:var(--red)}.report-summary .blue{border-top-color:#7454c7}.report-summary .emphasis{background:linear-gradient(135deg,#eaf8ff,#fff);border-top-color:var(--blue)}.daily-panel{margin-bottom:16px}.report-detail{margin-bottom:20px}.print-title{display:none}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.category-card{display:grid;grid-template-columns:45px 1fr 30px 30px;align-items:center;gap:10px;padding:14px;background:#fff;border:1px solid var(--border);border-radius:15px}.category-card.inactive{opacity:.5}.category-card>span{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;color:#fff}.category-card>span svg{width:20px}.category-card>div{display:flex;flex-direction:column}.category-card strong{font-size:12px}.category-card small{font-size:9px;color:var(--muted)}.color-picker{display:flex!important;flex-direction:row!important;gap:9px!important}.color-picker button{width:31px;height:31px;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 1px var(--border)}.color-picker button.active{box-shadow:0 0 0 3px #9dd5f5}.account-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:16px;align-items:start}.profile-settings{display:flex;flex-direction:column;align-items:center;padding:24px;text-align:center}.profile-settings h2{margin:13px 0 2px;font-size:19px}.profile-settings>p{font-size:11px;color:var(--muted);margin:0}.profile-settings>span{display:flex;align-items:center;gap:4px;margin:10px 0;padding:5px 9px;border-radius:999px;background:var(--green-soft);color:#08784e;font-size:9px;font-weight:800;text-transform:uppercase}.profile-settings>span svg{width:14px}.profile-settings>small{max-width:330px;margin-bottom:13px;color:#8a9faa;font-size:9px}.avatar-preview{position:relative;width:125px;height:125px}.avatar-preview>.profile-avatar,.avatar-preview>img{width:125px;height:125px;border-radius:50%;object-fit:cover}.avatar-preview label{position:absolute;right:0;bottom:4px;width:38px;height:38px;display:grid;place-items:center;border:3px solid #fff;border-radius:50%;background:var(--blue-dark);color:#fff;cursor:pointer}.avatar-preview label svg{width:18px}.avatar-preview input{display:none}.password-settings .form-grid{padding:20px}.password-settings h2{display:flex;align-items:center;gap:7px}.password-settings h2 svg{width:18px}.show-password{display:flex!important;flex-direction:row!important;align-items:center;gap:6px!important}.show-password input{width:16px;min-height:16px}.show-password svg{width:15px}.admin-users{margin-top:25px}.section-heading h2{margin:0 0 4px}.section-heading p{font-size:11px;color:var(--muted)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.create-user{padding:20px}.user-list{padding:10px 18px}.user-list>div{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf3f6}.user-list>div:last-child{border:0}.user-list span{display:flex;flex-direction:column}.user-list strong{font-size:11px}.user-list small{font-size:9px;color:var(--muted)}.profile-avatar{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;overflow:hidden;border-radius:50%;background:linear-gradient(135deg,#2da4e7,#1eab78);color:#fff;font-weight:800}.profile-avatar.large{width:70px;height:70px;font-size:24px}.profile-avatar img{width:100%;height:100%;object-fit:cover}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 0,#dff5ff,transparent 48%),#f7fbfe}.login-card{width:min(420px,100%);padding:30px;background:#fff;border:1px solid var(--border);border-radius:24px;box-shadow:0 22px 65px #1c668d1c;text-align:center}.login-logo{width:min(285px,88%);height:96px;object-fit:contain}.login-card h1{font-size:24px;margin:0 0 5px}.login-card>p{color:var(--muted);font-size:11px;margin-bottom:22px}.login-card form{display:flex;flex-direction:column;gap:13px;text-align:left}.login-card label{font-size:10px;font-weight:800}.input-icon{height:44px;display:flex;align-items:center;margin-top:5px;padding:0 10px;border:1px solid #ccdee8;border-radius:10px;color:#8ba0ad}.input-icon>svg{width:17px}.input-icon input{min-width:0;flex:1;height:100%;border:0;outline:0;padding:0 9px}.input-icon button{border:0;background:none;color:inherit}.input-icon button svg{width:17px}.install-prompt{position:fixed;right:17px;bottom:17px;z-index:150;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:10px;width:min(530px,calc(100vw - 34px));padding:12px 42px 12px 12px;background:#fffffff5;border:1px solid #bce2f5;border-radius:17px;box-shadow:0 15px 45px #17496130}.install-prompt>img{width:48px;height:48px;object-fit:contain}.install-prompt strong{font-size:12px}.install-prompt p{display:flex;align-items:center;gap:3px;margin:3px 0 0;color:var(--muted);font-size:9px}.install-prompt .close{position:absolute;right:8px;top:8px;border:0;background:none;color:var(--muted)}@media(max-width:1100px){.summary-grid,.category-grid{grid-template-columns:repeat(2,1fr)}.filter-bar{grid-template-columns:repeat(4,1fr)}.filter-bar .search{grid-column:span 2}.report-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.sidebar{transform:translate(-103%);transition:.2s;box-shadow:13px 0 40px #143c552c}.sidebar.open{transform:none}.sidebar-close{display:block;position:absolute;right:0}.overlay{position:fixed;inset:0;z-index:40;border:0;background:#143c555c}.app-shell>main{margin-left:0;padding-top:61px}.mobile-header{position:fixed;inset:0 0 auto;z-index:35;height:61px;display:flex;align-items:center;padding:6px 13px;background:linear-gradient(90deg,#fffffffa,#f1fbffef);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.mobile-header>button{width:40px;height:40px}.mobile-header img{width:168px;height:50px;object-fit:contain;margin-left:7px}.page{padding:21px 14px 80px}.page-heading,.welcome{align-items:flex-end}.page-heading h1,.welcome h1{font-size:24px}.date-pill{display:none}.heading-actions .button{font-size:0;width:43px;padding:0}.heading-actions .button svg{width:20px}.summary-grid{gap:9px}.summary-card{grid-template-columns:36px 1fr;gap:8px;padding:13px}.summary-icon{width:36px;height:36px;border-radius:10px}.summary-card strong{font-size:14px}.summary-card p{display:none}.filter-bar{display:flex;overflow-x:auto;padding-bottom:5px}.filter-bar>*{flex:0 0 145px}.filter-bar .search{flex-basis:230px}.modal-backdrop{padding:0;align-items:end}.modal{width:100%;max-height:92vh;border-radius:21px 21px 0 0}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.pagination button{font-size:0}.category-grid{grid-template-columns:1fr}.period-picker{align-items:stretch;flex-direction:column}.preset-row{overflow-x:auto}.date-range{display:grid;grid-template-columns:1fr 1fr}.date-range label{flex-direction:column;align-items:flex-start}.date-range input{width:100%}.report-summary{grid-template-columns:repeat(2,1fr)}.account-layout,.admin-grid{grid-template-columns:1fr}.toast-stack{right:9px;bottom:9px}.toast{width:calc(100vw - 18px)}.install-prompt{right:9px;bottom:9px;grid-template-columns:43px 1fr;width:calc(100vw - 18px)}.install-prompt>.button{grid-column:1/-1}.install-prompt>img{width:43px;height:43px}}@media print{body{background:#fff}.sidebar,.mobile-header,.no-print,.install-prompt,.toast-stack{display:none!important}.app-shell>main{margin:0}.page{max-width:none;padding:0}.page-heading{display:none}.print-title{display:flex;align-items:center;gap:12px;border-bottom:2px solid var(--navy);padding-bottom:8px;margin-bottom:12px}.print-title img{width:90px;height:60px;object-fit:contain}.print-title h1{font-size:18px;margin:0}.print-title p{font-size:10px;margin:2px 0}.panel,.report-summary article{box-shadow:none;border-color:#aaa}.table-wrap{overflow:visible}table{white-space:normal}th,td{font-size:8px;padding:6px}@page{size:A4 landscape;margin:12mm}}
