:root{--color-primary:#c3d33e;--color-secondary:#e14b38;--color-accent:#f3bd30;--color-primary-contrast:#1f2410;--color-secondary-contrast:#fff;--color-accent-contrast:#2b2003;--color-secondary-text:#c2412e;--color-bg:#fff;--color-surface:#f7f8f2;--color-text:#1f1f1f;--color-text-muted:#5c5c5c;--color-border:#e4e4e0;--color-success:var(--color-primary);--color-danger:var(--color-secondary);--color-warning:var(--color-accent);--font-heading:"Merriweather", Georgia, serif;--font-body:"Open Sans", -apple-system, BlinkMacSystemFont, sans-serif;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-pill:999px;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 4px 12px #00000014}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);margin:0 0 .5em;font-weight:700}a{color:var(--color-secondary)}button{font-family:var(--font-body)}#root{flex-direction:column;min-height:100svh;display:flex;overflow-x:clip}.app-shell{flex-direction:column;min-height:100svh;transition:transform .25s;display:flex}@media (width<=720px){.app-shell--shifted{transform:translate(-240px)}}.page{max-width:960px;margin:0 auto;padding:2rem 1.25rem}.auth-page{justify-content:center;padding:3rem 1.25rem;display:flex}.auth-form{flex-direction:column;gap:1rem;width:100%;max-width:360px;display:flex}.auth-form__hint{color:var(--color-text-muted);margin:0;font-size:.95rem}.auth-form__google-btn{color:#1f1f1f;border:1px solid var(--color-border);border-radius:var(--radius-pill);cursor:pointer;box-shadow:var(--shadow-sm);background:#fff;justify-content:center;align-items:center;gap:.6rem;padding:.7rem 1.25rem;font-size:.95rem;font-weight:600;display:flex}.auth-form__google-btn:hover{box-shadow:var(--shadow-md)}.auth-form__google-btn:disabled{opacity:.6;cursor:default}.auth-form__error{color:var(--color-danger);margin:0;font-size:.85rem}.app-header{border-bottom:1px solid var(--color-border);background:var(--color-bg);z-index:100;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;display:flex;position:sticky;top:0}.app-header__brand img{height:36px;display:block}.app-header__nav{font-family:var(--font-body);align-items:center;gap:1.25rem;font-weight:600;display:flex}.app-header__nav a{color:var(--color-text);text-decoration:none}.app-header__nav a:hover{color:var(--color-secondary)}.app-header__link-btn{cursor:pointer;color:var(--color-text);background:0 0;border:none;padding:0;font-weight:600}.app-header__link-btn:hover{color:var(--color-secondary)}.app-header__hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;padding:0;display:none}.app-header__hamburger span{background:var(--color-text);border-radius:2px;width:100%;height:2px;transition:transform .2s,opacity .2s;display:block}.app-header__hamburger--open span:first-child{transform:translateY(7px)rotate(45deg)}.app-header__hamburger--open span:nth-child(2){opacity:0}.app-header__hamburger--open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (width<=720px){.app-header__nav{display:none}.app-header__hamburger{display:flex}}.mobile-menu{background:var(--color-bg);width:240px;box-shadow:var(--shadow-md);z-index:150;flex-direction:column;gap:.25rem;padding:4.5rem 1.5rem 1.5rem;transition:transform .25s;display:none;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.mobile-menu a,.mobile-menu__link-btn{font-family:var(--font-body);color:var(--color-text);border-bottom:1px solid var(--color-border);text-align:left;cursor:pointer;background:0 0;border-top:none;border-left:none;border-right:none;padding:.75rem 0;font-size:1.05rem;font-weight:600;text-decoration:none}.mobile-menu__backdrop{z-index:140;opacity:0;pointer-events:none;background:#0006;transition:opacity .25s;display:none;position:fixed;inset:0}@media (width<=720px){.mobile-menu{display:flex}.mobile-menu--open{transform:translate(0)}.mobile-menu__backdrop{display:block}.mobile-menu__backdrop--visible{opacity:1;pointer-events:auto}}.install-prompt{z-index:150;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);align-items:center;gap:.75rem;max-width:420px;margin:0 auto;padding:.85rem 1rem;animation:.25s cubic-bezier(.32,.72,0,1) install-prompt-rise;display:flex;position:fixed;bottom:.75rem;left:.75rem;right:.75rem}@keyframes install-prompt-rise{0%{opacity:0;transform:translateY(16px)}}.install-prompt__icon{border-radius:var(--radius-sm);flex-shrink:0;width:42px;height:42px}.install-prompt__text{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.install-prompt__text strong{font-size:.85rem;font-family:var(--font-body)}.install-prompt__text p{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:.3rem;margin:0;font-size:.78rem;display:flex}.install-prompt__share-icon{color:var(--color-secondary);vertical-align:middle;display:inline-block}.install-prompt__install-btn{background:var(--color-secondary);color:var(--color-secondary-contrast);border-radius:var(--radius-pill);font-family:var(--font-body);cursor:pointer;border:none;flex-shrink:0;padding:.5rem .9rem;font-size:.82rem;font-weight:700}.install-prompt__close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:.2rem;font-size:1.1rem;line-height:1;position:absolute;top:.3rem;right:.5rem}.login-modal__backdrop{z-index:200;background:#00000073;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.login-modal{background:var(--color-bg);border-radius:var(--radius-lg);width:100%;max-width:360px;box-shadow:var(--shadow-md);flex-direction:column;gap:1rem;padding:2rem 1.75rem;display:flex;position:relative}.login-modal h2{margin:0}.login-modal__close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;font-size:1.5rem;line-height:1;position:absolute;top:.6rem;right:.75rem}.admin-tabs{border-bottom:1px solid var(--color-border);gap:.25rem;padding:0 1.25rem;display:flex;overflow-x:auto}.admin-tabs__tab{font-family:var(--font-body);color:var(--color-text-muted);white-space:nowrap;border-bottom:2.5px solid #0000;padding:.9rem .9rem .75rem;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-block}.admin-tabs__tab:hover{color:var(--color-text)}.admin-tabs__tab--active{color:var(--color-secondary-text);border-bottom-color:var(--color-secondary)}
