*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#f4f5f7}.app-layout{display:flex;min-height:100vh}.sidebar{width:240px;background-color:#111827;color:#e5e7eb;padding:1rem;display:flex;flex-direction:column}.sidebar h2{color:#fff;margin-bottom:1.5rem}.sidebar a{color:#9ca3af;text-decoration:none;display:block;padding:.5rem .75rem;border-radius:.375rem;margin-bottom:.25rem}.sidebar a.active,.sidebar a:hover{background-color:#1f2937;color:#fff}.main-content{flex:1;padding:1.5rem}.card-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card{background-color:#fff;border-radius:.75rem;padding:1rem;box-shadow:0 1px 3px #00000014}.card h3{margin:0 0 .5rem}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-box{background-color:#fff;padding:2rem;border-radius:.75rem;width:100%;max-width:400px;box-shadow:0 10px 25px #0000001a}.login-box h1{margin-top:0;margin-bottom:1rem;text-align:center}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.875rem;margin-bottom:.25rem}.form-group input,.form-group select{width:100%;padding:.5rem .75rem;border-radius:.375rem;border:1px solid #d1d5db}button{padding:.5rem 1rem;border-radius:.375rem;border:none;background-color:#2563eb;color:#fff;cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000073;display:flex;align-items:center;justify-content:center;z-index:40}.overlay-box{background-color:#fff;padding:2rem;border-radius:.75rem;min-width:260px;text-align:center;box-shadow:0 10px 25px #0003}.progress-circle{width:80px;height:80px;border-radius:50%;margin:1rem auto;display:flex;align-items:center;justify-content:center}.progress-text{font-weight:600}.day-chip{border:1px solid #e5e7eb;background-color:#adb4bc;padding:.35rem .65rem;border-radius:999px;font-size:.8rem;cursor:pointer}.day-chip-active{background-color:#2563eb;color:#fff;border-color:#2563eb}.time-picker-row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-top:.25rem;margin-bottom:.5rem}.time-tags-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.time-chip{padding:.25rem .5rem;border-radius:999px;background-color:#e5e7eb;display:flex;align-items:center;gap:.25rem;font-size:.875rem}.time-chip-remove{padding:0 .25rem;background-color:transparent;color:#6b7280;border:none;cursor:pointer}.timepicker-compact{width:250px;align-items:center}.timepicker-compact .react-time-picker__wrapper{width:100%;border:1px solid #d1d5db;border-radius:.375rem;padding:1rem .5rem;height:60px}.timepicker-compact .react-time-picker__inputGroup{display:flex;flex-wrap:nowrap;align-items:center}.timepicker-compact .react-time-picker__inputGroup__amPm{flex:0 1 auto;width:50px}.timepicker-compact .react-time-picker__inputGroup__hour,.timepicker-compact .react-time-picker__inputGroup__minute{flex:1 0 auto}
