*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--color-background,#fff);color:var(--color-text,#1a1a1a);font-family:system-ui,Segoe UI,Roboto,sans-serif}button,input{font-family:inherit}.user-manual{background:var(--color-background);min-height:100vh}.user-manual__header{border-bottom:1px solid var(--color-border);background:var(--color-card);align-items:center;gap:12px;padding:20px 16px 16px;display:flex}.user-manual__back-btn{border:1px solid var(--color-border);background:var(--color-surface);width:36px;height:36px;color:var(--color-text);cursor:pointer;border-radius:50%;flex-shrink:0;font-size:20px;line-height:1}.user-manual__title{color:var(--color-text);margin:0;font-size:18px;font-weight:700}.user-manual__subtitle{color:var(--color-textMuted);margin:2px 0 0;font-size:12px}.user-manual__content{max-width:640px;margin:0 auto;padding:16px 16px 40px}.user-manual__card{border:1px solid var(--color-border);background:var(--color-card);border-radius:14px;margin-bottom:12px;overflow:hidden}.user-manual__section-header{cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;border:none;align-items:center;gap:12px;padding:14px;display:flex}.user-manual__section-icon{background:var(--color-primaryLight);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:17px;display:flex}.user-manual__section-title{color:var(--color-text);flex:1;font-size:15px;font-weight:700}.user-manual__chevron{color:var(--color-textMuted)}.user-manual__section-body{border-top:1px solid var(--color-divider);padding:12px 14px 14px}.user-manual__intro{color:var(--color-textSecondary);margin:0 0 10px;font-size:13px;line-height:19px}.user-manual__block-spacing{margin-top:12px}.user-manual__block-heading{color:var(--color-text);margin:0 0 6px;font-size:13px;font-weight:700}.user-manual__point{gap:8px;margin-bottom:6px;padding-right:4px;display:flex}.user-manual__bullet{color:var(--color-primary);font-size:13px;line-height:20px}.user-manual__point-text{color:var(--color-textSecondary);flex:1;font-size:13px;line-height:20px}.user-manual__footer{text-align:center;color:var(--color-textMuted);margin-top:8px;font-size:12px;line-height:18px}.login-screen{background:var(--color-background);flex-direction:column;align-items:center;min-height:100vh;padding-bottom:40px;display:flex;position:relative}.login-screen__top-actions{gap:10px;display:flex;position:absolute;top:24px;right:20px}.login-screen__icon-btn{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:50%;width:40px;height:40px;font-size:16px}.login-screen__hero{text-align:center;flex-direction:column;align-items:center;padding:80px 24px 32px;display:flex}.login-screen__logo{background:var(--color-primary);color:#fff;border-radius:20px;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:14px;font-size:38px;font-weight:900;display:flex}.login-screen__app-name{letter-spacing:-.5px;color:var(--color-text);margin:0;font-size:32px;font-weight:900}.login-screen__tagline{color:var(--color-textSecondary);margin-top:6px;font-size:14px}.login-screen__tab-row{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;width:100%;max-width:360px;margin:0 20px 12px;display:flex;overflow:hidden}.login-screen__tab{cursor:pointer;color:var(--color-textSecondary);background:0 0;border:none;flex:1;padding:12px;font-size:14px;font-weight:700}.login-screen__tab--active{background:var(--color-primary);color:#fff}.login-screen__card{border:1px solid var(--color-cardBorder);background:var(--color-card);box-sizing:border-box;border-radius:20px;width:100%;max-width:360px;margin:0 20px;padding:24px;box-shadow:0 4px 16px #00000014}.login-screen__title{color:var(--color-text);margin:0 0 4px;font-size:22px;font-weight:800}.login-screen__subtitle{color:var(--color-textSecondary);margin:0 0 8px;font-size:14px;line-height:20px}.login-screen__field{margin-top:14px}.login-screen__label{color:var(--color-textSecondary);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.login-screen__input{border:1.5px solid var(--color-inputBorder);background:var(--color-inputBg);width:100%;height:48px;color:var(--color-text);box-sizing:border-box;border-radius:12px;padding:0 14px;font-size:15px}.login-screen__input:focus{outline:2px solid var(--color-primary);outline-offset:-1px}.login-screen__input-with-action{position:relative}.login-screen__input-with-action .login-screen__input{padding-right:56px}.login-screen__eye-btn{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:8px;font-size:12px;font-weight:600;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.login-screen__error{background:color-mix(in srgb, var(--color-error) 15%, transparent);color:var(--color-error);border-radius:10px;margin-top:14px;padding:10px 12px;font-size:13px}.login-screen__submit{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;margin-top:22px;padding:15px;font-size:16px;font-weight:700}.login-screen__submit:disabled{opacity:.5;cursor:not-allowed}.login-screen__terms{text-align:center;max-width:360px;color:var(--color-textMuted);margin-top:20px;padding:0 24px;font-size:12px;line-height:18px}.login-screen__link{color:var(--color-primary)}.feed-tab-bar{border-bottom:1px solid var(--color-border);padding:0 4px;display:flex}.feed-tab{cursor:pointer;color:var(--color-tabInactive);font:inherit;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;padding:12px 4px;display:flex}.feed-tab--active{border-bottom-color:var(--color-tabActive);color:var(--color-tabActive)}.feed-tab__label-wrap{padding-top:5px;padding-right:12px;position:relative}.feed-tab__label{font-size:13px;font-weight:500}.feed-tab--active .feed-tab__label{font-weight:700}.feed-tab__badge{background:var(--color-notificationBadge);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:800;display:flex;position:absolute;top:-6px;right:0}.event-card{border:1px solid var(--color-cardBorder);background:var(--color-card);border-radius:14px;margin-bottom:12px;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 4px #00000014}.event-card__unread-dot{background:var(--color-primary);z-index:1;border-radius:50%;width:8px;height:8px;position:absolute;top:10px;right:10px}.event-card__date-col{background:var(--color-primaryLight);width:58px;color:var(--color-primary);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;padding:16px 0;display:flex}.event-card__day,.event-card__month{text-transform:uppercase;font-size:11px;font-weight:600}.event-card__date{font-size:22px;font-weight:800;line-height:26px}.event-card__content{flex:1;min-width:0;padding:12px}.event-card__top-row{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.event-card__title-row{align-items:center;gap:4px;display:flex}.event-card__group-name{color:var(--color-primary);font-size:11px;font-weight:600}.event-card__title{color:var(--color-cardText);margin:0 0 8px;font-size:15px;font-weight:700;line-height:20px}.event-card__meta{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.event-card__meta-item{color:var(--color-cardTextSecondary);font-size:12px}.event-card__footer{justify-content:space-between;align-items:center;display:flex}.event-card__rsvp-row{gap:8px;display:flex}.event-card__rsvp-item{color:var(--color-cardTextMuted);font-size:12px}.event-card__rsvp-item--yes{color:var(--color-rsvpYes)}.event-card__rsvp-item--no{color:var(--color-rsvpNo)}.event-card__rsvp-item--maybe{color:var(--color-rsvpMaybe)}.event-card__fee{color:var(--color-warning);margin-top:6px;font-size:11px;font-weight:500}.badge{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.badge--error{background:color-mix(in srgb, var(--color-error) 20%, transparent);color:var(--color-error)}.post-card{border:1px solid var(--color-cardBorder);background:var(--color-card);border-radius:14px;margin-bottom:12px;position:relative;overflow:hidden;box-shadow:0 1px 4px #00000014}.post-card__unread-dot{background:var(--color-primary);z-index:1;border-radius:50%;width:8px;height:8px;position:absolute;top:10px;right:10px}.post-card__pinned{background:var(--color-primaryLight);color:var(--color-primary);align-items:center;gap:4px;padding:6px 12px;font-size:11px;font-weight:600;display:flex}.post-card__header{align-items:center;gap:4px;padding:14px 14px 10px;display:flex}.post-card__group{color:var(--color-primary);font-size:12px}.post-card__dot,.post-card__date{color:var(--color-cardTextMuted);font-size:12px}.post-card__title{color:var(--color-cardText);margin:0 0 6px;padding:0 14px;font-size:15px;font-weight:700}.post-card__content{color:var(--color-cardTextSecondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;padding:0 14px 12px;font-size:14px;line-height:20px;display:-webkit-box;overflow:hidden}.post-card__footer{border-top:1px solid var(--color-divider);align-items:center;gap:16px;padding:10px 14px;display:flex}.post-card__action{color:var(--color-cardTextMuted);align-items:center;gap:5px;font-size:13px;display:flex}.poll-card{border:1px solid var(--color-cardBorder);background:var(--color-card);border-radius:14px;margin-bottom:12px;position:relative;overflow:hidden;box-shadow:0 1px 4px #00000014}.poll-card__unread-dot{background:var(--color-primary);z-index:1;border-radius:50%;width:8px;height:8px;position:absolute;top:10px;right:10px}.poll-card__type-bar{background:color-mix(in srgb, var(--color-info) 13%, transparent);color:var(--color-info);align-items:center;gap:6px;padding:7px 12px;font-size:11px;font-weight:600;display:flex}.poll-card__creator{color:var(--color-cardTextMuted);margin-left:auto;font-size:10px;font-weight:400}.poll-card__ended{background:color-mix(in srgb, var(--color-error) 13%, transparent);color:var(--color-error);border-radius:10px;padding:2px 8px;font-size:10px}.poll-card__body{padding:14px}.poll-card__time{color:var(--color-cardTextMuted);margin-bottom:6px;font-size:11px}.poll-card__question{color:var(--color-cardText);margin:0 0 12px;font-size:15px;font-weight:700;line-height:21px}.poll-card__options{flex-direction:column;gap:8px;display:flex}.poll-card__option{border:1.5px solid var(--color-border);background:var(--color-surface);border-radius:10px;align-items:center;gap:4px;padding:10px 12px;display:flex;position:relative;overflow:hidden}.poll-card__option--selected{border-color:var(--color-primary)}.poll-card__option-fill{background:color-mix(in srgb, var(--color-border) 50%, transparent);position:absolute;top:0;bottom:0;left:0}.poll-card__option-fill--selected{background:color-mix(in srgb, var(--color-primary) 15%, transparent)}.poll-card__option-text{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;font-weight:500;position:relative;overflow:hidden}.poll-card__percent{color:var(--color-textMuted);font-size:12px;font-weight:700;position:relative}.poll-card__option--selected .poll-card__percent{color:var(--color-primary)}.poll-card__chevron{color:var(--color-textMuted);position:relative}.poll-card__check{color:var(--color-primary);margin-left:4px;position:relative}.poll-card__more{text-align:center;color:var(--color-cardTextMuted);margin-top:4px;font-size:12px}.poll-card__footer{color:var(--color-cardTextMuted);justify-content:space-between;margin-top:12px;font-size:12px;display:flex}.payment-card{border:1px solid var(--color-cardBorder);background:var(--color-card);border-radius:14px;margin-bottom:12px;padding:14px;box-shadow:0 1px 4px #00000014}.payment-card__top-row{gap:12px;margin-bottom:10px;display:flex}.payment-card__icon-box{background:var(--color-primaryLight);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:20px;display:flex}.payment-card__info{flex:1;min-width:0}.payment-card__group-name{color:var(--color-primary);margin-bottom:2px;font-size:11px;font-weight:600}.payment-card__title{color:var(--color-cardText);margin-bottom:3px;font-size:14px;font-weight:700}.payment-card__type-row{color:var(--color-cardTextMuted);font-size:11px}.payment-card__amount-col{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.payment-card__amount{color:var(--color-cardText);white-space:nowrap;font-size:18px;font-weight:800}.payment-card__status{white-space:nowrap;border-radius:10px;padding:3px 7px;font-size:10px;font-weight:600}.payment-card__status--paid{color:var(--color-success);background:color-mix(in srgb, var(--color-success) 20%, transparent)}.payment-card__status--pending{color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 20%, transparent)}.payment-card__status--overdue{color:var(--color-error);background:color-mix(in srgb, var(--color-error) 20%, transparent)}.payment-card__status--waived{color:var(--color-textMuted);background:color-mix(in srgb, var(--color-textMuted) 20%, transparent)}.payment-card__due-date{color:var(--color-cardTextMuted);margin-bottom:10px;font-size:12px}.payment-card__due-date--overdue{color:var(--color-error)}.payment-card__progress-bar{background:var(--color-border);border-radius:2px;height:4px;overflow:hidden}.payment-card__progress-fill{background:var(--color-success);border-radius:2px;height:100%}.payment-card__progress-text{color:var(--color-cardTextMuted);margin-top:4px;font-size:11px}.home-screen{background:var(--color-background);min-height:100vh}.home-screen__header{justify-content:space-between;align-items:center;padding:20px 16px 8px;display:flex}.home-screen__greeting{color:var(--color-text);font-size:18px;font-weight:700}.home-screen__header-actions{gap:8px;display:flex}.home-screen__icon-btn{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:50%;width:36px;height:36px;font-size:15px}.home-screen__list{max-width:640px;margin:0 auto;padding:16px 16px 40px}.home-screen__status{text-align:center;color:var(--color-textMuted);padding-top:60px;font-size:15px}.home-screen__status--error{color:var(--color-error)}.privacy-policy{background:var(--color-background);min-height:100vh}.privacy-policy__header{border-bottom:1px solid var(--color-border);background:var(--color-card);padding:20px 16px 16px}.privacy-policy__title{color:var(--color-text);margin:0;font-size:18px;font-weight:700}.privacy-policy__subtitle{color:var(--color-textMuted);margin:2px 0 0;font-size:12px}.privacy-policy__content{max-width:680px;margin:0 auto;padding:16px 16px 40px}.privacy-policy__section{margin-bottom:20px}.privacy-policy__section h2{color:var(--color-text);margin:0 0 8px;font-size:15px;font-weight:700}.privacy-policy__section p{color:var(--color-textSecondary);margin:0 0 8px;font-size:13px;line-height:20px}.privacy-policy__section ul{margin:0 0 8px;padding-left:20px}.privacy-policy__section li{color:var(--color-textSecondary);margin-bottom:6px;font-size:13px;line-height:20px}.privacy-policy__section strong{color:var(--color-text)}
