*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;touch-action:manipulation}body{margin:0;background:#f5f6f8;color:#17191c;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}header{height:70px;background:#111827;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - 1180px)/2));position:sticky;top:0;z-index:5;box-shadow:0 1px 8px #0002}header div{font-size:22px;letter-spacing:.4px}header span{font-weight:400;color:#aeb6c5}button,input,select,textarea{font:inherit}.primary{border:0;background:#fff;color:#111827;border-radius:10px;padding:11px 16px;font-weight:750;cursor:pointer}.hero,.panel,.cards{max-width:1180px;margin-left:auto;margin-right:auto}.hero{padding:38px 18px 22px;display:flex;justify-content:space-between;align-items:end}.hero h1,.panel h2{margin:2px 0 5px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.5px;color:#687184;margin:0}.muted{color:#6b7280;margin:0}.month-picker{display:flex;gap:8px;align-items:center}.month-picker label{font-size:13px;color:#6b7280}.month-picker input,select,input,textarea{border:1px solid #d8dce3;border-radius:9px;padding:10px;background:white}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:0 18px 22px}.cards article{background:white;border:1px solid #e5e7eb;border-radius:14px;padding:18px;box-shadow:0 3px 14px #1118270a}.cards span,.cards small{display:block;color:#6b7280;font-size:13px}.cards b{display:block;font-size:25px;margin-top:8px}.cards small{margin-top:7px}.cards .accent{background:#111827;color:white}.cards .accent span{color:#b9c0cc}.panel{background:white;border:1px solid #e5e7eb;border-radius:15px;margin-bottom:40px;overflow:hidden}.panel-title{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #eee}.panel-title h2{font-size:21px}.empty{padding:50px 20px;text-align:center;color:#777}.order{display:grid;grid-template-columns:1fr 210px 220px;gap:18px;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}.order:last-child{border-bottom:0}.order.expense-only{background:#fff2f2;border-left:5px solid #c62828}.order h3{margin:6px 0 4px;font-size:17px}.order p{margin:0;color:#6b7280;font-size:14px}.status,.expense-badge{display:inline-block;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800}.expense-badge{background:#c62828;color:white;margin-left:5px}.status.gray{background:#eef0f3}.status.blue{background:#e6efff;color:#174ea6}.status.green{background:#e5f7ec;color:#176b38}.status.dark{background:#202938;color:#fff}.status.red{background:#ffe8e8;color:#a82020}.money{text-align:right}.money b,.money span,.money strong{display:block}.money span{color:#777;font-size:12px}.money strong{margin-top:3px}.negative{color:#b91c1c}.actions{display:flex;gap:7px;justify-content:flex-end}.actions select{max-width:135px}.danger{border:1px solid #e2e4e8;background:white;color:#9d2222;border-radius:9px;padding:10px;cursor:pointer}.modal{display:none;position:fixed;inset:0;background:#11182788;z-index:20;padding:20px;overflow:auto}.modal.show{display:flex;align-items:flex-start;justify-content:center}.modal-card{width:min(600px,100%);background:white;border-radius:18px;margin:30px auto;padding:22px;box-shadow:0 20px 70px #0004}.modal-head{display:flex;justify-content:space-between}.x{border:0;background:transparent;font-size:30px;cursor:pointer}.form{display:grid;gap:13px;margin-top:16px}.form label{display:grid;gap:6px;font-size:13px;font-weight:650}.form textarea{resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.big{background:#111827;color:white;padding:14px;margin-top:5px}.mobile-add{display:none}@media(max-width:800px){input,select,textarea,button{font-size:16px}header{padding:0 16px}header>.primary{display:none}.hero{align-items:flex-start;gap:18px;flex-direction:column}.cards{grid-template-columns:1fr 1fr}.panel{border-radius:0;border-left:0;border-right:0}.mobile-add{display:block;background:#111827;color:white}.order{grid-template-columns:1fr}.money{text-align:left;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}.actions{justify-content:flex-start}.actions form:first-child{flex:1}.actions select{max-width:none;width:100%}}@media(max-width:500px){.cards{grid-template-columns:1fr}.hero{padding-top:25px}.two{grid-template-columns:1fr}.modal{padding:0}.modal-card{border-radius:0;margin:0;min-height:100vh}}
.edit-link{border:0;background:transparent;padding:5px 0 0;color:#657087;font-size:12px;text-decoration:underline;cursor:pointer}
.summary-picker{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.summary-picker label{font-size:13px;color:#6b7280}
.year-head{max-width:1180px;margin:0 auto 14px;padding:0 18px;display:flex;align-items:end;justify-content:space-between;gap:15px}.year-head h2{margin:0}.year-head div{display:flex;gap:16px;flex-wrap:wrap;font-size:14px}.month-grid{max-width:1180px;margin:0 auto;padding:0 18px 22px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.month-grid article{background:white;border:1px solid #e5e7eb;border-radius:14px;padding:15px}.month-grid h3{margin:0 0 12px}.month-grid article div{display:flex;justify-content:space-between;gap:10px;padding:4px 0;font-size:13px}.month-grid span{color:#6b7280}.month-grid .income{border-top:1px solid #eee;margin-top:5px;padding-top:9px}
@media(max-width:800px){.month-grid{grid-template-columns:1fr 1fr}.year-head{align-items:flex-start;flex-direction:column}.summary-picker{width:100%}}
@media(max-width:500px){.month-grid{grid-template-columns:1fr}.summary-picker select,.summary-picker input{flex:1}}

.header-actions{display:flex;align-items:center;gap:12px}.header-link{color:white;text-decoration:none;font-size:14px}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:#eef1f5}.auth-card{width:min(460px,100%);background:white;border:1px solid #e1e5ea;border-radius:18px;padding:26px;box-shadow:0 18px 55px #11182718}.auth-brand{display:block;font-size:22px;margin-bottom:26px}.auth-brand span{color:#737d8d;font-weight:400}.auth-card h1{margin:5px 0 18px}.auth-note,.muted2,.security-note{color:#697386;font-size:13px;line-height:1.5}.auth-error,.auth-ok{padding:11px 13px;border-radius:9px;margin:12px 0;font-size:14px}.auth-error{background:#ffeaea;color:#9f1d1d}.auth-ok{background:#e8f7ed;color:#176b38}.settings-wrap{max-width:900px;margin:35px auto;padding:0 18px 50px}.settings-card{background:white;border:1px solid #e1e5ea;border-radius:15px;padding:20px;margin:16px 0}.settings-card h2{margin-top:0}.device-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0;border-top:1px solid #eee}.device-row:first-of-type{margin-top:12px}.device-row small{display:block;color:#747d8c;margin-top:5px;line-height:1.4}.narrow{max-width:460px}.disabled-button{border:1px solid #d9dde4;background:#f3f4f6;color:#8a909b;border-radius:9px;padding:11px 14px}
@media(max-width:800px){header .header-actions>.primary{display:none}.header-actions{gap:10px}.header-link{font-size:13px}.device-row{align-items:flex-start}}

.secondary-button{border:1px solid #cbd1da;background:white;color:#111827;border-radius:9px;padding:11px 14px;font-weight:700;cursor:pointer}.secondary-button.full{width:100%}.auth-divider{text-align:center;color:#8a919c;font-size:12px;margin:14px 0}.key-add{display:flex;gap:10px;align-items:center;margin:14px 0}.key-add input{flex:1}@media(max-width:600px){.key-add{align-items:stretch;flex-direction:column}}
