:root {
  color-scheme: light;
  --bg-start: #17213f;
  --bg-end: #17494b;
  --page-text: #ffffff;
  --app-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-scale: 1;
  font-family: var(--app-font);
  font-size: calc(16px * var(--font-scale));
  background: #f4f5fb;
  color: #171825;
}

* { box-sizing: border-box; }

body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 12% 3%, rgba(118, 108, 255, 0.42), transparent 32rem),
    radial-gradient(circle at 92% 82%, rgba(44, 193, 157, 0.32), transparent 30rem),
    linear-gradient(155deg, var(--bg-start) 0%, var(--bg-end) 100%);
  background-attachment: fixed;
}

.shell {
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));
}

.card {
  width: min(100%, 430px);
  padding: 38px 28px 28px;
  text-align: center;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.92);
  border-radius: 28px;
  box-shadow: 0 26px 70px rgba(45, 43, 84, 0.14);
  backdrop-filter: blur(18px);
}

.app-icon {
  width: 92px;
  height: 92px;
  margin: 0 auto 26px;
  overflow: hidden;
  border-radius: 24px;
  box-shadow: 0 14px 32px rgba(99, 91, 255, 0.3);
}

.app-icon img { display: block; width: 100%; height: 100%; }

.eyebrow {
  margin: 0 0 8px;
  color: #635bff;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: 0.14em;
}

