:root{--page:#f7f7ef;--ink:#33483e;--text:#33483e;--muted:#6a796b;--green:#477c62;--green-dark:#355f4b;--accent:#477c62;--sage:#edf2e4;--line:#e0e6d7;--border:#dce5d6}
body{background:var(--page)}::selection{background:#dcebbf;color:#355537}
input[type=checkbox],input[type=radio]{accent-color:#477c62}
.btn{border-radius:13px;font-size:13px;padding:8px 13px;gap:6px;font-weight:650;min-height:44px;transition:background .16s,box-shadow .16s,transform .16s}.btn:active:not(:disabled){transform:translateY(1px)}
.btn-primary{background:var(--accent);border-color:var(--accent);box-shadow:0 3px 0 #30563f1a;color:#fff}.btn-primary:hover:not(:disabled){background:#355f4b;border-color:#355f4b}.btn-secondary{background:#f4f7eb;border-color:#d5dfc9;color:#456b50}.btn-secondary:hover:not(:disabled){background:#eaf1db;border-color:#b5caa0}.btn-ghost{color:#507353}.btn-danger-outline{background:#fff6f0;border-color:#e6c5b6;color:#9f5647}
.main-dock.mobile-nav .dock-add{background:#477c62;border-radius:18px;box-shadow:0 4px 0 #30563f1a}.main-dock.mobile-nav .dock-add:hover{background:#355f4b}.main-dock.mobile-nav .dock-item.active{background:#edf2df;color:#416c4d}.main-dock.mobile-nav .dock-item{color:#6d7c6b}.main-dock.mobile-nav .dock-item .icon{width:28px;height:28px}.main-dock.mobile-nav{border-color:#e0e6d7;box-shadow:0 4px 22px #354d3011}
.header-brand{color:#365740}.header-controls .role-toggle{background:#edf2e5;color:#4d6a4f}.header-controls .membership-entry{background:#fff3d2;color:#876730}.page-return{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 13px;min-height:44px}.page-back{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:7px 12px 7px 7px;border:1px solid #d7e1cb;border-radius:13px;background:#fffef7;color:#47734e;font-size:13px;font-weight:650}.page-back .icon{width:22px;height:22px}.page-back:hover{background:#eef4e2}.page-return>span{font-size:11px;color:#84907e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.has-page-back .ppt-heading-back>.icon-button{display:none}.has-page-back .ppt-heading-back{gap:0}
.modal-heading{align-items:center;gap:10px}.modal-heading>div{flex:1;min-width:0}.modal-heading>.modal-back{margin:-3px 0 -3px -5px;background:#f1f5e8;color:#507353}.modal-heading>.modal-back:hover{background:#e6efda}.modal-heading h2{line-height:1.5;font-size:20px}.modal{border-color:#dce5d5;box-shadow:0 18px 80px #2d452d29}.modal::backdrop{background:#293d345c}
.family-tile .color-icon,.ppt-tool .ppt-tool-icon{background:#f4f5e8;border:1px solid #e6e9d8}.family-tile .color-icon .icon,.ppt-tool .ppt-tool-icon .icon{width:30px;height:30px}.color-icon.blue,.color-icon.mint{background:#edf3e2}.color-icon.warm{background:#fff2d4}.color-icon.purple{background:#f6edf1}.family-tile strong{color:#405a43}.header-controls .icon-button .icon{width:25px;height:25px}.ppt-bank-entries button>span .icon,.ppt-account-icon .icon{width:29px;height:29px}.small-icon .icon{width:24px;height:24px}
.login-card .auth-submit{background:#477c62;border-color:#477c62;box-shadow:0 4px 0 #31513a16}.login-tabs button.active{color:#47734e;background:#fffef7}.login-tabs{background:#eef2e7}.login-card{background:#fffef9f5;border-color:#fffefb}.login-heading h1,.login-brand{color:#365740}.login-card .field input{border-color:#d8e1cf}.login-card .agreement-check button{color:#47734e}.login-bottom button{color:#47734e}.login-brand img{border-radius:12px}.test-code-note{background:#fff1cf;color:#7a612f}
.ppt-achievement{background:#edf3df;border-color:#dce8c7}.ppt-achievement-copy>strong{color:#537a41}.ppt-achievement-copy>span{color:#4b6740}.ppt-account.mint{background:#e9f2df;border-color:#d9e6cd}.ppt-account.blue{background:#f5f0d9;border-color:#e7ddbc}.ppt-account.peach{background:#fcebdd;border-color:#eedbc7}.ppt-wish-card .btn-primary{background:#477c62;border-color:#477c62}.ppt-bank-entries button>span{background:#f0f4df}.ppt-wish-art{background:#f1f4e6}.toast{background:#416b50;border-color:#416b50}.toast.error{background:#a95c4f}
@media(max-width:700px){.page-return{margin-bottom:11px;gap:7px}.page-back{font-size:12px;padding:7px 9px 7px 5px}.page-return>span{font-size:10px}.modal-heading h2{font-size:18px}.modal-heading>.modal-back{min-width:38px;width:38px;height:40px;padding:8px}.modal-heading{gap:7px}.main-dock.mobile-nav .dock-item .icon{width:27px;height:27px}.family-tile .color-icon .icon,.ppt-tool .ppt-tool-icon .icon{width:28px;height:28px}.btn{font-size:13px;padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.btn:active:not(:disabled){transform:none}}
