@font-face{font-family:Material Symbols Rounded Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url("./media/material-symbols-rounded-latin-full-normal-4ZHVYG4U.woff2") format("woff2-variations")}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-ext-wght-normal-IYF56FF6.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-wght-normal-JEOLYBOO.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-ext-wght-normal-EOVOK2B5.woff2") format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-wght-normal-IRE366VL.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-vietnamese-wght-normal-CE5GGD3W.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-ext-wght-normal-HA22NDSG.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-wght-normal-NRMW37G5.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html:not(.fonts-loaded) .material-symbols-rounded{visibility:hidden}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#f8fafc,#eef2ff);font-family:Inter Variable,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0f172a}.app-brand{display:inline-flex;align-items:center;gap:.7rem}.app-brand__mark{display:block;height:2.5rem;width:auto;flex-shrink:0}.app-brand__wordmark{font-family:Inter Variable,Inter,system-ui,sans-serif;font-weight:600;font-size:1.625rem;letter-spacing:-.03em;line-height:1}.app-brand--on-light .app-brand__wordmark{color:#111827}.app-brand--on-dark .app-brand__wordmark{color:#f8fafc}html.is-scroll-locked,body.is-scroll-locked{overflow:hidden;overscroll-behavior:contain}a{color:inherit}button,input,textarea{font:inherit}.material-symbols-rounded{font-family:Material Symbols Rounded Variable,sans-serif;font-weight:400;font-style:normal;font-size:1.5rem;line-height:1;letter-spacing:normal;text-transform:none;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.category-toggle{display:inline-flex;align-items:center;gap:.75rem;font-weight:600;color:#2563eb;cursor:pointer}.category-toggle--inactive{color:#0f172a}.category-toggle__state{font-size:.9rem;color:inherit}.category-toggle input{width:54px;height:28px;border-radius:999px;appearance:none;background:#cbd5e1;position:relative;cursor:pointer;transition:background .2s ease,box-shadow .2s ease;border:none;flex-shrink:0}.category-toggle input:after{content:"";width:22px;height:22px;background:#fff;border-radius:50%;position:absolute;top:3px;left:4px;box-shadow:0 4px 10px #0f172a33;transition:transform .2s ease}.category-toggle input:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb40}.category-toggle input:checked{background:#2563eb}.category-toggle input:checked:after{transform:translate(24px)}.bottom-sheet{position:fixed;inset:0;background:#0f172a73;display:flex;justify-content:center;align-items:center;padding:clamp(1rem,4vw,1.5rem);z-index:20;animation:bottom-sheet-backdrop .24s ease}.bottom-sheet__panel{background:#fff;width:min(560px,100%);border-radius:24px;padding:clamp(1.5rem,5vw,2rem);box-shadow:0 22px 54px #0f172a38;animation:bottom-sheet-appear .28s ease;max-height:calc(100vh - clamp(2rem,12vh,4rem));max-height:calc(100dvh - clamp(2rem,12vh,4rem));overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;overscroll-behavior:contain}.bottom-sheet__header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.bottom-sheet__header h2{margin:0;font-size:1.25rem}.bottom-sheet__close{background:transparent;border:none;font-size:1.25rem;cursor:pointer}.bottom-sheet__form{margin-top:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.confirm-dialog{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:1.5rem}.confirm-dialog__backdrop{position:absolute;inset:0;background:#0f172a73}.confirm-dialog__panel{position:relative;background:#fff;border-radius:24px;padding:2rem;max-width:420px;width:100%;box-shadow:0 24px 46px #0f172a2e;display:grid;gap:1rem}.confirm-dialog__panel h2{margin:0;font-size:1.35rem;font-weight:600}.confirm-dialog__panel p{margin:0;color:#475569;line-height:1.5}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:.75rem}.confirm-dialog__delete{background:#ef4444;color:#fff;border:none;border-radius:999px;padding:.75rem 1.5rem;font-weight:600;cursor:pointer}.confirm-dialog__cancel{background:#94a3b833;border:none;border-radius:999px;padding:.75rem 1.5rem;font-weight:600;cursor:pointer}@keyframes bottom-sheet-appear{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bottom-sheet-backdrop{0%{opacity:0}to{opacity:1}}
