:root{
  --bg:#f5f7fb; --text:#101828; --muted:#74809a; --card:#fff; --line:#e7ecf5;
  --blue:#3157ff; --dark:#111827; --green:#16a34a; --orange:#f97316; --red:#ef4444;
  --shadow:0 16px 38px rgba(17,24,39,.08);
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#edf2ff,#f8fafc);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
button,input,select,textarea{font:inherit}
button{border:0;background:none;color:inherit}
.app{max-width:760px;margin:0 auto;padding:16px 12px 38px}
.hero{display:flex;justify-content:space-between;align-items:flex-start;padding-top:env(safe-area-inset-top)}
.eyebrow{margin:0 0 4px;color:var(--blue);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:900}
h1{margin:0;font-size:30px;letter-spacing:-.05em}.sub{margin:5px 0 0;color:var(--muted);font-size:14px}
.round{width:42px;height:42px;border-radius:16px;background:white;box-shadow:var(--shadow)}
.tabs{display:flex;gap:6px;overflow:auto;padding:5px;margin:14px 0;background:white;border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 26px rgba(17,24,39,.05)}
.tabs button{white-space:nowrap;border-radius:15px;padding:10px 12px;color:var(--muted);font-size:13px;font-weight:900}
.tabs button.active{background:var(--dark);color:white}
.screen{display:none}.screen.active{display:block}
.selector{background:white;border:1px solid var(--line);border-radius:20px;padding:12px;margin-bottom:10px;box-shadow:0 10px 24px rgba(17,24,39,.04)}
.selector.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
label{display:block;color:var(--muted);font-size:12px;font-weight:900}
input,select,textarea{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:14px;padding:11px;background:#fbfcff;color:var(--text)}
.mainCard{border-radius:30px;padding:20px;color:white;background:linear-gradient(135deg,#111827,#3157ff);box-shadow:0 22px 52px rgba(49,87,255,.26)}
.mainCard span{opacity:.8;font-weight:800}.mainCard strong{display:block;margin-top:16px;font-size:40px;letter-spacing:-.06em}.mainCard small{opacity:.8;font-weight:800}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0}
.grid article,.calcCard,.vacCard,.breakCard{background:white;border:1px solid var(--line);border-radius:20px;padding:13px;box-shadow:0 10px 24px rgba(17,24,39,.05)}
.grid.compact article{padding:10px}
.grid span,.summaryList span{display:block;color:var(--muted);font-size:12px;font-weight:900}.grid strong,.summaryList strong{display:block;margin-top:6px;font-size:18px;letter-spacing:-.04em}
.sectionTitle{display:flex;justify-content:space-between;align-items:center;margin:16px 0 8px}.sectionTitle h2{margin:0;font-size:21px;letter-spacing:-.04em}.sectionTitle button{font-weight:900;color:var(--blue)}
.summaryList,.paramsList,.monthList,.dayList{display:flex;flex-direction:column;gap:8px}
.summaryItem,.paramItem,.monthItem,.dayItem{background:white;border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:0 10px 22px rgba(17,24,39,.045)}
.summaryItem{display:flex;justify-content:space-between;align-items:center}
.monthItem{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}
.monthItem h3,.dayItem h3,.paramItem h3{margin:0 0 4px;font-size:16px}.monthItem p,.dayItem p,.paramItem p{margin:0;color:var(--muted);font-size:12px;font-weight:700;line-height:1.35}
.monthItem strong{color:var(--green);font-size:17px}.monthItem button{margin-top:7px;background:#eef2ff;color:var(--blue);font-weight:900;padding:7px 10px;border-radius:12px;font-size:12px}
.dayItem{display:grid;grid-template-columns:54px 1fr auto;gap:10px;align-items:center}
.dateBadge{border-radius:16px;padding:8px 5px;text-align:center;font-weight:900;background:#eef2ff;color:var(--blue)}
.dateBadge strong{display:block;font-size:18px}.dateBadge span{font-size:10px;text-transform:uppercase}
.money{font-weight:950;color:var(--green);white-space:nowrap}.orange{color:var(--orange)}.red{color:var(--red)}
.badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.badge{font-size:10px;font-weight:900;border-radius:999px;padding:4px 7px;background:#eef2ff;color:var(--blue)}.badge.green{background:#eaf8ef;color:var(--green)}.badge.red{background:#feecec;color:var(--red)}.badge.orange{background:#fff3e5;color:var(--orange)}
.calcCard h2,.vacCard h2{margin:0 0 10px}.hint{color:var(--muted);font-weight:700;line-height:1.4}
.primary{background:linear-gradient(135deg,#3157ff,#111827);color:white;border-radius:15px;padding:12px 14px;font-weight:950}.secondary{background:#eef2ff;color:var(--blue);border-radius:15px;padding:12px 14px;font-weight:950}.full{width:100%;margin-top:12px}
.result{margin-top:12px;background:#f4f7ff;border-radius:18px;padding:13px}.result span{color:var(--muted);font-weight:900}.result strong{display:block;margin-top:5px;font-size:24px}
.ring{width:160px;height:160px;border-radius:50%;margin:10px auto 18px;background:conic-gradient(var(--blue) 0 86%,#e9edf7 86% 100%);display:flex;flex-direction:column;align-items:center;justify-content:center}.ring strong{font-size:42px}.ring span{color:var(--muted);font-weight:900}
.importBox{display:block;text-align:center;background:#f4f7ff;border:1px dashed #cbd5ff;border-radius:15px;padding:13px;color:var(--blue);font-weight:950;margin-top:10px}.importBox input{display:none}
dialog{border:0;border-radius:26px;width:min(520px,calc(100% - 22px));padding:0;background:white;box-shadow:0 24px 80px rgba(17,24,39,.25)}dialog::backdrop{background:rgba(17,24,39,.45);backdrop-filter:blur(4px)}.sheet{padding:18px}.sheetHead{display:flex;justify-content:space-between;align-items:center}.sheet h2{margin:0}.ghost{background:#f3f5fb;border-radius:13px;padding:9px 12px;color:var(--muted);font-weight:900}
@media(max-width:430px){.app{padding-left:9px;padding-right:9px}.mainCard strong{font-size:34px}.tabs button{font-size:12px;padding:9px 10px}.selector.two{grid-template-columns:1fr}.dayItem{grid-template-columns:46px 1fr}.money{grid-column:2}.grid strong{font-size:16px}}


/* TABS FIX v2: visible navigation */
.app{
  padding-bottom:86px;
}
.fixedTabs{
  display:grid !important;
  grid-template-columns:1fr 1fr 1fr;
  gap:7px;
  overflow:visible !important;
  padding:6px;
}
.fixedTabs button{
  white-space:normal !important;
  min-height:44px;
  padding:9px 6px !important;
  font-size:12px !important;
  line-height:1.15;
}
.quickMenu{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:10px 0;
}
.quickMenu button{
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 10px 22px rgba(17,24,39,.05);
  border-radius:18px;
  padding:13px 10px;
  font-weight:950;
  text-align:left;
  font-size:20px;
}
.quickMenu span{
  display:block;
  margin-top:5px;
  font-size:13px;
  color:var(--text);
}
.bottomNav{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:20;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(18px);
  border-top:1px solid var(--line);
  padding:7px 6px calc(7px + env(safe-area-inset-bottom));
}
.bottomNav button{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  color:#7b849d;
  font-size:17px;
  font-weight:900;
  border-radius:13px;
  padding:5px 2px;
}
.bottomNav button span{
  font-size:10px;
}
.bottomNav button.active{
  color:var(--blue);
  background:#eef2ff;
}
@media(max-width:430px){
  .fixedTabs{
    grid-template-columns:1fr 1fr 1fr;
  }
  .fixedTabs button{
    font-size:11px !important;
    min-height:42px;
  }
}


/* CLEAN REGISTER v6 */
.tabs button{
  font-size:12px !important;
}
.quickMenu button{
  font-size:13px !important;
  text-align:center !important;
}
.quickMenu span{
  margin-top:0 !important;
  font-size:13px !important;
}
.bottomNav button{
  font-size:13px !important;
}
.bottomNav button span{
  font-size:11px !important;
}
.round{
  font-size:12px !important;
  font-weight:950;
}

.twoCols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.dayItem{
  grid-template-columns:44px 1fr 42px !important;
  gap:8px !important;
  padding:7px 9px !important;
  border-radius:15px !important;
  min-height:54px !important;
}
.dayItem h3{
  font-size:13px !important;
  margin-bottom:2px !important;
}
.dayItem p{
  font-size:10.5px !important;
}
.dateBadge{
  border-radius:13px !important;
  padding:5px 4px !important;
}
.dateBadge strong{
  font-size:16px !important;
}
.dateBadge span{
  font-size:9px !important;
}
.badges{
  gap:4px !important;
  margin-top:4px !important;
}
.badge{
  font-size:9px !important;
  padding:3px 6px !important;
}
.badge.blue{
  background:#eef2ff;
  color:var(--blue);
}
.editableDay{
  cursor:pointer;
  transition:transform .08s ease, background .12s ease;
}
.editableDay:active{
  transform:scale(.985);
}
.dayActions{
  display:flex;
  flex-direction:column;
  gap:2px;
  align-items:flex-end;
  justify-content:center;
}
.dayActions .money{
  font-size:12px;
}
.editHint{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  color:#9aa4bb;
  font-weight:950;
  font-size:18px;
}
.weekend,
.compactWeekend{
  min-height:32px !important;
  padding:3px 8px !important;
  opacity:.52 !important;
  background:#f3f4f6 !important;
  box-shadow:none !important;
}
.compactWeekend h3{
  font-size:11px !important;
  margin-bottom:0 !important;
}
.compactWeekend p{
  display:none !important;
}
.compactWeekend .badges{
  margin-top:3px !important;
}
.compactWeekend .badge:not(.red){
  display:none !important;
}
.compactWeekend .dateBadge{
  padding:3px 3px !important;
  border-radius:11px !important;
}
.compactWeekend .dateBadge strong{
  font-size:13px !important;
}
.compactWeekend .dateBadge span{
  font-size:8px !important;
}
.compactWeekend .dayActions .money{
  display:none !important;
}
.weekendBadge{
  background:#e5e7eb !important;
  color:#6b7280 !important;
}
.statusChoices{
  margin-top:12px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.statusChoices p{
  grid-column:1/-1;
  margin:0 0 2px;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
}
.statusChoices label{
  margin:0;
}
.statusChoices input{
  display:none;
}
.statusChoices span{
  display:block;
  width:100%;
  padding:9px 8px;
  border-radius:14px;
  background:#f4f7ff;
  border:1px solid #dfe6fb;
  color:#64708d;
  text-align:center;
  font-size:12px;
  font-weight:950;
}
.statusChoices input:checked + span{
  background:linear-gradient(135deg,#3157ff,#111827);
  color:white;
  border-color:transparent;
}
@media(max-width:430px){
  .twoCols{
    grid-template-columns:1fr;
  }
  .dayItem{
    grid-template-columns:40px 1fr 34px !important;
  }
  .dayActions{
    grid-column:auto !important;
  }
  .statusChoices{
    grid-template-columns:1fr;
  }
}


/* AUTO SETTINGS v9 */
.dayActions .money{
  font-size:12px;
  font-weight:950;
}
.dayGross{
  display:block;
  color:#8a95ad;
  font-size:9px;
  font-weight:800;
  white-space:nowrap;
}
.settingsLive{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
@media(max-width:430px){
  .dayGross{
    display:none;
  }
}
