:root{
  --bg:#f5f1ea;
  --bg2:#ebe4d9;
  --card:#fffaf3;
  --card-solid:#ffffff;
  --text:#20241f;
  --muted:#72766d;
  --line:#ddd4c6;
  --accent:#315446;
  --accent2:#6b7a57;
  --danger:#a33b35;
  --warning:#a86421;
  --ok:#32744a;
  --shadow:0 18px 45px rgba(44,38,30,.09);
  --shadow-sm:0 8px 24px rgba(44,38,30,.07);
  --radius:22px;
  --radius-sm:14px;
  --maxw:1180px;
  --safe-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box} html{background:var(--bg)}
body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(107,122,87,.12),transparent 34%),linear-gradient(180deg,var(--bg),#f8f5ef 50%,var(--bg));color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.45;overflow-x:hidden;padding-bottom:calc(74px + var(--safe-bottom));}
a{color:inherit}.main-container,.dashboard,.dom-module,.page{width:min(var(--maxw),calc(100% - 28px));margin:22px auto 36px;padding:0}.app-shell-header{position:sticky;top:0;z-index:1000;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;width:min(var(--maxw),calc(100% - 22px));margin:10px auto 0;padding:10px 12px;border:1px solid rgba(221,212,198,.75);border-radius:24px;background:rgba(255,250,243,.86);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--shadow-sm)}
.app-brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;letter-spacing:-.03em}.app-logo{width:42px;height:42px;border-radius:14px;box-shadow:0 10px 22px rgba(49,84,70,.16)}.app-brand span{font-size:18px}.app-nav{justify-self:center;display:flex;gap:4px;align-items:center;justify-content:center;min-width:0}.app-nav a,.app-user a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;padding:10px 12px;border-radius:15px;color:var(--muted);font-weight:800;font-size:14px;white-space:nowrap}.app-nav a:hover,.app-nav a.active,.app-user a:hover{background:#efe8dc;color:var(--accent)}.app-user{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:13px;font-weight:800}.app-user>a{padding:10px}.bottom-nav{position:fixed;z-index:1001;left:12px;right:12px;bottom:calc(10px + var(--safe-bottom));display:none;grid-template-columns:repeat(5,1fr);gap:4px;padding:8px;border:1px solid rgba(221,212,198,.8);border-radius:24px;background:rgba(255,250,243,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 12px 34px rgba(44,38,30,.16)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;border-radius:18px;min-height:52px;color:var(--muted);font-weight:800}.bottom-nav a.active{background:#efe8dc;color:var(--accent)}.bottom-nav small{font-size:11px;margin-top:2px}.ui-ico{width:21px;height:21px;display:inline-block;background:currentColor;flex:0 0 auto;mask:center/contain no-repeat;-webkit-mask:center/contain no-repeat}.ui-ico[data-ico="panel"]{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 13h7V4H4v9Zm0 7h7v-5H4v5Zm9 0h7v-9h-7v9Zm0-16v5h7V4h-7Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 13h7V4H4v9Zm0 7h7v-5H4v5Zm9 0h7v-9h-7v9Zm0-16v5h7V4h-7Z'/%3E%3C/svg%3E")}.ui-ico[data-ico="plus"]{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 5h2v6h6v2h-6v6h-2v-6H5v-2h6V5Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 5h2v6h6v2h-6v6h-2v-6H5v-2h6V5Z'/%3E%3C/svg%3E")}.ui-ico[data-ico="home"]{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 3 9 8h-3v9h-5v-6h-2v6H6v-9H3l9-8Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 3 9 8h-3v9h-5v-6h-2v6H6v-9H3l9-8Z'/%3E%3C/svg%3E")}.ui-ico[data-ico="car"]{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.5 6h11l2.2 6H21v7h-2.5a2.5 2.5 0 0 1-5 0h-3a2.5 2.5 0 0 1-5 0H3v-7h1.3l2.2-6Zm1.4 2-1.4 4h11l-1.4-4H7.9Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.5 6h11l2.2 6H21v7h-2.5a2.5 2.5 0 0 1-5 0h-3a2.5 2.5 0 0 1-5 0H3v-7h1.3l2.2-6Zm1.4 2-1.4 4h11l-1.4-4H7.9Z'/%3E%3C/svg%3E")}.ui-ico[data-ico="credit"]{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6h18v12H3V6Zm2 3v2h14V9H5Zm0 5v2h6v-2H5Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6h18v12H3V6Zm2 3v2h14V9H5Zm0 5v2h6v-2H5Z'/%3E%3C/svg%3E")}.ui-ico[data-ico="chart"]{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 20V9h4v11H5Zm5 0V4h4v16h-4Zm5 0v-7h4v7h-4Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 20V9h4v11H5Zm5 0V4h4v16h-4Zm5 0v-7h4v7h-4Z'/%3E%3C/svg%3E")}.ui-ico[data-ico="file"]{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3h9l4 4v14H6V3Zm8 1.5V8h3.5L14 4.5Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3h9l4 4v14H6V3Zm8 1.5V8h3.5L14 4.5Z'/%3E%3C/svg%3E")}.ui-ico[data-ico="logout"]{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h8v2H7v12h6v2H5V4Zm11.5 4.5L21 12l-4.5 3.5V13H10v-2h6.5V8.5Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h8v2H7v12h6v2H5V4Zm11.5 4.5L21 12l-4.5 3.5V13H10v-2h6.5V8.5Z'/%3E%3C/svg%3E")}
.card,.summary-card,.stat-card,.chart-card,.filter-card,.month-card,.tile,.info-card,.history-card,.modal-content,.login-container{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}h1{letter-spacing:-.04em;font-size:clamp(28px,4vw,48px);line-height:1.05;margin:0 0 8px}h2,h3{letter-spacing:-.025em}.btn,.apple-button,button[type="submit"],.add-expense-btn{border:none;border-radius:16px;background:var(--accent)!important;color:#fff!important;padding:12px 16px;font-weight:900;text-decoration:none;cursor:pointer;box-shadow:none;transition:.16s ease}.btn:hover,.apple-button:hover,button[type="submit"]:hover,.add-expense-btn:hover{transform:translateY(-1px);filter:brightness(.96)}.btn.ghost,.btn-secondary,.apple-button.small,.btn-mini{background:#fffaf3!important;color:var(--accent)!important;border:1px solid var(--line)!important;box-shadow:none!important}.btn.danger,.btn-danger,.btn-mini.danger{background:#fff3f1!important;color:var(--danger)!important;border:1px solid #e7bbb7!important}.input,.textarea,.select,input,select,textarea{font:inherit;border:1px solid var(--line);border-radius:16px;background:#fffdf9;color:var(--text);padding:12px 14px;outline:none}input:focus,select:focus,textarea:focus,.input:focus,.textarea:focus,.select:focus{border-color:rgba(49,84,70,.5);box-shadow:0 0 0 4px rgba(49,84,70,.12)}table{border-collapse:separate;border-spacing:0;width:100%}th{background:#eee7dc;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}td,th{padding:12px;border-bottom:1px solid var(--line)}.muted{color:var(--muted)}.mono-icon,.tile-icon svg,.fas,.fa,.car-tab span:first-child{color:var(--accent)!important;filter:none!important}.tile-icon{background:#efe8dc!important;border-color:#e0d5c4!important;color:var(--accent)!important}.module-head,.module-header,.title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}.toolbar,.actions,.module-actions{display:flex;gap:8px;flex-wrap:wrap}.badge,.tl-chip{display:inline-flex;border-radius:999px;background:#efe8dc;color:var(--accent);padding:4px 9px;font-weight:900;font-size:12px}.modal{backdrop-filter:blur(8px)}.modal-content{max-height:92vh;overflow:auto}@media(max-width:940px){.app-shell-header{grid-template-columns:1fr auto}.app-brand span{font-size:16px}.app-nav{display:none}.app-user span{display:none}.bottom-nav{display:grid}.main-container,.dashboard,.dom-module,.page{width:min(100% - 20px,var(--maxw));margin-top:14px}.toolbar,.actions,.module-actions{width:100%}.toolbar .btn,.actions .btn,.module-actions .btn{flex:1 1 150px}}@media(max-width:560px){body{padding-bottom:calc(84px + var(--safe-bottom))}.app-shell-header{border-radius:20px;padding:8px 10px}.app-logo{width:38px;height:38px}.card,.summary-card,.stat-card,.chart-card,.filter-card,.month-card,.tile,.info-card,.history-card{border-radius:18px}.bottom-nav{left:8px;right:8px;border-radius:22px}.bottom-nav .ui-ico{width:20px;height:20px}.bottom-nav small{font-size:10px}h1{font-size:30px}}

/* ===== Budżet Domowy v3 – pełne ujednolicenie UI ===== */
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;500;600;700;900&display=swap');
:root{
  --bg:#f5f1ea!important;
  --bg2:#eee7dc!important;
  --card:#fffaf3!important;
  --card-solid:#ffffff!important;
  --text:#20241f!important;
  --muted:#71786c!important;
  --line:#ded4c5!important;
  --ring:#ded4c5!important;
  --accent:#315446!important;
  --accent2:#6b7a57!important;
  --accent-soft:#e8efe6!important;
  --danger:#9d3d35!important;
  --warning:#a46c2a!important;
  --ok:#32744a!important;
  --shadow:0 18px 42px rgba(39,55,47,.08)!important;
  --shadow-sm:0 8px 24px rgba(39,55,47,.06)!important;
  --radius:22px!important;
  --radius-sm:14px!important;
}
*{font-family:'Lato',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;}
html{background:var(--bg)!important;-webkit-text-size-adjust:100%;}
body{
  background:
    radial-gradient(circle at 8% 0%, rgba(49,84,70,.12), transparent 28%),
    radial-gradient(circle at 100% 12%, rgba(107,122,87,.10), transparent 26%),
    linear-gradient(180deg,#f5f1ea 0%,#f8f5ef 54%,#f5f1ea 100%)!important;
  color:var(--text)!important;
  font-weight:400!important;
  letter-spacing:.005em;
}
::selection{background:#dfe9dc;color:var(--accent)}
h1{font-size:clamp(24px,3.2vw,38px)!important;font-weight:800!important;letter-spacing:-.035em!important;line-height:1.08!important;}
h2{font-size:clamp(18px,2.2vw,24px)!important;font-weight:800!important;letter-spacing:-.025em!important;}
h3{font-size:16px!important;font-weight:800!important;}
p,.subtitle,.page-subtitle,.muted,.meta,label,.label{font-weight:400!important;color:var(--muted)!important;}

/* header/menu */
.app-shell-header{
  width:min(1220px,calc(100% - 22px))!important;
  margin:10px auto 0!important;
  border:1px solid rgba(222,212,197,.82)!important;
  border-radius:22px!important;
  background:rgba(255,250,243,.88)!important;
  box-shadow:0 10px 28px rgba(39,55,47,.07)!important;
}
.app-logo{width:40px!important;height:40px!important;border-radius:13px!important;box-shadow:0 8px 18px rgba(49,84,70,.13)!important;}
.app-brand{font-weight:900!important;letter-spacing:-.025em!important;}
.app-brand span{font-size:17px!important;}
.app-nav{gap:2px!important;}
.app-nav a,.app-user a{
  color:var(--muted)!important;
  font-size:13px!important;
  font-weight:700!important;
  border:1px solid transparent!important;
  padding:9px 10px!important;
  border-radius:14px!important;
}
.app-nav a:hover,.app-nav a.active,.app-user a:hover,.bottom-nav a.active{
  background:var(--accent-soft)!important;
  color:var(--accent)!important;
  border-color:#d6e2d2!important;
}
.bottom-nav{
  grid-template-columns:repeat(6,1fr)!important;
  border-radius:22px!important;
  background:rgba(255,250,243,.96)!important;
  border-color:rgba(222,212,197,.9)!important;
  box-shadow:0 16px 36px rgba(39,55,47,.16)!important;
}
.bottom-nav a{min-height:50px!important;font-size:11px!important;color:var(--muted)!important;border:1px solid transparent;}
.bottom-nav small{font-size:10px!important;font-weight:700!important;}
.ui-ico{background:currentColor!important;color:inherit!important;}
.ui-ico[data-ico="list"]{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16v2H4V5Zm0 6h16v2H4v-2Zm0 6h16v2H4v-2Z'/%3E%3C/svg%3E")!important;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16v2H4V5Zm0 6h16v2H4v-2Zm0 6h16v2H4v-2Z'/%3E%3C/svg%3E")!important;}

/* cards, pages and components */
.main-container,.dashboard,.dom-module,.page,.container{width:min(1220px,calc(100% - 28px))!important;margin:20px auto 36px!important;padding:0!important;}
.card,.summary-card,.stat-card,.chart-card,.filter-card,.month-card,.tile,.info-card,.history-card,.modal-content,.wizard-card,.wizard-head,.filters,.table-wrap,.summary,.charts-container,.months-container,.fixed-expenses-section,.login-container,.welcome,.clock,.quick-card{
  background:rgba(255,250,243,.94)!important;
  border:1px solid var(--line)!important;
  border-radius:22px!important;
  box-shadow:var(--shadow-sm)!important;
}
.tile,.card,.stat-card,.chart-card,.month-card,.info-card,.history-card,.quick-card{transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease!important;}
.tile:hover,.card:hover,.stat-card:hover,.chart-card:hover,.month-card:hover,.info-card:hover,.history-card:hover,.quick-card:hover{transform:translateY(-2px)!important;box-shadow:var(--shadow)!important;border-color:#cfdcc9!important;}
.module-head,.module-header,.title-row,.header-row{margin-bottom:14px!important;align-items:center!important;}
.title,.section-title{font-size:20px!important;font-weight:800!important;letter-spacing:-.03em!important;}
.page-subtitle{margin:3px 0 0!important;font-size:13px!important;}

/* buttons and form controls */
.btn,.apple-button,button[type="submit"],.add-expense-btn,.btn.primary,.btn-primary,.fab{
  background:var(--accent)!important;
  color:#fff!important;
  border:1px solid var(--accent)!important;
  border-radius:15px!important;
  box-shadow:0 8px 18px rgba(49,84,70,.13)!important;
  font-weight:800!important;
  font-size:13px!important;
  letter-spacing:.005em!important;
}
.btn:hover,.apple-button:hover,button[type="submit"]:hover,.add-expense-btn:hover{filter:none!important;background:#29483c!important;transform:translateY(-1px)!important;}
.btn.ghost,.btn-secondary,.apple-button.small,.btn-mini,.btn.sm.ghost{background:#fffdf9!important;color:var(--accent)!important;border:1px solid var(--line)!important;box-shadow:none!important;}
.btn.danger,.btn-danger,.btn-mini.danger{background:#fff1ee!important;color:var(--danger)!important;border:1px solid #e8b9b3!important;}
input,select,textarea,.input,.control,.big-input{
  background:#fffdf9!important;
  border:1px solid var(--line)!important;
  color:var(--text)!important;
  border-radius:15px!important;
  font-size:16px!important;
  font-weight:400!important;
}
input:focus,select:focus,textarea:focus,.input:focus,.control:focus,.big-input:focus{border-color:rgba(49,84,70,.55)!important;box-shadow:0 0 0 4px rgba(49,84,70,.12)!important;}

/* tables and expense history */
thead th,th{background:#eee7dc!important;color:var(--muted)!important;font-size:11px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.055em!important;}
td,th{border-bottom:1px solid var(--line)!important;}
tbody tr:hover{background:rgba(49,84,70,.055)!important;}
.amount,.month-total,.total-line strong,.settlement-hero .amount{color:var(--accent)!important;}
.total{background:#fffdf9!important;border-color:var(--line)!important;color:var(--accent)!important;}
.summary-row,.stat-list li{border-bottom:1px solid var(--line)!important;}

/* home/dom module */
.dom-module,.main-container{color:var(--text)!important;}
.months-container,.charts-container,.fixed-expenses-section{background:rgba(255,250,243,.94)!important;}
.month-card{background:#fffdf9!important;min-width:250px!important;}
.expense-item{font-size:13px!important;display:flex!important;justify-content:space-between!important;gap:10px!important;}
.all-paid,.badge,.tl-chip{background:var(--accent-soft)!important;color:var(--accent)!important;border:1px solid #d6e2d2!important;}
.chart-section,.chart-box{background:#fffdf9!important;border:1px solid var(--line)!important;border-radius:20px!important;box-shadow:none!important;}

/* reports */
.report-picker,.filters,.filter-card{background:rgba(255,250,243,.94)!important;border-color:var(--line)!important;}
.grid-charts{gap:14px!important;}
.chart-card{padding:14px!important;}
.chart-card h2,.stat-card h2{text-align:left!important;color:var(--text)!important;font-size:17px!important;}
.chart-wrap{height:260px!important;}
.settlement-hero{background:linear-gradient(135deg,#315446,#6b7a57)!important;color:#fff!important;border-radius:24px!important;box-shadow:var(--shadow)!important;}
.settlement-hero *{color:inherit!important;}
.bold-summary,.final-summary,.settlement-final{background:var(--accent-soft)!important;color:var(--accent)!important;border:1px solid #d6e2d2!important;border-radius:18px!important;padding:12px!important;font-weight:900!important;}

/* cars */
.cars-bar{gap:8px!important;scroll-snap-type:x mandatory!important;}
.car-tab{background:#fffdf9!important;border:1px solid var(--line)!important;border-radius:18px!important;color:var(--text)!important;box-shadow:var(--shadow-sm)!important;}
.car-tab.active{background:var(--accent-soft)!important;color:var(--accent)!important;border-color:#d6e2d2!important;}
.car-details{padding:18px!important;}
.info-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;}
.info-card{padding:14px!important;background:#fffdf9!important;}
.info-label{font-size:11px!important;text-transform:uppercase!important;letter-spacing:.05em!important;color:var(--muted)!important;font-weight:800!important;}
.info-value{font-size:14px!important;font-weight:800!important;color:var(--text)!important;}
.status-dot{box-shadow:none!important;}
.dot-ok{background:#32744a!important}.dot-warn{background:#a46c2a!important}.dot-danger{background:#9d3d35!important}.dot-missing{background:#9a9a8f!important}
.history-card{background:#fffdf9!important;}

/* login */
.login-page,body:has(.login-card),body.login{background:linear-gradient(160deg,#f5f1ea,#e8efe6)!important;}
.login-card,.card[role="dialog"]{background:rgba(255,250,243,.94)!important;border:1px solid var(--line)!important;border-radius:30px!important;box-shadow:0 28px 70px rgba(39,55,47,.13)!important;}
.logo{background:transparent!important;box-shadow:none!important;border-radius:20px!important;}

/* footer */
footer{background:transparent!important;color:var(--muted)!important;margin:20px auto 96px!important;}
.footer-container{width:min(1220px,calc(100% - 28px))!important;margin:0 auto!important;background:rgba(255,250,243,.72)!important;border:1px solid var(--line)!important;border-radius:20px!important;padding:14px!important;box-shadow:var(--shadow-sm)!important;}
.footer-links h3{font-size:13px!important}.footer-links a{color:var(--accent)!important;font-weight:700!important;}

/* mobile */
@media(max-width:940px){
  .app-shell-header{grid-template-columns:1fr auto!important;width:calc(100% - 18px)!important;border-radius:20px!important;}
  .app-nav{display:none!important;}
  .app-user span{display:none!important;}
  .bottom-nav{display:grid!important;left:8px!important;right:8px!important;padding:7px!important;gap:2px!important;}
  .bottom-nav a{min-width:0!important;padding:4px 2px!important;}
  .main-container,.dashboard,.dom-module,.page,.container{width:calc(100% - 18px)!important;margin-top:14px!important;}
  .toolbar,.actions,.module-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;gap:8px!important;}
  .toolbar .btn,.actions .btn,.actions .apple-button,.module-actions .btn{width:100%!important;}
  .info-grid{grid-template-columns:1fr 1fr!important;}
  .grid-charts,.grid-stats{grid-template-columns:1fr!important;}
}
@media(max-width:560px){
  body{padding-bottom:calc(88px + var(--safe-bottom))!important;}
  h1{font-size:25px!important;}
  h2{font-size:18px!important;}
  .app-brand span{font-size:15px!important;}
  .app-logo{width:36px!important;height:36px!important;}
  .card,.summary-card,.stat-card,.chart-card,.filter-card,.month-card,.tile,.info-card,.history-card,.modal-content,.wizard-card,.wizard-head,.filters,.table-wrap,.summary{border-radius:18px!important;}
  .tile{padding:18px!important;text-align:left!important;}
  .tile h2{font-size:16px!important;margin-bottom:3px!important;}
  .tile p{font-size:12px!important;margin:0!important;}
  .info-grid{grid-template-columns:1fr!important;}
  .chart-wrap{height:230px!important;}
  td{font-size:13px!important;}
  td::before{font-size:11px!important;}
  .module-head,.module-header,.title-row,.header-row{align-items:flex-start!important;}
  .toolbar,.actions,.module-actions{grid-template-columns:1fr!important;}
}
@media(prefers-reduced-motion:no-preference){
  .app-shell-header,.card,.tile,.summary-card,.stat-card,.chart-card,.month-card,.info-card,.history-card,.wizard-card,.filters{animation:bdFadeUp .28s ease both;}
  @keyframes bdFadeUp{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
}

/* ===== Budżet Domowy v4 — spójny zielony UI, Lato, mobile first ===== */
:root{
  --bg:#f3efe7!important;--bg2:#ebe3d6!important;--card:#fffaf3!important;--card-solid:#fff!important;
  --text:#20251f!important;--muted:#6f766d!important;--line:#ded5c7!important;--ring:#ded5c7!important;
  --accent:#315446!important;--accent2:#6b7a57!important;--accent-soft:#e6eee4!important;
  --ok:#32744a!important;--warning:#a96e2c!important;--danger:#9d3d35!important;
  --shadow:0 18px 44px rgba(35,50,42,.09)!important;--shadow-sm:0 8px 24px rgba(35,50,42,.07)!important;
  --radius:22px!important;--radius-sm:14px!important;--maxw:1160px!important;
}
html,body{font-family:'Lato',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;background:radial-gradient(circle at top left,rgba(49,84,70,.10),transparent 30%),linear-gradient(180deg,#f7f3ec 0%,#f3efe7 56%,#eee7dc 100%)!important;color:var(--text)!important;}
h1{font-size:clamp(24px,3vw,36px)!important;font-weight:700!important;letter-spacing:-.035em!important}h2{font-size:20px!important;font-weight:700!important}h3{font-size:17px!important;font-weight:700!important}.page-subtitle,.muted-help{color:var(--muted)!important;font-weight:400!important}.app-shell-header{background:rgba(255,250,243,.88)!important;border-color:rgba(222,213,199,.9)!important;border-radius:26px!important}.app-brand span{font-weight:700!important}.app-logo{box-shadow:0 10px 24px rgba(49,84,70,.16)!important}.app-nav a,.app-user a{font-weight:700!important}.app-nav a:hover,.app-nav a.active,.app-user a:hover,.bottom-nav a.active{background:var(--accent-soft)!important;color:var(--accent)!important}.bottom-nav{grid-template-columns:repeat(6,1fr)!important;background:rgba(255,250,243,.96)!important}.app-footer-inner{background:rgba(255,250,243,.76)!important}.card,.summary-card,.stat-card,.chart-card,.filter-card,.month-card,.tile,.info-card,.history-card,.modal-content,.section-card,.filters,.table-wrap,.summary,.loan-card,.car-card,.bd-card{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:22px!important;box-shadow:var(--shadow-sm)!important}.btn,.apple-button,button[type="submit"],.add-expense-btn,.btn-primary,.primary-cta{background:var(--accent)!important;color:#fff!important;border:1px solid var(--accent)!important;border-radius:16px!important;font-weight:700!important;box-shadow:0 8px 18px rgba(49,84,70,.16)!important}.btn:hover,.apple-button:hover,.primary-cta:hover{transform:translateY(-1px)}.btn.ghost,.btn-secondary,.apple-button.small,.btn-mini,.btn.ghost,.btn.secondary{background:#fffdf8!important;color:var(--accent)!important;border:1px solid var(--line)!important;box-shadow:none!important}.btn.danger,.btn-danger,.btn-mini.danger{background:#fff3ef!important;color:var(--danger)!important;border-color:#e8c1bb!important}input,select,textarea,.input,.control,.big-input{background:#fffdf8!important;border:1px solid var(--line)!important;color:var(--text)!important;border-radius:16px!important;font-size:16px!important}input:focus,select:focus,textarea:focus,.input:focus,.control:focus,.big-input:focus{border-color:rgba(49,84,70,.55)!important;box-shadow:0 0 0 4px rgba(49,84,70,.12)!important}.ui-ico[data-ico="list"]{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 5h14v2H5V5Zm0 6h14v2H5v-2Zm0 6h14v2H5v-2Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 5h14v2H5V5Zm0 6h14v2H5v-2Zm0 6h14v2H5v-2Z'/%3E%3C/svg%3E")}.ui-ico[data-ico="calendar"]{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v3h6V2h2v3h3v17H4V5h3V2Zm-1 9v9h12v-9H6Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v3h6V2h2v3h3v17H4V5h3V2Zm-1 9v9h12v-9H6Z'/%3E%3C/svg%3E")}.ui-ico[data-ico="shop"]{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h14l1 6a4 4 0 0 1-6 3.5A4 4 0 0 1 8 13.5 4 4 0 0 1 2 10l3-6Zm1 11h12v6H6v-6Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h14l1 6a4 4 0 0 1-6 3.5A4 4 0 0 1 8 13.5 4 4 0 0 1 2 10l3-6Zm1 11h12v6H6v-6Z'/%3E%3C/svg%3E")}.ui-ico[data-ico="cash"]{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6h18v12H3V6Zm3 3a3 3 0 0 1-3 3v0a3 3 0 0 1 3 3h12a3 3 0 0 1 3-3v0a3 3 0 0 1-3-3H6Zm6 1a2 2 0 1 1 0 4 2 2 0 0 1 0-4Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6h18v12H3V6Zm3 3a3 3 0 0 1-3 3v0a3 3 0 0 1 3 3h12a3 3 0 0 1 3-3v0a3 3 0 0 1-3-3H6Zm6 1a2 2 0 1 1 0 4 2 2 0 0 1 0-4Z'/%3E%3C/svg%3E")}
@media(max-width:940px){.app-shell-header{width:calc(100% - 18px)!important;margin-top:8px!important}.bottom-nav{display:grid!important;left:8px!important;right:8px!important;bottom:calc(8px + var(--safe-bottom))!important;padding:7px!important}.bottom-nav a{min-height:50px!important}.main-container,.dashboard,.dom-module,.page,.container{width:calc(100% - 18px)!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important}}
@media(max-width:560px){h1{font-size:25px!important}h2{font-size:18px!important}.app-brand span{font-size:15px!important}.bottom-nav small{font-size:9.5px!important}.card,.section-card,.hero-card,.hero-total,.wizard-card,.wizard-head{border-radius:20px!important}}
@keyframes bdFadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.card,.section-card,.mini-stat,.bd-card,.loan-card,.car-card,.table-wrap{animation:bdFadeUp .22s ease both}.progress-bar,.progress-fill,.loan-progress-fill{background:linear-gradient(90deg,var(--accent),var(--accent2))!important}.progress,.progress-container,.loan-progress{background:#e8dfd0!important;border-radius:999px!important;overflow:hidden!important}


/* ===== Budżet Domowy v5 — mniej opisów, czystsze moduły ===== */
.page-subtitle,
.module-subtitle,
.module-head p,
.card-subtitle,
.login-visual p,
.login-card p,
.muted-help{
  display:none!important;
}

/* Raporty: finalna kwota ma być widoczna od razu */
.settlement-hero{
  grid-template-columns:minmax(0,1fr)!important;
  gap:12px!important;
  padding:22px!important;
}
.settlement-hero h2{font-size:18px!important;margin:0!important;opacity:.9!important;}
.settlement-hero p{display:none!important;}
.settlement-hero .direction{
  display:block!important;
  width:100%!important;
  margin:8px 0 0!important;
  padding:0!important;
  background:transparent!important;
  font-size:clamp(21px,4.8vw,40px)!important;
  line-height:1.05!important;
  letter-spacing:-.045em!important;
  color:#fff!important;
}
.settlement-hero .amount{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  text-align:left!important;
  font-size:clamp(42px,10vw,76px)!important;
  line-height:1!important;
  padding:18px!important;
  background:rgba(255,250,243,.16)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:26px!important;
}
.final-mini-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin-top:10px!important;
}
.final-mini-grid .mini-box{
  background:rgba(255,250,243,.13)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:18px!important;
  padding:12px!important;
}
.final-mini-grid span{display:block!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.08em!important;opacity:.72!important;font-weight:800!important;}
.final-mini-grid strong{display:block!important;font-size:18px!important;margin-top:2px!important;color:#fff!important;}

/* Samochody: podział historii */
.car-history-split{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;}
.car-history-box{background:#fffdf8!important;border:1px solid var(--line)!important;border-radius:20px!important;padding:14px!important;box-shadow:var(--shadow-sm)!important;}
.car-history-box h3{margin:0 0 10px!important;font-size:15px!important;color:var(--accent)!important;letter-spacing:-.02em!important;}
.car-row{display:grid!important;grid-template-columns:82px 1fr auto!important;gap:10px!important;align-items:center!important;padding:10px 0!important;border-top:1px solid var(--line)!important;}
.car-row:first-of-type{border-top:0!important;padding-top:0!important;}
.car-row-date{font-weight:800!important;color:var(--accent)!important;font-size:13px!important;}
.car-row-main{min-width:0!important;}
.car-row-type{font-weight:800!important;font-size:14px!important;color:var(--text)!important;}
.car-row-note{font-size:12px!important;color:var(--muted)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.car-row-amount{font-size:15px!important;font-weight:900!important;color:var(--accent)!important;white-space:nowrap!important;}
.car-empty{padding:14px!important;color:var(--muted)!important;background:#f7f1e8!important;border-radius:16px!important;font-size:13px!important;}
.timeline-split{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;}
.timeline-split .timeline{gap:8px!important;}
.timeline-group-title{margin:0 0 8px!important;font-size:16px!important;color:var(--accent)!important;}
@media(max-width:760px){
  .final-mini-grid,.car-history-split,.timeline-split{grid-template-columns:1fr!important;}
  .car-row{grid-template-columns:72px 1fr!important;}
  .car-row-amount{grid-column:2!important;}
  .settlement-hero{padding:18px!important;border-radius:24px!important;}
}
