:root{color:var(--tg-theme-text-color,#111);background:var(--tg-theme-bg-color,#fff);--bg:var(--tg-theme-bg-color,#fff);--surface:var(--tg-theme-secondary-bg-color,#f3f4f6);--text:var(--tg-theme-text-color,#111);--hint:var(--tg-theme-hint-color,#707579);--button:var(--tg-theme-button-color,#2481cc);--button-text:var(--tg-theme-button-text-color,#fff);--border:color-mix(in srgb,var(--hint) 20%,transparent);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}button,input,select{font:inherit}.app-shell{width:min(100%,520px);min-height:100svh;padding:calc(var(--tg-content-safe-area-inset-top,0px) + 14px) 16px calc(var(--tg-content-safe-area-inset-bottom,0px) + 28px);margin:auto}header{margin:6px 0 28px}h1{margin:0;font-size:28px}header p,.saving{color:var(--hint);margin:5px 0 0}h2{margin:0 0 12px;font-size:17px}section{margin-bottom:28px}.mode-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.mode-grid button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:14px;place-items:center;gap:5px;padding:13px 6px;display:grid}.mode-grid button span{font-size:20px}.mode-grid button.active{border:2px solid var(--button);background:color-mix(in srgb,var(--button) 10%,var(--surface));color:var(--button)}button:disabled{opacity:.55}.section-title{justify-content:space-between;align-items:center;display:flex}.link{color:var(--button);background:0 0;border:0;padding:5px}.birthday-preview,.empty-mini{text-align:left;background:var(--surface);width:100%;color:var(--text);border:0;border-radius:15px;align-items:center;gap:12px;padding:14px;display:flex}.birthday-preview>span:nth-child(2){flex:1;gap:3px;display:grid}.birthday-preview small,.birthday-list small{color:var(--hint)}.emoji{font-size:26px}.toast{background:color-mix(in srgb,#e53935 12%,var(--surface));color:#d32f2f;border-radius:12px;margin:10px 0;padding:11px 13px}.page-head{align-items:center;gap:10px;margin:5px 0 24px;display:flex}.page-head h1{font-size:22px}.icon-btn{background:var(--surface);width:38px;height:38px;color:var(--text);border:0;border-radius:11px;place-items:center;padding:0;display:grid}.icon-btn svg{width:18px}.danger{color:#d32f2f}.birthday-list{gap:8px;display:grid}.birthday-list article{background:var(--surface);border-radius:14px;align-items:center;gap:8px;padding:13px;display:flex}.birthday-list article>div{flex:1;gap:4px;display:grid}.empty{text-align:center;padding:50px 20px}.empty>span{font-size:45px}.empty p{color:var(--hint);line-height:1.45}.primary,.fab{background:var(--button);color:var(--button-text);border:0;border-radius:13px;padding:13px 18px;font-weight:600}.fab{width:100%;margin-top:16px}form{gap:16px;display:grid}form label{gap:7px;font-size:14px;font-weight:600;display:grid}form label>span{color:var(--hint);font-weight:400}input,select{border:1px solid var(--border);background:var(--surface);width:100%;min-height:46px;color:var(--text);border-radius:12px;padding:10px 12px}.form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.toggle{justify-content:space-between;align-items:center;padding:10px 0;display:flex}.toggle input{width:22px;min-height:22px}
