*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}:root{--bg:#fbf9f4;--card:#fff;--text:#211f26;--text-secondary:#96919e;--border:#efe9dd;--accent:#f7b733;--accent-light:#fff6de;--accent-dark:#c78a00;--muted-bg:#f1ede4;--radius:26px;--radius-sm:16px;--radius-pill:20px;--nav-height:92px;--sidebar-width:0px;--cat-work:#5a8dee;--cat-study:#b08cf0;--cat-body:#6dbe63;--cat-adult:#f5a63a;--cat-housework:#3fc5c0;--cat-relationship:#f5788a;--cat-undefined:#b6b1a6}@media (width>=768px){:root{--sidebar-width:240px;--nav-height:0px}}html,body,#root{background:var(--bg);height:100%;color:var(--text);-webkit-font-smoothing:antialiased;font-family:Poppins,sans-serif}#root{position:relative;overflow-x:hidden}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea{background:0 0;border:none;outline:none;font-family:inherit}.page{min-height:100vh;padding:20px 20px calc(var(--nav-height) + 16px);margin-left:var(--sidebar-width)}@media (width>=768px){.page{padding:32px 40px}}@media (width>=1200px){.page{padding:40px 60px}}.page-title{letter-spacing:-.01em;margin-bottom:2px;font-size:25px;font-weight:700;line-height:1.15}@media (width>=768px){.page-title{font-size:30px}}.page-subtitle{color:var(--text-secondary);font-size:13px;font-weight:600}.page-header{margin-bottom:18px}@media (width>=768px){.page-header{margin-bottom:26px}}.calendar-head{padding:20px 20px 0}.calendar-body{padding:16px 20px calc(var(--nav-height) + 16px)}.calendar-week-head{z-index:10;background:var(--bg);margin:-20px -20px 18px;padding:20px 20px 0;position:sticky;top:0}@media (width>=768px){.calendar-head{padding:32px 40px 0}.calendar-body{padding:16px 40px 32px}.calendar-week-head{margin:-32px -40px 26px;padding:32px 40px 0}}.card{background:var(--card);border-radius:var(--radius);margin-bottom:10px;padding:18px}@media (width>=768px){.card{margin-bottom:12px;padding:20px}}.pill{border-radius:var(--radius-pill);background:var(--muted-bg);color:#6a6675;cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:6px;padding:8px 15px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}@media (width>=768px){.pill{padding:9px 18px;font-size:14px}.pill:hover{opacity:.85}}.pill.selected{color:#fff}.pill-row{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}@media (width>=768px){.pill-row{gap:10px}}.section-label{color:var(--text-secondary);margin-bottom:9px;font-size:13px;font-weight:600}.btn-primary{border-radius:var(--radius-pill);background:var(--accent);width:100%;color:var(--text);padding:17px;font-size:16px;font-weight:700;box-shadow:0 10px 20px #f7b73366}@media (width>=768px){.btn-primary{width:auto;min-width:200px;padding:17px 36px}.btn-primary:hover{opacity:.9}}.btn-primary:active{opacity:.9}.btn-dark{border-radius:var(--radius-pill);background:var(--text);color:#fff;width:100%;padding:17px;font-size:16px;font-weight:700}.back-btn{background:var(--muted-bg);width:40px;height:40px;color:var(--text);border-radius:14px;justify-content:center;align-items:center;margin-bottom:12px;font-size:18px;font-weight:700;display:inline-flex}@media (width>=768px){.back-btn:hover{background:var(--border)}}.grid-2{flex-direction:column;gap:10px;display:flex}@media (width>=768px){.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}}.link-muted{color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:600}.link-action{color:var(--accent-dark);cursor:pointer;font-size:13px;font-weight:600}.icon-btn{color:var(--text-secondary);justify-content:center;align-items:center;padding:4px 6px;font-size:14px;display:inline-flex}.add-dashed{text-align:center;color:#b3ac9e;border-radius:var(--radius);cursor:pointer;background:0 0;border:2px dashed #d8d2c6;width:100%;margin-top:12px;padding:20px;font-size:14px;font-weight:600}.empty-card{text-align:center;padding:24px}.modal-overlay{z-index:300;background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-sheet{background:var(--card);border-radius:var(--radius);width:100%;max-width:380px;max-height:85vh;padding:20px;overflow-y:auto}
