:root{--color-accent: #d62828;--color-success: #2a9d69;--color-error: #e63946;--color-border-default: #ccc;--color-bg: #ffffff;--color-text: #222;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--radius-sm: 4px;--radius-md: 8px;--font-main: "Arial", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}body{font-family:var(--font-main);background-color:var(--color-bg);color:var(--color-text);line-height:1.5;padding:0;max-width:480px;margin:0 auto;text-align:center}button,input,textarea,select{font-family:inherit;font-size:1rem}form label{display:block;text-align:left;margin-bottom:var(--space-sm)}form input{width:100%;padding:var(--space-sm);background:#333;color:#fff;border:none;border-radius:var(--radius-sm);margin-bottom:var(--space-md)}input[disabled]{opacity:.5;cursor:not-allowed}ul{list-style:none;padding:0;margin:0}a{color:#000;text-decoration:underline}a:hover{color:#2a9d69;text-decoration:none}button:focus,a:focus,input:focus{outline:3px solid #47d785;outline-offset:2px}.fixed-header{position:fixed;top:0;left:0;right:0;background:#f9f9f9;border-bottom:3px solid var(--color-border-default);color:#000;display:flex;justify-content:space-between;align-items:center;z-index:100;padding:12px 25px 10px}.fixed-header h1{font-size:1.5rem;font-weight:700;margin:0}.profile-menu-button{background:none;border:none;padding:8px 12px;cursor:pointer;display:flex;align-items:center;justify-content:center}.profile-menu-button:hover{background-color:#4848481a}.fixed-footer{position:fixed;bottom:0;left:0;right:0;background:#f9f9f9;border-top:3px solid var(--color-border-default);display:flex;flex-direction:row;justify-content:space-around;align-items:center;padding:8px 0;z-index:100}.fixed-footer button{background:none;border:none;padding:8px 12px;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.bottom-nav{display:flex;justify-content:space-around;align-items:center;width:100%}.main-content{padding:var(--space-md);margin-top:30px;margin-bottom:30px;overflow-x:hidden;overflow-y:auto}.card{border:2px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md);background:#f9f9f9;transition:border .3s ease}.card.active{border-color:var(--color-success);background:#faffd4}.card.clickable{cursor:pointer}.card.clickable:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000001a}.card h3{margin-bottom:var(--space-sm)}.card p{font-size:.9rem;color:#444}.dot{height:8px;width:8px;background-color:#47d785;border-radius:50%;margin:2px auto 0}.calendar-placeholder{display:flex;justify-content:center;padding:var(--space-md);border:2px solid var(--color-border-default);border-radius:var(--radius-md);background:#f9f9f9}.react-calendar__tile--now{background:#c6ded1!important;font-weight:700}.react-calendar__tile--active{background:#e0e0e0!important;color:#fff!important}button{padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--radius-sm);cursor:pointer}.button-green{background-color:var(--color-success);color:#fff}.button-green:hover{background-color:#16bc69;color:#fff}.button-red{background-color:var(--color-error);color:#fff}.button-red:hover{background-color:red;color:#fff}.button-neutral{background-color:#e0e0e0;color:#333}.button-info{background-color:#f5a418;color:#fff}.button-info:hover{background-color:#f5c918;color:#333}.button-long{width:100%;font-size:1.1rem;padding:var(--space-md) var(--space-lg)}.button-group{display:flex;justify-content:center;gap:var(--space-md);margin-top:var(--space-md)}.success-message{color:var(--color-success)!important;margin-bottom:var(--space-sm);font-weight:700;text-align:center}.error-message{color:var(--color-error)!important;margin-bottom:var(--space-sm);font-weight:700;text-align:center}section{margin-bottom:var(--space-lg)}h1,h2,h3{font-weight:700;margin-bottom:var(--space-sm)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;display:flex;justify-content:center;align-items:center;z-index:999;padding:1rem}.modal{background:var(--color-bg);color:var(--color-text);padding:var(--space-lg);border-radius:var(--radius-md);box-shadow:0 4px 20px #0003;width:90%;max-width:480px;position:relative;text-align:left;overflow-y:auto;max-height:90vh}.modal-close{position:absolute;top:var(--space-sm);right:var(--space-sm);background:none;border:none;font-size:1.5rem;cursor:pointer}.react-calendar{width:350px;max-width:100%;background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar *:before,.react-calendar *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.react-calendar button{margin:0;border:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{min-width:44px;background:none}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{display:flex;align-items:center;justify-content:center;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{max-width:100%;padding:10px 6.6667px;background:none;text-align:center;font:inherit;font-size:.833em}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}