h1 { margin: 0; font-size: clamp(32px, 9vw, 44px); line-height: 1.08; letter-spacing: -0.045em; }
.lead { margin: 18px auto 28px; color: #626579; font-size: 17px; line-height: 1.65; }

.primary {
  width: 100%;
  min-height: 54px;
  border: 0;
  border-radius: 16px;
  color: white;
  background: #635bff;
  font: inherit;
  font-size: 17px;
  font-weight: 750;
  box-shadow: 0 12px 26px rgba(99, 91, 255, 0.28);
  cursor: pointer;
}

.primary:active { transform: translateY(1px); }

.notice {
  display: grid;
  gap: 7px;
  padding: 16px;
  text-align: left;
  color: #56596c;
  background: #f1f1f8;
  border-radius: 16px;
  line-height: 1.55;
}

.notice strong { color: #202130; }
.success { padding: 14px; color: #137b58; background: #e8faf3; border-radius: 14px; }
.privacy { margin: 20px 0 0; color: #9698a8; font-size: 13px; }

header{display:flex;align-items:center;justify-content:space-between;color:var(--page-text);padding:4px 3px 18px}header h1{font-size:28px}.goal{text-align:right;display:grid;gap:2px}.goal span,.goal small{font-size:11px;opacity:.72}.hero{color:var(--page-text);padding:25px;border:1px solid #ffffff45;border-radius:28px;background:#ffffff18;backdrop-filter:blur(18px)}blockquote{margin:8px 0;font:22px/1.5 Georgia,"Songti SC",serif}#dailyQuote{cursor:pointer}#dailyQuote:active{opacity:.72}.author{text-align:right;opacity:.75}.progress{height:6px;border-radius:6px;background:#ffffff30;overflow:hidden}.progress span{display:block;height:100%;background:#ffd2a5;transition:.3s}.progress-copy{font-size:12px;opacity:.72}.period-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(92px,1fr);gap:7px;max-width:min(calc(100vw - 40px),430px);padding:7px;margin:18px 0;background:#f8f5f0dd;border-radius:18px;overflow-x:auto;scrollbar-width:none}.period-tabs::-webkit-scrollbar{display:none}.period-tabs button{border:0;padding:12px 6px;border-radius:13px;background:transparent;color:#66708b;font-weight:700;white-space:nowrap}.period-tabs button.active{background:white;color:#263873}.timeline article{display:grid;grid-template-columns:48px 1fr;gap:13px;margin-bottom:12px}.timeline time{color:var(--page-text);font-weight:700;padding-top:20px}.timeline .card{text-align:left;padding:16px;border-radius:20px}.card-top{display:flex;justify-content:space-between;align-items:center}.card-top h2{font-size:17px;margin:0}.card-top button{width:32px;height:32px;border-radius:50%;border:1px solid #ccc;background:white;font-size:20px}.action{color:#74788b;font-size:13px}.complete .card{opacity:.62}footer{text-align:center;color:var(--page-text);opacity:.68;padding:25px 0}

.has-nav { padding-bottom: 92px; }
.home-page .shell { padding-bottom: 28px; }
.site-nav {
  position: fixed;
  z-index: 20;
  left: 50%;
  transform: translateX(-50%);
  bottom: max(10px, env(safe-area-inset-bottom));
  width: min(calc(100% - 24px), 460px);
  margin: 0;
  padding: 8px 7px;
  display: block;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 22px;
  background: rgba(245,247,255,.9);
  box-shadow: 0 16px 40px rgba(25,33,70,.2);
  backdrop-filter: blur(18px);
}
.site-nav-items { display:grid;grid-template-columns:repeat(5,1fr);gap:3px; }
.site-nav-toggle { display:none;width:100%;min-height:52px;border:0;border-radius:16px;color:white;background:#263873;font:inherit;font-weight:800; }
.site-nav a { display:grid;place-items:center;gap:2px;min-height:52px;color:#777d92;text-decoration:none;border-radius:16px;font-weight:750; }
.site-nav a span { font-size:20px;line-height:1; }
.site-nav a small { font-size:10px; }
.site-nav a.active { color:#fff;background:#263873;box-shadow:0 8px 18px rgba(38,56,115,.23); }
.live-clock { width:min(100%,430px);display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 auto 14px;padding:10px 14px;color:var(--page-text);border:1px solid #ffffff35;border-radius:16px;background:#ffffff12;backdrop-filter:blur(12px); }
.live-clock span { font-size:12px;opacity:.78; }
.live-clock strong { font-size:18px;font-variant-numeric:tabular-nums;letter-spacing:.03em; }

.page-shell { width:min(100%,460px);min-height:100vh;min-height:100dvh;margin:0 auto;padding:max(28px,env(safe-area-inset-top)) 18px 118px; }
.page-header { display:block;padding:0 2px 22px;color:var(--page-text); }
.page-header .page-kicker { margin:0 0 7px;color:#d9dcff;font-size:12px;font-weight:800;letter-spacing:.13em; }
.page-header h1 { font-size:32px;letter-spacing:-.035em; }
.page-header p:last-child { margin:10px 0 0;color:#ffffffbf;line-height:1.55; }
.page-hero,.soft-card { margin-bottom:14px;padding:20px;border-radius:24px;background:rgba(255,255,255,.9);box-shadow:0 18px 42px rgba(39,44,86,.12); }
.page-hero { color:white;background:linear-gradient(135deg,#263873,#5969aa); }
.page-hero h2,.soft-card h2 { margin:0 0 8px;font-size:19px; }
.page-hero p,.soft-card p { margin:0;color:inherit;line-height:1.6; }
.page-hero .muted { color:#ffffffbb; }
.metric-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px; }
.metric { padding:13px;border-radius:17px;background:#ffffff18; }
.metric strong { display:block;font-size:24px; }
.metric small { color:#ffffffb8; }
.section-title { margin:24px 4px 12px;color:var(--page-text);font-size:15px;letter-spacing:.04em; }
.stack-list { display:grid;gap:11px; }
.list-card { display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:16px;border-radius:21px;background:rgba(255,255,255,.93);box-shadow:0 12px 30px rgba(39,44,86,.09); }
.list-card time { color:#69739d;font-weight:800; }
.list-card h3 { margin:0 0 5px;font-size:16px; }
.list-card p { margin:0;color:#777b8d;font-size:13px;line-height:1.45; }
.check-button { width:38px;height:38px;border:1px solid #c8cede;border-radius:50%;background:white;color:#263873;font-size:21px; }
.list-card.complete { opacity:.62; }
.history-bar { height:7px;margin-top:10px;border-radius:8px;background:#e4e6f1;overflow:hidden; }
.history-bar span { display:block;height:100%;border-radius:inherit;background:#635bff; }
.history-row { display:grid;grid-template-columns:88px 1fr 42px;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid #ececf3; }
.history-row:last-child { border-bottom:0; }
.history-row strong { text-align:right;color:#263873; }
.quote-card { min-height:270px;display:flex;flex-direction:column;justify-content:center;padding:28px;border-radius:28px;color:#fff;background:linear-gradient(145deg,#263873,#6c72b8 65%,#7d9fa6);box-shadow:0 24px 55px rgba(31,40,81,.22); }
.quote-card blockquote { margin:0;font-size:28px;line-height:1.55; }
.quote-card .author { margin-top:20px; }
.button-row { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px; }
.page-button { min-height:50px;border:0;border-radius:16px;background:#263873;color:white;font:inherit;font-weight:800; }
.page-button.secondary { color:#263873;background:rgba(255,255,255,.9); }
.settings-list { display:grid;gap:12px; }
.setting-row { padding:17px;border-radius:20px;background:rgba(255,255,255,.92); }
.setting-row label { display:block;margin-bottom:9px;font-weight:800; }
.setting-row select,.setting-row input[type="color"] { width:100%;min-height:46px;padding:0 12px;border:1px solid #d9dbea;border-radius:13px;background:white;font:inherit; }
.setting-row input[type="color"] { padding:5px;cursor:pointer; }
.appearance-grid { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.danger { color:#a83d4a;background:#fff1f2; }
.toast { position:fixed;z-index:30;left:50%;bottom:100px;transform:translateX(-50%);padding:11px 16px;border-radius:14px;color:white;background:#202a51;box-shadow:0 12px 30px #0002; }

@media (max-width:720px){.site-nav{width:calc(100% - 24px);padding:7px}.site-nav-toggle{display:block}.site-nav-items{display:none;grid-template-columns:1fr;gap:5px;margin-bottom:6px}.site-nav.open .site-nav-items{display:grid}.site-nav.open a{display:flex;justify-content:flex-start;gap:12px;min-height:46px;padding:0 16px}.site-nav.open a small{font-size:13px}.site-nav.open a span{font-size:18px}.site-nav.open .site-nav-toggle{background:#1d294f}.has-nav{padding-bottom:82px}}
@media (max-width:370px){.page-shell{padding-inline:14px}.list-card{grid-template-columns:48px 1fr auto;gap:9px}}

[hidden] { display: none !important; }

.ledger-entry { display:grid;grid-template-columns:42px auto 1fr;align-items:center;gap:10px;margin-top:17px;padding:11px 13px;color:#263873;text-decoration:none;border-radius:16px;background:#fff;box-shadow:0 10px 24px #17213f20; }
.ledger-entry span { display:grid;place-items:center;width:40px;height:40px;color:#fff;border-radius:13px;background:#635bff;font-size:20px;font-weight:850; }
.ledger-entry strong { font-size:16px; }
.ledger-entry small { text-align:right;color:#73788e;font-size:11px; }
.home-tool-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:0}.home-tool-button{display:grid;grid-template-columns:54px 1fr 24px;align-items:center;gap:14px;min-height:88px;padding:15px 18px;color:#fff;text-decoration:none;border-radius:20px;box-shadow:0 14px 30px rgba(23,33,63,.2)}.home-tool-button span{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.2);font-size:24px;font-weight:900}.home-tool-button div{display:grid;gap:4px}.home-tool-button strong{font-size:19px}.home-tool-button small{color:rgba(255,255,255,.82);font-size:12px}.home-tool-button b{font-size:30px;font-weight:400}.home-tool-button.work-entry{background:linear-gradient(135deg,#ff7b54,#ed4969)}.home-tool-button.ledger-home-entry{background:linear-gradient(135deg,#6559e8,#3949a7)}.home-tool-button.event-entry{background:linear-gradient(135deg,#27b78f,#167b9f)}
.event-form-card form{display:grid;gap:12px;margin-top:14px}.event-form-card label>span{display:block;margin-bottom:7px;color:#666b7e;font-size:13px;font-weight:750}.event-form-card select{width:100%;min-height:48px;padding:0 38px 0 12px;border:1px solid #d9dbea;border-radius:13px;background:#fff;color:#23263a;font:inherit}.event-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.event-list-title{display:flex;align-items:end;justify-content:space-between;margin:22px 3px 12px}.event-list-title h2{margin:2px 0 0}.event-list-title>strong{color:#fff}.event-list{display:grid;gap:12px}.event-item{position:relative;display:grid;grid-template-columns:112px 1fr auto;gap:13px;align-items:center;min-height:96px;padding:16px 15px;border-left:6px solid #27b78f;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(39,44,86,.1)}.event-item.event-pending{border-left-color:#f2a23a}.event-time-range{display:grid;grid-template-columns:1fr auto;gap:2px 6px;align-items:center}.event-time-range time{color:#2587a7;font-size:16px;font-weight:900}.event-time-range span{grid-row:1/3;grid-column:2;color:#a0a4b3;font-size:10px}.event-time-range time:last-child{grid-column:1}.event-pending .event-time-range time:last-child{color:#d27a12;font-size:13px}.event-item h3{margin:0 0 5px;font-size:17px}.event-item p{margin:0;color:#85899a;font-size:11px}.event-status{align-self:start;padding:5px 8px;border-radius:20px;color:#168363;background:#e4f8f0;font-size:10px;font-weight:850}.event-pending .event-status{color:#b46b12;background:#fff0d5}.event-actions{grid-column:2/4;display:flex;justify-content:flex-end;gap:7px}.event-actions button{padding:6px 10px;border:0;border-radius:9px;color:#53607d;background:#edf1f7;font:inherit;font-size:11px}.event-actions button:last-child{color:#a44750;background:#fff0f1}.event-calendar-days button.event-recorded{color:#087250;background:#dff7ec}.event-recorded-dot:before{background:#42c297}@media(max-width:390px){.event-item{grid-template-columns:100px 1fr auto;padding:14px 12px}.event-time-grid{grid-template-columns:1fr}}
.work-page{padding-bottom:110px}.work-overview{display:grid;grid-template-columns:92px 1fr;align-items:center;gap:17px}.work-ring{--work-pct:0deg;display:grid;place-items:center;align-content:center;width:88px;height:88px;border-radius:50%;background:radial-gradient(circle at center,#fff 59%,transparent 61%),conic-gradient(#ff6a6f var(--work-pct),#eceef5 0)}.work-ring strong{font-size:22px}.work-ring small{color:#85899a;font-size:9px}.work-overview p{margin:0 0 8px;font-weight:800}.work-overview small{color:#85899a}.work-progress{height:9px;margin-bottom:7px;background:#eceef5}.work-progress span{background:linear-gradient(90deg,#ff8861,#ff5d76)}
.work-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:22px 3px 12px}.work-toolbar h2{margin:2px 0 0}.work-toolbar button{min-height:40px;padding:0 13px;border:0;border-radius:12px;color:#fff;background:#263873;font:inherit;font-size:12px;font-weight:800}.work-task-list{display:grid;gap:12px}.work-task{display:grid;grid-template-columns:38px 1fr;gap:11px;padding:15px;border-radius:21px;background:rgba(255,255,255,.95);box-shadow:0 12px 30px rgba(39,44,86,.09)}.work-task.done{background:#f4fbf8}.work-check{width:34px;height:34px;border:2px solid #c9cdd9;border-radius:11px;color:#fff;background:#fff;font-size:20px;font-weight:900}.work-task.done .work-check{border-color:#2bb68a;background:#2bb68a}.work-task-title{display:flex;align-items:center;gap:8px}.work-task-title h3{flex:1;margin:4px 0;font-size:16px}.work-task-title button{padding:3px;border:0;color:#9a9dab;background:transparent;font-size:11px}.work-task-main>p{margin:0 0 10px;color:#878b9c;font-size:11px}.work-proof{display:block;width:100%;max-height:260px;object-fit:cover;margin:8px 0 10px;border-radius:15px}.work-task-actions{display:flex;gap:8px}.work-upload,.work-task-actions button{display:grid;place-items:center;min-height:40px;padding:0 11px;border:0;border-radius:11px;color:#34457f;background:#edf1ff;font:inherit;font-size:12px;font-weight:800}.work-upload input{position:absolute;width:1px;height:1px;opacity:0}.work-task-actions button{color:#a34a54;background:#fff0f1}.work-history-card{margin-top:20px}.work-history-card h2{margin:3px 0 0}.work-calendar-days .work-all-done{color:#087250;background:#dff7ec}.work-calendar-days .work-some-done{color:#a56218;background:#fff0cf}.work-done-dot:before{background:#42c297}.work-partial-dot:before{background:#efb454}
.work-dialog{width:min(calc(100% - 28px),430px);padding:0;border:0;border-radius:24px;box-shadow:0 26px 80px #11172f55}.work-dialog::backdrop{background:#17213f88;backdrop-filter:blur(5px)}.work-dialog form{display:grid;gap:15px;padding:20px}.work-dialog h2{margin:0}.work-dialog label span{display:block;margin-bottom:7px;color:#666b7e;font-size:13px;font-weight:800}.work-dialog input,.work-dialog textarea{width:100%;padding:12px;border:1px solid #d9dbea;border-radius:13px;background:#fff;font:inherit}.work-dialog textarea{resize:vertical}@media(max-width:390px){.work-overview{grid-template-columns:78px 1fr}.work-ring{width:74px;height:74px}.work-task{grid-template-columns:34px 1fr;padding:13px}.work-task-actions{flex-wrap:wrap}}
.copy-info-button { width:100%;display:grid;grid-template-columns:42px auto 1fr;align-items:center;gap:10px;margin-top:10px;padding:11px 13px;text-align:left;color:#263873;border:0;border-radius:16px;background:#fff;box-shadow:0 10px 24px #17213f20;font:inherit;cursor:pointer; }
.copy-info-button span { display:grid;place-items:center;width:40px;height:40px;color:#fff;border-radius:13px;background:#168363;font-size:20px;font-weight:850; }.copy-info-button strong { font-size:16px; }.copy-info-button small { text-align:right;color:#73788e;font-size:11px; }
.copy-manager { width:min(100%,430px);margin:16px auto 0;padding:20px;border-radius:24px;background:rgba(255,255,255,.92);box-shadow:0 18px 42px rgba(39,44,86,.12); }.copy-manager-head { display:flex;align-items:center;justify-content:space-between;gap:12px; }.copy-manager-head h2 { margin:0;font-size:19px; }.copy-manager-head button { padding:9px 12px;border:0;border-radius:11px;color:#fff;background:#263873;font:inherit;font-size:13px;font-weight:800; }
.copy-info-list { display:grid;gap:10px;margin-top:14px; }.copy-info-item { padding:14px;border:1px solid #e5e7f0;border-radius:17px;background:#fff; }.copy-info-item h3 { margin:0 0 6px;font-size:15px; }.copy-info-item p { display:-webkit-box;margin:0;color:#727789;font-size:12px;line-height:1.55;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2; }.copy-item-actions { display:flex;gap:7px;margin-top:11px; }.copy-item-actions button { flex:1;min-height:38px;border:0;border-radius:10px;color:#596071;background:#f0f1f6;font:inherit;font-size:12px;font-weight:800; }.copy-item-actions .copy-now { color:#fff;background:#168363; }.copy-item-actions .delete-copy { color:#b14751;background:#fff0f1; }
.copy-info-form { display:grid;gap:12px;margin-top:15px;padding:14px;border-radius:17px;background:#f2f3f8; }.copy-info-form label span { display:block;margin-bottom:6px;color:#575c70;font-size:12px;font-weight:800; }.copy-info-form input,.copy-info-form textarea { width:100%;padding:11px;border:1px solid #d9dbea;border-radius:11px;background:#fff;font:inherit; }.copy-info-form textarea { resize:vertical; }.copy-info-form>div { display:grid;grid-template-columns:1fr 1fr;gap:8px; }.copy-info-form button { min-height:42px;border:0;border-radius:11px;color:#263873;background:#fff;font:inherit;font-weight:800; }.copy-info-form button[type=submit] { color:#fff;background:#263873; }.copy-info-empty { margin:0;padding:18px;text-align:center;color:#9699a8;border-radius:14px;background:#f5f6fa; }

.ledger-summary > div:first-child { display:grid;gap:5px; }
.ledger-summary > div:first-child strong { font-size:36px;letter-spacing:-.04em; }
.ledger-summary .income strong,.ledger-item strong.income { color:#70e0bd; }
.ledger-summary .expense strong { color:#ffd0c7; }
.ledger-card-title,.ledger-toolbar { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.ledger-form-card form { display:grid;gap:14px; }
.ledger-form-card label > span { display:block;margin-bottom:7px;color:#666b7e;font-size:13px;font-weight:750; }
.form-grid { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.form-grid input,.form-grid select,.ledger-toolbar select { width:100%;min-height:48px;padding:0 12px;border:1px solid #d9dbea;border-radius:13px;background:white;color:#23263a;font:inherit; }
.category-control { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px; }.category-control button { min-height:48px;padding:0 10px;border:0;border-radius:13px;color:#263873;background:#e9edfa;font:inherit;font-size:12px;font-weight:800;white-space:nowrap; }
.type-switch { display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:6px;border-radius:15px;background:#f0f1f7; }
.type-switch label { cursor:pointer; }
.type-switch input { position:absolute;opacity:0;pointer-events:none; }
.type-switch span { display:grid;place-items:center;min-height:42px;margin:0!important;border-radius:11px;color:#676b7b!important; }
.type-switch input:checked + span { color:white!important;background:#263873;box-shadow:0 5px 12px #26387333; }
.text-button { border:0;color:#5969aa;background:transparent;font:inherit;font-size:13px;font-weight:800;cursor:pointer; }
.ledger-toolbar .section-title { margin:22px 4px 12px; }
.ledger-toolbar select { width:auto;min-height:40px;margin-top:10px; }
.ledger-item { display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:15px;border-radius:20px;background:rgba(255,255,255,.93);box-shadow:0 12px 30px rgba(39,44,86,.09); }
.ledger-icon { display:grid;place-items:center;width:44px;height:44px;border-radius:15px;font-size:22px;font-weight:800; }
.ledger-icon.expense { color:#b64d55;background:#fff0ef; }.ledger-icon.income { color:#168363;background:#e9faf4; }
.ledger-item h3 { margin:0 0 4px;font-size:16px; }.ledger-item p { margin:0;color:#85899a;font-size:12px; }
.ledger-item-side { text-align:right; }.ledger-item-side > strong { display:block;margin-bottom:5px;color:#b64d55;font-size:16px; }
.ledger-item-side button { padding:2px 0 2px 10px;border:0;color:#8a8d9b;background:transparent;font-size:11px;cursor:pointer; }
.empty-state { padding:36px 18px;text-align:center;color:#777b8d;border-radius:22px;background:#ffffffdd; }
.empty-state span { display:grid;place-items:center;width:54px;height:54px;margin:0 auto 12px;border-radius:18px;color:white;background:#5969aa;font-size:23px;font-weight:800; }
.empty-state h3 { margin:0 0 6px;color:#30334a; }.empty-state p { margin:0; }
.export-button { width:100%;margin-top:14px; }
.ledger-file-actions { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px; }
.today-summary .metric-grid { margin-top:12px; }
.mini-metric { padding:15px;text-align:center;border-radius:17px;background:#f3f5fb; }
.mini-metric small { display:block;margin-bottom:5px;color:#7c8193; }.mini-metric strong { font-size:21px; }
.mini-metric.income strong { color:#c89300; }.mini-metric.expense strong { color:#d24c55; }
.chart-card { margin-top:14px; }.chart-card h2 { margin-bottom:18px; }
.bar-chart { display:grid;gap:14px; }.bar-label { display:flex;justify-content:space-between;gap:12px;margin-bottom:6px;font-size:13px; }
.bar-label span { color:#555a6e; }.bar-label strong { color:#30344b; }
.bar-track { height:13px;overflow:hidden;border-radius:9px;background:#eceef5; }.bar-track span { display:block;height:100%;border-radius:inherit;transition:width .35s ease; }
.bar-track span.income { background:linear-gradient(90deg,#36b992,#75dfbe); }.bar-track span.expense { background:linear-gradient(90deg,#ef7c72,#f2ad7f); }
.chart-empty { padding:28px 0;text-align:center;color:#9a9dab; }
.import-manager { margin-top:14px; }.import-batch-list { display:grid;gap:9px;margin-top:14px; }
.import-batch { display:grid;grid-template-columns:40px 1fr auto;gap:11px;align-items:center;padding:11px;border:1px solid #e5e7f0;border-radius:16px; }
.file-badge { display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:white;background:#168363;font-weight:850; }
.import-batch h3 { max-width:210px;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px; }.import-batch p { margin:0;color:#8a8e9e;font-size:11px; }
.import-batch button { padding:7px 9px;border:0;border-radius:10px;color:#b14751;background:#fff0f1;font:inherit;font-size:12px;font-weight:750; }
.import-empty { margin:14px 0 0;padding:18px;text-align:center;color:#9699a8;border-radius:15px;background:#f5f6fa; }
.home-page #dailyQuote,.home-page #quoteAuthor { display:none; }
.compact-date { width:148px;min-height:42px;padding:0 9px;border:1px solid #d9dbea;border-radius:12px;background:#fff;font:inherit; }
.day-summary .metric-grid { margin-top:14px; }.action-module h2,.history-module h2 { margin-bottom:14px; }
.ledger-actions { display:grid;grid-template-columns:repeat(3,1fr);gap:8px; }.ledger-actions .page-button { min-height:56px;padding:7px;font-size:13px; }
.details-title { margin:22px 3px 12px; }.details-title .section-title { margin:0; }
.detail-view-actions { display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap; }.detail-view-actions label { color:#777c8d;font-size:12px; }.detail-view-actions select { min-height:38px;padding:0 28px 0 10px;border:1px solid #d9dbea;border-radius:11px;background:#fff;color:#23263a;font:inherit;font-size:14px; }
.month-table-card { margin-top:14px; }.month-table-card select { min-height:42px;padding:0 8px;border:1px solid #d9dbea;border-radius:11px;background:#fff;font:inherit; }
.month-table-wrap { margin-top:15px;overflow:auto;border:1px solid #e5e7f0;border-radius:15px; }.month-table-wrap table { width:100%;border-collapse:collapse;white-space:nowrap; }
.month-table-wrap th,.month-table-wrap td { padding:11px 9px;text-align:right;border-bottom:1px solid #eceef4;font-size:13px; }.month-table-wrap th:first-child,.month-table-wrap td:first-child { text-align:left; }.income-cell { color:#c89300;font-weight:800; }.expense-cell { color:#d24c55; }
.vertical-chart { display:flex;align-items:flex-end;gap:12px;min-height:230px;padding:15px 4px 0;overflow-x:auto; }.vbar-item { flex:0 0 70px;text-align:center; }.vbar-item>strong { display:block;margin-bottom:6px;font-size:11px; }
.chart-legend { display:flex;justify-content:flex-end;gap:14px;margin-top:4px;color:#73788b;font-size:11px; }.chart-legend span:before { content:"";display:inline-block;width:8px;height:8px;margin-right:4px;border-radius:50%; }
.vbar-space { position:relative;height:160px;border-radius:9px 9px 3px 3px;background:#f0f1f6; }.vbar-space span { position:absolute;right:10px;bottom:0;left:10px;border-radius:8px 8px 2px 2px; }.vbar-space span.income { background:linear-gradient(#75dfbe,#24a77e); }.vbar-space span.expense { background:linear-gradient(#f2ad7f,#e76064); }.vbar-item small { display:block;margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#686d80; }
@media(max-width:390px){.ledger-actions{grid-template-columns:1fr}.compact-date{width:135px}}
.history-actions { display:flex;align-items:center;gap:7px; }.batch-delete-button { padding:8px 10px;border:0;border-radius:10px;color:#fff;background:#b14751;font:inherit;font-size:12px;font-weight:800; }
.multi-mode .import-batch { grid-template-columns:30px 40px 1fr; }.activity-check { display:grid;place-items:center;cursor:pointer; }.activity-check input { position:absolute;opacity:0; }.activity-check span { display:block;width:22px;height:22px;border:2px solid #b9bece;border-radius:7px;background:#fff; }.activity-check input:checked+span { border-color:#635bff;background:#635bff;box-shadow:inset 0 0 0 4px #fff; }
.activity-row-actions { display:grid;gap:5px; }.activity-row-actions button { min-width:48px; }.activity-row-actions .open-file-button { color:#294f9b;background:#edf3ff; }
.ledger-page.viewing-import > :not(.import-detail-view) { display:none!important; }.import-detail-view { min-height:80vh; }.back-ledger-button { margin-bottom:18px;padding:11px 15px;border:1px solid #ffffff70;border-radius:13px;color:#fff;background:#ffffff18;font:inherit;font-weight:800; }
.import-detail-table { margin-top:0; }.import-detail-table tr.income { background:#e9faf4; }.import-detail-table tr.expense { background:#fff0f1; }.import-detail-table td:nth-child(4) { font-weight:800; }
.ledger-item-side strong.income,.import-detail-table tr.income td:nth-child(4),.vbar-item.income>strong { color:#c89300!important; }
.ledger-group-title { margin:14px 4px 2px;font-size:14px;letter-spacing:.04em; }.ledger-group-title.income { color:#c89300; }.ledger-group-title.expense { margin-top:22px;color:#d24c55; }
.ledger-calendar { margin-top:15px;padding:12px;border-radius:17px;background:#f5f6fa; }.calendar-head { display:grid;grid-template-columns:38px 1fr 38px;align-items:center;text-align:center; }.calendar-head button { width:36px;height:36px;border:0;border-radius:10px;color:#263873;background:#fff;font-size:25px; }.calendar-week,.calendar-days { display:grid;grid-template-columns:repeat(7,1fr);gap:5px; }.calendar-week { margin:10px 0 6px;text-align:center;color:#9296a5;font-size:11px; }.calendar-days button,.calendar-blank { aspect-ratio:1;display:grid;place-items:center;border:0;border-radius:10px;background:#fff;color:#555a6c;font:inherit;font-size:12px; }.calendar-days button.income-day { color:#087250;background:#dff7ec; }.calendar-days button.expense-day { color:#ad3541;background:#ffe3e5; }.calendar-days button.mixed { color:#5c3ba4;background:#eae2ff; }.calendar-days button.selected { outline:3px solid #263873;outline-offset:1px;font-weight:900; }.calendar-legend { display:flex;justify-content:center;gap:13px;margin-top:11px;color:#777c8d;font-size:10px; }.calendar-legend span:before { content:"";display:inline-block;width:8px;height:8px;margin-right:4px;border-radius:50%; }.income-dot:before { background:#69d5b2; }.expense-dot:before { background:#ef858c; }.mixed-dot:before { background:#9b7add; }
@media (max-width:390px){.form-grid{grid-template-columns:1fr}.ledger-item{grid-template-columns:40px 1fr}.ledger-item-side{grid-column:2;text-align:left}.ledger-item-side button{padding-left:0;padding-right:12px}}
.work-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:8px 0 10px}.work-proof-grid figure{position:relative;margin:0;aspect-ratio:1;overflow:hidden;border-radius:13px;background:#eceef5}.work-proof-grid .work-proof{width:100%;height:100%;max-height:none;margin:0;object-fit:cover;border-radius:0}.work-proof-grid button{position:absolute;top:5px;right:5px;width:24px;height:24px;padding:0;border:0;border-radius:50%;color:#fff;background:#17213fcc;font-size:18px;line-height:1}.work-photo-full{display:grid;place-items:center;min-height:40px;padding:0 11px;border-radius:11px;color:#168363;background:#e9faf4;font-size:12px;font-weight:800}.simple-home-header{display:none}.home-tools-hero{padding-top:18px}.home-tools-hero .home-tool-grid{margin-top:0}.home-page .period-tabs,.home-page .timeline,.home-page>main footer{display:none!important}
.event-form-card input{width:100%;min-height:48px;padding:0 12px;border:1px solid #d9dbea;border-radius:13px;background:#fff;color:#23263a;font:inherit}
.timeline-quick-editor .quick-delete{margin-right:auto;color:#a54852;background:#fff0f1}
.timeline-hour.half time{color:#b7b9c0;font-size:9px}.timeline-hour.half i{border-top-style:dashed}.timeline-hour.major i{border-top-color:#e2e3e8}.timeline-lens{position:absolute;z-index:20;right:7px;display:grid;place-items:center;width:104px;min-height:106px;padding:8px;border:2px solid #ff8d93;border-radius:22px;background:rgba(255,255,255,.97);box-shadow:0 12px 28px #3138512e;pointer-events:auto;transform:translateZ(0)}.timeline-lens:after{content:"";position:absolute;right:100%;top:42%;width:22px;border-top:2px solid #ff8d93}.timeline-lens strong{color:#ff777f;font-size:21px;line-height:1}.timeline-lens small{color:#aaaeb8;font-size:9px}.timeline-lens .lens-before{align-self:end}.timeline-lens .lens-after{align-self:start}.timeline-lens button{width:100%;min-height:31px;padding:0 8px;border:0;border-radius:11px;color:#fff;background:#ff858b;font:inherit;font-size:10px;font-weight:850;box-shadow:0 5px 12px #ff858b44}
.timeline-lens button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}
.event-page{color:#24252b;background:linear-gradient(#fff 0 300px,#f7f7f9 300px)}.event-topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 4px 8px}.event-topbar h1{margin:2px 0 0;font-size:32px}.event-topbar h1 em{color:#ff8b91;font-style:normal}.event-add-button{display:grid;place-items:center;width:52px;height:52px;border:0;border-radius:50%;color:#fff;background:#ff858b;box-shadow:0 10px 24px #ff858b55;font-size:30px}.event-week-card{margin:8px -4px 18px;padding:14px 10px 12px;border-radius:24px;background:#fff;box-shadow:0 12px 32px rgba(29,34,59,.08)}.event-week-nav{display:grid;grid-template-columns:36px 1fr auto 36px;align-items:center;gap:7px;margin-bottom:11px}.event-week-nav>button{width:34px;height:34px;border:0;border-radius:10px;color:#37405d;background:#f2f2f5;font-size:22px}.event-week-nav strong{font-size:13px}.event-week-nav .compact-date{min-height:34px;padding:0 5px;font-size:11px}.event-week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.event-week-days>button{display:grid;place-items:center;gap:5px;min-width:0;padding:6px 1px;border:0;border-radius:18px;background:transparent;color:#262832}.event-week-days small{color:#9a9ca5;font-size:9px}.event-week-days strong{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;font-size:15px}.event-week-days button.selected strong{color:#fff;background:#ff898e}.event-week-days button>span{display:flex;justify-content:center;gap:1px;width:100%;height:13px;overflow:hidden}.event-week-days i{display:grid;place-items:center;width:11px;height:11px;border-radius:50%;color:#fff;font-size:6px;font-style:normal}.event-week-days .coral{background:#ff898e}.event-week-days .amber{background:#f5ad13}.event-week-days .blue{background:#5b8caf}.event-week-days .green{background:#80b95f}.event-week-days .violet{background:#976582}.event-week-days .navy{background:#49677b}.event-form-card{margin-bottom:24px}.event-repeat{padding:0;border:0}.event-repeat legend{margin-bottom:7px;color:#666b7e;font-size:13px;font-weight:750}.repeat-tabs{display:grid;grid-template-columns:repeat(4,1fr);padding:4px;border-radius:18px;background:#ececef}.repeat-tabs input,.weekday-pills input{position:absolute;opacity:0;pointer-events:none}.repeat-tabs span{display:grid;place-items:center;min-height:38px;border-radius:15px;color:#8b8d96;font-size:12px;font-weight:800}.repeat-tabs input:checked+span{color:#fff;background:#ff8a8f;box-shadow:0 5px 12px #ff8a8f44}.weekly-options{display:grid;gap:12px;margin-top:12px}.weekly-options>label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px}.weekly-options>label>span{margin:0}.weekly-options select{min-height:42px}.weekday-pills{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekday-pills span{display:grid;place-items:center;aspect-ratio:1;border-radius:50%;color:#8f929d;background:#ededf0;font-size:11px;font-weight:800}.weekday-pills input:checked+span{color:#fff;background:#ff8a8f}.event-list-title{align-items:center}.event-list-title>strong{color:#656a7a}.timeline-event{--timeline-color:#5b8caf;display:grid;grid-template-columns:45px 66px 1fr 34px;gap:7px;align-items:center;min-height:100px;padding:0;background:transparent}.timeline-event.coral{--timeline-color:#ff898e}.timeline-event.amber{--timeline-color:#f5ad13}.timeline-event.blue{--timeline-color:#5b8caf}.timeline-event.green{--timeline-color:#80b95f}.timeline-event.violet{--timeline-color:#976582}.timeline-event.navy{--timeline-color:#49677b}.timeline-time{display:grid;align-self:stretch;align-content:center;text-align:right;color:#8d9099;font-size:10px}.timeline-time time{color:#777b86;font-size:11px;font-weight:800}.timeline-mark{position:relative;display:grid;place-items:center;align-self:stretch}.timeline-mark:after{content:"";position:absolute;top:0;bottom:0;width:3px;background:var(--timeline-color);opacity:.8}.timeline-event:first-child .timeline-mark:after{top:50%}.timeline-event:last-child .timeline-mark:after{bottom:50%}.timeline-icon{z-index:1;display:grid;place-items:center;width:58px;min-height:58px;padding:8px;border-radius:50%;color:#fff;background:var(--timeline-color);box-shadow:0 7px 18px color-mix(in srgb,var(--timeline-color) 35%,transparent);font-size:22px;font-weight:900}.timeline-content small{color:#9699a2;font-size:10px}.timeline-content h3{margin:5px 0 0;font-size:18px}.timeline-content p{margin:4px 0 0;color:#999ca5;font-size:10px}.timeline-status{width:28px;height:28px;border:3px solid var(--timeline-color);border-radius:50%;color:#fff;background:transparent;font-size:15px;font-weight:900}.event-finished .timeline-status{background:var(--timeline-color)}.timeline-event .event-actions{grid-column:3/5;display:flex;justify-content:flex-end;margin-top:-14px}.timeline-empty{background:#fff}@media(max-width:390px){.timeline-event{grid-template-columns:38px 58px 1fr 30px}.timeline-icon{width:52px;min-height:52px}.event-week-days small{font-size:8px}.event-topbar h1{font-size:28px}}
.timeline-section{margin:0 -4px 24px}.timeline-help{margin:4px 0 0;color:#9699a2;font-size:10px}.event-list{display:block;overflow:hidden;border-radius:26px;background:#fff;box-shadow:0 14px 36px rgba(30,35,60,.08)}.timeline-canvas{position:relative;height:1440px;background:linear-gradient(90deg,#fff 0 78px,#fafafb 78px)}.timeline-scrubber{position:absolute;z-index:6;inset:0 auto 0 0;width:78px;cursor:ns-resize;touch-action:none}.timeline-hour{position:absolute;right:0;left:0;height:1px}.timeline-hour time{position:absolute;left:7px;top:-8px;width:52px;color:#989ba4;text-align:right;font-size:10px}.timeline-hour i{position:absolute;right:0;left:78px;border-top:1px solid #eeeef1}.timeline-selection{position:absolute;z-index:7;right:0;left:0;height:1px;pointer-events:none}.timeline-selection time{position:absolute;left:8px;top:-11px;width:51px;padding:3px 2px;border-radius:8px;color:#fff;background:#ff898e;text-align:center;font-size:10px;font-weight:850}.timeline-selection i{position:absolute;right:0;left:68px;border-top:2px solid #ff898e}.timeline-selection i:before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:#ff898e;box-shadow:0 2px 7px #ff898e66}.timeline-blocks{position:absolute;inset:0 8px 0 78px}.timeline-block{--timeline-color:#5b8caf;position:absolute;right:0;left:0;display:grid;grid-template-columns:48px 1fr 30px;gap:9px;align-items:center;padding:8px 9px;border-left:4px solid var(--timeline-color);border-radius:18px;background:#fff;box-shadow:0 7px 20px rgba(36,42,68,.1);overflow:hidden}.timeline-block.coral{--timeline-color:#ff898e}.timeline-block.amber{--timeline-color:#f5ad13}.timeline-block.blue{--timeline-color:#5b8caf}.timeline-block.green{--timeline-color:#80b95f}.timeline-block.violet{--timeline-color:#976582}.timeline-block.navy{--timeline-color:#49677b}.timeline-block-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;color:#fff;background:var(--timeline-color);font-size:18px;font-weight:900}.timeline-block-content{min-width:0}.timeline-block-content small{color:#999ca5;font-size:9px}.timeline-block-content h3{margin:3px 0 0;font-size:16px}.timeline-block-content p{margin:3px 0 0;color:#898d98;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-quick-editor{position:absolute;z-index:10;right:8px;left:70px;display:grid;grid-template-columns:56px 1fr;gap:8px;padding:12px;border:2px solid #ff9b9f;border-radius:18px;background:#fff;box-shadow:0 12px 28px #2d345533;transform:translateY(-8px)}.timeline-quick-editor .quick-time{grid-row:1/3;display:grid;place-items:center;align-self:stretch;border-radius:13px;color:#fff;background:#ff898e;font-size:12px;font-weight:900}.timeline-quick-editor label span{display:block;margin-bottom:4px;color:#777b87;font-size:9px}.timeline-quick-editor input{width:100%;min-height:36px;padding:0 9px;border:1px solid #dedfe7;border-radius:10px;font:inherit;font-size:12px}.timeline-quick-editor>div:last-child{grid-column:2;display:flex;justify-content:flex-end;gap:6px}.timeline-quick-editor button{padding:7px 11px;border:0;border-radius:9px;color:#626777;background:#eff0f4;font:inherit;font-size:11px;font-weight:800}.timeline-quick-editor button:last-child{color:#fff;background:#ff898e}.event-form-card{margin-top:24px}@media(max-width:390px){.timeline-canvas{background:linear-gradient(90deg,#fff 0 68px,#fafafb 68px)}.timeline-scrubber{width:68px}.timeline-hour time{left:1px}.timeline-hour i{left:68px}.timeline-blocks{left:68px}.timeline-quick-editor{left:61px}.timeline-block{grid-template-columns:40px 1fr 27px}.timeline-block-icon{width:38px;height:38px}}
